@shepai/cli 1.122.0 → 1.122.1-pr373.cb974c2

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 (362) hide show
  1. package/dist/src/presentation/web/app/actions/execute-query.d.ts +7 -0
  2. package/dist/src/presentation/web/app/actions/execute-query.d.ts.map +1 -0
  3. package/dist/src/presentation/web/app/actions/execute-query.js +55 -0
  4. package/dist/src/presentation/web/app/actions/get-table-rows.d.ts +10 -0
  5. package/dist/src/presentation/web/app/actions/get-table-rows.d.ts.map +1 -0
  6. package/dist/src/presentation/web/app/actions/get-table-rows.js +55 -0
  7. package/dist/src/presentation/web/app/actions/get-table-schema.d.ts +13 -0
  8. package/dist/src/presentation/web/app/actions/get-table-schema.d.ts.map +1 -0
  9. package/dist/src/presentation/web/app/actions/get-table-schema.js +27 -0
  10. package/dist/src/presentation/web/app/actions/list-tables.d.ts +10 -0
  11. package/dist/src/presentation/web/app/actions/list-tables.d.ts.map +1 -0
  12. package/dist/src/presentation/web/app/actions/list-tables.js +19 -0
  13. package/dist/src/presentation/web/app/database/page.d.ts +4 -0
  14. package/dist/src/presentation/web/app/database/page.d.ts.map +1 -0
  15. package/dist/src/presentation/web/app/database/page.js +15 -0
  16. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  17. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +4 -0
  18. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  19. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +6 -2
  20. package/dist/src/presentation/web/components/features/database/cell-value-dialog.d.ts +8 -0
  21. package/dist/src/presentation/web/components/features/database/cell-value-dialog.d.ts.map +1 -0
  22. package/dist/src/presentation/web/components/features/database/cell-value-dialog.js +7 -0
  23. package/dist/src/presentation/web/components/features/database/cell-value-dialog.stories.d.ts +10 -0
  24. package/dist/src/presentation/web/components/features/database/cell-value-dialog.stories.d.ts.map +1 -0
  25. package/dist/src/presentation/web/components/features/database/cell-value-dialog.stories.js +48 -0
  26. package/dist/src/presentation/web/components/features/database/database-page-client.d.ts +13 -0
  27. package/dist/src/presentation/web/components/features/database/database-page-client.d.ts.map +1 -0
  28. package/dist/src/presentation/web/components/features/database/database-page-client.js +74 -0
  29. package/dist/src/presentation/web/components/features/database/database-page-client.stories.d.ts +9 -0
  30. package/dist/src/presentation/web/components/features/database/database-page-client.stories.d.ts.map +1 -0
  31. package/dist/src/presentation/web/components/features/database/database-page-client.stories.js +78 -0
  32. package/dist/src/presentation/web/components/features/database/query-runner.d.ts +9 -0
  33. package/dist/src/presentation/web/components/features/database/query-runner.d.ts.map +1 -0
  34. package/dist/src/presentation/web/components/features/database/query-runner.js +53 -0
  35. package/dist/src/presentation/web/components/features/database/query-runner.stories.d.ts +9 -0
  36. package/dist/src/presentation/web/components/features/database/query-runner.stories.d.ts.map +1 -0
  37. package/dist/src/presentation/web/components/features/database/query-runner.stories.js +55 -0
  38. package/dist/src/presentation/web/components/features/database/row-browser.d.ts +11 -0
  39. package/dist/src/presentation/web/components/features/database/row-browser.d.ts.map +1 -0
  40. package/dist/src/presentation/web/components/features/database/row-browser.js +42 -0
  41. package/dist/src/presentation/web/components/features/database/row-browser.stories.d.ts +14 -0
  42. package/dist/src/presentation/web/components/features/database/row-browser.stories.d.ts.map +1 -0
  43. package/dist/src/presentation/web/components/features/database/row-browser.stories.js +120 -0
  44. package/dist/src/presentation/web/components/features/database/schema-viewer.d.ts +7 -0
  45. package/dist/src/presentation/web/components/features/database/schema-viewer.d.ts.map +1 -0
  46. package/dist/src/presentation/web/components/features/database/schema-viewer.js +14 -0
  47. package/dist/src/presentation/web/components/features/database/schema-viewer.stories.d.ts +11 -0
  48. package/dist/src/presentation/web/components/features/database/schema-viewer.stories.d.ts.map +1 -0
  49. package/dist/src/presentation/web/components/features/database/schema-viewer.stories.js +67 -0
  50. package/dist/src/presentation/web/components/features/database/table-list.d.ts +8 -0
  51. package/dist/src/presentation/web/components/features/database/table-list.d.ts.map +1 -0
  52. package/dist/src/presentation/web/components/features/database/table-list.js +19 -0
  53. package/dist/src/presentation/web/components/features/database/table-list.stories.d.ts +10 -0
  54. package/dist/src/presentation/web/components/features/database/table-list.stories.d.ts.map +1 -0
  55. package/dist/src/presentation/web/components/features/database/table-list.stories.js +66 -0
  56. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  57. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  58. package/dist/src/presentation/web/components/ui/table.d.ts +11 -0
  59. package/dist/src/presentation/web/components/ui/table.d.ts.map +1 -0
  60. package/dist/src/presentation/web/components/ui/table.js +28 -0
  61. package/dist/src/presentation/web/lib/server-container.d.ts +1 -2
  62. package/dist/src/presentation/web/lib/server-container.d.ts.map +1 -1
  63. package/dist/src/presentation/web/lib/server-db.d.ts +16 -0
  64. package/dist/src/presentation/web/lib/server-db.d.ts.map +1 -0
  65. package/dist/src/presentation/web/lib/server-db.js +10 -0
  66. package/dist/src/presentation/web/lib/sql-validation.d.ts +7 -0
  67. package/dist/src/presentation/web/lib/sql-validation.d.ts.map +1 -0
  68. package/dist/src/presentation/web/lib/sql-validation.js +17 -0
  69. package/dist/tsconfig.build.tsbuildinfo +1 -1
  70. package/package.json +1 -1
  71. package/web/.next/BUILD_ID +1 -1
  72. package/web/.next/app-path-routes-manifest.json +1 -0
  73. package/web/.next/build-manifest.json +6 -6
  74. package/web/.next/fallback-build-manifest.json +2 -2
  75. package/web/.next/prerender-manifest.json +3 -3
  76. package/web/.next/required-server-files.js +3 -3
  77. package/web/.next/required-server-files.json +3 -3
  78. package/web/.next/routes-manifest.json +6 -0
  79. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +4 -4
  80. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +22 -22
  81. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  82. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  83. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  84. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +4 -4
  85. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
  86. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
  87. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  88. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +4 -4
  90. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +28 -28
  91. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  92. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  93. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  94. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +4 -4
  95. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
  96. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  97. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  98. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  99. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +4 -4
  100. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +22 -22
  101. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  102. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  103. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  104. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +4 -4
  105. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
  106. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
  107. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  108. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  109. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +4 -4
  110. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +28 -28
  111. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  112. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  113. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  114. package/web/.next/server/app/(dashboard)/page/build-manifest.json +4 -4
  115. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +20 -20
  116. package/web/.next/server/app/(dashboard)/page.js +1 -1
  117. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  118. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  119. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +4 -4
  120. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
  121. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  122. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  123. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  124. package/web/.next/server/app/_global-error/page/build-manifest.json +4 -4
  125. package/web/.next/server/app/_global-error.html +2 -2
  126. package/web/.next/server/app/_global-error.rsc +1 -1
  127. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  128. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  129. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  130. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  131. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  132. package/web/.next/server/app/_not-found/page/build-manifest.json +4 -4
  133. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  134. package/web/.next/server/app/_not-found/page.js +1 -1
  135. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  136. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  137. package/web/.next/server/app/api/attachments/preview/route.js +1 -1
  138. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  139. package/web/.next/server/app/api/evidence/route.js +1 -1
  140. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  141. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  142. package/web/.next/server/app/database/page/app-paths-manifest.json +3 -0
  143. package/web/.next/server/app/database/page/build-manifest.json +18 -0
  144. package/web/.next/server/app/database/page/next-font-manifest.json +6 -0
  145. package/web/.next/server/app/database/page/react-loadable-manifest.json +1 -0
  146. package/web/.next/server/app/database/page/server-reference-manifest.json +80 -0
  147. package/web/.next/server/app/database/page.js +16 -0
  148. package/web/.next/server/app/database/page.js.map +5 -0
  149. package/web/.next/server/app/database/page.js.nft.json +1 -0
  150. package/web/.next/server/app/database/page_client-reference-manifest.js +2 -0
  151. package/web/.next/server/app/settings/page/build-manifest.json +4 -4
  152. package/web/.next/server/app/settings/page/server-reference-manifest.json +6 -6
  153. package/web/.next/server/app/settings/page.js +1 -1
  154. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  155. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  156. package/web/.next/server/app/skills/page/build-manifest.json +4 -4
  157. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  158. package/web/.next/server/app/skills/page.js +1 -1
  159. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  160. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  161. package/web/.next/server/app/tools/page/build-manifest.json +4 -4
  162. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  163. package/web/.next/server/app/tools/page.js +1 -1
  164. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  165. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  166. package/web/.next/server/app/version/page/build-manifest.json +4 -4
  167. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  168. package/web/.next/server/app/version/page.js +2 -2
  169. package/web/.next/server/app/version/page.js.nft.json +1 -1
  170. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  171. package/web/.next/server/app-paths-manifest.json +1 -0
  172. package/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js.map +1 -1
  173. package/web/.next/server/chunks/[root-of-the-server]__42b7ab55._.js.map +1 -1
  174. package/web/.next/server/chunks/{[root-of-the-server]__53013576._.js → [root-of-the-server]__7d63f9a4._.js} +2 -2
  175. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js.map +1 -1
  176. package/web/.next/server/chunks/[root-of-the-server]__9a136c79._.js.map +1 -1
  177. package/web/.next/server/chunks/{[root-of-the-server]__92078db6._.js → [root-of-the-server]__a1c7c02a._.js} +2 -2
  178. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  179. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js.map +1 -1
  180. package/web/.next/server/chunks/[root-of-the-server]__a5879003._.js.map +1 -1
  181. package/web/.next/server/chunks/[root-of-the-server]__b2f9a412._.js.map +1 -1
  182. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js.map +1 -1
  183. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  184. package/web/.next/server/chunks/[root-of-the-server]__d2c18946._.js.map +1 -1
  185. package/web/.next/server/chunks/[root-of-the-server]__d8037e14._.js.map +1 -1
  186. package/web/.next/server/chunks/[root-of-the-server]__d9d410a8._.js.map +1 -1
  187. package/web/.next/server/chunks/[root-of-the-server]__e247a485._.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  189. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js +1 -1
  191. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js.map +1 -1
  192. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js +1 -1
  193. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js.map +1 -1
  194. package/web/.next/server/chunks/ssr/{[root-of-the-server]__06fef644._.js → [root-of-the-server]__07a39ff2._.js} +2 -2
  195. package/web/.next/server/chunks/ssr/[root-of-the-server]__07a39ff2._.js.map +1 -0
  196. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +4 -0
  197. package/web/.next/server/chunks/ssr/{[root-of-the-server]__6b17a22d._.js.map → [root-of-the-server]__11033878._.js.map} +1 -1
  198. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a0bbce4._.js +3 -0
  199. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a0bbce4._.js.map +1 -0
  200. package/web/.next/server/chunks/ssr/[root-of-the-server]__2698e9f4._.js +1 -1
  201. package/web/.next/server/chunks/ssr/[root-of-the-server]__2698e9f4._.js.map +1 -1
  202. package/web/.next/server/chunks/ssr/[root-of-the-server]__33cee851._.js +3 -0
  203. package/web/.next/server/chunks/ssr/[root-of-the-server]__33cee851._.js.map +1 -0
  204. package/web/.next/server/chunks/ssr/[root-of-the-server]__4bb4b155._.js +4 -0
  205. package/web/.next/server/chunks/ssr/[root-of-the-server]__4bb4b155._.js.map +1 -0
  206. package/web/.next/server/chunks/ssr/[root-of-the-server]__590dfc34._.js +4 -0
  207. package/web/.next/server/chunks/ssr/[root-of-the-server]__590dfc34._.js.map +1 -0
  208. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
  209. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
  210. package/web/.next/server/chunks/ssr/[root-of-the-server]__743e777a._.js +4 -0
  211. package/web/.next/server/chunks/ssr/[root-of-the-server]__743e777a._.js.map +1 -0
  212. package/web/.next/server/chunks/ssr/[root-of-the-server]__7a939e4e._.js +4 -0
  213. package/web/.next/server/chunks/ssr/{[root-of-the-server]__a022445f._.js.map → [root-of-the-server]__7a939e4e._.js.map} +1 -1
  214. package/web/.next/server/chunks/ssr/[root-of-the-server]__8e3bf5d7._.js +1 -1
  215. package/web/.next/server/chunks/ssr/[root-of-the-server]__8e3bf5d7._.js.map +1 -1
  216. package/web/.next/server/chunks/ssr/[root-of-the-server]__930c8634._.js +3 -0
  217. package/web/.next/server/chunks/ssr/[root-of-the-server]__930c8634._.js.map +1 -0
  218. package/web/.next/server/chunks/ssr/[root-of-the-server]__b724df9e._.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/[root-of-the-server]__c07f9f79._.js +1 -1
  220. package/web/.next/server/chunks/ssr/[root-of-the-server]__c07f9f79._.js.map +1 -1
  221. package/web/.next/server/chunks/ssr/[root-of-the-server]__c605a375._.js +1 -1
  222. package/web/.next/server/chunks/ssr/[root-of-the-server]__c605a375._.js.map +1 -1
  223. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +4 -0
  224. package/web/.next/server/chunks/ssr/{[root-of-the-server]__804c006d._.js.map → [root-of-the-server]__fdc75809._.js.map} +1 -1
  225. package/web/.next/server/chunks/ssr/_05ca281a._.js +3 -0
  226. package/web/.next/server/chunks/ssr/_05ca281a._.js.map +1 -0
  227. package/web/.next/server/chunks/ssr/_061c1da2._.js +3 -0
  228. package/web/.next/server/chunks/ssr/_061c1da2._.js.map +1 -0
  229. package/web/.next/server/chunks/ssr/_0e6034fc._.js +3 -0
  230. package/web/.next/server/chunks/ssr/_0e6034fc._.js.map +1 -0
  231. package/web/.next/server/chunks/ssr/_150e66ba._.js +3 -0
  232. package/web/.next/server/chunks/ssr/_150e66ba._.js.map +1 -0
  233. package/web/.next/server/chunks/ssr/_2f6f48b8._.js +1 -1
  234. package/web/.next/server/chunks/ssr/_2f6f48b8._.js.map +1 -1
  235. package/web/.next/server/chunks/ssr/_34ba40e0._.js +3 -0
  236. package/web/.next/server/chunks/ssr/_34ba40e0._.js.map +1 -0
  237. package/web/.next/server/chunks/ssr/_5b809cd2._.js +4 -0
  238. package/web/.next/server/chunks/ssr/_5b809cd2._.js.map +1 -0
  239. package/web/.next/server/chunks/ssr/{_9f1ab4ee._.js → _5d618f84._.js} +2 -2
  240. package/web/.next/server/chunks/ssr/{_9f1ab4ee._.js.map → _5d618f84._.js.map} +1 -1
  241. package/web/.next/server/chunks/ssr/_6552e0aa._.js +3 -0
  242. package/web/.next/server/chunks/ssr/_6552e0aa._.js.map +1 -0
  243. package/web/.next/server/chunks/ssr/_81f88d15._.js +7 -0
  244. package/web/.next/server/chunks/ssr/_81f88d15._.js.map +1 -0
  245. package/web/.next/server/chunks/ssr/_93d2a00c._.js +3 -0
  246. package/web/.next/server/chunks/ssr/_93d2a00c._.js.map +1 -0
  247. package/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
  248. package/web/.next/server/chunks/ssr/_ad5819d0._.js +3 -0
  249. package/web/.next/server/chunks/ssr/_ad5819d0._.js.map +1 -0
  250. package/web/.next/server/chunks/ssr/{_f1a649e3._.js → _d506bca5._.js} +2 -2
  251. package/web/.next/server/chunks/ssr/{_f1a649e3._.js.map → _d506bca5._.js.map} +1 -1
  252. package/web/.next/server/chunks/ssr/_e1854141._.js +3 -0
  253. package/web/.next/server/chunks/ssr/_e1854141._.js.map +1 -0
  254. package/web/.next/server/chunks/ssr/_f9959908._.js +3 -0
  255. package/web/.next/server/chunks/ssr/_f9959908._.js.map +1 -0
  256. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_database_database-page-client_tsx_b853607a._.js +3 -0
  257. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_database_database-page-client_tsx_b853607a._.js.map +1 -0
  258. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  259. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  260. package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js +3 -0
  261. package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js.map +1 -0
  262. package/web/.next/server/chunks/ssr/node_modules__pnpm_8b0ea744._.js +3 -0
  263. package/web/.next/server/chunks/ssr/node_modules__pnpm_8b0ea744._.js.map +1 -0
  264. package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js +2 -2
  265. package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js.map +1 -1
  266. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js +1 -1
  267. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js.map +1 -1
  268. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  269. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  270. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  271. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  272. package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.js +2 -2
  273. package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.js.map +1 -1
  274. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
  275. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
  276. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  277. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  278. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  279. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  280. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_scroll-area_tsx_53ae5be7._.js +3 -0
  281. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_scroll-area_tsx_53ae5be7._.js.map +1 -0
  282. package/web/.next/server/middleware-build-manifest.js +4 -4
  283. package/web/.next/server/pages/500.html +2 -2
  284. package/web/.next/server/server-reference-manifest.js +1 -1
  285. package/web/.next/server/server-reference-manifest.json +101 -34
  286. package/web/.next/static/chunks/0b8f2e223e1b82f4.js +1 -0
  287. package/web/.next/static/chunks/0e57fc72bf0bc5ba.js +1 -0
  288. package/web/.next/static/chunks/22a1d0eb174f3da9.js +1 -0
  289. package/web/.next/static/chunks/401118947e7159e0.js +1 -0
  290. package/web/.next/static/chunks/40b6bcf1a2de4a0f.js +1 -0
  291. package/web/.next/static/chunks/471c323a18da4918.js +1 -0
  292. package/web/.next/static/chunks/495b4bee62b00caa.js +1 -0
  293. package/web/.next/static/chunks/5aab343372a98721.js +1 -0
  294. package/web/.next/static/chunks/70e04b1108d151c3.js +11 -0
  295. package/web/.next/static/chunks/{9c2f294bf748b4ba.js → 899529af3e08bf94.js} +2 -2
  296. package/web/.next/static/chunks/{9076710a2df38d14.js → 96fc208419afac9e.js} +1 -1
  297. package/web/.next/static/chunks/b3914c0aae76742b.css +1 -0
  298. package/web/.next/static/chunks/b4160eaf4deda4e7.js +1 -0
  299. package/web/.next/static/chunks/b65702b701417ae2.js +1 -0
  300. package/web/.next/static/chunks/c2c0d4e71c36199f.js +1 -0
  301. package/web/.next/static/chunks/c7e793951b20a67f.js +1 -0
  302. package/web/.next/static/chunks/cb440c7f33e135f4.js +1 -0
  303. package/web/.next/static/chunks/{0dfc3b1cff4bdcc2.js → cb46d75dfac954a5.js} +2 -2
  304. package/web/.next/static/chunks/dd702ceaee4a5c0d.js +1 -0
  305. package/web/.next/static/chunks/e6b8baa05827f641.js +1 -0
  306. package/web/.next/static/chunks/{turbopack-426d9bc2450816ba.js → turbopack-b1685b5f87ad1d60.js} +1 -1
  307. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_d0119342._.js +0 -3
  308. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_d0119342._.js.map +0 -1
  309. package/web/.next/server/chunks/ssr/[root-of-the-server]__06fef644._.js.map +0 -1
  310. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js +0 -3
  311. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js.map +0 -1
  312. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +0 -4
  313. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +0 -4
  314. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js +0 -4
  315. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js.map +0 -1
  316. package/web/.next/server/chunks/ssr/[root-of-the-server]__9f155c0e._.js +0 -3
  317. package/web/.next/server/chunks/ssr/[root-of-the-server]__9f155c0e._.js.map +0 -1
  318. package/web/.next/server/chunks/ssr/[root-of-the-server]__a022445f._.js +0 -4
  319. package/web/.next/server/chunks/ssr/[root-of-the-server]__a7de2711._.js +0 -4
  320. package/web/.next/server/chunks/ssr/[root-of-the-server]__a7de2711._.js.map +0 -1
  321. package/web/.next/server/chunks/ssr/_0dc2cfd3._.js +0 -3
  322. package/web/.next/server/chunks/ssr/_0dc2cfd3._.js.map +0 -1
  323. package/web/.next/server/chunks/ssr/_0e506641._.js +0 -7
  324. package/web/.next/server/chunks/ssr/_0e506641._.js.map +0 -1
  325. package/web/.next/server/chunks/ssr/_135edb9c._.js +0 -3
  326. package/web/.next/server/chunks/ssr/_135edb9c._.js.map +0 -1
  327. package/web/.next/server/chunks/ssr/_1bb131c4._.js +0 -3
  328. package/web/.next/server/chunks/ssr/_1bb131c4._.js.map +0 -1
  329. package/web/.next/server/chunks/ssr/_6d26a08f._.js +0 -3
  330. package/web/.next/server/chunks/ssr/_6d26a08f._.js.map +0 -1
  331. package/web/.next/server/chunks/ssr/_6e403a1e._.js +0 -3
  332. package/web/.next/server/chunks/ssr/_6e403a1e._.js.map +0 -1
  333. package/web/.next/server/chunks/ssr/_75f4ccb3._.js +0 -3
  334. package/web/.next/server/chunks/ssr/_75f4ccb3._.js.map +0 -1
  335. package/web/.next/server/chunks/ssr/_b5fc318a._.js +0 -3
  336. package/web/.next/server/chunks/ssr/_b5fc318a._.js.map +0 -1
  337. package/web/.next/server/chunks/ssr/_cc77a143._.js +0 -3
  338. package/web/.next/server/chunks/ssr/_cc77a143._.js.map +0 -1
  339. package/web/.next/server/chunks/ssr/_fffd4212._.js +0 -3
  340. package/web/.next/server/chunks/ssr/_fffd4212._.js.map +0 -1
  341. package/web/.next/server/chunks/ssr/node_modules__pnpm_b59e4b16._.js +0 -3
  342. package/web/.next/server/chunks/ssr/node_modules__pnpm_b59e4b16._.js.map +0 -1
  343. package/web/.next/static/chunks/0d2af96e64960ef5.css +0 -1
  344. package/web/.next/static/chunks/1c206da59596f056.js +0 -1
  345. package/web/.next/static/chunks/2429cf8757ddad34.js +0 -1
  346. package/web/.next/static/chunks/303a1217006489b9.js +0 -1
  347. package/web/.next/static/chunks/39dc15636654a1e3.js +0 -1
  348. package/web/.next/static/chunks/3e9320301a0cac8b.js +0 -1
  349. package/web/.next/static/chunks/447e720f6cf54767.js +0 -1
  350. package/web/.next/static/chunks/4562ee849ea13c3a.js +0 -1
  351. package/web/.next/static/chunks/53e9eda219a7f61c.js +0 -1
  352. package/web/.next/static/chunks/7bc5806d9f82cc79.js +0 -11
  353. package/web/.next/static/chunks/845d8e58a91014e6.js +0 -1
  354. package/web/.next/static/chunks/84a181ff3270fd9f.js +0 -1
  355. package/web/.next/static/chunks/96eeeb28e06de78c.js +0 -1
  356. package/web/.next/static/chunks/e2ef95d904c360f3.js +0 -1
  357. package/web/.next/static/chunks/ed3a602003bcb31b.js +0 -1
  358. /package/web/.next/server/chunks/{[root-of-the-server]__53013576._.js.map → [root-of-the-server]__7d63f9a4._.js.map} +0 -0
  359. /package/web/.next/server/chunks/{[root-of-the-server]__92078db6._.js.map → [root-of-the-server]__a1c7c02a._.js.map} +0 -0
  360. /package/web/.next/static/{t8J3jMT2l7HfCuusAPC-b → 4xrMEp5YYiIKE3f9RD6L-}/_buildManifest.js +0 -0
  361. /package/web/.next/static/{t8J3jMT2l7HfCuusAPC-b → 4xrMEp5YYiIKE3f9RD6L-}/_clientMiddlewareManifest.json +0 -0
  362. /package/web/.next/static/{t8J3jMT2l7HfCuusAPC-b → 4xrMEp5YYiIKE3f9RD6L-}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,48306,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function a({className:e,...a}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,r.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...a})}e.s(["Textarea",()=>a])},95230,e=>{"use strict";let t=(0,e.i(3645).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["default",()=>t])},93752,e=>{"use strict";let t=(0,e.i(3645).default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);e.s(["default",()=>t])},16868,80436,28267,86254,50032,42076,e=>{"use strict";var t=e.i(3645);let r=(0,t.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);e.s(["PaperclipIcon",()=>r],16868);var a=e.i(20314),s=e.i(60253),o=e.i(15506),o=o,i=e.i(95230);e.s(["DownloadIcon",()=>i.default],80436);var i=i,n=e.i(31777),l=e.i(2287),d=e.i(1693);e.s(["VisuallyHidden",0,d],28267);var d=d;let c=(0,t.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var p=e.i(16298),p=p;let u=(0,t.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var h=e.i(93752),h=h;e.i(35364);let m=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),x=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function f(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024));return`${(e/Math.pow(1024,t)).toFixed(+(0!==t))} ${["B","KB","MB","GB"][t]}`}let g=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]);function b(e,t){let r=new URLSearchParams({path:e,mimeType:t});return`/api/attachments/preview?${r.toString()}`}function v({name:e,size:t,mimeType:r,path:v,onRemove:j,loading:w=!1,disabled:y=!1}){let C,k,N=(C=e.lastIndexOf("."))>=0?e.slice(C).toLowerCase():"",P=m.has(N)?u:".pdf"===N?p.default:x.has(N)?h.default:c,T=".pdf"===N?"bg-red-50 text-red-600":m.has(N)?"bg-blue-50 text-blue-600":x.has(N)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600",S=(k=e.lastIndexOf("."))>=0&&g.has(e.slice(k).toLowerCase());return w?(0,a.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-md border",children:(0,a.jsx)(o.default,{className:"text-muted-foreground h-5 w-5 animate-spin"})}):S?(0,a.jsxs)(l.Dialog,{children:[(0,a.jsxs)("div",{className:"group relative",children:[(0,a.jsx)(l.DialogTrigger,{asChild:!0,children:(0,a.jsx)("img",{src:b(v,r),alt:e,title:e,className:"h-12 w-12 cursor-pointer rounded-md border object-cover transition-opacity hover:opacity-80"})}),!y&&(0,a.jsx)("button",{type:"button",onClick:j,className:"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex","aria-label":`Remove ${e}`,children:(0,a.jsx)(s.X,{className:"h-3 w-3"})})]}),(0,a.jsxs)(l.DialogContent,{className:"max-w-3xl gap-0 overflow-hidden border-0 p-0 [&>button:last-child]:!cursor-pointer [&>button:last-child]:!rounded-full [&>button:last-child]:!bg-black/70 [&>button:last-child]:!p-1.5 [&>button:last-child]:!text-white [&>button:last-child]:!opacity-100 [&>button:last-child]:!shadow-lg [&>button:last-child]:!backdrop-blur-md [&>button:last-child]:hover:!bg-black/90",children:[(0,a.jsx)(d.Root,{children:(0,a.jsxs)(l.DialogTitle,{children:["Preview: ",e]})}),(0,a.jsx)("div",{className:"relative bg-black/90",children:(0,a.jsx)("img",{src:b(v,r),alt:e,className:"h-auto max-h-[70vh] w-full object-contain"})}),(0,a.jsxs)("div",{className:"bg-background flex items-center gap-3 px-4 py-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,a.jsx)("span",{className:"truncate text-sm font-medium",children:e}),(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:f(t)})]}),(0,a.jsx)("a",{href:b(v,r),download:e,className:"text-muted-foreground hover:text-foreground shrink-0 cursor-pointer rounded p-1.5 transition-colors","aria-label":`Download ${e}`,children:(0,a.jsx)(i.default,{className:"h-4 w-4"})})]})]})]}):(0,a.jsxs)("div",{className:"group relative flex items-center gap-2 rounded-full border py-1 pr-3 pl-2",children:[(0,a.jsx)("div",{className:(0,n.cn)("flex h-6 w-6 shrink-0 items-center justify-center rounded-full",T),children:(0,a.jsx)(P,{className:"h-3 w-3"})}),(0,a.jsx)("span",{className:"max-w-[120px] truncate text-sm",children:e}),(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:f(t)}),!y&&(0,a.jsx)("button",{type:"button",onClick:j,className:"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex","aria-label":`Remove ${e}`,children:(0,a.jsx)(s.X,{className:"h-3 w-3"})})]})}async function j(){let e=await fetch("/api/dialog/pick-files",{method:"POST"});if(!e.ok)throw Error("Failed to open file dialog");let t=await e.json();return t.cancelled?null:t.files}e.s(["AttachmentChip",()=>v],86254),e.s([],50032),e.s(["pickFiles",()=>j],42076)},90382,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(91967),s=e.i(5978),o=e.i(22528),i=e.i(53532),n=e.i(41687),l=e.i(56720),d=e.i(13123),c=e.i(52740),p=e.i(39979),u=e.i(85995),h=e.i(87620),m=e.i(86874),x=e.i(36589),f=e.i(73772),g=e.i(13044),b="Popover",[v,j]=(0,o.createContextScope)(b,[c.createPopperScope]),w=(0,c.createPopperScope)(),[y,C]=v(b),k=e=>{let{__scopePopover:a,children:s,open:o,defaultOpen:i,onOpenChange:n,modal:l=!1}=e,p=w(a),u=r.useRef(null),[h,m]=r.useState(!1),[f,g]=(0,x.useControllableState)({prop:o,defaultProp:i??!1,onChange:n,caller:b});return(0,t.jsx)(c.Root,{...p,children:(0,t.jsx)(y,{scope:a,contentId:(0,d.useId)(),triggerRef:u,open:f,onOpenChange:g,onOpenToggle:r.useCallback(()=>g(e=>!e),[g]),hasCustomAnchor:h,onCustomAnchorAdd:r.useCallback(()=>m(!0),[]),onCustomAnchorRemove:r.useCallback(()=>m(!1),[]),modal:l,children:s})})};k.displayName=b;var N="PopoverAnchor",P=r.forwardRef((e,a)=>{let{__scopePopover:s,...o}=e,i=C(N,s),n=w(s),{onCustomAnchorAdd:l,onCustomAnchorRemove:d}=i;return r.useEffect(()=>(l(),()=>d()),[l,d]),(0,t.jsx)(c.Anchor,{...n,...o,ref:a})});P.displayName=N;var T="PopoverTrigger",S=r.forwardRef((e,r)=>{let{__scopePopover:o,...i}=e,n=C(T,o),l=w(o),d=(0,s.useComposedRefs)(r,n.triggerRef),p=(0,t.jsx)(h.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":q(n.open),...i,ref:d,onClick:(0,a.composeEventHandlers)(e.onClick,n.onOpenToggle)});return n.hasCustomAnchor?p:(0,t.jsx)(c.Anchor,{asChild:!0,...l,children:p})});S.displayName=T;var R="PopoverPortal",[A,E]=v(R,{forceMount:void 0}),F=e=>{let{__scopePopover:r,forceMount:a,children:s,container:o}=e,i=C(R,r);return(0,t.jsx)(A,{scope:r,forceMount:a,children:(0,t.jsx)(u.Presence,{present:a||i.open,children:(0,t.jsx)(p.Portal,{asChild:!0,container:o,children:s})})})};F.displayName=R;var D="PopoverContent",O=r.forwardRef((e,r)=>{let a=E(D,e.__scopePopover),{forceMount:s=a.forceMount,...o}=e,i=C(D,e.__scopePopover);return(0,t.jsx)(u.Presence,{present:s||i.open,children:i.modal?(0,t.jsx)(z,{...o,ref:r}):(0,t.jsx)(L,{...o,ref:r})})});O.displayName=D;var I=(0,m.createSlot)("PopoverContent.RemoveScroll"),z=r.forwardRef((e,o)=>{let i=C(D,e.__scopePopover),n=r.useRef(null),l=(0,s.useComposedRefs)(o,n),d=r.useRef(!1);return r.useEffect(()=>{let e=n.current;if(e)return(0,f.hideOthers)(e)},[]),(0,t.jsx)(g.RemoveScroll,{as:I,allowPinchZoom:!0,children:(0,t.jsx)(M,{...e,ref:l,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,a.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),d.current||i.triggerRef.current?.focus()}),onPointerDownOutside:(0,a.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;d.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,a.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),L=r.forwardRef((e,a)=>{let s=C(D,e.__scopePopover),o=r.useRef(!1),i=r.useRef(!1);return(0,t.jsx)(M,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||s.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(i.current=!0));let r=t.target;s.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&i.current&&t.preventDefault()}})}),M=r.forwardRef((e,r)=>{let{__scopePopover:a,trapFocus:s,onOpenAutoFocus:o,onCloseAutoFocus:d,disableOutsidePointerEvents:p,onEscapeKeyDown:u,onPointerDownOutside:h,onFocusOutside:m,onInteractOutside:x,...f}=e,g=C(D,a),b=w(a);return(0,n.useFocusGuards)(),(0,t.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:o,onUnmountAutoFocus:d,children:(0,t.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:p,onInteractOutside:x,onEscapeKeyDown:u,onPointerDownOutside:h,onFocusOutside:m,onDismiss:()=>g.onOpenChange(!1),children:(0,t.jsx)(c.Content,{"data-state":q(g.open),role:"dialog",id:g.contentId,...b,...f,ref:r,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),U="PopoverClose",B=r.forwardRef((e,r)=>{let{__scopePopover:s,...o}=e,i=C(U,s);return(0,t.jsx)(h.Primitive.button,{type:"button",...o,ref:r,onClick:(0,a.composeEventHandlers)(e.onClick,()=>i.onOpenChange(!1))})});B.displayName=U;var $=r.forwardRef((e,r)=>{let{__scopePopover:a,...s}=e,o=w(a);return(0,t.jsx)(c.Arrow,{...o,...s,ref:r})});function q(e){return e?"open":"closed"}$.displayName="PopoverArrow",e.s(["Anchor",()=>P,"Arrow",()=>$,"Close",()=>B,"Content",()=>O,"Popover",()=>k,"PopoverAnchor",()=>P,"PopoverArrow",()=>$,"PopoverClose",()=>B,"PopoverContent",()=>O,"PopoverPortal",()=>F,"PopoverTrigger",()=>S,"Portal",()=>F,"Root",()=>k,"Trigger",()=>S,"createPopoverScope",()=>j],89920);var H=e.i(89920),H=H,G=e.i(31777);let _=H.Root,K=H.Trigger;H.Anchor;let W=r.forwardRef(({className:e,align:r="center",sideOffset:a=4,...s},o)=>(0,t.jsx)(H.Portal,{children:(0,t.jsx)(H.Content,{ref:o,align:r,sideOffset:a,className:(0,G.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",e),...s})}));W.displayName=H.Content.displayName,e.s(["Popover",()=>_,"PopoverContent",()=>W,"PopoverTrigger",()=>K],90382)},51911,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(91967),s=e.i(5978),o=e.i(22528),i=e.i(36589),n=e.i(23405),l=e.i(77624),d=e.i(87620),c="Switch",[p,u]=(0,o.createContextScope)(c),[h,m]=p(c),x=r.forwardRef((e,o)=>{let{__scopeSwitch:n,name:l,checked:p,defaultChecked:u,required:m,disabled:x,value:f="on",onCheckedChange:g,form:j,...w}=e,[y,C]=r.useState(null),k=(0,s.useComposedRefs)(o,e=>C(e)),N=r.useRef(!1),P=!y||j||!!y.closest("form"),[T,S]=(0,i.useControllableState)({prop:p,defaultProp:u??!1,onChange:g,caller:c});return(0,t.jsxs)(h,{scope:n,checked:T,disabled:x,children:[(0,t.jsx)(d.Primitive.button,{type:"button",role:"switch","aria-checked":T,"aria-required":m,"data-state":v(T),"data-disabled":x?"":void 0,disabled:x,value:f,...w,ref:k,onClick:(0,a.composeEventHandlers)(e.onClick,e=>{S(e=>!e),P&&(N.current=e.isPropagationStopped(),N.current||e.stopPropagation())})}),P&&(0,t.jsx)(b,{control:y,bubbles:!N.current,name:l,value:f,checked:T,required:m,disabled:x,form:j,style:{transform:"translateX(-100%)"}})]})});x.displayName=c;var f="SwitchThumb",g=r.forwardRef((e,r)=>{let{__scopeSwitch:a,...s}=e,o=m(f,a);return(0,t.jsx)(d.Primitive.span,{"data-state":v(o.checked),"data-disabled":o.disabled?"":void 0,...s,ref:r})});g.displayName=f;var b=r.forwardRef(({__scopeSwitch:e,control:a,checked:o,bubbles:i=!0,...d},c)=>{let p=r.useRef(null),u=(0,s.useComposedRefs)(p,c),h=(0,n.usePrevious)(o),m=(0,l.useSize)(a);return r.useEffect(()=>{let e=p.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(h!==o&&t){let r=new Event("click",{bubbles:i});t.call(e,o),e.dispatchEvent(r)}},[h,o,i]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:o,...d,tabIndex:-1,ref:u,style:{...d.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function v(e){return e?"checked":"unchecked"}b.displayName="SwitchBubbleInput",e.s(["Root",()=>x,"Switch",()=>x,"SwitchThumb",()=>g,"Thumb",()=>g,"createSwitchScope",()=>u],95291);var j=e.i(95291),j=j,w=e.i(31777);function y({className:e,size:r="default",...a}){return(0,t.jsx)(j.Root,{"data-slot":"switch","data-size":r,className:(0,w.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...a,children:(0,t.jsx)(j.Thumb,{"data-slot":"switch-thumb",className:(0,w.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}e.s(["Switch",()=>y],51911)},41413,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(23925),s=e.i(11345),o=e.i(76016),i=e.i(70549),n=e.i(3145),l=e.i(86782),d=e.i(29847),c=e.i(35364),p=e.i(90382),u=e.i(31777);function h({initialAgentType:e,initialModel:h,onAgentModelChange:m,disabled:x,className:f,mode:g}){let[b,v]=r.useState(!1),[j,w]=r.useState([]),[y,C]=r.useState(!0),[k,N]=r.useState(e),[P,T]=r.useState(h),[S,R]=r.useState(null),[A,E]=r.useState(0),[F,D]=r.useState(null);r.useEffect(()=>{(0,i.getAllAgentModels)().then(w).finally(()=>C(!1))},[]),r.useEffect(()=>{if(!b){let e=setTimeout(()=>{E(0),D(null)},150);return()=>clearTimeout(e)}},[b]);let O=async(e,t)=>{if(v(!1),e!==k||t!==P){if("override"===g){N(e),T(t),m?.(e,t);return}N(e),T(t),m?.(e,t),R(null);try{let r=await (0,n.updateAgentAndModel)(e,t||null);r.ok||(N(k),T(P),m?.(k,P),R(r.error??"Failed to save"))}catch{N(k),T(P),m?.(k,P),R("Failed to save")}}},I=(0,l.getAgentTypeIcon)(k),z=j.find(e=>e.agentType===k)?.label??k,L=P?(0,d.getModelMeta)(P).displayName||P:null,M=F?j.find(e=>e.agentType===F):null;return(0,t.jsxs)("div",{className:(0,u.cn)("flex flex-col gap-1",f),children:[(0,t.jsxs)(p.Popover,{open:b,onOpenChange:v,children:[(0,t.jsx)(p.PopoverTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{variant:"outline",role:"combobox","aria-expanded":b,disabled:(x??!1)||y,className:"w-auto cursor-pointer justify-start font-normal hover:border-violet-300 hover:bg-violet-50/50 dark:hover:border-violet-700 dark:hover:bg-violet-950/30",children:(0,t.jsxs)("span",{className:"flex items-center gap-2 truncate",children:[(0,t.jsx)(I,{className:"h-4 w-4 shrink-0"}),y?"Loading…":(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:z}),L?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground/50 text-xs",children:"·"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:L})]}):null]})]})})}),(0,t.jsx)(p.PopoverContent,{className:"w-(--radix-popover-trigger-width) overflow-hidden p-0",align:"start",children:(0,t.jsxs)("div",{className:"flex transition-transform duration-200 ease-in-out",style:{transform:`translateX(${1===A?"-50%":"0%"})`,width:"200%"},children:[(0,t.jsxs)("div",{className:"w-1/2 shrink-0",children:[(0,t.jsx)("div",{className:"text-muted-foreground border-b px-3 py-2 text-xs font-medium",children:"Select agent"}),j.map(e=>{let r=(0,l.getAgentTypeIcon)(e.agentType),s=k===e.agentType,i=e.models.length>0;return(0,t.jsxs)("button",{type:"button",className:(0,u.cn)("flex w-full cursor-pointer items-center gap-2.5 px-3 py-2 text-xs transition-colors","hover:bg-accent hover:text-accent-foreground",s&&"bg-accent/50"),onClick:()=>{i?(D(e.agentType),requestAnimationFrame(()=>{requestAnimationFrame(()=>E(1))})):O(e.agentType,"")},children:[(0,t.jsx)(r,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 text-left",children:e.label}),s&&!i?(0,t.jsx)(a.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null,i?(0,t.jsx)(o.ChevronRight,{className:"text-muted-foreground h-3.5 w-3.5 shrink-0"}):null]},e.agentType)})]}),(0,t.jsx)("div",{className:"w-1/2 shrink-0",children:M?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{type:"button",className:"text-muted-foreground hover:text-foreground flex w-full cursor-pointer items-center gap-1.5 border-b px-3 py-2 text-xs font-medium transition-colors",onClick:()=>{E(0),setTimeout(()=>D(null),220)},children:[(0,t.jsx)(s.ChevronLeft,{className:"h-3.5 w-3.5"}),M.label]}),M.models.map(e=>{let r=k===M.agentType&&P===e.id;return(0,t.jsxs)("button",{type:"button",className:(0,u.cn)("flex w-full cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors","hover:bg-accent hover:text-accent-foreground",r&&"bg-accent/50"),onClick:()=>O(M.agentType,e.id),children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:e.description})]}),r?(0,t.jsx)(a.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null]},e.id)})]}):null})]})})]}),!!S&&(0,t.jsx)("p",{className:"text-destructive text-sm",children:S})]})}e.s(["AgentModelPicker",()=>h])},15203,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(31406),s=e.i(60112),o=e.i(21023);let i=(0,o.createServerReference)("40e29e34b2abda6dc77be42034f1c885bf6577ed55",o.callServer,void 0,o.findSourceMapURL,"createFeature");var n=e.i(16868);let l=(0,e.i(3645).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var d=e.i(97667),c=e.i(53360),p=e.i(55016),u=e.i(91925),h=e.i(83428),m=e.i(31777),x=e.i(8361);e.i(1650);var f=e.i(11495),g=e.i(45811),b=e.i(35364),v=e.i(98127),j=e.i(48306),w=e.i(41957),y=e.i(81846),C=e.i(90382),k=e.i(51911),N=e.i(2828),P=e.i(30153);e.i(50032);var T=e.i(86254),S=e.i(41413),R=e.i(25235),A=e.i(78521),E=e.i(65726),F=e.i(42076);let D=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),O=[{id:"allowPrd",label:"PRD",description:"Auto-approve requirements move to planning."},{id:"allowPlan",label:"Plan",description:"Auto-approve planning move to implementation."},{id:"allowMerge",label:"Merge",description:"Auto-approve merge move to Done."}],I={allowPrd:!1,allowPlan:!1,allowMerge:!1};function z({open:e,onClose:a,onSubmit:s,repositoryPath:o,isSubmitting:i=!1,workflowDefaults:l,features:d,repositories:u,initialParentId:h,currentAgentType:v,currentModel:C,initialDescription:R}){let A=(0,x.useSoundAction)("create"),E=l?.approvalGates??I,z=l?.push??!1,U=l?.openPr??!1,B=l?.ciWatchEnabled!==!1,$=l?.enableEvidence??!1,q=l?.commitEvidence??!1,[H,G]=(0,r.useState)(R??"");(0,r.useEffect)(()=>{R&&G(R)},[R]);let[_,K]=(0,r.useState)([]),[W,V]=(0,r.useState)({...E}),[X,Y]=(0,r.useState)(z),[Z,J]=(0,r.useState)(U),[Q,ee]=(0,r.useState)(l?.ciWatchEnabled!==!1),[et,er]=(0,r.useState)($),[ea,es]=(0,r.useState)(q),[eo,ei]=(0,r.useState)(void 0),[en,el]=(0,r.useState)(!1),[ed,ec]=(0,r.useState)(!1),[ep,eu]=(0,r.useState)(void 0),[eh,em]=(0,r.useState)(void 0),[ex,ef]=(0,r.useState)(o||void 0),[eg,eb]=(0,r.useState)(u??[]),[ev,ej]=(0,r.useState)(!1),[ew,ey]=(0,r.useState)(null),[eC,ek]=(0,r.useState)(!1),eN=(0,r.useRef)(crypto.randomUUID()),eP=(0,r.useRef)(0),eT=(0,r.useRef)(null);(0,r.useEffect)(()=>{l&&(V({...l.approvalGates}),Y(l.push),J(l.openPr),ee(!1!==l.ciWatchEnabled),er(l.enableEvidence),es(l.commitEvidence))},[l]),(0,r.useEffect)(()=>{eb(u??[])},[u]),(0,r.useEffect)(()=>{e&&h&&ei(h)},[e,h]);let eS=(0,r.useCallback)(()=>{G(""),K([]),V({...E}),Y(z),J(U),ee(B),er($),es(q),ei(void 0),ef(o||void 0),eb(u??[]),el(!1),ec(!1),eu(void 0),em(void 0),ey(null),eP.current=0,ej(!1)},[E,z,U,$,B,q,o,u]),eR=""!==H.trim()||_.length>0,{attemptClose:eA}=(0,P.useGuardedDrawerClose)({open:e,isDirty:eR,onClose:a,onReset:eS}),eE=(0,r.useCallback)(async e=>{for(let t of(ey(null),e)){if(t.size>0xa00000)return void ey(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name);if(e&&!D.has(e))return void ey(`File type "${e}" is not allowed`)}for(let t of e){let e=crypto.randomUUID();K(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:t.type||"application/octet-stream",path:"",loading:!0}]);try{let r=new FormData;r.append("file",t),r.append("sessionId",eN.current);let a=await fetch("/api/attachments/upload",{method:"POST",body:r});if(!a.ok){let t=await a.json().catch(()=>({error:"Upload failed"}));K(t=>t.filter(t=>t.id!==e)),ey(t.error??"Upload failed");return}let s=await a.json();K(t=>t.some(t=>t.id!==e&&t.path===s.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...s,id:e,loading:!1}:t))}catch{K(t=>t.filter(t=>t.id!==e)),ey("Upload failed")}}},[]),eF=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eP.current+=1,1===eP.current&&ej(!0)},[]),eD=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eP.current-=1,0===eP.current&&ej(!1)},[]),eO=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),eI=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eP.current=0,ej(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&eE(t)},[eE]),ez=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),eE(r))},[eE]),eL=(0,r.useCallback)(e=>{if(e.preventDefault(),!H.trim())return;let t=ex??o;t&&(A.play(),s({description:H.trim(),attachments:_.filter(e=>!e.loading),repositoryPath:t,approvalGates:{allowPrd:W.allowPrd??!1,allowPlan:W.allowPlan??!1,allowMerge:W.allowMerge??!1},push:X||Z,openPr:Z,ciWatchEnabled:Q,enableEvidence:et,commitEvidence:ea,fast:en,...ed?{pending:ed}:{},...ep?{agentType:ep}:{},...eh?{model:eh}:{},...eo?{parentId:eo}:{},sessionId:eN.current}),eS())},[H,_,W,ex,o,s,X,Z,et,Q,ea,en,ed,ep,eh,eo,A,eS]),eM=(0,r.useCallback)(async()=>{try{let e=await (0,F.pickFiles)();if(!e)return;for(let t of e){let e=crypto.randomUUID();K(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let r=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,sessionId:eN.current})});if(!r.ok){let t=await r.json().catch(()=>({error:"Upload failed"}));K(t=>t.filter(t=>t.id!==e)),ey(t.error??"Upload failed");return}let a=await r.json();K(t=>t.some(t=>t.id!==e&&t.path===a.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...a,id:e,loading:!1}:t))}catch{K(t=>t.filter(t=>t.id!==e)),ey("Upload failed")}}}catch{}},[]),eU=(0,r.useCallback)(e=>{K(t=>t.filter(t=>t.id!==e))},[]),eB=(0,r.useRef)(null),e$=(0,r.useCallback)(e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),eB.current?.requestSubmit())},[]),eq=(0,r.useCallback)(()=>{ek(!0)},[]),eH=(0,r.useCallback)(()=>{setTimeout(()=>{let e=eT.current?.contains(document.activeElement),t=eT.current?.querySelector('[aria-expanded="true"]')!==null;e||t||ek(!1)},0)},[]),eG=d&&d.length>0,e_=!o&&!ex,eK=!o&&void 0!==u;return(0,t.jsx)(f.BaseDrawer,{open:e,onClose:eA,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(g.DrawerTitle,{children:"NEW FEATURE"})]}),i?(0,t.jsx)(g.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(y.Badge,{variant:"secondary",children:"Creating..."})})}):null]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(b.Button,{variant:"outline",onClick:eA,disabled:i,children:"Cancel"}),(0,t.jsx)(b.Button,{type:"submit",form:"create-feature-form",disabled:!H.trim()||i||e_,children:i?"Creating...":"+ Create Feature"})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsx)(N.TooltipProvider,{delayDuration:400,children:(0,t.jsxs)("form",{ref:eB,id:"create-feature-form",onSubmit:eL,onKeyDown:e$,className:"flex flex-col gap-4",children:[eK?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,t.jsx)(w.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"REPOSITORY"}),(0,t.jsx)(M,{repositories:eg,value:ex,onChange:ef,onAddRepository:e=>{eb(t=>[...t,e]),ef(e.path)},disabled:i})]}):o?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,t.jsx)(w.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"REPOSITORY"}),(0,t.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:u?.find(e=>e.path===o)?.name??o.split("/").pop()})]}):null,(0,t.jsxs)("div",{role:"region","aria-label":"File drop zone","data-drag-over":ev?"true":"false",onDragEnter:eF,onDragLeave:eD,onDragOver:eO,onDrop:eI,className:(0,m.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",ev&&"border-primary/50 bg-primary/5"),children:[(0,t.jsx)(w.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIBE YOUR FEATURE"}),(0,t.jsxs)("div",{ref:eT,onFocus:eq,onBlur:eH,className:(0,m.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",eC&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(j.Textarea,{id:"feature-description",placeholder:"e.g. Add GitHub OAuth login with callback handling and token refresh...",value:H,onChange:e=>G(e.target.value),onPaste:ez,required:!0,disabled:i,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),_.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:_.map(e=>(0,t.jsx)(T.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>eU(e.id),disabled:i,loading:e.loading},e.id))}),ew?(0,t.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:ew}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,t.jsx)(S.AgentModelPicker,{initialAgentType:ep??v??"claude-code",initialModel:eh??C??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(e,t)=>{eu(e),em(t)},disabled:i,className:"w-55"}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(k.Switch,{id:"pending-mode",checked:ed,onCheckedChange:ec,disabled:i}),(0,t.jsxs)(w.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(p.Clock,{className:"h-3.5 w-3.5"}),"Pending"]})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Create without starting — start manually later."})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(k.Switch,{id:"fast-mode",checked:en,onCheckedChange:el,disabled:i}),(0,t.jsxs)(w.Label,{htmlFor:"fast-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(c.Zap,{className:"h-3.5 w-3.5"}),"Fast Mode"]})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Skip SDLC phases and implement directly from your prompt."})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:eM,disabled:i,"aria-label":"Attach files",className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(n.PaperclipIcon,{className:"h-4 w-4"})})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Attach files"})]})]})]})]}),eG&&void 0!==h?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,t.jsx)(L,{features:d,value:eo,onChange:ei,disabled:i})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"APPROVE"})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Auto-approve phase transitions without manual review."})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:O.map(e=>(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:`approve-${e.id}`,size:"sm",checked:W[e.id]??!1,onCheckedChange:t=>V(r=>({...r,[e.id]:t})),disabled:i||en&&("allowPrd"===e.id||"allowPlan"===e.id)}),(0,t.jsx)(w.Label,{htmlFor:`approve-${e.id}`,className:"cursor-pointer text-xs font-medium",children:e.label})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:en&&("allowPrd"===e.id||"allowPlan"===e.id)?"Skipped in Fast Mode":e.description})]},e.id))}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:()=>{let e=O.every(e=>W[e.id]),t={};for(let r of O)t[r.id]=!e;V(t)},disabled:i,className:(0,m.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",O.every(e=>W[e.id])&&"text-primary"),children:"All"})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Toggle all approval gates"})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"EVIDENCE"})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Collect and attach evidence after implementation."})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:"enable-evidence",size:"sm",checked:et,onCheckedChange:e=>{er(e),e||es(!1)},disabled:i}),(0,t.jsx)(w.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:"Collect"})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Capture screenshots and artifacts after implementation."})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:"commit-evidence",size:"sm",checked:ea,onCheckedChange:es,disabled:i||!et||!Z}),(0,t.jsx)(w.Label,{htmlFor:"commit-evidence",className:(0,m.cn)("cursor-pointer text-xs font-medium",(!et||!Z)&&"opacity-50"),children:"Add to PR"})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:Z?et?"Include evidence in the pull request body.":"Requires evidence collection to be enabled":"Requires PR to be enabled"})]})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 text-xs font-semibold tracking-wider",children:"GIT"}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:"push",size:"sm",checked:X||Z,onCheckedChange:e=>{Y(e),!e&&Z&&J(!1)},disabled:i}),(0,t.jsx)(w.Label,{htmlFor:"push",className:"cursor-pointer text-xs font-medium",children:"Push"})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Push branch to remote after implementation."})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:"open-pr",size:"sm",checked:Z,onCheckedChange:e=>{J(e),e||es(!1)},disabled:i}),(0,t.jsx)(w.Label,{htmlFor:"open-pr",className:"cursor-pointer text-xs font-medium",children:"PR"})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Open a pull request after pushing."})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:"ci-watch",size:"sm",checked:Q,onCheckedChange:ee,disabled:i}),(0,t.jsx)(w.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:"Watch"})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Watch CI and auto-fix after push."})]})]})]})]})]})})})})}function L({features:e,value:a,onChange:s,disabled:o}){let[i,n]=(0,r.useState)(!1),[c,p]=(0,r.useState)(""),u=(0,r.useRef)(null),h=e.find(e=>e.id===a),x=c.trim()?e.filter(e=>e.name.toLowerCase().includes(c.toLowerCase())||e.id.toLowerCase().includes(c.toLowerCase())):e,f=(0,r.useCallback)(e=>{s(e),n(!1),p("")},[s]);return(0,r.useEffect)(()=>{i?setTimeout(()=>u.current?.focus(),0):p("")},[i]),(0,t.jsxs)(C.Popover,{open:i,onOpenChange:n,children:[(0,t.jsx)(C.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":i,"aria-label":"Parent Feature",disabled:o,"data-testid":"parent-feature-combobox",className:(0,m.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!h&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:h?`${h.name} (${h.id.slice(0,8)})`:"Select parent feature..."}),(0,t.jsx)(l,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(C.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(v.Input,{ref:u,placeholder:"Search features...",value:c,onChange:e=>p(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===a,onClick:()=>f(void 0),className:(0,m.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===a&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(d.CheckIcon,{className:(0,m.cn)("h-4 w-4 shrink-0",void 0!==a&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===x.length&&c?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):x.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":a===e.id,onClick:()=>f(e.id),className:(0,m.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",a===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(d.CheckIcon,{className:(0,m.cn)("h-4 w-4 shrink-0",a!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function M({repositories:e,value:a,onChange:s,onAddRepository:o,disabled:i}){let[n,c]=(0,r.useState)(!1),[p,x]=(0,r.useState)(""),[f,g]=(0,r.useState)(!1),[b,j]=(0,r.useState)(null),w=(0,r.useRef)(null),y=e.find(e=>e.path===a),k=p.trim()?e.filter(e=>e.name.toLowerCase().includes(p.toLowerCase())||e.path.toLowerCase().includes(p.toLowerCase())):e,N=(0,r.useCallback)(e=>{s(e),c(!1),x("")},[s]),P=(0,r.useCallback)(async()=>{if(!f){g(!0),j(null);try{let e=await (0,A.pickFolder)();if(!e)return void g(!1);let t=await (0,E.addRepository)({path:e});if(t.error){j(t.error),g(!1);return}if(t.repository){let e={id:t.repository.id,name:t.repository.name,path:t.repository.path};o?.(e),s(e.path),c(!1),x("")}}catch(e){j(e instanceof Error?e.message:"Failed to add repository")}finally{g(!1)}}},[f,o,s]);return(0,r.useEffect)(()=>{n?setTimeout(()=>w.current?.focus(),0):x("")},[n]),(0,t.jsxs)(C.Popover,{open:n,onOpenChange:c,children:[(0,t.jsx)(C.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",role:"combobox","aria-expanded":n,"aria-label":"Repository",disabled:i,"data-testid":"repository-combobox",className:(0,m.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!y&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:y?y.name:"Select repository..."}),(0,t.jsx)(l,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(C.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(v.Input,{ref:w,placeholder:"Search repositories...",value:p,onChange:e=>x(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,t.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===k.length?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):k.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":a===e.path,onClick:()=>N(e.path),className:(0,m.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",a===e.path&&"bg-accent/50"),"data-testid":`repository-option-${e.id}`,children:[(0,t.jsx)(d.CheckIcon,{className:(0,m.cn)("h-4 w-4 shrink-0",a!==e.path&&"invisible")}),(0,t.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,t.jsx)("span",{className:"truncate",children:e.name}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))}),(0,t.jsx)(R.Separator,{}),(0,t.jsxs)("button",{type:"button",onClick:P,disabled:f,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[f?(0,t.jsx)(h.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,t.jsx)(u.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:"Add new repository..."})]}),b?(0,t.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:b}):null]})})]})}function U({repositoryPath:e,initialParentId:o,initialDescription:n,features:l,repositories:d,workflowDefaults:c,currentAgentType:p,currentModel:u}){let h=(0,a.useRouter)(),[m,x]=(0,r.useState)(!1),f=(0,a.usePathname)().startsWith("/create"),g=!m&&f;(0,r.useEffect)(()=>{!f&&m&&x(!1)},[f,m]);let b=(0,r.useCallback)(()=>{h.push("/")},[h]),v=(0,r.useCallback)(e=>{x(!0),h.push("/"),i(e).then(t=>{t.error?s.toast.error(t.error):window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:t.feature.id,name:t.feature.name,description:t.feature.description,repositoryPath:t.feature.repositoryPath,parentId:e.parentId}}))}).catch(()=>{s.toast.error("Failed to create feature"),x(!1)})},[h]);return(0,t.jsx)(z,{open:g,onClose:b,onSubmit:v,repositoryPath:e,features:l,repositories:d,workflowDefaults:c,initialParentId:o,initialDescription:n,isSubmitting:m,currentAgentType:p,currentModel:u})}e.s(["CreateDrawerClient",()=>U],15203)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81258,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},22193,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getDeploymentId:function(){return u},getDeploymentIdQueryOrEmptyString:function(){return i}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function u(){return!1}function i(){return""}},34558,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return o}});var n,o=((n={})[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},54809,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,o={REDIRECT_ERROR_CODE:function(){return l},RedirectType:function(){return a},isRedirectError:function(){return c}};for(var u in o)Object.defineProperty(r,u,{enumerable:!0,get:o[u]});let i=e.r(34558),l="NEXT_REDIRECT";var a=((n={}).push="push",n.replace="replace",n);function c(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,o=t.slice(2,-2).join(";"),u=Number(t.at(-2));return r===l&&("replace"===n||"push"===n)&&"string"==typeof o&&!isNaN(u)&&u in i.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},65064,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={bindSnapshot:function(){return c},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class i{disable(){throw u}getStore(){}run(){throw u}exit(){throw u}enterWith(){throw u}static bind(e){return e}}let l="u">typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return l?new l:new i}function c(e){return l?l.bind(e):i.bind(e)}function d(){return l?l.snapshot():function(e,...t){return e(...t)}}},82157,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ACTION_HEADER:function(){return i},FLIGHT_HEADERS:function(){return p},NEXT_ACTION_NOT_FOUND_HEADER:function(){return j},NEXT_ACTION_REVALIDATED_HEADER:function(){return T},NEXT_DID_POSTPONE_HEADER:function(){return R},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return f},NEXT_HMR_REFRESH_HEADER:function(){return d},NEXT_HTML_REQUEST_ID_HEADER:function(){return v},NEXT_IS_PRERENDER_HEADER:function(){return g},NEXT_REQUEST_ID_HEADER:function(){return h},NEXT_REWRITTEN_PATH_HEADER:function(){return b},NEXT_REWRITTEN_QUERY_HEADER:function(){return O},NEXT_ROUTER_PREFETCH_HEADER:function(){return a},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return c},NEXT_ROUTER_STALE_TIME_HEADER:function(){return y},NEXT_ROUTER_STATE_TREE_HEADER:function(){return l},NEXT_RSC_UNION_QUERY:function(){return E},NEXT_URL:function(){return s},RSC_CONTENT_TYPE_HEADER:function(){return _},RSC_HEADER:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u="rsc",i="next-action",l="next-router-state-tree",a="next-router-prefetch",c="next-router-segment-prefetch",d="next-hmr-refresh",f="__next_hmr_refresh_hash__",s="next-url",_="text/x-component",p=[u,l,a,d,c],E="_rsc",y="x-nextjs-stale-time",R="x-nextjs-postponed",b="x-nextjs-rewritten-path",O="x-nextjs-rewritten-query",g="x-nextjs-prerender",j="x-nextjs-action-not-found",h="x-nextjs-request-id",v="x-nextjs-html-request-id",T="x-action-revalidated";("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5161,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DEFAULT_SEGMENT_KEY:function(){return f},NOT_FOUND_SEGMENT_KEY:function(){return s},PAGE_SEGMENT_KEY:function(){return d},addSearchParamsIfPageSegment:function(){return a},computeSelectedLayoutSegment:function(){return c},getSegmentValue:function(){return u},getSelectedLayoutSegmentPath:function(){return function e(t,r,n=!0,o=[]){let i;if(n)i=t[1][r];else{let e=t[1];i=e.children??Object.values(e)[0]}if(!i)return o;let l=u(i[0]);return!l||l.startsWith(d)?o:(o.push(l),e(i,r,!1,o))}},isGroupSegment:function(){return i},isParallelRouteSegment:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function u(e){return Array.isArray(e)?e[1]:e}function i(e){return"("===e[0]&&e.endsWith(")")}function l(e){return e.startsWith("@")&&"@children"!==e}function a(e,t){if(e.includes(d)){let e=JSON.stringify(t);return"{}"!==e?d+"?"+e:d}return e}function c(e,t){if(!e||0===e.length)return null;let r="children"===t?e[0]:e[e.length-1];return r===f?null:r}let d="__PAGE__",f="__DEFAULT__",s="/_not-found"},50389,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={UnrecognizedActionError:function(){return u},unstable_isUnrecognizedActionError:function(){return i}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});class u extends Error{constructor(...e){super(...e),this.name="UnrecognizedActionError"}}function i(e){return!!(e&&"object"==typeof e&&e instanceof u)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},89637,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(65064).createAsyncLocalStorage)()},54293,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorage",{enumerable:!0,get:function(){return n.actionAsyncStorageInstance}});let n=e.r(89637)},25133,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getRedirectError:function(){return a},getRedirectStatusCodeFromError:function(){return _},getRedirectTypeFromError:function(){return s},getURLFromRedirectError:function(){return f},permanentRedirect:function(){return d},redirect:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(34558),i=e.r(54809),l="u"<typeof window?e.r(54293).actionAsyncStorage:void 0;function a(e,t,r=u.RedirectStatusCode.TemporaryRedirect){let n=Object.defineProperty(Error(i.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n.digest=`${i.REDIRECT_ERROR_CODE};${t};${e};${r};`,n}function c(e,t){throw a(e,t??=l?.getStore()?.isAction?i.RedirectType.push:i.RedirectType.replace,u.RedirectStatusCode.TemporaryRedirect)}function d(e,t=i.RedirectType.replace){throw a(e,t,u.RedirectStatusCode.PermanentRedirect)}function f(e){return(0,i.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function s(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function _(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18152,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={AppRouterContext:function(){return i},GlobalLayoutRouterContext:function(){return a},LayoutRouterContext:function(){return l},MissingSlotContext:function(){return d},TemplateContext:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(81258)._(e.r(79054)),i=u.default.createContext(null),l=u.default.createContext(null),a=u.default.createContext(null),c=u.default.createContext(null),d=u.default.createContext(new Set)},9338,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useUntrackedPathname",{enumerable:!0,get:function(){return u}});let n=e.r(79054),o=e.r(14869);function u(){return!function(){if("u"<typeof window){let{workUnitAsyncStorage:t}=e.r(3163),r=t.getStore();if(!r)return!1;switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":let n=r.fallbackRouteParams;return!!n&&n.size>0}}return!1}()?(0,n.useContext)(o.PathnameContext):null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},62949,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={handleHardNavError:function(){return i},useNavFailureHandler:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(79054);let u=e.r(32801);function i(e){return!!(e&&"u">typeof window)&&!!window.next.__pendingUrl&&(0,u.createHrefFromUrl)(new URL(window.location.href))!==(0,u.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function l(){}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},86762,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HandleISRError",{enumerable:!0,get:function(){return o}});let n="u"<typeof window?e.r(58988).workAsyncStorage:void 0;function o({error:e}){if(n){let t=n.getStore();if(t?.isStaticGeneration)throw e&&console.error(e),e}return null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},57351,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ErrorBoundary:function(){return p},ErrorBoundaryHandler:function(){return _}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(81258),i=e.r(20314),l=u._(e.r(79054)),a=e.r(9338),c=e.r(86092);e.r(62949);let d=e.r(86762),f=e.r(41608),s="u">typeof window&&(0,f.isBot)(window.navigator.userAgent);class _ extends l.default.Component{constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(e){if((0,c.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error&&!s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(d.HandleISRError,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,i.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}}function p({errorComponent:e,errorStyles:t,errorScripts:r,children:n}){let o=(0,a.useUntrackedPathname)();return e?(0,i.jsx)(_,{pathname:o,errorComponent:e,errorStyles:t,errorScripts:r,children:n}):(0,i.jsx)(i.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},10706,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RedirectBoundary:function(){return _},RedirectErrorBoundary:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(44066),i=e.r(20314),l=u._(e.r(79054)),a=e.r(67013),c=e.r(25133),d=e.r(54809);function f({redirect:e,reset:t,redirectType:r}){let n=(0,a.useRouter)();return(0,l.useEffect)(()=>{l.default.startTransition(()=>{r===d.RedirectType.push?n.push(e,{}):n.replace(e,{}),t()})},[e,r,t,n]),null}class s extends l.default.Component{constructor(e){super(e),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(e){if((0,d.isRedirectError)(e)){let t=(0,c.getURLFromRedirectError)(e),r=(0,c.getRedirectTypeFromError)(e);return"handled"in e?{redirect:null,redirectType:null}:{redirect:t,redirectType:r}}throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,i.jsx)(f,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}}function _({children:e}){let t=(0,a.useRouter)();return(0,i.jsx)(s,{router:t,children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},99271,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66658,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={MetadataBoundary:function(){return l},OutletBoundary:function(){return c},RootLayoutBoundary:function(){return d},ViewportBoundary:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(42771),i={[u.METADATA_BOUNDARY_NAME]:function({children:e}){return e},[u.VIEWPORT_BOUNDARY_NAME]:function({children:e}){return e},[u.OUTLET_BOUNDARY_NAME]:function({children:e}){return e},[u.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:e}){return e}},l=i[u.METADATA_BOUNDARY_NAME.slice(0)],a=i[u.VIEWPORT_BOUNDARY_NAME.slice(0)],c=i[u.OUTLET_BOUNDARY_NAME.slice(0)],d=i[u.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)]},84210,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=e.r(81258)._(e.r(79054)).default.createContext({})},42726,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let n=e.r(20314),o=e.r(86762),u={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},i={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},l=function({error:e}){let t=e?.digest;return(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{}),(0,n.jsxs)("body",{children:[(0,n.jsx)(o.HandleISRError,{error:e}),(0,n.jsx)("div",{style:u,children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("h2",{style:i,children:["Application error: a ",t?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",t?"server logs":"browser console"," for more information)."]}),t?(0,n.jsx)("p",{style:i,children:`Digest: ${t}`}):null]})})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,23405,e=>{"use strict";var t=e.i(79054);function r(e){let r=t.useRef({value:e,previous:e});return t.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}e.s(["usePrevious",()=>r])},23925,1012,e=>{"use strict";let t=(0,e.i(3645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],1012),e.s(["Check",()=>t],23925)},41957,e=>{"use strict";var t=e.i(20314),r=e.i(79054),s=e.i(87620),a=r.forwardRef((e,r)=>(0,t.jsx)(s.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));a.displayName="Label",e.s(["Label",()=>a,"Root",()=>a],27572);var i=e.i(27572),i=i,l=e.i(94237),o=e.i(31777);let n=(0,l.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),u=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(i.Root,{ref:s,className:(0,o.cn)(n(),e),...r}));u.displayName=i.Root.displayName,e.s(["Label",()=>u],41957)},76016,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],76016)},11345,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],11345)},10714,99105,e=>{"use strict";var t=e.i(3645);let r=(0,t.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>r],10714);let s=(0,t.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>s],99105)},33168,67455,10371,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("40f3e6105b69002def217fb34da3ea5b760abb02bf",t.callServer,void 0,t.findSourceMapURL,"openIde");e.s(["openIde",()=>r],33168);let s=(0,t.createServerReference)("40bea07f242a2fe36701828e83475b478002cd2784",t.callServer,void 0,t.findSourceMapURL,"openShell");e.s(["openShell",()=>s],67455);let a=(0,t.createServerReference)("40f26a2e36abaaf130453b72d15d147a4e4f687b0a",t.callServer,void 0,t.findSourceMapURL,"openFolder");e.s(["openFolder",()=>a],10371)},8986,e=>{"use strict";let t=(0,e.i(3645).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",()=>t],8986)},30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},81846,e=>{"use strict";var t=e.i(20314),r=e.i(94237),s=e.i(31777);let a=(0,r.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:r,...i}){return(0,t.jsx)("div",{className:(0,s.cn)(a({variant:r}),e),...i})}e.s(["Badge",()=>i])},24042,e=>{"use strict";let t=(0,e.i(3645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],24042)},2287,e=>{"use strict";var t=e.i(20314),r=e.i(79054),s=e.i(90033),a=e.i(60253),i=e.i(31777);let l=s.Dialog.Root,o=s.Dialog.Trigger,n=s.Dialog.Portal,u=s.Dialog.Close,c=r.forwardRef(({className:e,onClick:r,...a},l)=>(0,t.jsx)(s.Dialog.Overlay,{ref:l,className:(0,i.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),r?.(e)},...a}));c.displayName=s.Dialog.Overlay.displayName;let d=r.forwardRef(({className:e,children:r,...l},o)=>(0,t.jsxs)(n,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(s.Dialog.Content,{ref:o,className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...l,children:[r,(0,t.jsxs)(s.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(a.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));d.displayName=s.Dialog.Content.displayName;let f=({className:e,...r})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...r});f.displayName="DialogHeader";let p=({className:e,...r})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...r});p.displayName="DialogFooter";let h=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(s.Dialog.Title,{ref:a,className:(0,i.cn)("text-lg leading-none font-semibold tracking-tight",e),...r}));h.displayName=s.Dialog.Title.displayName;let y=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(s.Dialog.Description,{ref:a,className:(0,i.cn)("text-muted-foreground text-sm",e),...r}));y.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>l,"DialogClose",()=>u,"DialogContent",()=>d,"DialogDescription",()=>y,"DialogFooter",()=>p,"DialogHeader",()=>f,"DialogTitle",()=>h,"DialogTrigger",()=>o])},1650,e=>{"use strict";e.i(11495),e.s([])},19933,e=>{"use strict";let t=(0,e.i(3645).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],19933)},87342,e=>{"use strict";var t=e.i(79054),r=e.i(22528),s=e.i(5978),a=e.i(86874),i=e.i(20314);function l(e){let l=e+"CollectionProvider",[o,n]=(0,r.createContextScope)(l),[u,c]=o(l,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:s}=e,a=t.default.useRef(null),l=t.default.useRef(new Map).current;return(0,i.jsx)(u,{scope:r,itemMap:l,collectionRef:a,children:s})};d.displayName=l;let f=e+"CollectionSlot",p=(0,a.createSlot)(f),h=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,l=c(f,r),o=(0,s.useComposedRefs)(t,l.collectionRef);return(0,i.jsx)(p,{ref:o,children:a})});h.displayName=f;let y=e+"CollectionItemSlot",m="data-radix-collection-item",v=(0,a.createSlot)(y),g=t.default.forwardRef((e,r)=>{let{scope:a,children:l,...o}=e,n=t.default.useRef(null),u=(0,s.useComposedRefs)(r,n),d=c(y,a);return t.default.useEffect(()=>(d.itemMap.set(n,{ref:n,...o}),()=>void d.itemMap.delete(n))),(0,i.jsx)(v,{...{[m]:""},ref:u,children:l})});return g.displayName=y,[{Provider:d,Slot:h,ItemSlot:g},function(r){let s=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=s.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(s.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[s.collectionRef,s.itemMap])},n]}var o=new WeakMap;function n(e,t){var r,s;let a,i,l;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let o=(r=e,s=t,a=r.length,(l=(i=u(s))>=0?i:a+i)<0||l>=a?-1:l);return -1===o?void 0:e[o]}function u(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],o.set(this,!0)}set(e,t){return o.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let s,a=this.has(t),i=this.#e.length,l=u(e),o=l>=0?l:i+l,n=o<0||o>=i?-1:o;if(n===this.size||a&&n===this.size-1||-1===n)return this.set(t,r),this;let c=this.size+ +!a;l<0&&o++;let d=[...this.#e],f=!1;for(let e=o;e<c;e++)if(o===e){let i=d[e];d[e]===t&&(i=d[e+1]),a&&this.delete(t),s=this.get(i),this.set(t,r)}else{f||d[e-1]!==t||(f=!0);let r=d[f?e:e-1],a=s;s=this.get(r),this.delete(r),this.set(r,a)}return this}with(t,r,s){let a=new e(this);return a.insert(t,r,s),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=n(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=n(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return n(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return s;r++}}findIndex(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return r;r++}return -1}filter(t,r){let s=[],a=0;for(let e of this)Reflect.apply(t,r,[e,a,this])&&s.push(e),a++;return new e(s)}map(t,r){let s=[],a=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,a,this])]),a++;return new e(s)}reduce(...e){let[t,r]=e,s=0,a=r??this.at(0);for(let r of this)a=0===s&&1===e.length?r:Reflect.apply(t,this,[a,r,s,this]),s++;return a}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let a=this.at(r);s=r===this.size-1&&1===e.length?a:Reflect.apply(t,this,[s,a,r,this])}return s}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),s=this.get(r);t.set(r,s)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let s=new e,a=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(a=r-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),r=this.get(t);s.set(t,r)}return s}every(e,t){let r=0;for(let s of this){if(!Reflect.apply(e,t,[s,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>l])},51080,e=>{"use strict";var t=e.i(79054),r=e.i(91967),s=e.i(87342),a=e.i(5978),i=e.i(22528),l=e.i(13123),o=e.i(87620),n=e.i(29297),u=e.i(36589),c=e.i(66033),d=e.i(20314),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[y,m,v]=(0,s.createCollection)(h),[g,x]=(0,i.createContextScope)(h,[v]),[b,k]=g(h),R=t.forwardRef((e,t)=>(0,d.jsx)(y.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(y.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(w,{...e,ref:t})})}));R.displayName=h;var w=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:i,orientation:l,loop:y=!1,dir:v,currentTabStopId:g,defaultCurrentTabStopId:x,onCurrentTabStopIdChange:k,onEntryFocus:R,preventScrollOnEntryFocus:w=!1,...S}=e,A=t.useRef(null),C=(0,a.useComposedRefs)(s,A),D=(0,c.useDirection)(v),[N,j]=(0,u.useControllableState)({prop:g,defaultProp:x??null,onChange:k,caller:h}),[z,T]=t.useState(!1),I=(0,n.useCallbackRef)(R),F=m(i),P=t.useRef(!1),[E,O]=t.useState(0);return t.useEffect(()=>{let e=A.current;if(e)return e.addEventListener(f,I),()=>e.removeEventListener(f,I)},[I]),(0,d.jsx)(b,{scope:i,orientation:l,dir:D,loop:y,currentTabStopId:N,onItemFocus:t.useCallback(e=>j(e),[j]),onItemShiftTab:t.useCallback(()=>T(!0),[]),onFocusableItemAdd:t.useCallback(()=>O(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>O(e=>e-1),[]),children:(0,d.jsx)(o.Primitive.div,{tabIndex:z||0===E?-1:0,"data-orientation":l,...S,ref:C,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{P.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!P.current;if(e.target===e.currentTarget&&t&&!z){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=F().filter(e=>e.focusable);M([e.find(e=>e.active),e.find(e=>e.id===N),...e].filter(Boolean).map(e=>e.ref.current),w)}}P.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>T(!1))})})}),S="RovingFocusGroupItem",A=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:a,focusable:i=!0,active:n=!1,tabStopId:u,children:c,...f}=e,p=(0,l.useId)(),h=u||p,v=k(S,a),g=v.currentTabStopId===h,x=m(a),{onFocusableItemAdd:b,onFocusableItemRemove:R,currentTabStopId:w}=v;return t.useEffect(()=>{if(i)return b(),()=>R()},[i,b,R]),(0,d.jsx)(y.ItemSlot,{scope:a,id:h,focusable:i,active:n,children:(0,d.jsx)(o.Primitive.span,{tabIndex:g?0:-1,"data-orientation":v.orientation,...f,ref:s,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{i?v.onItemFocus(h):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>v.onItemFocus(h)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void v.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var s;let a=(s=e.key,"rtl"!==r?s:"ArrowLeft"===s?"ArrowRight":"ArrowRight"===s?"ArrowLeft":s);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return C[a]}(e,v.orientation,v.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=x().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var r,s;"prev"===t&&a.reverse();let i=a.indexOf(e.currentTarget);a=v.loop?(r=a,s=i+1,r.map((e,t)=>r[(s+t)%r.length])):a.slice(i+1)}setTimeout(()=>M(a))}}),children:"function"==typeof c?c({isCurrentTabStop:g,hasTabStop:null!=w}):c})})});A.displayName=S;var C={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function M(e,t=!1){let r=document.activeElement;for(let s of e)if(s===r||(s.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>A,"Root",()=>R,"createRovingFocusGroupScope",()=>x])},79687,e=>{"use strict";var t=e.i(14748);e.s(["AlertCircle",()=>t.default])},33548,e=>{"use strict";let t=(0,e.i(3645).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["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"}]]);e.s(["Copy",()=>t],33548)},95812,35e3,e=>{"use strict";let t=(0,e.i(3645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],95812);var r=e.i(80986);e.s(["CheckCircle2",()=>r.default],35e3)},16298,e=>{"use strict";let t=(0,e.i(3645).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["default",()=>t])},53360,e=>{"use strict";let t=(0,e.i(3645).default)("zap",[["path",{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",key:"1xq2db"}]]);e.s(["Zap",()=>t],53360)},97667,e=>{"use strict";var t=e.i(1012);e.s(["CheckIcon",()=>t.default])},26370,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["Bot",()=>t],26370)},54793,7729,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function s({icon:e,title:s,description:a,action:i,className:l,...o}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",l),...o,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:s}),a?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,i?(0,t.jsx)("div",{className:"mt-2",children:i}):null]})}e.s(["EmptyState",()=>s],7729),e.s([],54793)},70549,3145,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("00c45f735b95cd91871a657b666ae73c4174679206",t.callServer,void 0,t.findSourceMapURL,"getAllAgentModels");e.s(["getAllAgentModels",()=>r],70549);let s=(0,t.createServerReference)("600e2ccbda5822779756b89369799ce307ae37cbab",t.callServer,void 0,t.findSourceMapURL,"updateAgentAndModel");e.s(["updateAgentAndModel",()=>s],3145)},65726,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("40d89e63cda270e605589714f4f2ae227455e15072",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",()=>r])},76852,e=>{"use strict";var t=e.i(79054),r=e.i(33168),s=e.i(67455),a=e.i(10371);function i(e){let[i,l]=(0,t.useState)(!1),[o,n]=(0,t.useState)(!1),[u,c]=(0,t.useState)(!1),[d,f]=(0,t.useState)(null),[p,h]=(0,t.useState)(null),[y,m]=(0,t.useState)(null),v=(0,t.useRef)(null),g=(0,t.useRef)(null),x=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{v.current&&clearTimeout(v.current),g.current&&clearTimeout(g.current),x.current&&clearTimeout(x.current)},[]);let b=(0,t.useCallback)(async(t,r,s,a,i)=>{if(e&&!i){a.current&&clearTimeout(a.current),r(!0),s(null);try{let e=await t();if(!e.success){let t=e.error??"An unexpected error occurred";s(t),a.current=setTimeout(()=>s(null),5e3)}}catch(e){s(e instanceof Error?e.message:"An unexpected error occurred"),a.current=setTimeout(()=>s(null),5e3)}finally{r(!1)}}},[e]);return{openInIde:(0,t.useCallback)(()=>b(()=>(0,r.openIde)({repositoryPath:e.repositoryPath}),l,f,v,i),[b,i,e]),openInShell:(0,t.useCallback)(()=>b(()=>(0,s.openShell)({repositoryPath:e.repositoryPath}),n,h,g,o),[b,o,e]),openFolder:(0,t.useCallback)(()=>b(()=>(0,a.openFolder)(e.repositoryPath),c,m,x,u),[b,u,e]),ideLoading:i,shellLoading:o,folderLoading:u,ideError:d,shellError:p,folderError:y}}e.s(["useRepositoryActions",()=>i])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},81846,e=>{"use strict";var t=e.i(20314),s=e.i(94237),a=e.i(31777);let r=(0,s.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:s,...i}){return(0,t.jsx)("div",{className:(0,a.cn)(r({variant:s}),e),...i})}e.s(["Badge",()=>i])},24042,e=>{"use strict";let t=(0,e.i(3645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],24042)},2287,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(90033),r=e.i(60253),i=e.i(31777);let l=a.Dialog.Root,n=a.Dialog.Trigger,o=a.Dialog.Portal,c=a.Dialog.Close,d=s.forwardRef(({className:e,onClick:s,...r},l)=>(0,t.jsx)(a.Dialog.Overlay,{ref:l,className:(0,i.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),s?.(e)},...r}));d.displayName=a.Dialog.Overlay.displayName;let u=s.forwardRef(({className:e,children:s,...l},n)=>(0,t.jsxs)(o,{children:[(0,t.jsx)(d,{}),(0,t.jsxs)(a.Dialog.Content,{ref:n,className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...l,children:[s,(0,t.jsxs)(a.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(r.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=a.Dialog.Content.displayName;let m=({className:e,...s})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...s});m.displayName="DialogHeader";let f=({className:e,...s})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...s});f.displayName="DialogFooter";let h=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(a.Dialog.Title,{ref:r,className:(0,i.cn)("text-lg leading-none font-semibold tracking-tight",e),...s}));h.displayName=a.Dialog.Title.displayName;let p=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(a.Dialog.Description,{ref:r,className:(0,i.cn)("text-muted-foreground text-sm",e),...s}));p.displayName=a.Dialog.Description.displayName,e.s(["Dialog",()=>l,"DialogClose",()=>c,"DialogContent",()=>u,"DialogDescription",()=>p,"DialogFooter",()=>f,"DialogHeader",()=>m,"DialogTitle",()=>h,"DialogTrigger",()=>n])},23925,1012,e=>{"use strict";let t=(0,e.i(3645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],1012),e.s(["Check",()=>t],23925)},95230,e=>{"use strict";let t=(0,e.i(3645).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["default",()=>t])},81181,e=>{"use strict";var t=e.i(95230);e.s(["Download",()=>t.default])},87342,e=>{"use strict";var t=e.i(79054),s=e.i(22528),a=e.i(5978),r=e.i(86874),i=e.i(20314);function l(e){let l=e+"CollectionProvider",[n,o]=(0,s.createContextScope)(l),[c,d]=n(l,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:s,children:a}=e,r=t.default.useRef(null),l=t.default.useRef(new Map).current;return(0,i.jsx)(c,{scope:s,itemMap:l,collectionRef:r,children:a})};u.displayName=l;let m=e+"CollectionSlot",f=(0,r.createSlot)(m),h=t.default.forwardRef((e,t)=>{let{scope:s,children:r}=e,l=d(m,s),n=(0,a.useComposedRefs)(t,l.collectionRef);return(0,i.jsx)(f,{ref:n,children:r})});h.displayName=m;let p=e+"CollectionItemSlot",x="data-radix-collection-item",g=(0,r.createSlot)(p),v=t.default.forwardRef((e,s)=>{let{scope:r,children:l,...n}=e,o=t.default.useRef(null),c=(0,a.useComposedRefs)(s,o),u=d(p,r);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...n}),()=>void u.itemMap.delete(o))),(0,i.jsx)(g,{...{[x]:""},ref:c,children:l})});return v.displayName=p,[{Provider:u,Slot:h,ItemSlot:v},function(s){let a=d(e+"CollectionConsumer",s);return t.default.useCallback(()=>{let e=a.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${x}]`));return Array.from(a.itemMap.values()).sort((e,s)=>t.indexOf(e.ref.current)-t.indexOf(s.ref.current))},[a.collectionRef,a.itemMap])},o]}var n=new WeakMap;function o(e,t){var s,a;let r,i,l;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=(s=e,a=t,r=s.length,(l=(i=c(a))>=0?i:r+i)<0||l>=r?-1:l);return -1===n?void 0:e[n]}function c(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],n.set(this,!0)}set(e,t){return n.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,s){let a,r=this.has(t),i=this.#e.length,l=c(e),n=l>=0?l:i+l,o=n<0||n>=i?-1:n;if(o===this.size||r&&o===this.size-1||-1===o)return this.set(t,s),this;let d=this.size+ +!r;l<0&&n++;let u=[...this.#e],m=!1;for(let e=n;e<d;e++)if(n===e){let i=u[e];u[e]===t&&(i=u[e+1]),r&&this.delete(t),a=this.get(i),this.set(t,s)}else{m||u[e-1]!==t||(m=!0);let s=u[m?e:e-1],r=a;a=this.get(s),this.delete(s),this.set(s,r)}return this}with(t,s,a){let r=new e(this);return r.insert(t,s,a),r}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,s){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a,t,s)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,s){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a+1,t,s)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let s=this.indexOf(e);if(-1===s)return;let a=s+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.at(a)}keyFrom(e,t){let s=this.indexOf(e);if(-1===s)return;let a=s+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.keyAt(a)}find(e,t){let s=0;for(let a of this){if(Reflect.apply(e,t,[a,s,this]))return a;s++}}findIndex(e,t){let s=0;for(let a of this){if(Reflect.apply(e,t,[a,s,this]))return s;s++}return -1}filter(t,s){let a=[],r=0;for(let e of this)Reflect.apply(t,s,[e,r,this])&&a.push(e),r++;return new e(a)}map(t,s){let a=[],r=0;for(let e of this)a.push([e[0],Reflect.apply(t,s,[e,r,this])]),r++;return new e(a)}reduce(...e){let[t,s]=e,a=0,r=s??this.at(0);for(let s of this)r=0===a&&1===e.length?s:Reflect.apply(t,this,[r,s,a,this]),a++;return r}reduceRight(...e){let[t,s]=e,a=s??this.at(-1);for(let s=this.size-1;s>=0;s--){let r=this.at(s);a=s===this.size-1&&1===e.length?r:Reflect.apply(t,this,[a,r,s,this])}return a}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let s=this.keyAt(e),a=this.get(s);t.set(s,a)}return t}toSpliced(...t){let s=[...this.entries()];return s.splice(...t),new e(s)}slice(t,s){let a=new e,r=this.size-1;if(void 0===t)return a;t<0&&(t+=this.size),void 0!==s&&s>0&&(r=s-1);for(let e=t;e<=r;e++){let t=this.keyAt(e),s=this.get(t);a.set(t,s)}return a}every(e,t){let s=0;for(let a of this){if(!Reflect.apply(e,t,[a,s,this]))return!1;s++}return!0}some(e,t){let s=0;for(let a of this){if(Reflect.apply(e,t,[a,s,this]))return!0;s++}return!1}}),e.s(["createCollection",()=>l])},51080,e=>{"use strict";var t=e.i(79054),s=e.i(91967),a=e.i(87342),r=e.i(5978),i=e.i(22528),l=e.i(13123),n=e.i(87620),o=e.i(29297),c=e.i(36589),d=e.i(66033),u=e.i(20314),m="rovingFocusGroup.onEntryFocus",f={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[p,x,g]=(0,a.createCollection)(h),[v,y]=(0,i.createContextScope)(h,[g]),[b,j]=v(h),k=t.forwardRef((e,t)=>(0,u.jsx)(p.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(p.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(w,{...e,ref:t})})}));k.displayName=h;var w=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:i,orientation:l,loop:p=!1,dir:g,currentTabStopId:v,defaultCurrentTabStopId:y,onCurrentTabStopIdChange:j,onEntryFocus:k,preventScrollOnEntryFocus:w=!1,...N}=e,C=t.useRef(null),T=(0,r.useComposedRefs)(a,C),D=(0,d.useDirection)(g),[S,I]=(0,c.useControllableState)({prop:v,defaultProp:y??null,onChange:j,caller:h}),[A,z]=t.useState(!1),E=(0,o.useCallbackRef)(k),M=x(i),L=t.useRef(!1),[F,P]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(m,E),()=>e.removeEventListener(m,E)},[E]),(0,u.jsx)(b,{scope:i,orientation:l,dir:D,loop:p,currentTabStopId:S,onItemFocus:t.useCallback(e=>I(e),[I]),onItemShiftTab:t.useCallback(()=>z(!0),[]),onFocusableItemAdd:t.useCallback(()=>P(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>P(e=>e-1),[]),children:(0,u.jsx)(n.Primitive.div,{tabIndex:A||0===F?-1:0,"data-orientation":l,...N,ref:T,style:{outline:"none",...e.style},onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,()=>{L.current=!0}),onFocus:(0,s.composeEventHandlers)(e.onFocus,e=>{let t=!L.current;if(e.target===e.currentTarget&&t&&!A){let t=new CustomEvent(m,f);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=M().filter(e=>e.focusable);R([e.find(e=>e.active),e.find(e=>e.id===S),...e].filter(Boolean).map(e=>e.ref.current),w)}}L.current=!1}),onBlur:(0,s.composeEventHandlers)(e.onBlur,()=>z(!1))})})}),N="RovingFocusGroupItem",C=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:r,focusable:i=!0,active:o=!1,tabStopId:c,children:d,...m}=e,f=(0,l.useId)(),h=c||f,g=j(N,r),v=g.currentTabStopId===h,y=x(r),{onFocusableItemAdd:b,onFocusableItemRemove:k,currentTabStopId:w}=g;return t.useEffect(()=>{if(i)return b(),()=>k()},[i,b,k]),(0,u.jsx)(p.ItemSlot,{scope:r,id:h,focusable:i,active:o,children:(0,u.jsx)(n.Primitive.span,{tabIndex:v?0:-1,"data-orientation":g.orientation,...m,ref:a,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{i?g.onItemFocus(h):e.preventDefault()}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(h)),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,s){var a;let r=(a=e.key,"rtl"!==s?a:"ArrowLeft"===a?"ArrowRight":"ArrowRight"===a?"ArrowLeft":a);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(r))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(r)))return T[r]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let r=y().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)r.reverse();else if("prev"===t||"next"===t){var s,a;"prev"===t&&r.reverse();let i=r.indexOf(e.currentTarget);r=g.loop?(s=r,a=i+1,s.map((e,t)=>s[(a+t)%s.length])):r.slice(i+1)}setTimeout(()=>R(r))}}),children:"function"==typeof d?d({isCurrentTabStop:v,hasTabStop:null!=w}):d})})});C.displayName=N;var T={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function R(e,t=!1){let s=document.activeElement;for(let a of e)if(a===s||(a.focus({preventScroll:t}),document.activeElement!==s))return}e.s(["Item",()=>C,"Root",()=>k,"createRovingFocusGroupScope",()=>y])},68304,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(91967),r=e.i(22528),i=e.i(51080),l=e.i(85995),n=e.i(87620),o=e.i(66033),c=e.i(36589),d=e.i(13123),u="Tabs",[m,f]=(0,r.createContextScope)(u,[i.createRovingFocusGroupScope]),h=(0,i.createRovingFocusGroupScope)(),[p,x]=m(u),g=s.forwardRef((e,s)=>{let{__scopeTabs:a,value:r,onValueChange:i,defaultValue:l,orientation:m="horizontal",dir:f,activationMode:h="automatic",...x}=e,g=(0,o.useDirection)(f),[v,y]=(0,c.useControllableState)({prop:r,onChange:i,defaultProp:l??"",caller:u});return(0,t.jsx)(p,{scope:a,baseId:(0,d.useId)(),value:v,onValueChange:y,orientation:m,dir:g,activationMode:h,children:(0,t.jsx)(n.Primitive.div,{dir:g,"data-orientation":m,...x,ref:s})})});g.displayName=u;var v="TabsList",y=s.forwardRef((e,s)=>{let{__scopeTabs:a,loop:r=!0,...l}=e,o=x(v,a),c=h(a);return(0,t.jsx)(i.Root,{asChild:!0,...c,orientation:o.orientation,dir:o.dir,loop:r,children:(0,t.jsx)(n.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...l,ref:s})})});y.displayName=v;var b="TabsTrigger",j=s.forwardRef((e,s)=>{let{__scopeTabs:r,value:l,disabled:o=!1,...c}=e,d=x(b,r),u=h(r),m=N(d.baseId,l),f=C(d.baseId,l),p=l===d.value;return(0,t.jsx)(i.Item,{asChild:!0,...u,focusable:!o,active:p,children:(0,t.jsx)(n.Primitive.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":f,"data-state":p?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:m,...c,ref:s,onMouseDown:(0,a.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(l)}),onKeyDown:(0,a.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(l)}),onFocus:(0,a.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==d.activationMode;p||o||!e||d.onValueChange(l)})})})});j.displayName=b;var k="TabsContent",w=s.forwardRef((e,a)=>{let{__scopeTabs:r,value:i,forceMount:o,children:c,...d}=e,u=x(k,r),m=N(u.baseId,i),f=C(u.baseId,i),h=i===u.value,p=s.useRef(h);return s.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(l.Presence,{present:o||h,children:({present:s})=>(0,t.jsx)(n.Primitive.div,{"data-state":h?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":m,hidden:!s,id:f,tabIndex:0,...d,ref:a,style:{...e.style,animationDuration:p.current?"0s":void 0},children:s&&c})})});function N(e,t){return`${e}-trigger-${t}`}function C(e,t){return`${e}-content-${t}`}w.displayName=k,e.s(["Content",()=>w,"List",()=>y,"Root",()=>g,"Tabs",()=>g,"TabsContent",()=>w,"TabsList",()=>y,"TabsTrigger",()=>j,"Trigger",()=>j,"createTabsScope",()=>f],43133);var T=e.i(43133),T=T,R=e.i(31777);let D=T.Root,S=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(T.List,{ref:a,className:(0,R.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...s}));S.displayName=T.List.displayName;let I=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(T.Trigger,{ref:a,className:(0,R.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...s}));I.displayName=T.Trigger.displayName;let A=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(T.Content,{ref:a,className:(0,R.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...s}));A.displayName=T.Content.displayName,e.s(["Tabs",()=>D,"TabsContent",()=>A,"TabsList",()=>S,"TabsTrigger",()=>I],68304)},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},95812,35e3,e=>{"use strict";let t=(0,e.i(3645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],95812);var s=e.i(80986);e.s(["CheckCircle2",()=>s.default],35e3)},33548,e=>{"use strict";let t=(0,e.i(3645).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["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"}]]);e.s(["Copy",()=>t],33548)},83902,e=>{"use strict";let t=(0,e.i(3645).default)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);e.s(["Rocket",()=>t],83902)},44412,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(81975),r=e.i(68304),i=e.i(31777),l=e.i(83428),n=e.i(83902),o=e.i(81181),c=e.i(3645);let d=(0,c.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var u=e.i(38573),m=e.i(49228),f=e.i(54277),h=e.i(95812),p=e.i(35e3);let x=(0,c.default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var g=e.i(35364),v=e.i(2828),y=e.i(33548),b=e.i(23925),j=e.i(30702),k=e.i(11495);let w={linux:"Linux",darwin:"macOS",win32:"Windows"},N={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:u.Terminal},vcs:{label:"VCS",icon:m.GitBranch},terminal:{label:"Terminal",icon:u.Terminal}};function C({status:e}){return"available"===e?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-100 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",children:[(0,t.jsx)(b.Check,{className:"h-3 w-3"}),"Installed"]}):"error"===e?(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400",children:"Error"}):(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",children:"Missing"})}function T({tool:e,open:a,onClose:r,onRefresh:i,autoStart:c}){let[u,m]=(0,s.useState)(!1),[f,h]=(0,s.useState)(!1),{logs:p,status:v,startInstall:T}=function(e){let[t,a]=(0,s.useState)([]),[r,i]=(0,s.useState)("idle"),[l,n]=(0,s.useState)(null),o=(0,s.useRef)(null),c=(0,s.useCallback)(()=>{o.current&&(o.current.close(),o.current=null)},[]);return(0,s.useEffect)(()=>c,[c]),{logs:t,status:r,result:l,startInstall:(0,s.useCallback)(()=>{c(),a([]),n(null),i("streaming");let t=new EventSource(`/api/tools/${e}/install/stream`);o.current=t,t.onmessage=e=>{a(t=>[...t,e.data])},t.addEventListener("done",e=>{let t=JSON.parse(e.data);n(t),i("error"===t.status?"error":"done"),c()}),t.onerror=()=>{i("error"),c()}},[e,c])}}(e.id),R=(0,s.useRef)(null),D=(0,s.useRef)(!0),S=(0,s.useRef)(!1),I="available"===e.status.status,A="error"===e.status.status,z=I&&!!e.openDirectory,E=!I&&!A&&e.autoInstall;async function M(){h(!0);try{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})}finally{h(!1)}}(0,s.useEffect)(()=>{a&&c&&E&&"idle"===v&&!S.current&&(S.current=!0,T()),a||(S.current=!1)},[a,c,E,v,T]);let L=(0,s.useCallback)(()=>{let e=R.current;e&&(D.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);(0,s.useEffect)(()=>{D.current&&R.current&&(R.current.scrollTop=R.current.scrollHeight)},[p,v]),(0,s.useEffect)(()=>{"done"===v&&i&&i()},[v,i]);let F=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 pr-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:24,height:24,className:"shrink-0 dark:invert"}):(0,t.jsx)(x,{className:"text-muted-foreground h-6 w-6 shrink-0"}),(0,t.jsx)("h2",{className:"text-base font-bold",children:e.name}),(0,t.jsx)(C,{status:e.status.status})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:e.tags.map(e=>{let s=N[e]??{label:e,icon:d},a=s.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]",children:[(0,t.jsx)(a,{className:"h-3 w-3"}),s.label]},e)})})]});return(0,t.jsx)(k.BaseDrawer,{open:a,onClose:r,size:"md",modal:!0,title:e.name,header:F,"data-testid":"tool-detail-drawer",children:(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto p-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),e.author||e.platforms?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",children:[e.author?(0,t.jsxs)("span",{className:"text-muted-foreground",children:["by"," ",e.website?(0,t.jsx)("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"text-foreground hover:underline",children:e.author}):(0,t.jsx)("span",{className:"text-foreground",children:e.author})]}):null,e.platforms&&e.platforms.length>0?(0,t.jsx)("span",{className:"text-muted-foreground",children:e.platforms.map(e=>w[e]??e).join(" · ")}):null]}):null,e.installCommand?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install command"}),(0,t.jsxs)("div",{className:"relative rounded-md bg-zinc-900 text-zinc-100",children:[(0,t.jsx)("pre",{className:"overflow-x-auto px-3 py-2.5 pr-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap",children:(0,t.jsx)("code",{children:e.installCommand})}),(0,t.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-1.5 right-1.5 h-7 cursor-pointer px-2 text-zinc-400 hover:text-zinc-100",onClick:function(){e.installCommand&&navigator.clipboard.writeText(e.installCommand).then(()=>{m(!0),setTimeout(()=>m(!1),2e3)})},"aria-label":u?"Copied!":"Copy install command",children:[u?(0,t.jsx)(b.Check,{className:"h-3.5 w-3.5 text-emerald-500"}):(0,t.jsx)(y.Copy,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"ml-1 text-[10px]",children:u?"Copied!":"Copy"})]})]})]}):null,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[E?(0,t.jsxs)(g.Button,{size:"sm",onClick:T,disabled:"streaming"===v,"aria-label":`Install ${e.name}`,className:"cursor-pointer",children:["streaming"===v?(0,t.jsx)(l.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(o.Download,{className:"mr-1.5 h-3.5 w-3.5"}),"streaming"===v?"Installing...":"Install"]}):null,z?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:()=>void M(),disabled:f,"aria-label":`Launch ${e.name}`,className:"cursor-pointer",children:[f?(0,t.jsx)(l.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(n.Rocket,{className:"mr-1.5 h-3.5 w-3.5"}),"Launch"]}):null,e.documentationUrl?(0,t.jsx)(g.Button,{variant:"outline",size:"sm",className:"cursor-pointer",asChild:!0,children:(0,t.jsxs)("a",{href:e.documentationUrl,target:"_blank",rel:"noopener noreferrer",children:["Docs",(0,t.jsx)(j.ExternalLink,{className:"ml-1 h-3 w-3"})]})}):null]}),("streaming"===v||"done"===v||"error"===v)&&p.length>0?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install log"}),(0,t.jsxs)("div",{ref:R,onScroll:L,className:"max-h-60 overflow-auto rounded-md bg-zinc-900 p-3 font-mono text-xs leading-relaxed text-zinc-100","data-testid":"tool-install-log",children:[p.map((e,s)=>(0,t.jsx)("div",{className:"break-all whitespace-pre-wrap",children:e},s)),"done"===v?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-emerald-400",children:"Installation complete"}):null,"error"===v?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-red-400",children:"Installation failed"}):null]})]}):null]})})}let R={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:u.Terminal},vcs:{label:"VCS",icon:m.GitBranch},terminal:{label:"Terminal",icon:u.Terminal}};function D({tool:e,onRefresh:a,className:r}){let[c,u]=(0,s.useState)(!1),[m,y]=(0,s.useState)(!1),[b,j]=(0,s.useTransition)(),k="available"===e.status.status,w="error"===e.status.status,N=k&&!!e.openDirectory;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{"data-testid":"tool-card",onClick:function(){y(!1),u(!0)},className:(0,i.cn)("bg-card group flex h-30 w-full cursor-pointer flex-col rounded-lg border p-3 transition-shadow hover:shadow-md",r),children:[(0,t.jsxs)("div",{className:"mb-2 flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:20,height:20,className:"shrink-0 dark:invert"}):(0,t.jsx)(x,{className:"text-muted-foreground h-5 w-5 shrink-0"}),(0,t.jsx)("h3",{"data-testid":"tool-card-name",className:"truncate text-sm font-bold",children:e.name})]}),(0,t.jsx)("div",{"data-testid":"tool-card-tags",className:"flex shrink-0 items-center gap-1",children:e.tags.map(e=>{let s=R[e]??{label:e,icon:d},a=s.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[9px]",children:[(0,t.jsx)(a,{className:"h-2.5 w-2.5"}),s.label]},e)})})]}),(0,t.jsx)("p",{"data-testid":"tool-card-summary",className:"text-muted-foreground mt-1 truncate text-xs",children:e.summary}),(0,t.jsxs)("div",{className:"mt-auto flex items-center justify-between pt-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[w&&"error"===e.status.status?(0,t.jsxs)("span",{className:"flex items-center gap-1 truncate text-[10px] text-red-600 dark:text-red-400",title:e.status.errorMessage,children:[(0,t.jsx)(f.CircleX,{className:"h-3 w-3 shrink-0"}),e.status.errorMessage??"Error"]}):k?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-emerald-600 dark:text-emerald-400",children:[(0,t.jsx)(p.CheckCircle2,{className:"h-3 w-3"}),"Installed"]}):(0,t.jsxs)("span",{className:"text-muted-foreground flex items-center gap-1 text-[10px]",children:[(0,t.jsx)(h.Circle,{className:"h-3 w-3"}),"Not installed"]}),e.required?(0,t.jsx)(v.TooltipProvider,{children:(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"rounded bg-amber-100 px-1.5 py-0.5 text-[9px] font-medium text-amber-700 dark:bg-amber-900/50 dark:text-amber-400",children:"Required"})}),(0,t.jsx)(v.TooltipContent,{side:"top",children:"This tool is required for Shep to function properly"})]})}):null]}),(0,t.jsx)("div",{className:"flex items-center gap-1",children:k&&N?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:function(t){t.stopPropagation(),j(async()=>{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})})},disabled:b,"aria-label":`Launch ${e.name}`,"data-testid":"tool-card-launch-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[b?(0,t.jsx)(l.Loader2,{className:"mr-1 h-3 w-3 animate-spin"}):(0,t.jsx)(n.Rocket,{className:"mr-1 h-3 w-3"}),"Launch"]}):k||w?null:(0,t.jsxs)(g.Button,{size:"sm",variant:"default",onClick:function(t){t.stopPropagation(),y(e.autoInstall),u(!0)},"aria-label":`Install ${e.name}`,"data-testid":"tool-card-install-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[(0,t.jsx)(o.Download,{className:"mr-1 h-3 w-3"}),"Install"]})})]})]}),(0,t.jsx)(T,{tool:e,open:c,onClose:()=>u(!1),onRefresh:a,autoStart:m})]})}let S={all:()=>!0,ide:e=>e.tags.includes("ide"),"cli-agent":e=>e.tags.includes("cli-agent"),vcs:e=>e.tags.includes("vcs"),terminal:e=>e.tags.includes("terminal")};function I({tools:e,className:l}){let[n,o]=(0,s.useState)(e),[c,d]=(0,s.useState)("all"),u=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/tools");if(e.ok){let t=await e.json();o(t)}}catch{}},[]),m=n.filter(S[c]);return(0,t.jsxs)("div",{"data-testid":"tools-page-client",className:(0,i.cn)("space-y-4",l),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a.Wrench,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Tools"}),(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[n.filter(e=>"available"===e.status.status).length,"/",n.length," installed"]})]}),(0,t.jsxs)(r.Tabs,{value:c,onValueChange:e=>d(e),"data-testid":"tools-page-tabs",children:[(0,t.jsxs)(r.TabsList,{className:"h-7",children:[(0,t.jsx)(r.TabsTrigger,{value:"all","data-testid":"tools-tab-all",className:"px-2.5 text-xs",children:"All"}),(0,t.jsx)(r.TabsTrigger,{value:"ide","data-testid":"tools-tab-ide",className:"px-2.5 text-xs",children:"IDEs"}),(0,t.jsx)(r.TabsTrigger,{value:"cli-agent","data-testid":"tools-tab-cli-agent",className:"px-2.5 text-xs",children:"CLI Agents"}),(0,t.jsx)(r.TabsTrigger,{value:"vcs","data-testid":"tools-tab-vcs",className:"px-2.5 text-xs",children:"Version Control"}),(0,t.jsx)(r.TabsTrigger,{value:"terminal","data-testid":"tools-tab-terminal",className:"px-2.5 text-xs",children:"Terminals"})]}),(0,t.jsx)(r.TabsContent,{value:c,className:"mt-3",children:0===m.length?(0,t.jsxs)("div",{"data-testid":"tools-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-12 text-center",children:[(0,t.jsx)(a.Wrench,{className:"mb-2 h-6 w-6 opacity-20"}),(0,t.jsx)("p",{className:"text-xs",children:"No tools in this category."})]}):(0,t.jsx)("div",{"data-testid":"tools-page-grid",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:m.map(e=>(0,t.jsx)(D,{tool:e,onRefresh:u},e.id))})})]})]})}e.s(["ToolsPageClient",()=>I],44412)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,87292,e=>{"use strict";var t=e.i(20314),a=e.i(79054),s=e.i(31406),i=e.i(3214),r=e.i(91925),n=e.i(94237),o=e.i(3645);let l=(0,o.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var d=e.i(5240),c=e.i(31777),u=e.i(35364);e.i(98127),e.i(25235);var f=e.i(48249),p=e.i(90033);function h({...e}){return(0,t.jsx)(p.Dialog.Root,{"data-slot":"sheet",...e})}function m({...e}){return(0,t.jsx)(p.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function g({className:e,...a}){return(0,t.jsx)(p.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,c.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...a})}function x({className:e,children:a,side:s="right",showCloseButton:i=!0,...r}){return(0,t.jsxs)(m,{children:[(0,t.jsx)(g,{}),(0,t.jsxs)(p.Dialog.Content,{"data-slot":"sheet-content",className:(0,c.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===s&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===s&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===s&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===s&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...r,children:[a,i?(0,t.jsxs)(p.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,t.jsx)(f.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function b({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,c.cn)("flex flex-col gap-1.5 p-4",e),...a})}function v({className:e,...a}){return(0,t.jsx)(p.Dialog.Title,{"data-slot":"sheet-title",className:(0,c.cn)("text-foreground font-semibold",e),...a})}function y({className:e,...a}){return(0,t.jsx)(p.Dialog.Description,{"data-slot":"sheet-description",className:(0,c.cn)("text-muted-foreground text-sm",e),...a})}var j=e.i(2828);let w="shep-sidebar-open",C=a.createContext(null);function N(){let e=a.useContext(C);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}function k({defaultOpen:e=!0,open:s,onOpenChange:i,className:r,style:n,children:o,...l}){let d=function(){let[e,t]=a.useState(void 0);return a.useEffect(()=>{let e=window.matchMedia("(max-width: 767px)"),a=()=>{t(window.innerWidth<768)};return e.addEventListener("change",a),t(window.innerWidth<768),()=>e.removeEventListener("change",a)},[]),!!e}(),[u,f]=a.useState(!1),[p,h]=a.useState(e),m=s??p;a.useEffect(()=>{if(void 0!==s)return;let t=function(e){try{let t=localStorage.getItem(w);if("true"===t)return!0;if("false"===t)return!1;return e}catch{return e}}(e);t!==e&&h(t)},[]);let g=a.useCallback(e=>{let t="function"==typeof e?e(m):e;i?i(t):h(t);try{localStorage.setItem(w,String(t))}catch{}},[i,m]),x=a.useCallback(()=>d?f(e=>!e):g(e=>!e),[d,g,f]);a.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),x())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[x]);let b=m?"expanded":"collapsed",v=a.useMemo(()=>({state:b,open:m,setOpen:g,isMobile:d,openMobile:u,setOpenMobile:f,toggleSidebar:x}),[b,m,g,d,u,f,x]);return(0,t.jsx)(C.Provider,{value:v,children:(0,t.jsx)(j.TooltipProvider,{delayDuration:0,children:(0,t.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...n},className:(0,c.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",r),...l,children:o})})})}function S({side:e="left",variant:a="sidebar",collapsible:s="offcanvas",className:i,children:r,...n}){let{isMobile:o,state:l,openMobile:d,setOpenMobile:u}=N();return"none"===s?(0,t.jsx)("div",{"data-slot":"sidebar",className:(0,c.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",i),...n,children:r}):o?(0,t.jsx)(h,{open:d,onOpenChange:u,...n,children:(0,t.jsxs)(x,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:e,children:[(0,t.jsxs)(b,{className:"sr-only",children:[(0,t.jsx)(v,{children:"Sidebar"}),(0,t.jsx)(y,{children:"Displays the mobile sidebar."})]}),(0,t.jsx)("div",{className:"flex h-full w-full flex-col",children:r})]})}):(0,t.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":l,"data-collapsible":"collapsed"===l?s:"","data-variant":a,"data-side":e,"data-slot":"sidebar",children:[(0,t.jsx)("div",{"data-slot":"sidebar-gap",className:(0,c.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,t.jsx)("div",{"data-slot":"sidebar-container",className:(0,c.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===e?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===a||"inset"===a?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",i),...n,children:(0,t.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:r})})]})}function T({className:e,...a}){let{toggleSidebar:s}=N();return(0,t.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:s,title:"Toggle Sidebar",className:(0,c.cn)("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...a})}function E({className:e,...a}){return(0,t.jsx)("main",{"data-slot":"sidebar-inset",className:(0,c.cn)("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...a})}function M({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,c.cn)("flex flex-col gap-2 p-2",e),...a})}function A({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,c.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a})}function z({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,c.cn)("relative flex w-full min-w-0 flex-col p-2",e),...a})}function D({className:e,asChild:a=!1,...s}){let i=a?d.Slot.Root:"div";return(0,t.jsx)(i,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,c.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...s})}function L({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,c.cn)("w-full text-sm",e),...a})}function P({className:e,...a}){return(0,t.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,c.cn)("flex w-full min-w-0 flex-col gap-1",e),...a})}function R({className:e,...a}){return(0,t.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,c.cn)("group/menu-item relative",e),...a})}let I=(0,n.cva)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function $({asChild:e=!1,isActive:a=!1,variant:s="default",size:i="default",tooltip:r,className:n,...o}){let l=e?d.Slot.Root:"button",{isMobile:u,state:f}=N(),p=(0,t.jsx)(l,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":i,"data-active":a,className:(0,c.cn)(I({variant:s,size:i}),n),...o});return r?("string"==typeof r&&(r={children:r}),(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:p}),(0,t.jsx)(j.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==f||u,...r})]})):p}let _=(0,o.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var B=e.i(81975),F=e.i(12103);let O=(0,o.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var W=e.i(96931),U=e.i(35340),H=e.i(24035),Z=e.i(8361);function q({icon:e,label:a,href:s,active:i=!1}){let r=(0,Z.useSoundAction)("navigate");return(0,t.jsx)(R,{"data-testid":"sidebar-nav-item",children:(0,t.jsx)($,{asChild:!0,isActive:i,tooltip:a,children:(0,t.jsxs)(H.default,{href:s,onClick:()=>r.play(),children:[(0,t.jsx)(e,{}),(0,t.jsx)("span",{children:a})]})})})}function V({className:e}){let{toggleSidebar:a,open:s}=N(),i=(0,Z.useSoundAction)("expand"),r=(0,Z.useSoundAction)("collapse");return(0,t.jsx)("div",{className:(0,c.cn)("flex",e),children:(0,t.jsx)(u.Button,{"data-testid":"sidebar-collapse-toggle",variant:"ghost",size:"icon",className:"size-7 cursor-pointer group-data-[collapsible=icon]:size-8!",onClick:()=>{s?r.play():i.play(),a()},"aria-label":s?"Collapse sidebar":"Expand sidebar",children:(0,t.jsx)(l,{className:"size-4"})})})}function K({className:e,size:a=24,variant:s="default"}){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 200",width:a,height:a,className:(0,c.cn)("shrink-0","dev"===s&&"text-cyan-400",e),"aria-hidden":"true",children:(0,t.jsx)("g",{transform:"matrix(1, 0, 0, 1, -111, -208)",children:(0,t.jsx)("path",{d:"M 198 406 C196,405 194,403 193,401 C192,399 191,398 186,398 C178,397 174,394 170,387 L 168 381 L 163 381 C156,381 150,377 147,370 C144,364 143,359 146,353 C148,348 148,347 147,347 C145,347 140,343 138,339 C133,329 139,314 149,311 L 152 311 L 149 307 C145,302 145,294 149,290 C151,288 152,287 151,286 C150,283 152,278 155,276 C156,275 159,274 162,273 C165,273 166,273 168,276 C171,278 171,280 172,287 C173,294 174,297 177,304 C180,309 182,314 183,316 C186,327 193,336 199,339 C204,342 211,342 216,340 C222,336 231,324 234,314 C235,312 237,307 239,302 C240,298 242,292 242,289 C243,281 245,278 247,275 C250,273 251,273 255,273 C261,274 264,278 264,282 C264,284 264,286 263,287 C262,287 263,288 265,290 C272,295 272,303 267,309 L 265 312 L 269 314 C276,317 279,323 279,332 C279,339 277,343 272,347 C268,351 268,351 269,354 C272,358 271,366 269,371 C266,376 259,381 254,381 C252,381 251,382 248,386 C242,395 234,400 227,399 C224,398 223,398 221,401 C220,403 217,405 216,406 C211,409 203,409 198,406 ZM 136 271 C123,267 115,262 113,256 C111,251 111,251 113,251 C118,254 124,254 132,252 C136,252 141,251 144,251 C149,251 157,253 162,256 C166,258 166,258 166,264 L 166 269 L 160 270 C149,272 142,272 136,271 ZM 264 271 C263,271 259,270 256,270 L 250 270 L 250 265 C249,259 250,257 259,254 C265,251 272,251 289,252 C297,253 299,253 302,252 C305,250 305,250 305,252 C305,255 301,262 297,264 C289,270 272,273 264,271 ZM 162 249 C160,247 159,245 159,242 C159,236 164,230 169,230 C170,230 171,228 171,225 C171,216 176,210 184,209 C189,209 195,211 195,213 C195,214 196,213 197,212 C201,209 204,208 208,208 C212,208 217,210 219,212 C220,214 220,213 223,211 C226,208 234,208 239,211 C243,214 246,221 246,226 C245,230 245,230 247,230 C253,230 258,238 257,244 C256,249 251,252 245,252 C241,252 237,251 234,248 C232,247 232,247 228,249 C225,251 222,252 220,252 C216,252 212,250 210,247 C209,246 209,246 206,248 C201,252 192,253 185,248 C183,247 183,247 178,249 C172,253 166,253 162,249 ZM 116 249 C112,248 114,247 119,247 C122,247 127,246 130,245 C138,242 146,242 152,245 L 158 248 L 148 247 C142,247 138,247 133,248 C128,250 120,250 116,249 ZM 284 248 C281,247 277,247 270,247 L 260 248 L 263 246 C269,243 276,242 284,245 C289,246 295,247 298,247 C303,247 304,247 303,248 C301,250 289,250 284,248 Z",fill:"currentColor"})})})}function X({version:e,branch:s,commitHash:i,isDev:r=!1,packageName:n="@shepai/cli",description:o,instancePath:l}){let d=i?.slice(0,7),{latest:c,updateAvailable:u}=function(e){let[t,s]=(0,a.useState)(null),[i,r]=(0,a.useState)(!0);(0,a.useEffect)(()=>{let e=!1;return async function(){try{let t=await fetch("/api/npm-version");if(!t.ok)return;let a=await t.json();!e&&a.latest&&s(a.latest)}catch{}finally{e||r(!1)}}(),()=>{e=!0}},[]);let n=null!==t&&function(e,t){let a=e=>e.split("-")[0].split(".").map(Number),s=a(e),i=a(t);for(let e=0;e<3;e++){let t=s[e]??0,a=i[e]??0;if(t>a)return 1;if(t<a)return -1}return 0}(t,e)>0;return{latest:t,updateAvailable:n,loading:i}}(e),{status:f,startUpgrade:p}=function(){let[e,t]=(0,a.useState)("idle"),[s,i]=(0,a.useState)(""),[r,n]=(0,a.useState)(),o=(0,a.useRef)(null),l=(0,a.useRef)(!1),d=(0,a.useCallback)(()=>{if("upgrading"===e||"restarting"===e)return;t("upgrading"),i(""),n(void 0),l.current=!1;let a=new AbortController;return o.current=a,fetch("/api/cli-upgrade",{method:"POST",signal:a.signal}).then(async e=>{if(!e.ok||!e.body){t("error"),n(`Server returned ${e.status}`);return}let a=e.body.getReader(),s=new TextDecoder,r="";for(;;){let{done:e,value:o}=await a.read();if(e)break;let d=(r+=s.decode(o,{stream:!0})).split("\n");for(let e of(r=d.pop()??"",d)){if(e.startsWith("event: restarting")){l.current=!0,t("restarting"),function(e,t){let a=Date.now()+3e4,s=()=>{Date.now()>a||fetch("/api/version",{method:"GET",cache:"no-store"}).then(e=>{e.ok?window.location.reload():setTimeout(s,500)}).catch(()=>{setTimeout(s,500)})};setTimeout(s,500)}(0,0);continue}if(!e.startsWith("event: done")&&e.startsWith("data: ")){let a=e.slice(6);try{let e=JSON.parse(a);"upgraded"===e.status?t("upgraded"):"up-to-date"===e.status?t("up-to-date"):"error"===e.status&&(t("error"),n(e.errorMessage))}catch{i(e=>e+a)}}}}}).catch(e=>{l.current||e instanceof DOMException&&"AbortError"===e.name||(t("error"),n(e instanceof Error?e.message:"Upgrade failed"))}),()=>{a.abort()}},[e]);return{status:e,output:s,errorMessage:r,startUpgrade:d}}(),h=r?`${e}-dev`:`v${e}`,m="upgrading"===f,g="restarting"===f,x="upgraded"===f;return(0,t.jsx)(j.TooltipProvider,{delayDuration:200,children:(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("span",{className:"text-muted-foreground/80 hover:text-muted-foreground relative cursor-default text-[11px] leading-tight transition-colors","data-testid":"version-label",children:[h,!u||x||g?null:(0,t.jsx)("span",{className:"absolute -top-0.5 -right-1.5 size-1.5 rounded-full bg-emerald-400","data-testid":"update-dot"})]})}),(0,t.jsxs)(j.TooltipContent,{side:"right",className:"max-w-[280px] space-y-1 p-3 text-left",children:[(0,t.jsx)("div",{className:"mb-1.5 text-xs font-semibold",children:n}),o?(0,t.jsx)("div",{className:"text-[10px] leading-snug opacity-70",children:o}):null,(0,t.jsxs)("div",{className:"border-t border-white/10 pt-1.5",children:[(0,t.jsx)(G,{label:"Version",value:h}),r&&s?(0,t.jsx)(G,{label:"Branch",value:s}):null,r&&d?(0,t.jsx)(G,{label:"Commit",value:d,mono:!0}):null,r&&l?(0,t.jsx)(G,{label:"Path",value:l,mono:!0}):null,c?(0,t.jsx)(G,{label:"Latest",value:`v${c}`,highlight:u}):null]}),g?(0,t.jsx)("div",{className:"border-t border-white/10 pt-1.5",children:(0,t.jsx)("span",{className:"text-[10px] font-medium text-emerald-400","data-testid":"upgrade-restarting",children:"Restarting..."})}):x?(0,t.jsx)("div",{className:"border-t border-white/10 pt-1.5",children:(0,t.jsx)("span",{className:"text-[10px] font-medium text-emerald-400","data-testid":"upgrade-success",children:"Upgraded successfully"})}):"error"===f?(0,t.jsx)("div",{className:"border-t border-white/10 pt-1.5",children:(0,t.jsx)("span",{className:"text-[10px] font-medium text-red-400","data-testid":"upgrade-error",children:"Upgrade failed"})}):u?(0,t.jsx)("div",{className:"border-t border-white/10 pt-1.5",children:(0,t.jsx)("button",{type:"button",onClick:p,disabled:m||g,className:"inline-flex items-center gap-1 text-[10px] font-medium text-emerald-400 transition-colors hover:text-emerald-300 disabled:opacity-50","data-testid":"upgrade-button",children:m?"Upgrading...":g?"Restarting...":`Upgrade to v${c}`})}):null]})]})})}function G({label:e,value:a,highlight:s,mono:i}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 text-[10px]",children:[(0,t.jsx)("span",{className:"opacity-60",children:e}),(0,t.jsx)("span",{className:[s?"font-medium text-emerald-400":"",i||!s?"font-mono":""].filter(Boolean).join(" "),children:a})]})}function J({startedAt:e}){let[s,i]=(0,a.useState)(()=>Date.now()-e);return(0,a.useEffect)(()=>{let t=setInterval(()=>{(0,a.startTransition)(()=>i(Date.now()-e))},1e3);return()=>clearInterval(t)},[e]),(0,t.jsx)("span",{"data-testid":"elapsed-time",className:"tabular-nums",children:function(e){let t=Math.floor(e/1e3);if(t>=3600){let e=Math.floor(t/3600);return`${e}h`}let a=Math.floor(t/60);return`${String(a).padStart(2,"0")}:${String(t%60).padStart(2,"0")}`}(s)})}var Y=e.i(51251),Q=e.i(83428),ee=e.i(10942),et=e.i(94819),ea=e.i(54277),es=e.i(55016);let ei={"action-needed":{icon:Y.CircleAlert,iconClass:"text-amber-500",bgClass:"bg-amber-500/10",label:"Action Needed"},"in-progress":{icon:Q.Loader2,iconClass:"text-blue-500 animate-spin",bgClass:"bg-blue-500/10",label:"In Progress"},pending:{icon:es.Clock,iconClass:"text-slate-400",bgClass:"bg-slate-400/10",label:"Pending"},blocked:{icon:et.Ban,iconClass:"text-gray-400",bgClass:"bg-gray-400/10",label:"Blocked"},error:{icon:ea.CircleX,iconClass:"text-red-500",bgClass:"bg-red-500/10",label:"Error"},done:{icon:ee.CircleCheck,iconClass:"text-emerald-500",bgClass:"bg-emerald-500/10",label:"Done"}},er=["action-needed","error","blocked","in-progress","pending","done"];var en=e.i(86782),eo=e.i(29847);function el({name:e,status:a,startedAt:s,duration:i,agentType:r,modelId:n,onClick:o}){let{icon:l,iconClass:d}=ei[a],c=r?(0,en.getAgentTypeIcon)(r):null;return(0,t.jsx)(R,{"data-testid":"feature-list-item",children:(0,t.jsxs)($,{size:"sm",onClick:o,tooltip:e,className:"cursor-pointer",children:[(0,t.jsx)(l,{className:d}),(0,t.jsx)("span",{className:"flex-1 truncate font-medium",children:e}),"in-progress"===a&&null!=s?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:(0,t.jsx)(J,{startedAt:s})}):null,"done"===a&&i?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:i}):null,c?(0,t.jsx)(j.TooltipProvider,{children:(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"ml-auto shrink-0",children:(0,t.jsx)(c,{className:"h-3.5 w-3.5"})})}),(0,t.jsxs)(j.TooltipContent,{side:"right",children:[(0,t.jsx)("span",{className:"font-medium",children:en.agentTypeLabels[r]??r}),n?(0,t.jsxs)("span",{className:"ml-1 opacity-70",children:["· ",(0,eo.getModelMeta)(n).displayName||n]}):null]})]})}):null]})})}function ed({label:e,count:a,children:s}){return(0,t.jsxs)(z,{"data-testid":"feature-status-group",className:"px-2 py-1",children:[(0,t.jsxs)(D,{className:"text-muted-foreground h-6 px-2 text-[0.65rem] font-semibold tracking-wider uppercase",children:[e,(0,t.jsx)("span",{"aria-label":`${a} items`,className:"bg-sidebar-accent text-sidebar-accent-foreground ml-1.5 inline-flex h-4 min-w-4 items-center justify-center rounded-full px-1 text-[0.6rem] font-medium tabular-nums",role:"img",children:a})]}),(0,t.jsx)(L,{children:(0,t.jsx)(P,{className:"gap-0.5",children:s})})]})}function ec({label:e,className:a}){return(0,t.jsx)(z,{"data-testid":"sidebar-section-header",className:(0,c.cn)("px-2 py-1",a),children:(0,t.jsx)("div",{className:"text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium",children:(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e})})})}let eu={version:"unknown",packageName:"@shepai/cli",description:"Autonomous AI Native SDLC Platform",branch:"",commitHash:"",instancePath:"",isDev:!1};function ef({features:e,featureFlags:i,onFeatureClick:r}){let n=(0,s.usePathname)(),{state:o}=N(),{mounted:l,visible:d}=function(e,t){let[s,i]=(0,a.useState)(!e),[r,n]=(0,a.useState)(!e);return(0,a.useEffect)(()=>{if(!e){i(!0);let e=requestAnimationFrame(()=>n(!0));return()=>cancelAnimationFrame(e)}n(!1);let t=window.setTimeout(()=>i(!1),200);return()=>window.clearTimeout(t)},[e,200]),{mounted:s,visible:r}}("collapsed"===o,0),c=function(){let[e,t]=(0,a.useState)(eu);return(0,a.useEffect)(()=>{let e=!1;return async function(){try{let a=await fetch("/api/version");if(!a.ok)return;let s=await a.json();e||t(s)}catch{}}(),()=>{e=!0}},[]),e}(),u=er.map(t=>{let{label:a}=ei[t],s=e.filter(e=>e.status===t);return{key:t,label:a,items:s}});return(0,t.jsxs)(S,{"data-testid":"app-sidebar","data-no-drawer-close":!0,collapsible:"icon",children:[(0,t.jsx)(M,{children:(0,t.jsxs)(P,{children:[(0,t.jsx)(R,{children:(0,t.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[l?(0,t.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",d?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!d,children:[(0,t.jsx)(K,{className:"shrink-0",size:20,variant:c.isDev?"dev":"default"}),(0,t.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"}),(0,t.jsx)(X,{version:c.version,branch:c.branch||void 0,commitHash:c.commitHash||void 0,isDev:c.isDev,packageName:c.packageName,description:c.description,instancePath:c.instancePath||void 0})]}):null,(0,t.jsx)(V,{className:"shrink-0 transition-all duration-200"})]})}),(0,t.jsx)(q,{icon:_,label:"Control Center",href:"/",active:"/"===n}),(0,t.jsx)(q,{icon:B.Wrench,label:"Tools",href:"/tools",active:"/tools"===n}),i.skills?(0,t.jsx)(q,{icon:F.Puzzle,label:"Skills",href:"/skills",active:"/skills"===n}):null,(0,t.jsx)(q,{icon:O,label:"Settings",href:"/settings",active:"/settings"===n}),(0,t.jsx)(q,{icon:W.Database,label:"Database",href:"/database",active:"/database"===n})]})}),(0,t.jsx)(A,{children:l?(0,t.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",d?"opacity-100":"opacity-0"].join(" "),children:[(0,t.jsx)(ec,{label:"Features"}),(0,t.jsx)(U.ScrollArea,{children:u.map(({key:e,label:a,items:s})=>s.length>0?(0,t.jsx)(ed,{label:a,count:s.length,children:s.map(e=>(0,t.jsx)(el,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,agentType:e.agentType,modelId:e.modelId,onClick:r?()=>r(e.featureId):void 0},e.featureId))},e):null)})]}):null}),(0,t.jsx)(T,{})]})}var ep=e.i(60253);function eh({actions:e,className:s}){let[r,n]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(r)return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e);function e(e){"Escape"===e.key&&n(!1)}},[r]);let o=[...e].reverse();return(0,t.jsxs)(t.Fragment,{children:[r?(0,t.jsx)("div",{"data-testid":"fab-overlay",className:"fixed inset-0 z-40",onClick:()=>n(!1),"aria-hidden":"true"}):null,(0,t.jsxs)("div",{"data-testid":"floating-action-button",className:(0,c.cn)("fixed right-6 bottom-6 z-50",s),children:[(0,t.jsx)("div",{className:"absolute right-0 bottom-16 flex flex-col-reverse items-end gap-3","data-testid":"fab-actions",children:o.map((a,s)=>{let i=e.length-1-s;return(0,t.jsxs)("button",{"data-testid":`fab-action-${a.id}`,"aria-label":a.label,disabled:a.disabled??a.loading,className:(0,c.cn)("flex items-center gap-3 rounded-full px-4 py-2.5","bg-background text-foreground shadow-lg","border-border border","transition-all ease-out","hover:bg-accent hover:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50",r?"translate-y-0 scale-100 opacity-100":"pointer-events-none translate-y-4 scale-95 opacity-0"),style:{transitionDuration:"250ms",transitionDelay:r?`${50*i}ms`:`${50*s}ms`},onClick:()=>{a.onClick(),n(!1)},children:[(0,t.jsx)("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:a.loading?(0,t.jsx)(Q.Loader2,{className:"h-5 w-5 animate-spin"}):a.icon}),(0,t.jsx)("span",{className:"text-sm font-medium whitespace-nowrap",children:a.label})]},a.id)})}),(0,t.jsxs)(u.Button,{size:"icon","data-testid":"fab-trigger","aria-label":r?"Close actions":"Open actions",className:(0,c.cn)("relative h-12 w-12 rounded-full shadow-lg","transition-colors duration-200"),onClick:()=>n(e=>!e),children:[(0,t.jsx)(i.Plus,{className:(0,c.cn)("absolute h-5 w-5 transition-all",r?"scale-0 rotate-90 opacity-0":"scale-100 rotate-0 opacity-100"),style:{transitionDuration:"250ms"}}),(0,t.jsx)(ep.X,{className:(0,c.cn)("absolute h-5 w-5 transition-all",r?"scale-100 rotate-0 opacity-100":"scale-0 -rotate-90 opacity-0"),style:{transitionDuration:"250ms"}})]})]})]})}let em=(0,o.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),eg=(0,o.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),ex="shep-theme";function eb(){let{theme:e,resolvedTheme:s,setTheme:i}=function(){let[e,t]=(0,a.useState)("system"),[s,i]=(0,a.useState)("light"),r=(0,a.useCallback)(()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[]),n=(0,a.useCallback)(e=>"system"===e?r():e,[r]),o=(0,a.useCallback)(e=>{if("u"<typeof document)return;let t=document.documentElement;t.classList.remove("light","dark"),t.classList.add(e),i(e)},[]),l=(0,a.useCallback)(e=>{t(e),"u">typeof localStorage&&localStorage.setItem(ex,e),o(n(e))},[n,o]);return(0,a.useEffect)(()=>{let e=localStorage.getItem(ex)??"system";t(e),o(n(e))},[n,o]),(0,a.useEffect)(()=>{let t=window.matchMedia("(prefers-color-scheme: dark)"),a=()=>{"system"===e&&o(n("system"))};return t.addEventListener("change",a),()=>t.removeEventListener("change",a)},[e,n,o]),{theme:e,resolvedTheme:s,setTheme:l}}(),r=(0,Z.useSoundAction)("toggle-on"),n=(0,Z.useSoundAction)("toggle-off");return(0,t.jsxs)(u.Button,{variant:"ghost",size:"icon",onClick:t=>{let a="system"===e?"dark"===s?"light":"dark":"dark"===e?"light":"dark";"dark"!==("system"===e?s:e)?r.play():n.play();let o=window.matchMedia("(prefers-reduced-motion: reduce)").matches;!document.startViewTransition||o?i(a):(document.documentElement.style.setProperty("--x",`${t.clientX}px`),document.documentElement.style.setProperty("--y",`${t.clientY}px`),document.startViewTransition(()=>{i(a)}))},"aria-label":`Switch to ${"dark"===s?"light":"dark"} mode`,children:[(0,t.jsx)(eg,{className:"h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,t.jsx)(em,{className:"absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}let ev=(0,o.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),ey=(0,o.default)("volume-off",[["path",{d:"M16 9a5 5 0 0 1 .95 2.293",key:"1fgyg8"}],["path",{d:"M19.364 5.636a9 9 0 0 1 1.889 9.96",key:"l3zxae"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11",key:"1gbwow"}],["path",{d:"M9.828 4.172A.686.686 0 0 1 11 4.657v.686",key:"s2je0y"}]]);var ej=e.i(73709);function ew(){let{enabled:e,toggle:a}=(0,ej.useSoundEnabled)();return(0,t.jsxs)(u.Button,{variant:"ghost",size:"icon",onClick:a,"aria-label":e?"Mute sounds":"Unmute sounds",children:[e?(0,t.jsx)(ev,{className:"h-5 w-5"}):(0,t.jsx)(ey,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var eC=e.i(78521),eN=e.i(39443),ek=e.i(30153),eS=e.i(5147),eT=e.i(60112),eE=e.i(17406);let eM={[eE.NotificationSeverity.Success]:"success",[eE.NotificationSeverity.Error]:"error",[eE.NotificationSeverity.Warning]:"warning",[eE.NotificationSeverity.Info]:"info"},eA={[eE.NotificationSeverity.Success]:"notification-success",[eE.NotificationSeverity.Error]:"notification-error",[eE.NotificationSeverity.Warning]:"notification-warning",[eE.NotificationSeverity.Info]:"notification-info"};var ez=e.i(75921);let eD=["/","/create","/feature","/repository"];function eL({children:e}){let n=(0,s.useRouter)(),o=(0,s.usePathname)(),{guardedNavigate:l}=(0,ek.useDrawerCloseGuard)(),d=(0,ez.useFeatureFlags)();!function(){let e=(0,s.useRouter)(),{events:t}=(0,eN.useAgentEventsContext)(),i=(0,Z.useSoundAction)("notification-success"),r=(0,Z.useSoundAction)("notification-error"),n=(0,Z.useSoundAction)("notification-warning"),o=(0,Z.useSoundAction)("notification-info"),l=(0,a.useMemo)(()=>({"notification-success":i,"notification-error":r,"notification-warning":n,"notification-info":o}),[i,r,n,o]),d=(0,a.useRef)(0);(0,a.useEffect)(()=>{if(t.length<=d.current)return;let a=t.slice(d.current);for(let s of(d.current=t.length,a)){if(s.eventType!==eE.NotificationEventType.MergeReviewReady&&s.severity!==eE.NotificationSeverity.Error&&s.severity!==eE.NotificationSeverity.Warning&&s.severity!==eE.NotificationSeverity.Success)continue;!function(e,t){let a=eM[e.severity]??"info",s=e.eventType===eE.NotificationEventType.WaitingApproval||e.eventType===eE.NotificationEventType.MergeReviewReady;eT.toast[a](e.featureName,{description:e.message,...s&&t&&{action:{label:"Review",onClick:()=>{t(`/feature/${e.featureId}`)}}}})}(s,t=>e.push(t));let t=eA[s.severity];l[t]?.play()}},[t,l,e])}();let{features:c}=(0,eS.useSidebarFeaturesContext)(),u=(0,a.useCallback)(()=>{l(()=>n.push("/create"))},[n,l]),f=(0,a.useCallback)(e=>{l(()=>n.push(`/feature/${e}`))},[n,l]),[p,h]=(0,a.useState)(!1),m=(0,a.useCallback)(async()=>{if(!p){h(!0);try{let e=await (0,eC.pickFolder)();e&&window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:e}}))}finally{h(!1)}}},[p]),g=(0,a.useMemo)(()=>[{id:"new-feature",label:"New Feature",icon:(0,t.jsx)(i.Plus,{className:"h-4 w-4"}),onClick:u},{id:"add-repository",label:"Add Repository",icon:(0,t.jsx)(r.FolderPlus,{className:"h-4 w-4"}),onClick:m,loading:p}],[u,m,p]);return(0,t.jsxs)(k,{defaultOpen:!1,children:[(0,t.jsx)(ef,{features:c,featureFlags:d,onFeatureClick:f}),(0,t.jsx)(E,{children:(0,t.jsxs)("div",{className:"relative h-full",children:[(0,t.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1","data-test-id":"canvas-actions-toolbar",children:[(0,t.jsx)(ew,{}),(0,t.jsx)(eb,{})]}),(0,t.jsx)("main",{className:"h-full",children:e}),eD.some(e=>o===e||"/"!==e&&o.startsWith(`${e}/`))&&(0,t.jsx)(eh,{actions:g})]})})]})}function eP({children:e}){return(0,t.jsx)(eN.AgentEventsProvider,{children:(0,t.jsx)(ek.DrawerCloseGuardProvider,{children:(0,t.jsx)(eS.SidebarFeaturesProvider,{children:(0,t.jsx)(eL,{children:e})})})})}e.s(["AppShell",()=>eP],87292)},25251,e=>{"use strict";var t=e.i(20314),a=e.i(60112);let s=({...e})=>(0,t.jsx)(a.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e});e.s(["Toaster",()=>s])}]);
@@ -0,0 +1,11 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24270,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},10942,94819,e=>{"use strict";var t=e.i(80986);e.s(["CircleCheck",()=>t.default],10942);let r=(0,e.i(3645).default)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Ban",()=>r],94819)},39443,e=>{"use strict";var t=e.i(20314),r=e.i(79054);let n=(0,e.i(18354).createLogger)("[SSE]");function o(e,t,r,n){if("u"<typeof EventSource)return()=>{};let o=null,l=!1,a=1e3,i=null,s=null;return!function u(){l||(o=new EventSource(e?`/api/agent-events?runId=${encodeURIComponent(e)}`:"/api/agent-events"),n("connecting"),o.onopen=()=>{n("connected"),s=setTimeout(()=>{s=null,a=1e3},5e3)},o.onerror=()=>{o?.close(),o=null,n("disconnected"),null!==s&&(clearTimeout(s),s=null);let e=a;a=Math.min(2*e,3e4),i=setTimeout(()=>{i=null,u()},e)},o.addEventListener("notification",e=>{let n=JSON.parse(e.data);t(e=>{let t=[...e,n];return t.length>500?t.slice(-250):t}),r(n)}))}(),()=>{l=!0,null!==i&&(clearTimeout(i),i=null),null!==s&&(clearTimeout(s),s=null),o&&(o.close(),o=null)}}let l=(0,r.createContext)(null);function a({children:e,runId:a}){let{events:i,lastEvent:s,connectionStatus:u}=function(e){let[t,l]=(0,r.useState)([]),[a,i]=(0,r.useState)(null),[s,u]=(0,r.useState)("disconnected"),c=e?.runId,d=(0,r.useRef)(null),f=(0,r.useCallback)(e=>{let t=e.data;if(t&&"object"==typeof t)if("notification"===t.type){let e=t.data;n.debug("event received:",e.eventType,e),l(t=>{let r=[...t,e];return r.length>500?r.slice(-250):r}),i(e)}else"status"===t.type&&u(t.status)},[]);return(0,r.useEffect)(()=>{let e="u">typeof location&&new URLSearchParams(location.search).has("sse");if(!navigator.serviceWorker||e)return o(c,l,i,u);let t=!1,r={current:void 0};function n(e){t||(d.current=e,e.postMessage({type:"subscribe",runId:c}),u("connecting"))}function a(){if(t)return;let e=navigator.serviceWorker.controller;e&&(d.current=e,e.postMessage({type:"subscribe",runId:c}),u("connecting"))}return navigator.serviceWorker.addEventListener("message",f),navigator.serviceWorker.addEventListener("controllerchange",a),navigator.serviceWorker.register("/agent-events-sw.js",{scope:"/"}).then(e=>{if(t)return;let a=e.active??e.installing??e.waiting;if(!a){r.current=o(c,l,i,u);return}if("activated"===a.state)n(a);else{let e=()=>{"activated"===a.state&&(a.removeEventListener("statechange",e),n(a))};a.addEventListener("statechange",e)}}).catch(()=>{t||(r.current=o(c,l,i,u))}),()=>{t=!0,navigator.serviceWorker.removeEventListener("message",f),navigator.serviceWorker.removeEventListener("controllerchange",a),d.current?.postMessage({type:"unsubscribe"}),d.current=null,r.current?.()}},[c,f]),{events:t,lastEvent:a,connectionStatus:s}}({runId:a}),c=(0,r.useMemo)(()=>({events:i,lastEvent:s,connectionStatus:u}),[i,s,u]);return(0,t.jsx)(l.Provider,{value:c,children:e})}function i(){let e=(0,r.useContext)(l);if(!e)throw Error("useAgentEventsContext must be used within an <AgentEventsProvider>");return e}e.s(["AgentEventsProvider",()=>a,"useAgentEventsContext",()=>i],39443)},90537,e=>{"use strict";let t=(0,e.i(3645).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["default",()=>t])},567,e=>{"use strict";var t=e.i(79054),r=e.i(91967),n=e.i(5978),o=e.i(22528),l=e.i(13123),a=e.i(36589),i=e.i(53532),s=e.i(56720),u=e.i(39979),c=e.i(85995),d=e.i(87620),f=e.i(41687),p=e.i(13044),g=e.i(73772),v=e.i(86874),h=e.i(20314),m="Dialog",[b,y]=(0,o.createContextScope)(m),[w,x]=b(m),C=e=>{let{__scopeDialog:r,children:n,open:o,defaultOpen:i,onOpenChange:s,modal:u=!0}=e,c=t.useRef(null),d=t.useRef(null),[f,p]=(0,a.useControllableState)({prop:o,defaultProp:i??!1,onChange:s,caller:m});return(0,h.jsx)(w,{scope:r,triggerRef:c,contentRef:d,contentId:(0,l.useId)(),titleId:(0,l.useId)(),descriptionId:(0,l.useId)(),open:f,onOpenChange:p,onOpenToggle:t.useCallback(()=>p(e=>!e),[p]),modal:u,children:n})};C.displayName=m;var S="DialogTrigger",E=t.forwardRef((e,t)=>{let{__scopeDialog:o,...l}=e,a=x(S,o),i=(0,n.useComposedRefs)(t,a.triggerRef);return(0,h.jsx)(d.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":B(a.open),...l,ref:i,onClick:(0,r.composeEventHandlers)(e.onClick,a.onOpenToggle)})});E.displayName=S;var D="DialogPortal",[R,P]=b(D,{forceMount:void 0}),j=e=>{let{__scopeDialog:r,forceMount:n,children:o,container:l}=e,a=x(D,r);return(0,h.jsx)(R,{scope:r,forceMount:n,children:t.Children.map(o,e=>(0,h.jsx)(c.Presence,{present:n||a.open,children:(0,h.jsx)(u.Portal,{asChild:!0,container:l,children:e})}))})};j.displayName=D;var A="DialogOverlay",T=t.forwardRef((e,t)=>{let r=P(A,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,l=x(A,e.__scopeDialog);return l.modal?(0,h.jsx)(c.Presence,{present:n||l.open,children:(0,h.jsx)(_,{...o,ref:t})}):null});T.displayName=A;var k=(0,v.createSlot)("DialogOverlay.RemoveScroll"),_=t.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=x(A,r);return(0,h.jsx)(p.RemoveScroll,{as:k,allowPinchZoom:!0,shards:[o.contentRef],children:(0,h.jsx)(d.Primitive.div,{"data-state":B(o.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),N="DialogContent",O=t.forwardRef((e,t)=>{let r=P(N,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,l=x(N,e.__scopeDialog);return(0,h.jsx)(c.Presence,{present:n||l.open,children:l.modal?(0,h.jsx)(L,{...o,ref:t}):(0,h.jsx)(I,{...o,ref:t})})});O.displayName=N;var L=t.forwardRef((e,o)=>{let l=x(N,e.__scopeDialog),a=t.useRef(null),i=(0,n.useComposedRefs)(o,l.contentRef,a);return t.useEffect(()=>{let e=a.current;if(e)return(0,g.hideOthers)(e)},[]),(0,h.jsx)(M,{...e,ref:i,trapFocus:l.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,r.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),l.triggerRef.current?.focus()}),onPointerDownOutside:(0,r.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,r.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),I=t.forwardRef((e,r)=>{let n=x(N,e.__scopeDialog),o=t.useRef(!1),l=t.useRef(!1);return(0,h.jsx)(M,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||n.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,l.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(l.current=!0));let r=t.target;n.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&l.current&&t.preventDefault()}})}),M=t.forwardRef((e,r)=>{let{__scopeDialog:o,trapFocus:l,onOpenAutoFocus:a,onCloseAutoFocus:u,...c}=e,d=x(N,o),p=t.useRef(null),g=(0,n.useComposedRefs)(r,p);return(0,f.useFocusGuards)(),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(s.FocusScope,{asChild:!0,loop:!0,trapped:l,onMountAutoFocus:a,onUnmountAutoFocus:u,children:(0,h.jsx)(i.DismissableLayer,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":B(d.open),...c,ref:g,onDismiss:()=>d.onOpenChange(!1)})}),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(K,{titleId:d.titleId}),(0,h.jsx)(q,{contentRef:p,descriptionId:d.descriptionId})]})]})}),z="DialogTitle",F=t.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=x(z,r);return(0,h.jsx)(d.Primitive.h2,{id:o.titleId,...n,ref:t})});F.displayName=z;var U="DialogDescription",H=t.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=x(U,r);return(0,h.jsx)(d.Primitive.p,{id:o.descriptionId,...n,ref:t})});H.displayName=U;var W="DialogClose",$=t.forwardRef((e,t)=>{let{__scopeDialog:n,...o}=e,l=x(W,n);return(0,h.jsx)(d.Primitive.button,{type:"button",...o,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,()=>l.onOpenChange(!1))})});function B(e){return e?"open":"closed"}$.displayName=W;var X="DialogTitleWarning",[V,Y]=(0,o.createContext)(X,{contentName:N,titleName:z,docsSlug:"dialog"}),K=({titleId:e})=>{let r=Y(X),n=`\`${r.contentName}\` requires a \`${r.titleName}\` for the component to be accessible for screen reader users.
2
+
3
+ If you want to hide the \`${r.titleName}\`, you can wrap it with our VisuallyHidden component.
4
+
5
+ For more information, see https://radix-ui.com/primitives/docs/components/${r.docsSlug}`;return t.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},q=({contentRef:e,descriptionId:r})=>{let n=Y("DialogDescriptionWarning"),o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${n.contentName}}.`;return t.useEffect(()=>{let t=e.current?.getAttribute("aria-describedby");r&&t&&(document.getElementById(r)||console.warn(o))},[o,e,r]),null};e.s(["Close",()=>$,"Content",()=>O,"Description",()=>H,"Dialog",()=>C,"DialogClose",()=>$,"DialogContent",()=>O,"DialogDescription",()=>H,"DialogOverlay",()=>T,"DialogPortal",()=>j,"DialogTitle",()=>F,"DialogTrigger",()=>E,"Overlay",()=>T,"Portal",()=>j,"Root",()=>C,"Title",()=>F,"Trigger",()=>E,"WarningProvider",()=>V,"createDialogScope",()=>y])},90033,e=>{"use strict";var t=e.i(567);e.s(["Dialog",0,t])},14748,e=>{"use strict";let t=(0,e.i(3645).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["default",()=>t])},83428,15506,e=>{"use strict";let t=(0,e.i(3645).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t],15506),e.s(["Loader2",()=>t],83428)},60253,e=>{"use strict";var t=e.i(90537);e.s(["X",()=>t.default])},25235,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(87620),o="horizontal",l=["horizontal","vertical"],a=r.forwardRef((e,r)=>{var a;let{decorative:i,orientation:s=o,...u}=e,c=(a=s,l.includes(a))?s:o;return(0,t.jsx)(n.Primitive.div,{"data-orientation":c,...i?{role:"none"}:{"aria-orientation":"vertical"===c?c:void 0,role:"separator"},...u,ref:r})});a.displayName="Separator",e.s(["Root",()=>a,"Separator",()=>a],47402);var i=e.i(47402),i=i,s=e.i(31777);function u({className:e,orientation:r="horizontal",decorative:n=!0,...o}){return(0,t.jsx)(i.Root,{"data-slot":"separator",decorative:n,orientation:r,className:(0,s.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...o})}e.s(["Separator",()=>u],25235)},48249,e=>{"use strict";var t=e.i(90537);e.s(["XIcon",()=>t.default])},51251,e=>{"use strict";var t=e.i(14748);e.s(["CircleAlert",()=>t.default])},8361,73709,18354,e=>{"use strict";var t=e.i(44172),r=e.i(79054);let n="shep-sound-enabled",o="shep:sound-toggle";function l(){let[e,t]=(0,r.useState)(!0);(0,r.useEffect)(()=>{"false"===localStorage.getItem(n)&&t(!1);let e=e=>{t(e.detail)};return window.addEventListener(o,e),()=>window.removeEventListener(o,e)},[]);let l=(0,r.useCallback)(()=>{let r=!e;localStorage.setItem(n,String(r)),t(r),window.dispatchEvent(new CustomEvent(o,{detail:r}))},[e]);return{enabled:e,toggle:l}}e.s(["useSoundEnabled",()=>l],73709);let a=new Map,i={navigate:{sound:"tap_01",volume:.2},"menu-item":{sound:"tap_01",volume:.2},select:{sound:"select",volume:.3},"toggle-on":{sound:"toggle_on",volume:.3},"toggle-off":{sound:"toggle_off",volume:.3},click:{sound:"tap_01",volume:.3},cancel:{sound:"transition_down",volume:.3},expand:{sound:"swipe",volume:.3},collapse:{sound:"swipe",volume:.3},"menu-open":{sound:"select",volume:.3},copy:{sound:"select",volume:.3},"drawer-open":{sound:"transition_up",volume:.4},"drawer-close":{sound:"transition_down",volume:.4},submit:{sound:"button",volume:.4},approve:{sound:"celebration",volume:.5},reject:{sound:"caution",volume:.5},create:{sound:"transition_up",volume:.5},delete:{sound:"transition_down",volume:.5},"notification-success":{sound:"celebration",volume:.5},"notification-error":{sound:"caution",volume:.5},"notification-warning":{sound:"notification",volume:.5},"notification-info":{sound:"button",volume:.5}};function s(e){let{sound:t,volume:n}=i[e];return function(e,t={}){let{volume:n=1,loop:o=!1}=t,{enabled:i}=l(),s=(0,r.useRef)(null),u=(0,r.useRef)(!1);return(0,r.useEffect)(()=>{let t,r=((t=a.get(e))||((t=new Audio(`/sounds/${e}.wav`)).preload="auto",a.set(e,t)),t);return r.loop=o,r.volume=Math.max(0,Math.min(1,n)),r.addEventListener("ended",()=>{u.current=!1}),s.current=r,()=>{r.pause(),s.current=null,u.current=!1}},[e,o,n]),{play:(0,r.useCallback)(()=>{if(!i)return;let e=s.current;e&&(e.currentTime=0,e.play()?.catch(e=>{}),u.current=!0)},[i,e]),stop:(0,r.useCallback)(()=>{let e=s.current;e&&(e.pause(),e.currentTime=0,u.current=!1)},[]),isPlaying:u.current}}(t,{volume:n})}e.s(["useSoundAction",()=>s],8361);let u=!!t.default.env.NEXT_PUBLIC_DEBUG,c=()=>void 0;function d(e){return{info:u?(...t)=>console.info(e,...t):c,debug:u?(...t)=>console.debug(e,...t):c,warn:(...t)=>console.warn(e,...t),error:(...t)=>console.error(e,...t)}}e.s(["createLogger",()=>d],18354)},75921,e=>{"use strict";var t=e.i(20314),r=e.i(79054);let n=(0,r.createContext)({skills:!1,envDeploy:!0,debug:!1});function o({children:e,flags:r}){return(0,t.jsx)(n.Provider,{value:r,children:e})}function l(){return(0,r.useContext)(n)}e.s(["FeatureFlagsProvider",()=>o,"useFeatureFlags",()=>l])},31406,(e,t,r)=>{t.exports=e.r(67013)},55016,e=>{"use strict";let t=(0,e.i(3645).default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Clock",()=>t],55016)},71326,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(22528),o=e.i(5978),l=e.i(567),a=e.i(91967),i=e.i(86874),s="AlertDialog",[u,c]=(0,n.createContextScope)(s,[l.createDialogScope]),d=(0,l.createDialogScope)(),f=e=>{let{__scopeAlertDialog:r,...n}=e,o=d(r);return(0,t.jsx)(l.Root,{...o,...n,modal:!0})};f.displayName=s;var p=r.forwardRef((e,r)=>{let{__scopeAlertDialog:n,...o}=e,a=d(n);return(0,t.jsx)(l.Trigger,{...a,...o,ref:r})});p.displayName="AlertDialogTrigger";var g=e=>{let{__scopeAlertDialog:r,...n}=e,o=d(r);return(0,t.jsx)(l.Portal,{...o,...n})};g.displayName="AlertDialogPortal";var v=r.forwardRef((e,r)=>{let{__scopeAlertDialog:n,...o}=e,a=d(n);return(0,t.jsx)(l.Overlay,{...a,...o,ref:r})});v.displayName="AlertDialogOverlay";var h="AlertDialogContent",[m,b]=u(h),y=(0,i.createSlottable)("AlertDialogContent"),w=r.forwardRef((e,n)=>{let{__scopeAlertDialog:i,children:s,...u}=e,c=d(i),f=r.useRef(null),p=(0,o.useComposedRefs)(n,f),g=r.useRef(null);return(0,t.jsx)(l.WarningProvider,{contentName:h,titleName:x,docsSlug:"alert-dialog",children:(0,t.jsx)(m,{scope:i,cancelRef:g,children:(0,t.jsxs)(l.Content,{role:"alertdialog",...c,...u,ref:p,onOpenAutoFocus:(0,a.composeEventHandlers)(u.onOpenAutoFocus,e=>{e.preventDefault(),g.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,t.jsx)(y,{children:s}),(0,t.jsx)(j,{contentRef:f})]})})})});w.displayName=h;var x="AlertDialogTitle",C=r.forwardRef((e,r)=>{let{__scopeAlertDialog:n,...o}=e,a=d(n);return(0,t.jsx)(l.Title,{...a,...o,ref:r})});C.displayName=x;var S="AlertDialogDescription",E=r.forwardRef((e,r)=>{let{__scopeAlertDialog:n,...o}=e,a=d(n);return(0,t.jsx)(l.Description,{...a,...o,ref:r})});E.displayName=S;var D=r.forwardRef((e,r)=>{let{__scopeAlertDialog:n,...o}=e,a=d(n);return(0,t.jsx)(l.Close,{...a,...o,ref:r})});D.displayName="AlertDialogAction";var R="AlertDialogCancel",P=r.forwardRef((e,r)=>{let{__scopeAlertDialog:n,...a}=e,{cancelRef:i}=b(R,n),s=d(n),u=(0,o.useComposedRefs)(r,i);return(0,t.jsx)(l.Close,{...s,...a,ref:u})});P.displayName=R;var j=({contentRef:e})=>{let t=`\`${h}\` requires a description for the component to be accessible for screen reader users.
6
+
7
+ You can add a description to the \`${h}\` by passing a \`${S}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
8
+
9
+ Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${h}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
10
+
11
+ For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return r.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null};e.s(["Action",()=>D,"AlertDialog",()=>f,"AlertDialogAction",()=>D,"AlertDialogCancel",()=>P,"AlertDialogContent",()=>w,"AlertDialogDescription",()=>E,"AlertDialogOverlay",()=>v,"AlertDialogPortal",()=>g,"AlertDialogTitle",()=>C,"AlertDialogTrigger",()=>p,"Cancel",()=>P,"Content",()=>w,"Description",()=>E,"Overlay",()=>v,"Portal",()=>g,"Root",()=>f,"Title",()=>C,"Trigger",()=>p,"createAlertDialogScope",()=>c],28883);var A=e.i(28883),A=A,T=e.i(31777),k=e.i(35364);function _({...e}){return(0,t.jsx)(A.Root,{"data-slot":"alert-dialog",...e})}function N({...e}){return(0,t.jsx)(A.Portal,{"data-slot":"alert-dialog-portal",...e})}function O({className:e,onClick:r,...n}){return(0,t.jsx)(A.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,T.cn)("fixed inset-0 z-50 bg-black/50",e),onClick:e=>{e.stopPropagation(),r?.(e)},...n})}function L({className:e,size:r="default",...n}){return(0,t.jsxs)(N,{children:[(0,t.jsx)(O,{}),(0,t.jsx)(A.Content,{"data-slot":"alert-dialog-content","data-size":r,className:(0,T.cn)("bg-background group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",e),...n})]})}function I({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,T.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",e),...r})}function M({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,T.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",e),...r})}function z({className:e,...r}){return(0,t.jsx)(A.Title,{"data-slot":"alert-dialog-title",className:(0,T.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",e),...r})}function F({className:e,...r}){return(0,t.jsx)(A.Description,{"data-slot":"alert-dialog-description",className:(0,T.cn)("text-muted-foreground text-sm",e),...r})}function U({className:e,variant:r="default",size:n="default",...o}){return(0,t.jsx)(k.Button,{variant:r,size:n,asChild:!0,children:(0,t.jsx)(A.Action,{"data-slot":"alert-dialog-action",className:(0,T.cn)(e),...o})})}function H({className:e,variant:r="outline",size:n="default",...o}){return(0,t.jsx)(k.Button,{variant:r,size:n,asChild:!0,children:(0,t.jsx)(A.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,T.cn)(e),...o})})}e.s(["AlertDialog",()=>_,"AlertDialogAction",()=>U,"AlertDialogCancel",()=>H,"AlertDialogContent",()=>L,"AlertDialogDescription",()=>F,"AlertDialogFooter",()=>M,"AlertDialogHeader",()=>I,"AlertDialogTitle",()=>z],71326)},30153,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(71326);let o=(0,r.createContext)(null);function l({children:e}){let l=(0,r.useRef)(null),a=(0,r.useRef)(null),[i,s]=(0,r.useState)(!1),u=(0,r.useCallback)(e=>{l.current=e},[]),c=(0,r.useCallback)(e=>{if(l.current?.isDirty){a.current=e,s(!0);return}e()},[]),d=(0,r.useCallback)(()=>{s(!1),l.current?.onReset(),l.current=null,a.current?.(),a.current=null},[]),f=(0,r.useCallback)(()=>{s(!1),a.current=null},[]),p=(0,r.useCallback)(()=>l.current?.isDirty??!1,[]);return(0,t.jsxs)(o,{value:{setGuard:u,guardedNavigate:c,getIsDirty:p},children:[e,(0,t.jsx)(n.AlertDialog,{open:i,children:(0,t.jsxs)(n.AlertDialogContent,{children:[(0,t.jsxs)(n.AlertDialogHeader,{children:[(0,t.jsx)(n.AlertDialogTitle,{children:"Discard unsaved changes?"}),(0,t.jsx)(n.AlertDialogDescription,{children:"You have unsaved changes. Are you sure you want to discard them?"})]}),(0,t.jsxs)(n.AlertDialogFooter,{children:[(0,t.jsx)(n.AlertDialogAction,{variant:"destructive",onClick:d,children:"Discard"}),(0,t.jsx)(n.AlertDialogCancel,{onClick:f,children:"Keep editing"})]})]})})]})}function a(){let e=(0,r.useContext)(o);if(!e)throw Error("useDrawerCloseGuard must be used within DrawerCloseGuardProvider");return e}function i({open:e,isDirty:t,onClose:n,onReset:o}){let{setGuard:l,guardedNavigate:i}=a();return(0,r.useEffect)(()=>(e?l({isDirty:t,onReset:o}):l(null),()=>l(null)),[e,t,o,l]),{attemptClose:(0,r.useCallback)(()=>{i(()=>{o(),n()})},[i,n,o])}}e.s(["DrawerCloseGuardProvider",()=>l,"useDrawerCloseGuard",()=>a,"useGuardedDrawerClose",()=>i])},81975,e=>{"use strict";let t=(0,e.i(3645).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);e.s(["Wrench",()=>t],81975)},80986,e=>{"use strict";let t=(0,e.i(3645).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["default",()=>t])},30090,e=>{"use strict";let t=(0,e.i(3645).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["default",()=>t])},54277,e=>{"use strict";var t=e.i(30090);e.s(["CircleX",()=>t.default])},66033,e=>{"use strict";var t=e.i(79054);e.i(20314);var r=t.createContext(void 0);function n(e){let n=t.useContext(r);return e||n||"ltr"}e.s(["useDirection",()=>n])},80764,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(79054);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=l(e,n)),t&&(o.current=l(t,n))},[e,t])}function l(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},3214,e=>{"use strict";let t=(0,e.i(3645).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],3214)},12103,e=>{"use strict";let t=(0,e.i(3645).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);e.s(["Puzzle",()=>t],12103)},78521,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("00ce57a1ca561286c4d87184a76fa21273934dab98",t.callServer,void 0,t.findSourceMapURL,"pickFolder");async function n(){let e=await r();if(e.error)throw Error(e.error);return e.path}e.s(["pickFolder",()=>n],78521)},91925,e=>{"use strict";let t=(0,e.i(3645).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",()=>t],91925)},5147,e=>{"use strict";var t=e.i(20314),r=e.i(79054);let n={"action-required":"action-needed",running:"in-progress",done:"done",blocked:"blocked",pending:"pending",error:"error",creating:null,deleting:null};function o(e){return n[e]}let l=(0,r.createContext)(null);function a({children:e}){let[n,o]=(0,r.useState)([]),a=(0,r.useMemo)(()=>({features:n,setFeatures:o}),[n]);return(0,t.jsx)(l.Provider,{value:a,children:e})}function i(){let e=(0,r.useContext)(l);if(!e)throw Error("useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>");return e}e.s(["SidebarFeaturesProvider",()=>a,"mapNodeStateToSidebarStatus",()=>o,"useSidebarFeaturesContext",()=>i])},76314,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return s},searchParamsToUrlQuery:function(){return l},urlQueryToSearchParams:function(){return i}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function l(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,a(e));else t.set(r,a(n));return t}function s(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95889,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return i},formatWithValidation:function(){return u},urlObjectKeys:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let l=e.r(44066)._(e.r(76314)),a=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",i=e.hash||"",s=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),s&&"object"==typeof s&&(s=String(l.urlQueryToSearchParams(s)));let c=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${o}${c}${i}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return i(e)}},58464,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return m},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return w},NormalizeError:function(){return b},PageNotFoundError:function(){return y},SP:function(){return v},ST:function(){return h},WEB_VITALS:function(){return l},execOnce:function(){return a},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return s},isResSent:function(){return f},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return C}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let l=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>i.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function g(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await g(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let v="u">typeof performance,h=v&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class m extends Error{}class b extends Error{}class y extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class w extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function C(e){return JSON.stringify({message:e.message,stack:e.stack})}},51380,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return l}});let n=e.r(58464),o=e.r(53626);function l(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},38670,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},24035,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},useLinkStatus:function(){return y}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let l=e.r(44066),a=e.r(20314),i=l._(e.r(79054)),s=e.r(95889),u=e.r(18152),c=e.r(80764),d=e.r(58464),f=e.r(99267);e.r(24270);let p=e.r(59624),g=e.r(51380),v=e.r(95555);function h(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}function m(t){var r;let n,o,l,[s,m]=(0,i.useOptimistic)(p.IDLE_LINK_STATUS),y=(0,i.useRef)(null),{href:w,as:x,children:C,prefetch:S=null,passHref:E,replace:D,shallow:R,scroll:P,onClick:j,onMouseEnter:A,onTouchStart:T,legacyBehavior:k=!1,onNavigate:_,ref:N,unstable_dynamicOnHover:O,...L}=t;n=C,k&&("string"==typeof n||"number"==typeof n)&&(n=(0,a.jsx)("a",{children:n}));let I=i.default.useContext(u.AppRouterContext),M=!1!==S,z=!1!==S?null===(r=S)||"auto"===r?v.FetchStrategy.PPR:v.FetchStrategy.Full:v.FetchStrategy.PPR,{href:F,as:U}=i.default.useMemo(()=>{let e=h(w);return{href:e,as:x?h(x):e}},[w,x]);if(k){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=i.default.Children.only(n)}let H=k?o&&"object"==typeof o&&o.ref:N,W=i.default.useCallback(e=>(null!==I&&(y.current=(0,p.mountLinkInstance)(e,F,I,z,M,m)),()=>{y.current&&((0,p.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,p.unmountPrefetchableInstance)(e)}),[M,F,I,z,m]),$={ref:(0,c.useMergedRef)(W,H),onClick(t){k||"function"!=typeof j||j(t),k&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!I||t.defaultPrevented||function(t,r,n,o,l,a,s){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(r)){l&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(81574);i.default.startTransition(()=>{d(n||r,l?"replace":"push",a??!0,o.current)})}}(t,F,U,y,D,P,_)},onMouseEnter(e){k||"function"!=typeof A||A(e),k&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),I&&M&&(0,p.onNavigationIntent)(e.currentTarget,!0===O)},onTouchStart:function(e){k||"function"!=typeof T||T(e),k&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),I&&M&&(0,p.onNavigationIntent)(e.currentTarget,!0===O)}};return(0,d.isAbsoluteUrl)(U)?$.href=U:k&&!E&&("a"!==o.type||"href"in o.props)||($.href=(0,f.addBasePath)(U)),l=k?i.default.cloneElement(o,$):(0,a.jsx)("a",{...L,...$,children:n}),(0,a.jsx)(b.Provider,{value:s,children:l})}e.r(38670);let b=(0,i.createContext)(p.IDLE_LINK_STATUS),y=()=>(0,i.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98127,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function n({className:e,type:n,...o}){return(0,t.jsx)("input",{type:n,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...o})}e.s(["Input",()=>n])},96931,27069,e=>{"use strict";let t=(0,e.i(3645).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"}]]);function r(e,[t,r]){return Math.min(r,Math.max(t,e))}e.s(["Database",()=>t],96931),e.s(["clamp",()=>r],27069)},35340,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(87620),o=e.i(85995),l=e.i(22528),a=e.i(5978),i=e.i(29297),s=e.i(66033),u=e.i(5192),c=e.i(27069),d=e.i(91967),f="ScrollArea",[p,g]=(0,l.createContextScope)(f),[v,h]=p(f),m=r.forwardRef((e,o)=>{let{__scopeScrollArea:l,type:i="hover",dir:u,scrollHideDelay:c=600,...d}=e,[f,p]=r.useState(null),[g,h]=r.useState(null),[m,b]=r.useState(null),[y,w]=r.useState(null),[x,C]=r.useState(null),[S,E]=r.useState(0),[D,R]=r.useState(0),[P,j]=r.useState(!1),[A,T]=r.useState(!1),k=(0,a.useComposedRefs)(o,e=>p(e)),_=(0,s.useDirection)(u);return(0,t.jsx)(v,{scope:l,type:i,dir:_,scrollHideDelay:c,scrollArea:f,viewport:g,onViewportChange:h,content:m,onContentChange:b,scrollbarX:y,onScrollbarXChange:w,scrollbarXEnabled:P,onScrollbarXEnabledChange:j,scrollbarY:x,onScrollbarYChange:C,scrollbarYEnabled:A,onScrollbarYEnabledChange:T,onCornerWidthChange:E,onCornerHeightChange:R,children:(0,t.jsx)(n.Primitive.div,{dir:_,...d,ref:k,style:{position:"relative","--radix-scroll-area-corner-width":S+"px","--radix-scroll-area-corner-height":D+"px",...e.style}})})});m.displayName=f;var b="ScrollAreaViewport",y=r.forwardRef((e,o)=>{let{__scopeScrollArea:l,children:i,nonce:s,...u}=e,c=h(b,l),d=r.useRef(null),f=(0,a.useComposedRefs)(o,d,c.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),(0,t.jsx)(n.Primitive.div,{"data-radix-scroll-area-viewport":"",...u,ref:f,style:{overflowX:c.scrollbarXEnabled?"scroll":"hidden",overflowY:c.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:c.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})});y.displayName=b;var w="ScrollAreaScrollbar",x=r.forwardRef((e,n)=>{let{forceMount:o,...l}=e,a=h(w,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:s}=a,u="horizontal"===e.orientation;return r.useEffect(()=>(u?i(!0):s(!0),()=>{u?i(!1):s(!1)}),[u,i,s]),"hover"===a.type?(0,t.jsx)(C,{...l,ref:n,forceMount:o}):"scroll"===a.type?(0,t.jsx)(S,{...l,ref:n,forceMount:o}):"auto"===a.type?(0,t.jsx)(E,{...l,ref:n,forceMount:o}):"always"===a.type?(0,t.jsx)(D,{...l,ref:n}):null});x.displayName=w;var C=r.forwardRef((e,n)=>{let{forceMount:l,...a}=e,i=h(w,e.__scopeScrollArea),[s,u]=r.useState(!1);return r.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),u(!0)},n=()=>{t=window.setTimeout(()=>u(!1),i.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[i.scrollArea,i.scrollHideDelay]),(0,t.jsx)(o.Presence,{present:l||s,children:(0,t.jsx)(E,{"data-state":s?"visible":"hidden",...a,ref:n})})}),S=r.forwardRef((e,n)=>{var l;let{forceMount:a,...i}=e,s=h(w,e.__scopeScrollArea),u="horizontal"===e.orientation,c=$(()=>p("SCROLL_END"),100),[f,p]=(l={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,t)=>l[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===f){let e=window.setTimeout(()=>p("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(e)}},[f,s.scrollHideDelay,p]),r.useEffect(()=>{let e=s.viewport,t=u?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(p("SCROLL"),c()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[s.viewport,u,p,c]),(0,t.jsx)(o.Presence,{present:a||"hidden"!==f,children:(0,t.jsx)(D,{"data-state":"hidden"===f?"hidden":"visible",...i,ref:n,onPointerEnter:(0,d.composeEventHandlers)(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:(0,d.composeEventHandlers)(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),E=r.forwardRef((e,n)=>{let l=h(w,e.__scopeScrollArea),{forceMount:a,...i}=e,[s,u]=r.useState(!1),c="horizontal"===e.orientation,d=$(()=>{if(l.viewport){let e=l.viewport.offsetWidth<l.viewport.scrollWidth,t=l.viewport.offsetHeight<l.viewport.scrollHeight;u(c?e:t)}},10);return B(l.viewport,d),B(l.content,d),(0,t.jsx)(o.Presence,{present:a||s,children:(0,t.jsx)(D,{"data-state":s?"visible":"hidden",...i,ref:n})})}),D=r.forwardRef((e,n)=>{let{orientation:o="vertical",...l}=e,a=h(w,e.__scopeScrollArea),i=r.useRef(null),s=r.useRef(0),[u,c]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=z(u.viewport,u.content),f={...l,sizes:u,onSizesChange:c,hasThumb:!!(d>0&&d<1),onThumbChange:e=>i.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function p(e,t){return function(e,t,r,n="ltr"){let o=F(r),l=t||o/2,a=r.scrollbar.paddingStart+l,i=r.scrollbar.size-r.scrollbar.paddingEnd-(o-l),s=r.content-r.viewport;return H([a,i],"ltr"===n?[0,s]:[-1*s,0])(e)}(e,s.current,u,t)}return"horizontal"===o?(0,t.jsx)(R,{...f,ref:n,onThumbPositionChange:()=>{if(a.viewport&&i.current){let e=U(a.viewport.scrollLeft,u,a.dir);i.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollLeft=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollLeft=p(e,a.dir))}}):"vertical"===o?(0,t.jsx)(P,{...f,ref:n,onThumbPositionChange:()=>{if(a.viewport&&i.current){let e=U(a.viewport.scrollTop,u);i.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollTop=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollTop=p(e))}}):null}),R=r.forwardRef((e,n)=>{let{sizes:o,onSizesChange:l,...i}=e,s=h(w,e.__scopeScrollArea),[u,c]=r.useState(),d=r.useRef(null),f=(0,a.useComposedRefs)(n,d,s.onScrollbarXChange);return r.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,t.jsx)(T,{"data-orientation":"horizontal",...i,ref:f,sizes:o,style:{bottom:0,left:"rtl"===s.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===s.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":F(o)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(s.viewport){var n,o;let l=s.viewport.scrollLeft+t.deltaX;e.onWheelScroll(l),n=l,o=r,n>0&&n<o&&t.preventDefault()}},onResize:()=>{d.current&&s.viewport&&u&&l({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:M(u.paddingLeft),paddingEnd:M(u.paddingRight)}})}})}),P=r.forwardRef((e,n)=>{let{sizes:o,onSizesChange:l,...i}=e,s=h(w,e.__scopeScrollArea),[u,c]=r.useState(),d=r.useRef(null),f=(0,a.useComposedRefs)(n,d,s.onScrollbarYChange);return r.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,t.jsx)(T,{"data-orientation":"vertical",...i,ref:f,sizes:o,style:{top:0,right:"ltr"===s.dir?0:void 0,left:"rtl"===s.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":F(o)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(s.viewport){var n,o;let l=s.viewport.scrollTop+t.deltaY;e.onWheelScroll(l),n=l,o=r,n>0&&n<o&&t.preventDefault()}},onResize:()=>{d.current&&s.viewport&&u&&l({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:M(u.paddingTop),paddingEnd:M(u.paddingBottom)}})}})}),[j,A]=p(w),T=r.forwardRef((e,o)=>{let{__scopeScrollArea:l,sizes:s,hasThumb:u,onThumbChange:c,onThumbPointerUp:f,onThumbPointerDown:p,onThumbPositionChange:g,onDragScroll:v,onWheelScroll:m,onResize:b,...y}=e,x=h(w,l),[C,S]=r.useState(null),E=(0,a.useComposedRefs)(o,e=>S(e)),D=r.useRef(null),R=r.useRef(""),P=x.viewport,A=s.content-s.viewport,T=(0,i.useCallbackRef)(m),k=(0,i.useCallbackRef)(g),_=$(b,10);function N(e){D.current&&v({x:e.clientX-D.current.left,y:e.clientY-D.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;C?.contains(t)&&T(e,A)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[P,C,A,T]),r.useEffect(k,[s,k]),B(C,_),B(x.content,_),(0,t.jsx)(j,{scope:l,scrollbar:C,hasThumb:u,onThumbChange:(0,i.useCallbackRef)(c),onThumbPointerUp:(0,i.useCallbackRef)(f),onThumbPositionChange:k,onThumbPointerDown:(0,i.useCallbackRef)(p),children:(0,t.jsx)(n.Primitive.div,{...y,ref:E,style:{position:"absolute",...y.style},onPointerDown:(0,d.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),D.current=C.getBoundingClientRect(),R.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),N(e))}),onPointerMove:(0,d.composeEventHandlers)(e.onPointerMove,N),onPointerUp:(0,d.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=R.current,x.viewport&&(x.viewport.style.scrollBehavior=""),D.current=null})})})}),k="ScrollAreaThumb",_=r.forwardRef((e,r)=>{let{forceMount:n,...l}=e,a=A(k,e.__scopeScrollArea);return(0,t.jsx)(o.Presence,{present:n||a.hasThumb,children:(0,t.jsx)(N,{ref:r,...l})})}),N=r.forwardRef((e,o)=>{let{__scopeScrollArea:l,style:i,...s}=e,u=h(k,l),c=A(k,l),{onThumbPositionChange:f}=c,p=(0,a.useComposedRefs)(o,e=>c.onThumbChange(e)),g=r.useRef(void 0),v=$(()=>{g.current&&(g.current(),g.current=void 0)},100);return r.useEffect(()=>{let e=u.viewport;if(e){let t=()=>{v(),g.current||(g.current=W(e,f),f())};return f(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[u.viewport,v,f]),(0,t.jsx)(n.Primitive.div,{"data-state":c.hasThumb?"visible":"hidden",...s,ref:p,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:(0,d.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;c.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,d.composeEventHandlers)(e.onPointerUp,c.onThumbPointerUp)})});_.displayName=k;var O="ScrollAreaCorner",L=r.forwardRef((e,r)=>{let n=h(O,e.__scopeScrollArea),o=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&o?(0,t.jsx)(I,{...e,ref:r}):null});L.displayName=O;var I=r.forwardRef((e,o)=>{let{__scopeScrollArea:l,...a}=e,i=h(O,l),[s,u]=r.useState(0),[c,d]=r.useState(0),f=!!(s&&c);return B(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),d(e)}),B(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),u(e)}),f?(0,t.jsx)(n.Primitive.div,{...a,ref:o,style:{width:s,height:c,position:"absolute",right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:0,...e.style}}):null});function M(e){return e?parseInt(e,10):0}function z(e,t){let r=e/t;return isNaN(r)?0:r}function F(e){let t=z(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function U(e,t,r="ltr"){let n=F(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,l=t.scrollbar.size-o,a=t.content-t.viewport,i=(0,c.clamp)(e,"ltr"===r?[0,a]:[-1*a,0]);return H([0,a],[0,l-n])(i)}function H(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var W=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function o(){let l={left:e.scrollLeft,top:e.scrollTop},a=r.left!==l.left,i=r.top!==l.top;(a||i)&&t(),r=l,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function $(e,t){let n=(0,i.useCallbackRef)(e),o=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(o.current),[]),r.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(n,t)},[n,t])}function B(e,t){let r=(0,i.useCallbackRef)(t);(0,u.useLayoutEffect)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}e.s(["Corner",()=>L,"Root",()=>m,"ScrollArea",()=>m,"ScrollAreaCorner",()=>L,"ScrollAreaScrollbar",()=>x,"ScrollAreaThumb",()=>_,"ScrollAreaViewport",()=>y,"Scrollbar",()=>x,"Thumb",()=>_,"Viewport",()=>y,"createScrollAreaScope",()=>g],87516);var X=e.i(87516),X=X,V=e.i(31777);function Y({className:e,children:r,...n}){return(0,t.jsxs)(X.Root,{"data-slot":"scroll-area",className:(0,V.cn)("relative",e),...n,children:[(0,t.jsx)(X.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&>div]:block!",children:r}),(0,t.jsx)(K,{}),(0,t.jsx)(X.Corner,{})]})}function K({className:e,orientation:r="vertical",...n}){return(0,t.jsx)(X.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:r,className:(0,V.cn)("flex touch-none p-px transition-colors select-none","vertical"===r&&"h-full w-2.5 border-l border-l-transparent","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent",e),...n,children:(0,t.jsx)(X.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}e.s(["ScrollArea",()=>Y],35340)}]);