@shepai/cli 1.155.0-pr484.1619afe → 1.155.0-pr485.4c45fca

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 (531) hide show
  1. package/apis/json-schema/Language.yaml +13 -0
  2. package/apis/json-schema/UserProfile.yaml +3 -0
  3. package/dist/packages/core/src/domain/generated/output.d.ts +14 -0
  4. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  5. package/dist/packages/core/src/domain/generated/output.js +11 -0
  6. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
  7. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  8. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +4 -2
  9. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.d.ts +14 -0
  10. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.d.ts.map +1 -0
  11. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.js +19 -0
  12. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -2
  14. package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
  15. package/dist/src/presentation/cli/commands/_serve.command.js +5 -3
  16. package/dist/src/presentation/cli/commands/agent/approve.command.d.ts.map +1 -1
  17. package/dist/src/presentation/cli/commands/agent/approve.command.js +9 -4
  18. package/dist/src/presentation/cli/commands/agent/delete.command.d.ts.map +1 -1
  19. package/dist/src/presentation/cli/commands/agent/delete.command.js +9 -5
  20. package/dist/src/presentation/cli/commands/agent/index.d.ts.map +1 -1
  21. package/dist/src/presentation/cli/commands/agent/index.js +3 -1
  22. package/dist/src/presentation/cli/commands/agent/logs.command.d.ts.map +1 -1
  23. package/dist/src/presentation/cli/commands/agent/logs.command.js +7 -5
  24. package/dist/src/presentation/cli/commands/agent/ls.command.d.ts.map +1 -1
  25. package/dist/src/presentation/cli/commands/agent/ls.command.js +12 -10
  26. package/dist/src/presentation/cli/commands/agent/reject.command.d.ts.map +1 -1
  27. package/dist/src/presentation/cli/commands/agent/reject.command.js +10 -5
  28. package/dist/src/presentation/cli/commands/agent/resolve-run.d.ts.map +1 -1
  29. package/dist/src/presentation/cli/commands/agent/resolve-run.js +7 -2
  30. package/dist/src/presentation/cli/commands/agent/show.command.d.ts.map +1 -1
  31. package/dist/src/presentation/cli/commands/agent/show.command.js +8 -6
  32. package/dist/src/presentation/cli/commands/agent/stop.command.d.ts.map +1 -1
  33. package/dist/src/presentation/cli/commands/agent/stop.command.js +9 -4
  34. package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts.map +1 -1
  35. package/dist/src/presentation/cli/commands/daemon/start-daemon.js +10 -8
  36. package/dist/src/presentation/cli/commands/daemon/stop-daemon.d.ts.map +1 -1
  37. package/dist/src/presentation/cli/commands/daemon/stop-daemon.js +5 -3
  38. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts.map +1 -1
  39. package/dist/src/presentation/cli/commands/feat/adopt.command.js +14 -12
  40. package/dist/src/presentation/cli/commands/feat/approve.command.d.ts.map +1 -1
  41. package/dist/src/presentation/cli/commands/feat/approve.command.js +8 -6
  42. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts.map +1 -1
  43. package/dist/src/presentation/cli/commands/feat/archive.command.js +10 -8
  44. package/dist/src/presentation/cli/commands/feat/del.command.d.ts.map +1 -1
  45. package/dist/src/presentation/cli/commands/feat/del.command.js +17 -15
  46. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  47. package/dist/src/presentation/cli/commands/feat/index.js +2 -1
  48. package/dist/src/presentation/cli/commands/feat/logs.command.d.ts.map +1 -1
  49. package/dist/src/presentation/cli/commands/feat/logs.command.js +8 -6
  50. package/dist/src/presentation/cli/commands/feat/ls.command.d.ts.map +1 -1
  51. package/dist/src/presentation/cli/commands/feat/ls.command.js +14 -12
  52. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  53. package/dist/src/presentation/cli/commands/feat/new.command.js +43 -37
  54. package/dist/src/presentation/cli/commands/feat/reject.command.d.ts.map +1 -1
  55. package/dist/src/presentation/cli/commands/feat/reject.command.js +11 -9
  56. package/dist/src/presentation/cli/commands/feat/resolve-waiting-feature.d.ts.map +1 -1
  57. package/dist/src/presentation/cli/commands/feat/resolve-waiting-feature.js +12 -5
  58. package/dist/src/presentation/cli/commands/feat/resume.command.d.ts.map +1 -1
  59. package/dist/src/presentation/cli/commands/feat/resume.command.js +8 -6
  60. package/dist/src/presentation/cli/commands/feat/review.command.d.ts.map +1 -1
  61. package/dist/src/presentation/cli/commands/feat/review.command.js +17 -15
  62. package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
  63. package/dist/src/presentation/cli/commands/feat/show.command.js +89 -45
  64. package/dist/src/presentation/cli/commands/feat/start.command.d.ts.map +1 -1
  65. package/dist/src/presentation/cli/commands/feat/start.command.js +12 -10
  66. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts.map +1 -1
  67. package/dist/src/presentation/cli/commands/feat/unarchive.command.js +8 -6
  68. package/dist/src/presentation/cli/commands/ide-open.command.d.ts.map +1 -1
  69. package/dist/src/presentation/cli/commands/ide-open.command.js +10 -5
  70. package/dist/src/presentation/cli/commands/install.command.d.ts.map +1 -1
  71. package/dist/src/presentation/cli/commands/install.command.js +29 -21
  72. package/dist/src/presentation/cli/commands/log-viewer.d.ts.map +1 -1
  73. package/dist/src/presentation/cli/commands/log-viewer.js +6 -3
  74. package/dist/src/presentation/cli/commands/repo/add.command.d.ts.map +1 -1
  75. package/dist/src/presentation/cli/commands/repo/add.command.js +12 -10
  76. package/dist/src/presentation/cli/commands/repo/index.d.ts.map +1 -1
  77. package/dist/src/presentation/cli/commands/repo/index.js +3 -1
  78. package/dist/src/presentation/cli/commands/repo/ls.command.d.ts.map +1 -1
  79. package/dist/src/presentation/cli/commands/repo/ls.command.js +11 -9
  80. package/dist/src/presentation/cli/commands/repo/resolve-repository.d.ts.map +1 -1
  81. package/dist/src/presentation/cli/commands/repo/resolve-repository.js +7 -2
  82. package/dist/src/presentation/cli/commands/repo/show.command.d.ts.map +1 -1
  83. package/dist/src/presentation/cli/commands/repo/show.command.js +21 -10
  84. package/dist/src/presentation/cli/commands/restart.command.d.ts.map +1 -1
  85. package/dist/src/presentation/cli/commands/restart.command.js +6 -4
  86. package/dist/src/presentation/cli/commands/run.command.d.ts.map +1 -1
  87. package/dist/src/presentation/cli/commands/run.command.js +21 -17
  88. package/dist/src/presentation/cli/commands/session/index.d.ts.map +1 -1
  89. package/dist/src/presentation/cli/commands/session/index.js +3 -1
  90. package/dist/src/presentation/cli/commands/session/ls.command.d.ts.map +1 -1
  91. package/dist/src/presentation/cli/commands/session/ls.command.js +11 -9
  92. package/dist/src/presentation/cli/commands/session/show.command.d.ts.map +1 -1
  93. package/dist/src/presentation/cli/commands/session/show.command.js +26 -18
  94. package/dist/src/presentation/cli/commands/settings/agent.command.d.ts.map +1 -1
  95. package/dist/src/presentation/cli/commands/settings/agent.command.js +12 -8
  96. package/dist/src/presentation/cli/commands/settings/ide.command.d.ts.map +1 -1
  97. package/dist/src/presentation/cli/commands/settings/ide.command.js +13 -7
  98. package/dist/src/presentation/cli/commands/settings/index.d.ts +1 -0
  99. package/dist/src/presentation/cli/commands/settings/index.d.ts.map +1 -1
  100. package/dist/src/presentation/cli/commands/settings/index.js +7 -3
  101. package/dist/src/presentation/cli/commands/settings/init.command.d.ts.map +1 -1
  102. package/dist/src/presentation/cli/commands/settings/init.command.js +8 -7
  103. package/dist/src/presentation/cli/commands/settings/language.command.d.ts +14 -0
  104. package/dist/src/presentation/cli/commands/settings/language.command.d.ts.map +1 -0
  105. package/dist/src/presentation/cli/commands/settings/language.command.js +79 -0
  106. package/dist/src/presentation/cli/commands/settings/model.command.d.ts.map +1 -1
  107. package/dist/src/presentation/cli/commands/settings/model.command.js +7 -6
  108. package/dist/src/presentation/cli/commands/settings/show.command.d.ts.map +1 -1
  109. package/dist/src/presentation/cli/commands/settings/show.command.js +4 -3
  110. package/dist/src/presentation/cli/commands/settings/workflow.command.d.ts.map +1 -1
  111. package/dist/src/presentation/cli/commands/settings/workflow.command.js +20 -18
  112. package/dist/src/presentation/cli/commands/start.command.d.ts.map +1 -1
  113. package/dist/src/presentation/cli/commands/start.command.js +5 -3
  114. package/dist/src/presentation/cli/commands/status.command.d.ts.map +1 -1
  115. package/dist/src/presentation/cli/commands/status.command.js +32 -24
  116. package/dist/src/presentation/cli/commands/stop.command.d.ts.map +1 -1
  117. package/dist/src/presentation/cli/commands/stop.command.js +4 -2
  118. package/dist/src/presentation/cli/commands/tools.command.d.ts.map +1 -1
  119. package/dist/src/presentation/cli/commands/tools.command.js +8 -4
  120. package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
  121. package/dist/src/presentation/cli/commands/ui.command.js +12 -10
  122. package/dist/src/presentation/cli/commands/upgrade.command.d.ts.map +1 -1
  123. package/dist/src/presentation/cli/commands/upgrade.command.js +18 -13
  124. package/dist/src/presentation/cli/commands/version.command.d.ts.map +1 -1
  125. package/dist/src/presentation/cli/commands/version.command.js +5 -3
  126. package/dist/src/presentation/cli/i18n.d.ts +41 -0
  127. package/dist/src/presentation/cli/i18n.d.ts.map +1 -0
  128. package/dist/src/presentation/cli/i18n.js +100 -0
  129. package/dist/src/presentation/cli/index.js +13 -1
  130. package/dist/src/presentation/cli/ui/install-messages.d.ts.map +1 -1
  131. package/dist/src/presentation/cli/ui/install-messages.js +16 -6
  132. package/dist/src/presentation/tui/i18n.d.ts +24 -0
  133. package/dist/src/presentation/tui/i18n.d.ts.map +1 -0
  134. package/dist/src/presentation/tui/i18n.js +48 -0
  135. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts +13 -31
  136. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -1
  137. package/dist/src/presentation/tui/prompts/agent-select.prompt.js +17 -15
  138. package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts +7 -11
  139. package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts.map +1 -1
  140. package/dist/src/presentation/tui/prompts/auth-method.prompt.js +7 -5
  141. package/dist/src/presentation/tui/prompts/ide-select.prompt.d.ts.map +1 -1
  142. package/dist/src/presentation/tui/prompts/ide-select.prompt.js +2 -1
  143. package/dist/src/presentation/tui/prompts/prd-review-summary.prompt.d.ts.map +1 -1
  144. package/dist/src/presentation/tui/prompts/prd-review-summary.prompt.js +8 -6
  145. package/dist/src/presentation/tui/wizards/agent-config.wizard.d.ts.map +1 -1
  146. package/dist/src/presentation/tui/wizards/agent-config.wizard.js +2 -1
  147. package/dist/src/presentation/tui/wizards/github-import.wizard.d.ts.map +1 -1
  148. package/dist/src/presentation/tui/wizards/github-import.wizard.js +15 -11
  149. package/dist/src/presentation/tui/wizards/merge-review.wizard.d.ts.map +1 -1
  150. package/dist/src/presentation/tui/wizards/merge-review.wizard.js +10 -8
  151. package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.d.ts.map +1 -1
  152. package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.js +10 -7
  153. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.d.ts +0 -41
  154. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.d.ts.map +1 -1
  155. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.js +15 -15
  156. package/dist/src/presentation/tui/wizards/plan-review.wizard.d.ts.map +1 -1
  157. package/dist/src/presentation/tui/wizards/plan-review.wizard.js +10 -8
  158. package/dist/src/presentation/tui/wizards/prd-review.wizard.d.ts.map +1 -1
  159. package/dist/src/presentation/tui/wizards/prd-review.wizard.js +3 -2
  160. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  161. package/dist/src/presentation/web/app/layout.js +5 -2
  162. package/dist/src/presentation/web/components/assistant-ui/thread.js +5 -5
  163. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.js +1 -1
  164. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +1 -1
  165. package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.js +3 -3
  166. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +4 -4
  167. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +1 -1
  168. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.d.ts.map +1 -1
  169. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.js +3 -1
  170. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.js +2 -2
  171. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.js +2 -2
  172. package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.js +2 -2
  173. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +2 -2
  174. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +4 -4
  175. package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.js +1 -1
  176. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +1 -1
  177. package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.js +1 -1
  178. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +1 -1
  179. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.js +1 -1
  180. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +2 -2
  181. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  182. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +22 -22
  183. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +4 -4
  184. package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.js +1 -1
  185. package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.js +1 -1
  186. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.js +1 -1
  187. package/dist/src/presentation/web/components/common/merge-review/diff-view.js +2 -2
  188. package/dist/src/presentation/web/components/common/merge-review/merge-review.js +2 -2
  189. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.js +3 -3
  190. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.d.ts.map +1 -1
  191. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.js +6 -4
  192. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +3 -3
  193. package/dist/src/presentation/web/components/common/server-log-viewer/server-log-viewer.js +1 -1
  194. package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.js +2 -2
  195. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.js +2 -2
  196. package/dist/src/presentation/web/components/common/version-badge/version-badge.js +1 -1
  197. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.js +4 -4
  198. package/dist/src/presentation/web/components/features/chat/ChatMessageList.js +1 -1
  199. package/dist/src/presentation/web/components/features/chat/ChatTab.js +1 -1
  200. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts.map +1 -1
  201. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +15 -11
  202. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
  203. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +8 -6
  204. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.d.ts.map +1 -1
  205. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.js +3 -1
  206. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  207. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +4 -2
  208. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +2 -2
  209. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.js +2 -2
  210. package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +1 -1
  211. package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts +5 -0
  212. package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts.map +1 -0
  213. package/dist/src/presentation/web/components/features/settings/language-settings-section.js +54 -0
  214. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts +18 -0
  215. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts.map +1 -0
  216. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.js +36 -0
  217. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  218. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +89 -77
  219. package/dist/src/presentation/web/components/features/settings/timeout-slider.js +1 -1
  220. package/dist/src/presentation/web/components/features/skills/category-filter.js +1 -1
  221. package/dist/src/presentation/web/components/features/skills/skills-page-client.js +1 -1
  222. package/dist/src/presentation/web/components/features/tools/tool-card.js +1 -1
  223. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.js +2 -2
  224. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  225. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +10 -4
  226. package/dist/src/presentation/web/components/providers/i18n-provider.d.ts +17 -0
  227. package/dist/src/presentation/web/components/providers/i18n-provider.d.ts.map +1 -0
  228. package/dist/src/presentation/web/components/providers/i18n-provider.js +36 -0
  229. package/dist/src/presentation/web/components/ui/alert-dialog.js +1 -1
  230. package/dist/src/presentation/web/components/ui/alert.js +1 -1
  231. package/dist/src/presentation/web/components/ui/checkbox-group.js +1 -1
  232. package/dist/src/presentation/web/components/ui/command.js +1 -1
  233. package/dist/src/presentation/web/components/ui/dialog.d.ts.map +1 -1
  234. package/dist/src/presentation/web/components/ui/dialog.js +2 -2
  235. package/dist/src/presentation/web/components/ui/dialog.stories.js +1 -1
  236. package/dist/src/presentation/web/components/ui/drawer.js +1 -1
  237. package/dist/src/presentation/web/components/ui/dropdown-menu.js +6 -6
  238. package/dist/src/presentation/web/components/ui/scroll-area.js +1 -1
  239. package/dist/src/presentation/web/components/ui/select.js +1 -1
  240. package/dist/src/presentation/web/components/ui/sheet.js +1 -1
  241. package/dist/src/presentation/web/components/ui/sidebar.js +6 -6
  242. package/dist/src/presentation/web/hooks/use-sound-action.stories.js +1 -1
  243. package/dist/src/presentation/web/lib/i18n.d.ts +15 -0
  244. package/dist/src/presentation/web/lib/i18n.d.ts.map +1 -0
  245. package/dist/src/presentation/web/lib/i18n.js +46 -0
  246. package/dist/src/presentation/web/lib/language.d.ts +23 -0
  247. package/dist/src/presentation/web/lib/language.d.ts.map +1 -0
  248. package/dist/src/presentation/web/lib/language.js +37 -0
  249. package/dist/src/presentation/web/lib/rtl-fonts.d.ts +19 -0
  250. package/dist/src/presentation/web/lib/rtl-fonts.d.ts.map +1 -0
  251. package/dist/src/presentation/web/lib/rtl-fonts.js +51 -0
  252. package/dist/translations/ar/cli.json +613 -0
  253. package/dist/translations/ar/common.json +55 -0
  254. package/dist/translations/ar/tui.json +130 -0
  255. package/dist/translations/ar/web.json +320 -0
  256. package/dist/translations/de/cli.json +613 -0
  257. package/dist/translations/de/common.json +55 -0
  258. package/dist/translations/de/tui.json +109 -0
  259. package/dist/translations/de/web.json +306 -0
  260. package/dist/translations/en/cli.json +613 -0
  261. package/dist/translations/en/common.json +55 -0
  262. package/dist/translations/en/tui.json +130 -0
  263. package/dist/translations/en/web.json +320 -0
  264. package/dist/translations/es/cli.json +613 -0
  265. package/dist/translations/es/common.json +55 -0
  266. package/dist/translations/es/tui.json +130 -0
  267. package/dist/translations/es/web.json +320 -0
  268. package/dist/translations/fr/cli.json +613 -0
  269. package/dist/translations/fr/common.json +55 -0
  270. package/dist/translations/fr/tui.json +130 -0
  271. package/dist/translations/fr/web.json +320 -0
  272. package/dist/translations/he/cli.json +613 -0
  273. package/dist/translations/he/common.json +55 -0
  274. package/dist/translations/he/tui.json +130 -0
  275. package/dist/translations/he/web.json +320 -0
  276. package/dist/translations/pt/cli.json +613 -0
  277. package/dist/translations/pt/common.json +55 -0
  278. package/dist/translations/pt/tui.json +130 -0
  279. package/dist/translations/pt/web.json +320 -0
  280. package/dist/translations/ru/cli.json +613 -0
  281. package/dist/translations/ru/common.json +55 -0
  282. package/dist/translations/ru/tui.json +130 -0
  283. package/dist/translations/ru/web.json +320 -0
  284. package/dist/tsconfig.build.tsbuildinfo +1 -1
  285. package/package.json +4 -2
  286. package/web/.next/BUILD_ID +1 -1
  287. package/web/.next/build-manifest.json +2 -2
  288. package/web/.next/fallback-build-manifest.json +2 -2
  289. package/web/.next/prerender-manifest.json +3 -3
  290. package/web/.next/required-server-files.js +1 -1
  291. package/web/.next/required-server-files.json +1 -1
  292. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
  293. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +3 -3
  294. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  295. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  296. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +26 -26
  297. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +3 -3
  298. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  299. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  300. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +29 -29
  301. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +3 -3
  302. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  303. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  304. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  305. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +4 -4
  306. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  307. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  308. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
  309. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +4 -4
  310. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  311. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  312. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  313. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +3 -3
  314. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  315. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  316. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  317. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +3 -3
  318. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  319. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  320. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +26 -26
  321. package/web/.next/server/app/(dashboard)/chat/page.js +3 -3
  322. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  323. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  324. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +29 -29
  325. package/web/.next/server/app/(dashboard)/create/page.js +3 -3
  326. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  327. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  328. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  329. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +4 -4
  330. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  331. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  332. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
  333. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +4 -4
  334. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  335. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  336. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
  337. package/web/.next/server/app/(dashboard)/page.js +3 -3
  338. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  339. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  340. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  341. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +3 -3
  342. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  343. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  344. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  345. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
  346. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  347. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  348. package/web/.next/server/app/_global-error.html +2 -2
  349. package/web/.next/server/app/_global-error.rsc +1 -1
  350. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  351. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  352. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  353. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  354. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  355. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +5 -5
  356. package/web/.next/server/app/_not-found/page.js +2 -2
  357. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  358. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  359. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  360. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  361. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  362. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  363. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  364. package/web/.next/server/app/settings/page.js +2 -2
  365. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  366. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  367. package/web/.next/server/app/skills/page/server-reference-manifest.json +10 -10
  368. package/web/.next/server/app/skills/page.js +3 -4
  369. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  370. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  371. package/web/.next/server/app/tools/page/server-reference-manifest.json +10 -10
  372. package/web/.next/server/app/tools/page.js +3 -4
  373. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  374. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  375. package/web/.next/server/app/version/page/server-reference-manifest.json +5 -5
  376. package/web/.next/server/app/version/page.js +2 -2
  377. package/web/.next/server/app/version/page.js.nft.json +1 -1
  378. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  379. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  380. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js +1 -1
  381. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -1
  382. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  383. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  384. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  385. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  386. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  387. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  388. package/web/.next/server/chunks/ssr/{[root-of-the-server]__88f7e8e6._.js → [root-of-the-server]__209c9597._.js} +2 -2
  389. package/web/.next/server/chunks/ssr/{[root-of-the-server]__88f7e8e6._.js.map → [root-of-the-server]__209c9597._.js.map} +1 -1
  390. package/web/.next/server/chunks/ssr/{[root-of-the-server]__f8dd4422._.js → [root-of-the-server]__25ee8d4c._.js} +2 -2
  391. package/web/.next/server/chunks/ssr/[root-of-the-server]__25ee8d4c._.js.map +1 -0
  392. package/web/.next/server/chunks/ssr/{[root-of-the-server]__17ed7ed1._.js → [root-of-the-server]__27301e38._.js} +2 -2
  393. package/web/.next/server/chunks/ssr/{[root-of-the-server]__17ed7ed1._.js.map → [root-of-the-server]__27301e38._.js.map} +1 -1
  394. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  395. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +1 -1
  396. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -1
  397. package/web/.next/server/chunks/ssr/{[root-of-the-server]__42bf1807._.js → [root-of-the-server]__6fecf886._.js} +2 -2
  398. package/web/.next/server/chunks/ssr/{[root-of-the-server]__42bf1807._.js.map → [root-of-the-server]__6fecf886._.js.map} +1 -1
  399. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
  400. package/web/.next/server/chunks/ssr/{[root-of-the-server]__28d0d265._.js → [root-of-the-server]__8d27866c._.js} +3 -3
  401. package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js.map +1 -0
  402. package/web/.next/server/chunks/ssr/{[root-of-the-server]__f80bfc75._.js → [root-of-the-server]__9f3504c7._.js} +2 -2
  403. package/web/.next/server/chunks/ssr/{[root-of-the-server]__f80bfc75._.js.map → [root-of-the-server]__9f3504c7._.js.map} +1 -1
  404. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js +4 -0
  405. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js.map +1 -0
  406. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +1 -1
  407. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -1
  408. package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js +3 -0
  409. package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js.map +1 -0
  410. package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js +2 -2
  411. package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js.map +1 -1
  412. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  413. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  414. package/web/.next/server/chunks/ssr/_0cd9ca53._.js +3 -0
  415. package/web/.next/server/chunks/ssr/_0cd9ca53._.js.map +1 -0
  416. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  417. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  418. package/web/.next/server/chunks/ssr/{_08f3fd21._.js → _28e7429c._.js} +2 -2
  419. package/web/.next/server/chunks/ssr/{_08f3fd21._.js.map → _28e7429c._.js.map} +1 -1
  420. package/web/.next/server/chunks/ssr/_3a0b989f._.js +2 -2
  421. package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -1
  422. package/web/.next/server/chunks/ssr/{_67104d9e._.js → _3bcda5d7._.js} +2 -2
  423. package/web/.next/server/chunks/ssr/{_67104d9e._.js.map → _3bcda5d7._.js.map} +1 -1
  424. package/web/.next/server/chunks/ssr/_470e90f4._.js +9 -0
  425. package/web/.next/server/chunks/ssr/_470e90f4._.js.map +1 -0
  426. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  427. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  428. package/web/.next/server/chunks/ssr/_5bfcc8de._.js +4 -0
  429. package/web/.next/server/chunks/ssr/_5bfcc8de._.js.map +1 -0
  430. package/web/.next/server/chunks/ssr/_5f69c13f._.js +1 -1
  431. package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -1
  432. package/web/.next/server/chunks/ssr/{_d957c7f8._.js → _7773b2dc._.js} +2 -2
  433. package/web/.next/server/chunks/ssr/{_d957c7f8._.js.map → _7773b2dc._.js.map} +1 -1
  434. package/web/.next/server/chunks/ssr/_7c5b97c6._.js +1 -1
  435. package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -1
  436. package/web/.next/server/chunks/ssr/_82c57f10._.js +1 -1
  437. package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -1
  438. package/web/.next/server/chunks/ssr/_8b57edb8._.js +1 -1
  439. package/web/.next/server/chunks/ssr/_8b57edb8._.js.map +1 -1
  440. package/web/.next/server/chunks/ssr/_9495d50b._.js +1 -1
  441. package/web/.next/server/chunks/ssr/_9495d50b._.js.map +1 -1
  442. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +1 -1
  443. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -1
  444. package/web/.next/server/chunks/ssr/_ac4a3873._.js +1 -1
  445. package/web/.next/server/chunks/ssr/_ac4a3873._.js.map +1 -1
  446. package/web/.next/server/chunks/ssr/{_507a8382._.js → _b9ba2473._.js} +2 -2
  447. package/web/.next/server/chunks/ssr/_b9ba2473._.js.map +1 -0
  448. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +1 -1
  449. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -1
  450. package/web/.next/server/chunks/ssr/_cb5a021e._.js +1 -1
  451. package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -1
  452. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +1 -1
  453. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js.map +1 -1
  454. package/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  455. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  456. package/web/.next/server/chunks/ssr/_d86175ae._.js +1 -1
  457. package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -1
  458. package/web/.next/server/chunks/ssr/_d8bedf13._.js +1 -1
  459. package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -1
  460. package/web/.next/server/chunks/ssr/_d90b0a06._.js +3 -0
  461. package/web/.next/server/chunks/ssr/_d90b0a06._.js.map +1 -0
  462. package/web/.next/server/chunks/ssr/_fa7efce3._.js +2 -2
  463. package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -1
  464. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  465. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  466. package/web/.next/server/chunks/ssr/node_modules__pnpm_55cf6695._.js +3 -0
  467. package/web/.next/server/chunks/ssr/node_modules__pnpm_55cf6695._.js.map +1 -0
  468. package/web/.next/server/chunks/ssr/src_presentation_web_324a47da._.js +1 -1
  469. package/web/.next/server/chunks/ssr/src_presentation_web_324a47da._.js.map +1 -1
  470. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  471. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +3 -0
  472. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -0
  473. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  474. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  475. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  476. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js.map +1 -1
  477. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
  478. package/web/.next/server/pages/500.html +2 -2
  479. package/web/.next/server/server-reference-manifest.js +1 -1
  480. package/web/.next/server/server-reference-manifest.json +45 -45
  481. package/web/.next/static/chunks/05c9ed792a1d9056.js +1 -0
  482. package/web/.next/static/chunks/{04cb9cede104b5f8.js → 1c07a9270515f2e3.js} +2 -2
  483. package/web/.next/static/chunks/{e3339b33db2768bd.js → 24d5e151f7de6b4c.js} +1 -1
  484. package/web/.next/static/chunks/{b224651a2324c8f7.js → 2aada437f51df3e6.js} +1 -1
  485. package/web/.next/static/chunks/2eeee9bcbf660a4b.js +1 -0
  486. package/web/.next/static/chunks/{688971d5bad5dc7c.js → 3deefc76ea55047c.js} +1 -1
  487. package/web/.next/static/chunks/{11091b676d1b3bd4.js → 47477ed4c5871747.js} +1 -1
  488. package/web/.next/static/chunks/{7bdd3f51e4993fb6.js → 4978be67c4e6498f.js} +3 -3
  489. package/web/.next/static/chunks/4a399ee2a9942a1b.js +1 -0
  490. package/web/.next/static/chunks/{c3a9b33826b0e541.js → 536afd754a63da39.js} +1 -1
  491. package/web/.next/static/chunks/70390bd89521bc19.js +1 -0
  492. package/web/.next/static/chunks/{22c459f1877b1e4f.js → 74db65fa7bfb80bd.js} +1 -1
  493. package/web/.next/static/chunks/8fd082719935d5e6.js +1 -0
  494. package/web/.next/static/chunks/91927044df8e28bb.js +7 -0
  495. package/web/.next/static/chunks/b1b5b0bf84caabd4.js +1 -0
  496. package/web/.next/static/chunks/{e1b6fd86f641261d.js → b674bc11b321a5ee.js} +1 -1
  497. package/web/.next/static/chunks/b68b16b4c3528979.js +2 -0
  498. package/web/.next/static/chunks/{b4cde06eff374c59.js → bfdb66301af07da1.js} +2 -2
  499. package/web/.next/static/chunks/d58e68d03d055a9b.css +1 -0
  500. package/web/.next/static/chunks/{5ae60a052ab5f437.js → d6e702c209c413ce.js} +2 -2
  501. package/web/.next/static/chunks/{4b2c4a5c35ebb70d.js → e4e358c4f67366fd.js} +1 -1
  502. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js +0 -3
  503. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +0 -1
  504. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js.map +0 -1
  505. package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js.map +0 -1
  506. package/web/.next/server/chunks/ssr/_4601ff05._.js +0 -4
  507. package/web/.next/server/chunks/ssr/_4601ff05._.js.map +0 -1
  508. package/web/.next/server/chunks/ssr/_4b432739._.js +0 -3
  509. package/web/.next/server/chunks/ssr/_4b432739._.js.map +0 -1
  510. package/web/.next/server/chunks/ssr/_507a8382._.js.map +0 -1
  511. package/web/.next/server/chunks/ssr/_8219712a._.js +0 -3
  512. package/web/.next/server/chunks/ssr/_8219712a._.js.map +0 -1
  513. package/web/.next/server/chunks/ssr/_e9a73a63._.js +0 -9
  514. package/web/.next/server/chunks/ssr/_e9a73a63._.js.map +0 -1
  515. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js +0 -3
  516. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js.map +0 -1
  517. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js +0 -3
  518. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js.map +0 -1
  519. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js +0 -3
  520. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js.map +0 -1
  521. package/web/.next/static/chunks/190cb2b91443b7a2.js +0 -1
  522. package/web/.next/static/chunks/232221de97ee02ee.js +0 -1
  523. package/web/.next/static/chunks/5ea1d031a4327efd.js +0 -1
  524. package/web/.next/static/chunks/639776981e3c0300.js +0 -7
  525. package/web/.next/static/chunks/6bef26d1ebd38687.js +0 -1
  526. package/web/.next/static/chunks/8590bd2e69b24b9e.css +0 -1
  527. package/web/.next/static/chunks/9207c052206225b2.js +0 -2
  528. package/web/.next/static/chunks/cd54b758f58061d0.js +0 -1
  529. /package/web/.next/static/{SnRLSukTe4qbiJHXHhXVW → Uqo91vsr2HsZrCKrZOYMZ}/_buildManifest.js +0 -0
  530. /package/web/.next/static/{SnRLSukTe4qbiJHXHhXVW → Uqo91vsr2HsZrCKrZOYMZ}/_clientMiddlewareManifest.json +0 -0
  531. /package/web/.next/static/{SnRLSukTe4qbiJHXHhXVW → Uqo91vsr2HsZrCKrZOYMZ}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41413,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(23925),o=e.i(11345),i=e.i(76016),a=e.i(19155),s=e.i(22506),l=e.i(86782),d=e.i(29847),c=e.i(35364),u=e.i(90382),p=e.i(31777);function f({initialAgentType:e,initialModel:f,onAgentModelChange:g,disabled:m,className:h,mode:v}){let[x,y]=r.useState(!1),[b,j]=r.useState([]),[w,C]=r.useState(!0),[P,_]=r.useState(e),[S,O]=r.useState(f),[R,N]=r.useState(null),[E,A]=r.useState(0),[k,M]=r.useState(null);r.useEffect(()=>{(0,a.getAllAgentModels)().then(j).finally(()=>C(!1))},[]),r.useEffect(()=>{if(!x){let e=setTimeout(()=>{A(0),M(null)},150);return()=>clearTimeout(e)}},[x]);let T=async(e,t)=>{if(y(!1),e!==P||t!==S){if("override"===v){_(e),O(t),g?.(e,t);return}_(e),O(t),g?.(e,t),N(null);try{let r=await (0,s.updateAgentAndModel)(e,t||null);r.ok||(_(P),O(S),g?.(P,S),N(r.error??"Failed to save"))}catch{_(P),O(S),g?.(P,S),N("Failed to save")}}},I=(0,l.getAgentTypeIcon)(P),z=b.find(e=>e.agentType===P)?.label??P,F=S?(0,d.getModelMeta)(S).displayName||S:null,D=k?b.find(e=>e.agentType===k):null;return(0,t.jsxs)("div",{className:(0,p.cn)("flex flex-col gap-1",h),children:[(0,t.jsxs)(u.Popover,{open:x,onOpenChange:y,children:[(0,t.jsx)(u.PopoverTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{variant:"outline",role:"combobox","aria-expanded":x,disabled:(m??!1)||w,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"}),w?"Loading…":(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:z}),F?(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:F})]}):null]})]})})}),(0,t.jsx)(u.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===E?"-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"}),b.map(e=>{let r=(0,l.getAgentTypeIcon)(e.agentType),o=P===e.agentType,a=e.models.length>0;return(0,t.jsxs)("button",{type:"button",className:(0,p.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",o&&"bg-accent/50"),onClick:()=>{a?(M(e.agentType),requestAnimationFrame(()=>{requestAnimationFrame(()=>A(1))})):T(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}),o&&!a?(0,t.jsx)(n.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null,a?(0,t.jsx)(i.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:D?(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:()=>{A(0),setTimeout(()=>M(null),220)},children:[(0,t.jsx)(o.ChevronLeft,{className:"h-3.5 w-3.5"}),D.label]}),D.models.map(e=>{let r=P===D.agentType&&S===e.id;return(0,t.jsxs)("button",{type:"button",className:(0,p.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:()=>T(D.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)(n.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null]},e.id)})]}):null})]})})]}),!!R&&(0,t.jsx)("p",{className:"text-destructive text-sm",children:R})]})}e.s(["AgentModelPicker",()=>f])},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])},90382,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(91967),o=e.i(5978),i=e.i(22528),a=e.i(53532),s=e.i(41687),l=e.i(56720),d=e.i(13123),c=e.i(52740),u=e.i(39979),p=e.i(85995),f=e.i(87620),g=e.i(86874),m=e.i(36589),h=e.i(73772),v=e.i(13044),x="Popover",[y,b]=(0,i.createContextScope)(x,[c.createPopperScope]),j=(0,c.createPopperScope)(),[w,C]=y(x),P=e=>{let{__scopePopover:n,children:o,open:i,defaultOpen:a,onOpenChange:s,modal:l=!1}=e,u=j(n),p=r.useRef(null),[f,g]=r.useState(!1),[h,v]=(0,m.useControllableState)({prop:i,defaultProp:a??!1,onChange:s,caller:x});return(0,t.jsx)(c.Root,{...u,children:(0,t.jsx)(w,{scope:n,contentId:(0,d.useId)(),triggerRef:p,open:h,onOpenChange:v,onOpenToggle:r.useCallback(()=>v(e=>!e),[v]),hasCustomAnchor:f,onCustomAnchorAdd:r.useCallback(()=>g(!0),[]),onCustomAnchorRemove:r.useCallback(()=>g(!1),[]),modal:l,children:o})})};P.displayName=x;var _="PopoverAnchor",S=r.forwardRef((e,n)=>{let{__scopePopover:o,...i}=e,a=C(_,o),s=j(o),{onCustomAnchorAdd:l,onCustomAnchorRemove:d}=a;return r.useEffect(()=>(l(),()=>d()),[l,d]),(0,t.jsx)(c.Anchor,{...s,...i,ref:n})});S.displayName=_;var O="PopoverTrigger",R=r.forwardRef((e,r)=>{let{__scopePopover:i,...a}=e,s=C(O,i),l=j(i),d=(0,o.useComposedRefs)(r,s.triggerRef),u=(0,t.jsx)(f.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":U(s.open),...a,ref:d,onClick:(0,n.composeEventHandlers)(e.onClick,s.onOpenToggle)});return s.hasCustomAnchor?u:(0,t.jsx)(c.Anchor,{asChild:!0,...l,children:u})});R.displayName=O;var N="PopoverPortal",[E,A]=y(N,{forceMount:void 0}),k=e=>{let{__scopePopover:r,forceMount:n,children:o,container:i}=e,a=C(N,r);return(0,t.jsx)(E,{scope:r,forceMount:n,children:(0,t.jsx)(p.Presence,{present:n||a.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:i,children:o})})})};k.displayName=N;var M="PopoverContent",T=r.forwardRef((e,r)=>{let n=A(M,e.__scopePopover),{forceMount:o=n.forceMount,...i}=e,a=C(M,e.__scopePopover);return(0,t.jsx)(p.Presence,{present:o||a.open,children:a.modal?(0,t.jsx)(z,{...i,ref:r}):(0,t.jsx)(F,{...i,ref:r})})});T.displayName=M;var I=(0,g.createSlot)("PopoverContent.RemoveScroll"),z=r.forwardRef((e,i)=>{let a=C(M,e.__scopePopover),s=r.useRef(null),l=(0,o.useComposedRefs)(i,s),d=r.useRef(!1);return r.useEffect(()=>{let e=s.current;if(e)return(0,h.hideOthers)(e)},[]),(0,t.jsx)(v.RemoveScroll,{as:I,allowPinchZoom:!0,children:(0,t.jsx)(D,{...e,ref:l,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),d.current||a.triggerRef.current?.focus()}),onPointerDownOutside:(0,n.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,n.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),F=r.forwardRef((e,n)=>{let o=C(M,e.__scopePopover),i=r.useRef(!1),a=r.useRef(!1);return(0,t.jsx)(D,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||o.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),D=r.forwardRef((e,r)=>{let{__scopePopover:n,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:d,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:g,onInteractOutside:m,...h}=e,v=C(M,n),x=j(n);return(0,s.useFocusGuards)(),(0,t.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:d,children:(0,t.jsx)(a.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:m,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:g,onDismiss:()=>v.onOpenChange(!1),children:(0,t.jsx)(c.Content,{"data-state":U(v.open),role:"dialog",id:v.contentId,...x,...h,ref:r,style:{...h.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)"}})})})}),$="PopoverClose",L=r.forwardRef((e,r)=>{let{__scopePopover:o,...i}=e,a=C($,o);return(0,t.jsx)(f.Primitive.button,{type:"button",...i,ref:r,onClick:(0,n.composeEventHandlers)(e.onClick,()=>a.onOpenChange(!1))})});L.displayName=$;var G=r.forwardRef((e,r)=>{let{__scopePopover:n,...o}=e,i=j(n);return(0,t.jsx)(c.Arrow,{...i,...o,ref:r})});function U(e){return e?"open":"closed"}G.displayName="PopoverArrow",e.s(["Anchor",()=>S,"Arrow",()=>G,"Close",()=>L,"Content",()=>T,"Popover",()=>P,"PopoverAnchor",()=>S,"PopoverArrow",()=>G,"PopoverClose",()=>L,"PopoverContent",()=>T,"PopoverPortal",()=>k,"PopoverTrigger",()=>R,"Portal",()=>k,"Root",()=>P,"Trigger",()=>R,"createPopoverScope",()=>b],89920);var B=e.i(89920),B=B,q=e.i(31777);let H=B.Root,W=B.Trigger;B.Anchor;let V=r.forwardRef(({className:e,align:r="center",sideOffset:n=4,...o},i)=>(0,t.jsx)(B.Portal,{children:(0,t.jsx)(B.Content,{ref:i,align:r,sideOffset:n,className:(0,q.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",e),...o})}));V.displayName=B.Content.displayName,e.s(["Popover",()=>H,"PopoverContent",()=>V,"PopoverTrigger",()=>W],90382)},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=i(e,n)),t&&(o.current=i(t,n))},[e,t])}function i(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)},47904,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:o,objectFit:i}){let a=r?40*r:e,s=n?40*n:t,l=a&&s?`viewBox='0 0 ${a} ${s}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${l}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${l?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${o}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},49261,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},81241,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return d}}),e.r(24270);let n=e.r(22193),o=e.r(47904),i=e.r(49261),a=["-moz-initial","fill","none","scale-down",void 0];function s(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:r=!1,priority:d=!1,preload:c=!1,loading:u,className:p,quality:f,width:g,height:m,fill:h=!1,style:v,overrideSrc:x,onLoad:y,onLoadingComplete:b,placeholder:j="empty",blurDataURL:w,fetchPriority:C,decoding:P="async",layout:_,objectFit:S,objectPosition:O,lazyBoundary:R,lazyRoot:N,...E},A){var k;let M,T,I,{imgConf:z,showAltText:F,blurComplete:D,defaultLoader:$}=A,L=z||i.imageConfigDefault;if("allSizes"in L)M=L;else{let e=[...L.deviceSizes,...L.imageSizes].sort((e,t)=>e-t),t=L.deviceSizes.sort((e,t)=>e-t),r=L.qualities?.sort((e,t)=>e-t);M={...L,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===$)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let G=E.loader||$;delete E.loader,delete E.srcSet;let U="__next_img_default"in G;if(U){if("custom"===M.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41413,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(23925),o=e.i(11345),i=e.i(76016),a=e.i(18629),s=e.i(37207),l=e.i(86782),d=e.i(29847),c=e.i(35364),u=e.i(90382),p=e.i(31777);function f({initialAgentType:e,initialModel:f,onAgentModelChange:g,disabled:m,className:h,mode:v}){let[x,y]=r.useState(!1),[b,j]=r.useState([]),[w,C]=r.useState(!0),[P,_]=r.useState(e),[S,O]=r.useState(f),[R,N]=r.useState(null),[E,A]=r.useState(0),[k,M]=r.useState(null);r.useEffect(()=>{(0,a.getAllAgentModels)().then(j).finally(()=>C(!1))},[]),r.useEffect(()=>{if(!x){let e=setTimeout(()=>{A(0),M(null)},150);return()=>clearTimeout(e)}},[x]);let T=async(e,t)=>{if(y(!1),e!==P||t!==S){if("override"===v){_(e),O(t),g?.(e,t);return}_(e),O(t),g?.(e,t),N(null);try{let r=await (0,s.updateAgentAndModel)(e,t||null);r.ok||(_(P),O(S),g?.(P,S),N(r.error??"Failed to save"))}catch{_(P),O(S),g?.(P,S),N("Failed to save")}}},I=(0,l.getAgentTypeIcon)(P),z=b.find(e=>e.agentType===P)?.label??P,F=S?(0,d.getModelMeta)(S).displayName||S:null,D=k?b.find(e=>e.agentType===k):null;return(0,t.jsxs)("div",{className:(0,p.cn)("flex flex-col gap-1",h),children:[(0,t.jsxs)(u.Popover,{open:x,onOpenChange:y,children:[(0,t.jsx)(u.PopoverTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{variant:"outline",role:"combobox","aria-expanded":x,disabled:(m??!1)||w,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"}),w?"Loading…":(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:z}),F?(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:F})]}):null]})]})})}),(0,t.jsx)(u.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===E?"-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"}),b.map(e=>{let r=(0,l.getAgentTypeIcon)(e.agentType),o=P===e.agentType,a=e.models.length>0;return(0,t.jsxs)("button",{type:"button",className:(0,p.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",o&&"bg-accent/50"),onClick:()=>{a?(M(e.agentType),requestAnimationFrame(()=>{requestAnimationFrame(()=>A(1))})):T(e.agentType,"")},children:[(0,t.jsx)(r,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 text-start",children:e.label}),o&&!a?(0,t.jsx)(n.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null,a?(0,t.jsx)(i.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:D?(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:()=>{A(0),setTimeout(()=>M(null),220)},children:[(0,t.jsx)(o.ChevronLeft,{className:"h-3.5 w-3.5"}),D.label]}),D.models.map(e=>{let r=P===D.agentType&&S===e.id;return(0,t.jsxs)("button",{type:"button",className:(0,p.cn)("flex w-full cursor-pointer items-center gap-3 px-3 py-2 text-start transition-colors","hover:bg-accent hover:text-accent-foreground",r&&"bg-accent/50"),onClick:()=>T(D.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)(n.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null]},e.id)})]}):null})]})})]}),!!R&&(0,t.jsx)("p",{className:"text-destructive text-sm",children:R})]})}e.s(["AgentModelPicker",()=>f])},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])},90382,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(91967),o=e.i(5978),i=e.i(22528),a=e.i(53532),s=e.i(41687),l=e.i(56720),d=e.i(13123),c=e.i(52740),u=e.i(39979),p=e.i(85995),f=e.i(87620),g=e.i(86874),m=e.i(36589),h=e.i(73772),v=e.i(13044),x="Popover",[y,b]=(0,i.createContextScope)(x,[c.createPopperScope]),j=(0,c.createPopperScope)(),[w,C]=y(x),P=e=>{let{__scopePopover:n,children:o,open:i,defaultOpen:a,onOpenChange:s,modal:l=!1}=e,u=j(n),p=r.useRef(null),[f,g]=r.useState(!1),[h,v]=(0,m.useControllableState)({prop:i,defaultProp:a??!1,onChange:s,caller:x});return(0,t.jsx)(c.Root,{...u,children:(0,t.jsx)(w,{scope:n,contentId:(0,d.useId)(),triggerRef:p,open:h,onOpenChange:v,onOpenToggle:r.useCallback(()=>v(e=>!e),[v]),hasCustomAnchor:f,onCustomAnchorAdd:r.useCallback(()=>g(!0),[]),onCustomAnchorRemove:r.useCallback(()=>g(!1),[]),modal:l,children:o})})};P.displayName=x;var _="PopoverAnchor",S=r.forwardRef((e,n)=>{let{__scopePopover:o,...i}=e,a=C(_,o),s=j(o),{onCustomAnchorAdd:l,onCustomAnchorRemove:d}=a;return r.useEffect(()=>(l(),()=>d()),[l,d]),(0,t.jsx)(c.Anchor,{...s,...i,ref:n})});S.displayName=_;var O="PopoverTrigger",R=r.forwardRef((e,r)=>{let{__scopePopover:i,...a}=e,s=C(O,i),l=j(i),d=(0,o.useComposedRefs)(r,s.triggerRef),u=(0,t.jsx)(f.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":U(s.open),...a,ref:d,onClick:(0,n.composeEventHandlers)(e.onClick,s.onOpenToggle)});return s.hasCustomAnchor?u:(0,t.jsx)(c.Anchor,{asChild:!0,...l,children:u})});R.displayName=O;var N="PopoverPortal",[E,A]=y(N,{forceMount:void 0}),k=e=>{let{__scopePopover:r,forceMount:n,children:o,container:i}=e,a=C(N,r);return(0,t.jsx)(E,{scope:r,forceMount:n,children:(0,t.jsx)(p.Presence,{present:n||a.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:i,children:o})})})};k.displayName=N;var M="PopoverContent",T=r.forwardRef((e,r)=>{let n=A(M,e.__scopePopover),{forceMount:o=n.forceMount,...i}=e,a=C(M,e.__scopePopover);return(0,t.jsx)(p.Presence,{present:o||a.open,children:a.modal?(0,t.jsx)(z,{...i,ref:r}):(0,t.jsx)(F,{...i,ref:r})})});T.displayName=M;var I=(0,g.createSlot)("PopoverContent.RemoveScroll"),z=r.forwardRef((e,i)=>{let a=C(M,e.__scopePopover),s=r.useRef(null),l=(0,o.useComposedRefs)(i,s),d=r.useRef(!1);return r.useEffect(()=>{let e=s.current;if(e)return(0,h.hideOthers)(e)},[]),(0,t.jsx)(v.RemoveScroll,{as:I,allowPinchZoom:!0,children:(0,t.jsx)(D,{...e,ref:l,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),d.current||a.triggerRef.current?.focus()}),onPointerDownOutside:(0,n.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,n.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),F=r.forwardRef((e,n)=>{let o=C(M,e.__scopePopover),i=r.useRef(!1),a=r.useRef(!1);return(0,t.jsx)(D,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||o.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),D=r.forwardRef((e,r)=>{let{__scopePopover:n,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:d,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:g,onInteractOutside:m,...h}=e,v=C(M,n),x=j(n);return(0,s.useFocusGuards)(),(0,t.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:d,children:(0,t.jsx)(a.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:m,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:g,onDismiss:()=>v.onOpenChange(!1),children:(0,t.jsx)(c.Content,{"data-state":U(v.open),role:"dialog",id:v.contentId,...x,...h,ref:r,style:{...h.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)"}})})})}),$="PopoverClose",L=r.forwardRef((e,r)=>{let{__scopePopover:o,...i}=e,a=C($,o);return(0,t.jsx)(f.Primitive.button,{type:"button",...i,ref:r,onClick:(0,n.composeEventHandlers)(e.onClick,()=>a.onOpenChange(!1))})});L.displayName=$;var G=r.forwardRef((e,r)=>{let{__scopePopover:n,...o}=e,i=j(n);return(0,t.jsx)(c.Arrow,{...i,...o,ref:r})});function U(e){return e?"open":"closed"}G.displayName="PopoverArrow",e.s(["Anchor",()=>S,"Arrow",()=>G,"Close",()=>L,"Content",()=>T,"Popover",()=>P,"PopoverAnchor",()=>S,"PopoverArrow",()=>G,"PopoverClose",()=>L,"PopoverContent",()=>T,"PopoverPortal",()=>k,"PopoverTrigger",()=>R,"Portal",()=>k,"Root",()=>P,"Trigger",()=>R,"createPopoverScope",()=>b],89920);var B=e.i(89920),B=B,q=e.i(31777);let H=B.Root,W=B.Trigger;B.Anchor;let V=r.forwardRef(({className:e,align:r="center",sideOffset:n=4,...o},i)=>(0,t.jsx)(B.Portal,{children:(0,t.jsx)(B.Content,{ref:i,align:r,sideOffset:n,className:(0,q.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",e),...o})}));V.displayName=B.Content.displayName,e.s(["Popover",()=>H,"PopoverContent",()=>V,"PopoverTrigger",()=>W],90382)},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=i(e,n)),t&&(o.current=i(t,n))},[e,t])}function i(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)},47904,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:o,objectFit:i}){let a=r?40*r:e,s=n?40*n:t,l=a&&s?`viewBox='0 0 ${a} ${s}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${l}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${l?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${o}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},49261,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},81241,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return d}}),e.r(24270);let n=e.r(22193),o=e.r(47904),i=e.r(49261),a=["-moz-initial","fill","none","scale-down",void 0];function s(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:r=!1,priority:d=!1,preload:c=!1,loading:u,className:p,quality:f,width:g,height:m,fill:h=!1,style:v,overrideSrc:x,onLoad:y,onLoadingComplete:b,placeholder:j="empty",blurDataURL:w,fetchPriority:C,decoding:P="async",layout:_,objectFit:S,objectPosition:O,lazyBoundary:R,lazyRoot:N,...E},A){var k;let M,T,I,{imgConf:z,showAltText:F,blurComplete:D,defaultLoader:$}=A,L=z||i.imageConfigDefault;if("allSizes"in L)M=L;else{let e=[...L.deviceSizes,...L.imageSizes].sort((e,t)=>e-t),t=L.deviceSizes.sort((e,t)=>e-t),r=L.qualities?.sort((e,t)=>e-t);M={...L,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===$)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let G=E.loader||$;delete E.loader,delete E.srcSet;let U="__next_img_default"in G;if(U){if("custom"===M.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2
2
  Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=G;G=t=>{let{config:r,...n}=t;return e(n)}}if(_){"fill"===_&&(h=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[_];e&&(v={...v,...e});let r={responsive:"100vw",fill:"100vw"}[_];r&&!t&&(t=r)}let B="",q=l(g),H=l(m);if((k=e)&&"object"==typeof k&&(s(k)||void 0!==k.src)){let t=s(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(T=t.blurWidth,I=t.blurHeight,w=w||t.blurDataURL,B=t.src,!h)if(q||H){if(q&&!H){let e=q/t.width;H=Math.round(t.height*e)}else if(!q&&H){let e=H/t.height;q=Math.round(t.width*e)}}else q=t.width,H=t.height}let W=!d&&!c&&("lazy"===u||void 0===u);(!(e="string"==typeof e?e:B)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,W=!1),M.unoptimized&&(r=!0),U&&!M.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let V=l(f),X=Object.assign(h?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:S,objectPosition:O}:{},F?{}:{color:"transparent"},v),K=D||"empty"===j?null:"blur"===j?`url("data:image/svg+xml;charset=utf-8,${(0,o.getImageBlurSvg)({widthInt:q,heightInt:H,blurWidth:T,blurHeight:I,blurDataURL:w||"",objectFit:X.objectFit})}")`:`url("${j}")`,J=a.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,Q=K?{backgroundSize:J,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:K}:{},Y=function({config:e,src:t,unoptimized:r,width:o,quality:i,sizes:a,loader:s}){if(r){let e=(0,n.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:d}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,o=[];for(let e;e=r.exec(n);)o.push(parseInt(e[2]));if(o.length){let r=.01*Math.min(...o);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,o,a),c=l.length-1;return{sizes:a||"w"!==d?a:"100vw",srcSet:l.map((r,n)=>`${s({config:e,src:t,quality:i,width:r})} ${"w"===d?r:n+1}${d}`).join(", "),src:s({config:e,src:t,quality:i,width:l[c]})}}({config:M,src:e,unoptimized:r,width:q,quality:V,sizes:t,loader:G}),Z=W?"lazy":u;return{props:{...E,loading:Z,fetchPriority:C,width:q,height:H,decoding:P,className:p,style:{...X,...Q},sizes:Y.sizes,srcSet:Y.srcSet,src:x||Y.src},meta:{unoptimized:r,preload:c||d,placeholder:j,fill:h}}}},38820,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(79054),o="u"<typeof window,i=o?()=>{}:n.useLayoutEffect,a=o?()=>{}:n.useEffect;function s(e){let{headManager:t,reduceComponentsToState:r}=e;function s(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return o&&(t?.mountedInstances?.add(e.children),s()),i(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),i(()=>(t&&(t._pendingUpdate=s),()=>{t&&(t._pendingUpdate=s)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},79646,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},defaultHead:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(81258),a=e.r(44066),s=e.r(20314),l=a._(e.r(79054)),d=i._(e.r(38820)),c=e.r(84210);function u(){return[(0,s.jsx)("meta",{charSet:"utf-8"},"charset"),(0,s.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function p(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(24270);let f=["name","httpEquiv","charSet","itemProp"];function g(e){let t,r,n,o;return e.reduce(p,[]).reverse().concat(u().reverse()).filter((t=new Set,r=new Set,n=new Set,o={},e=>{let i=!0,a=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){a=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?i=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?i=!1:r.add(e.type);break;case"meta":for(let t=0,r=f.length;t<r;t++){let r=f[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?i=!1:n.add(r);else{let t=e.props[r],n=o[r]||new Set;("name"!==r||!a)&&n.has(t)?i=!1:(n.add(t),o[r]=n)}}}return i})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let m=function({children:e}){let t=(0,l.useContext)(c.HeadManagerContext);return(0,s.jsx)(d.default,{reduceComponentsToState:g,headManager: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)},5160,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let n=e.r(81258)._(e.r(79054)),o=e.r(49261),i=n.default.createContext(o.imageConfigDefault)},2880,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(81258)._(e.r(79054)).default.createContext(null)},36200,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},78200,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(36200),o=e.r(22193);function i({config:e,src:t,width:r,quality:i}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3
- Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let a=(0,n.findClosestQuality)(i,e),s=(0,o.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${a}${t.startsWith("/")&&s?`&dpl=${s}`:""}`}i.__next_img_default=!0;let a=i},81819,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return b}});let n=e.r(81258),o=e.r(44066),i=e.r(20314),a=o._(e.r(79054)),s=n._(e.r(26036)),l=n._(e.r(79646)),d=e.r(81241),c=e.r(49261),u=e.r(5160);e.r(24270);let p=e.r(2880),f=n._(e.r(78200)),g=e.r(80764),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,o,i,a){let s=e?.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&o(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,o=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>o,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{o=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function v(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let x=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:o,decoding:s,className:l,style:d,fetchPriority:c,placeholder:u,loading:p,unoptimized:f,fill:m,onLoadRef:x,onLoadingCompleteRef:y,setBlurComplete:b,setShowAltText:j,sizesInput:w,onLoad:C,onError:P,..._},S)=>{let O=(0,a.useCallback)(e=>{e&&(P&&(e.src=e.src),e.complete&&h(e,u,x,y,b,f,w))},[e,u,x,y,b,P,f,w]),R=(0,g.useMergedRef)(S,O);return(0,i.jsx)("img",{..._,...v(c),loading:p,width:o,height:n,decoding:s,"data-nimg":m?"fill":"1",className:l,style:d,sizes:r,srcSet:t,src:e,ref:R,onLoad:e=>{h(e.currentTarget,u,x,y,b,f,w)},onError:e=>{j(!0),"empty"!==u&&b(!0),P&&P(e)}})});function y({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...v(t.fetchPriority)};return e&&s.default.preload?(s.default.preload(t.src,r),null):(0,i.jsx)(l.default,{children:(0,i.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let b=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(p.RouterContext),n=(0,a.useContext)(u.ImageConfigContext),o=(0,a.useMemo)(()=>{let e=m||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),o=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:o,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:s,onLoadingComplete:l}=e,g=(0,a.useRef)(s);(0,a.useEffect)(()=>{g.current=s},[s]);let h=(0,a.useRef)(l);(0,a.useEffect)(()=>{h.current=l},[l]);let[v,b]=(0,a.useState)(!1),[j,w]=(0,a.useState)(!1),{props:C,meta:P}=(0,d.getImgProps)(e,{defaultLoader:f.default,imgConf:o,blurComplete:v,showAltText:j});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x,{...C,unoptimized:P.unoptimized,placeholder:P.placeholder,fill:P.fill,onLoadRef:g,onLoadingCompleteRef:h,setBlurComplete:b,setShowAltText:w,sizesInput:e.sizes,ref:t}),P.preload?(0,i.jsx)(y,{isAppRouter:!r,imgAttributes:C}):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)},78639,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(81258),a=e.r(81241),s=e.r(81819),l=i._(e.r(78200));function d(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=s.Image},98804,(e,t,r)=>{t.exports=e.r(78639)},86782,e=>{"use strict";var t=e.i(20314),r=e.i(98804),n=e.i(31777);function o(e,o){function i({className:i}){return(0,t.jsx)(r.default,{src:e,alt:o,width:24,height:24,className:(0,n.cn)("rounded-sm object-contain",i)})}return i.displayName=`BrandIcon(${o})`,i}function i(e){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor"})]})}function a({className:e,...r}){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:(0,n.cn)("h-6 w-6",e),...r,children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"dev-flask-grad",x1:"6",y1:"22",x2:"18",y2:"8",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:"#8B5CF6"}),(0,t.jsx)("stop",{offset:"50%",stopColor:"#EC4899"}),(0,t.jsx)("stop",{offset:"100%",stopColor:"#F59E0B"})]})}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",fill:"url(#dev-flask-grad)",opacity:"0.9"}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",stroke:"url(#dev-flask-grad)",strokeWidth:"1.5",fill:"none"}),(0,t.jsx)("circle",{cx:"10",cy:"14",r:"1.2",fill:"white",opacity:"0.7"}),(0,t.jsx)("circle",{cx:"13.5",cy:"16",r:"0.8",fill:"white",opacity:"0.5"}),(0,t.jsx)("circle",{cx:"11.5",cy:"17.5",r:"0.6",fill:"white",opacity:"0.4"}),(0,t.jsx)("path",{d:"M16 4l1-2 1 2-2 1 2 1-1 2-1-2-2-1z",fill:"#F59E0B"})]})}a.displayName="DevAgentIcon";let s={"claude-code":o("/icons/agents/claude-ai-icon.svg","Claude Code"),"codex-cli":o("/icons/agents/openai.svg","Codex CLI"),cursor:o("/icons/agents/cursor.jpeg","Cursor"),"gemini-cli":o("/icons/agents/gemini-cli.jpeg","Gemini CLI"),aider:o("/icons/agents/aider.png","Aider"),continue:o("/icons/agents/continue.jpeg","Continue"),dev:a};function l(e){return e&&e in s?s[e]:i}e.s(["agentTypeLabels",0,{"claude-code":"Claude Code","codex-cli":"Codex CLI",cursor:"Cursor","gemini-cli":"Gemini CLI",aider:"Aider",continue:"Continue",dev:"Demo"},"getAgentTypeIcon",()=>l])},29847,e=>{"use strict";let t={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},r={displayName:"",description:""};function n(e){let n=t[e];return n||{...r,displayName:e.replace(/^claude-/,"").replace(/^gemini-/,"Gemini ").replace(/^gpt-/,"GPT-").replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase())}}e.s(["getModelMeta",()=>n])},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)},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)},19155,22506,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("00c62f191d1de7fb99ec925f23d0f99d2133463df3",t.callServer,void 0,t.findSourceMapURL,"getAllAgentModels");e.s(["getAllAgentModels",()=>r],19155);let n=(0,t.createServerReference)("602dbf260c75d7bdb06d830bb133062b3e5c0ee692",t.callServer,void 0,t.findSourceMapURL,"updateAgentAndModel");e.s(["updateAgentAndModel",()=>n],22506)}]);
3
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let a=(0,n.findClosestQuality)(i,e),s=(0,o.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${a}${t.startsWith("/")&&s?`&dpl=${s}`:""}`}i.__next_img_default=!0;let a=i},81819,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return b}});let n=e.r(81258),o=e.r(44066),i=e.r(20314),a=o._(e.r(79054)),s=n._(e.r(26036)),l=n._(e.r(79646)),d=e.r(81241),c=e.r(49261),u=e.r(5160);e.r(24270);let p=e.r(2880),f=n._(e.r(78200)),g=e.r(80764),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,o,i,a){let s=e?.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&o(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,o=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>o,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{o=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function v(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let x=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:o,decoding:s,className:l,style:d,fetchPriority:c,placeholder:u,loading:p,unoptimized:f,fill:m,onLoadRef:x,onLoadingCompleteRef:y,setBlurComplete:b,setShowAltText:j,sizesInput:w,onLoad:C,onError:P,..._},S)=>{let O=(0,a.useCallback)(e=>{e&&(P&&(e.src=e.src),e.complete&&h(e,u,x,y,b,f,w))},[e,u,x,y,b,P,f,w]),R=(0,g.useMergedRef)(S,O);return(0,i.jsx)("img",{..._,...v(c),loading:p,width:o,height:n,decoding:s,"data-nimg":m?"fill":"1",className:l,style:d,sizes:r,srcSet:t,src:e,ref:R,onLoad:e=>{h(e.currentTarget,u,x,y,b,f,w)},onError:e=>{j(!0),"empty"!==u&&b(!0),P&&P(e)}})});function y({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...v(t.fetchPriority)};return e&&s.default.preload?(s.default.preload(t.src,r),null):(0,i.jsx)(l.default,{children:(0,i.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let b=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(p.RouterContext),n=(0,a.useContext)(u.ImageConfigContext),o=(0,a.useMemo)(()=>{let e=m||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),o=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:o,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:s,onLoadingComplete:l}=e,g=(0,a.useRef)(s);(0,a.useEffect)(()=>{g.current=s},[s]);let h=(0,a.useRef)(l);(0,a.useEffect)(()=>{h.current=l},[l]);let[v,b]=(0,a.useState)(!1),[j,w]=(0,a.useState)(!1),{props:C,meta:P}=(0,d.getImgProps)(e,{defaultLoader:f.default,imgConf:o,blurComplete:v,showAltText:j});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x,{...C,unoptimized:P.unoptimized,placeholder:P.placeholder,fill:P.fill,onLoadRef:g,onLoadingCompleteRef:h,setBlurComplete:b,setShowAltText:w,sizesInput:e.sizes,ref:t}),P.preload?(0,i.jsx)(y,{isAppRouter:!r,imgAttributes:C}):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)},78639,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(81258),a=e.r(81241),s=e.r(81819),l=i._(e.r(78200));function d(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=s.Image},98804,(e,t,r)=>{t.exports=e.r(78639)},86782,e=>{"use strict";var t=e.i(20314),r=e.i(98804),n=e.i(31777);function o(e,o){function i({className:i}){return(0,t.jsx)(r.default,{src:e,alt:o,width:24,height:24,className:(0,n.cn)("rounded-sm object-contain",i)})}return i.displayName=`BrandIcon(${o})`,i}function i(e){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor"})]})}function a({className:e,...r}){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:(0,n.cn)("h-6 w-6",e),...r,children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"dev-flask-grad",x1:"6",y1:"22",x2:"18",y2:"8",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:"#8B5CF6"}),(0,t.jsx)("stop",{offset:"50%",stopColor:"#EC4899"}),(0,t.jsx)("stop",{offset:"100%",stopColor:"#F59E0B"})]})}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",fill:"url(#dev-flask-grad)",opacity:"0.9"}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",stroke:"url(#dev-flask-grad)",strokeWidth:"1.5",fill:"none"}),(0,t.jsx)("circle",{cx:"10",cy:"14",r:"1.2",fill:"white",opacity:"0.7"}),(0,t.jsx)("circle",{cx:"13.5",cy:"16",r:"0.8",fill:"white",opacity:"0.5"}),(0,t.jsx)("circle",{cx:"11.5",cy:"17.5",r:"0.6",fill:"white",opacity:"0.4"}),(0,t.jsx)("path",{d:"M16 4l1-2 1 2-2 1 2 1-1 2-1-2-2-1z",fill:"#F59E0B"})]})}a.displayName="DevAgentIcon";let s={"claude-code":o("/icons/agents/claude-ai-icon.svg","Claude Code"),"codex-cli":o("/icons/agents/openai.svg","Codex CLI"),cursor:o("/icons/agents/cursor.jpeg","Cursor"),"gemini-cli":o("/icons/agents/gemini-cli.jpeg","Gemini CLI"),aider:o("/icons/agents/aider.png","Aider"),continue:o("/icons/agents/continue.jpeg","Continue"),dev:a};function l(e){return e&&e in s?s[e]:i}e.s(["agentTypeLabels",0,{"claude-code":"Claude Code","codex-cli":"Codex CLI",cursor:"Cursor","gemini-cli":"Gemini CLI",aider:"Aider",continue:"Continue",dev:"Demo"},"getAgentTypeIcon",()=>l])},29847,e=>{"use strict";let t={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},r={displayName:"",description:""};function n(e){let n=t[e];return n||{...r,displayName:e.replace(/^claude-/,"").replace(/^gemini-/,"Gemini ").replace(/^gpt-/,"GPT-").replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase())}}e.s(["getModelMeta",()=>n])},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)},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)},18629,37207,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("001fee3b69262bdbcbf7f1a62c9b7404a8dadf06b8",t.callServer,void 0,t.findSourceMapURL,"getAllAgentModels");e.s(["getAllAgentModels",()=>r],18629);let n=(0,t.createServerReference)("60a72456a0138559f944bcc36c735986c85cf9580c",t.callServer,void 0,t.findSourceMapURL,"updateAgentAndModel");e.s(["updateAgentAndModel",()=>n],37207)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83843,e=>{"use strict";let a=(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"}]]);e.s(["ChevronsUpDown",()=>a],83843)},36479,e=>{"use strict";var a=e.i(20314),t=e.i(79054),s=e.i(31406),r=e.i(60112),o=e.i(21023);let n=(0,o.createServerReference)("402b7c919460ba172a4604d14262c20b338442ee67",o.callServer,void 0,o.findSourceMapURL,"adoptBranch"),l=(0,o.createServerReference)("40cce34727400e36bdac38b2cc2d6b81d37963002c",o.callServer,void 0,o.findSourceMapURL,"listBranches");var c=e.i(23925),i=e.i(97667),d=e.i(83843),p=e.i(49228),h=e.i(83428);e.i(1650);var u=e.i(11495),m=e.i(45811),x=e.i(35364),f=e.i(98127),b=e.i(41957),v=e.i(66459),g=e.i(31777);let j=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));j.displayName="Command";let w=t.forwardRef(({className:e,...t},s)=>(0,a.jsxs)("div",{className:"flex items-center border-b px-3",children:[(0,a.jsx)(v.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,a.jsx)("input",{ref:s,className:(0,g.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));w.displayName="CommandInput";let N=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));N.displayName="CommandList";let y=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-muted-foreground py-6 text-center text-sm",e),...t}));y.displayName="CommandEmpty";let C=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-foreground overflow-hidden p-1",e),...t}));C.displayName="CommandGroup";let S=t.forwardRef(({className:e,selected:t,...s},r)=>(0,a.jsx)("button",{ref:r,type:"button","data-selected":t,className:(0,g.cn)("relative flex w-full cursor-default items-center rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none","hover:bg-accent hover:text-accent-foreground","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50",e),...s}));S.displayName="CommandItem",t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-border -mx-1 h-px",e),...t})).displayName="CommandSeparator";var k=e.i(90382);function R({open:e,onClose:s,onSubmit:r,isSubmitting:o=!1,error:n,repositories:l=[],selectedRepositoryPath:v,onRepositoryChange:R,branches:L=[],branchesLoading:B=!1}){let[P,E]=(0,t.useState)(""),[D,T]=(0,t.useState)(!1),[U,A]=(0,t.useState)(""),I=(0,t.useRef)(null),[O,F]=(0,t.useState)(!1),[G,K]=(0,t.useState)(""),M=(0,t.useRef)(null),$=l.find(e=>e.path===v),z=!!v;(0,t.useEffect)(()=>{e||(E(""),A(""),T(!1),F(!1),K(""))},[e]),(0,t.useEffect)(()=>{E(""),A("")},[v]);let W=(0,t.useCallback)(e=>{e.preventDefault();let a=P.trim();a&&v&&!o&&r(a,v)},[P,v,o,r]),q=(0,t.useCallback)(()=>{E(""),A(""),s()},[s]),H=(0,t.useCallback)(e=>{E(e),A(e),T(!1)},[]),J=(0,t.useCallback)(e=>{A(e.target.value),D||T(!0)},[D]),Q=(0,t.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let a=U.trim();a&&(E(a),T(!1))}"Escape"===e.key&&(T(!1),A(P))},[U,P]),V=(0,t.useCallback)(e=>{R?.(e),F(!1),K("")},[R]),X=L.filter(e=>e.toLowerCase().includes(U.toLowerCase())),Y=G.trim()?l.filter(e=>e.name.toLowerCase().includes(G.toLowerCase())||e.path.toLowerCase().includes(G.toLowerCase())):l;(0,t.useEffect)(()=>{O?setTimeout(()=>M.current?.focus(),0):K("")},[O]);let Z=!P.trim()||!v||o,_=(0,a.jsxs)("div",{children:[(0,a.jsxs)(m.DrawerTitle,{className:"flex items-center gap-2",children:[(0,a.jsx)(p.GitBranch,{className:"h-4 w-4"}),"Adopt Branch"]}),(0,a.jsx)(m.DrawerDescription,{className:"text-muted-foreground text-sm",children:"Import an existing git branch into Shep's feature tracking"})]});return(0,a.jsx)(u.BaseDrawer,{open:e,onClose:q,size:"sm",modal:!1,header:_,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:W,className:"flex flex-1 flex-col",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{children:"Repository"}),(0,a.jsxs)(k.Popover,{open:O,onOpenChange:F,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",role:"combobox","aria-expanded":O,"aria-label":"Repository",disabled:o,"data-testid":"adopt-repo-combobox",className:(0,g.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",!$&&"text-muted-foreground"),children:[(0,a.jsx)("span",{className:"truncate",children:$?$.name:"Select repository..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"adopt-repo-combobox-content",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("div",{className:"border-b p-2",children:(0,a.jsx)(f.Input,{ref:M,placeholder:"Search repositories...",value:G,onChange:e=>K(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"adopt-repo-search"})}),(0,a.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===Y.length?(0,a.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No repositories found."}):Y.map(e=>(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":v===e.path,onClick:()=>V(e.path),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",v===e.path&&"bg-accent/50"),"data-testid":`adopt-repo-option-${e.id}`,children:[(0,a.jsx)(i.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",v!==e.path&&"invisible")}),(0,a.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,a.jsx)("span",{className:"truncate",children:e.name}),(0,a.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:"Select the repository that contains the branch you want to adopt."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{htmlFor:"branch-name",children:"Branch name"}),(0,a.jsxs)(k.Popover,{open:D,onOpenChange:T,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(x.Button,{variant:"outline",role:"combobox","aria-expanded":D,disabled:o||!z,className:"w-full justify-between font-normal","data-testid":"adopt-branch-input",children:[(0,a.jsx)("span",{className:"truncate",children:z?B?"Loading branches...":P||"Select a branch...":"Select a repository first..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:(0,a.jsxs)(j,{children:[(0,a.jsx)(w,{ref:I,placeholder:"Search branches...",value:U,onChange:J,onKeyDown:Q,"data-testid":"adopt-branch-search"}),(0,a.jsxs)(N,{children:[!B&&0===X.length&&(0,a.jsx)(y,{children:0===L.length?"No branches found.":U?"No match — press Enter to use this value.":"No branches available."}),B?(0,a.jsx)(y,{children:(0,a.jsx)(h.Loader2,{className:"mx-auto h-4 w-4 animate-spin"})}):null,X.length>0&&(0,a.jsx)(C,{children:X.map(e=>(0,a.jsxs)(S,{selected:e===P,onClick:()=>H(e),children:[(0,a.jsx)(c.Check,{className:(0,g.cn)("mr-2 h-4 w-4",e===P?"opacity-100":"opacity-0")}),(0,a.jsx)(p.GitBranch,{className:"mr-2 h-3 w-3 opacity-50"}),e]},e))})]})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:z?"Select a branch from the dropdown or type to search. Local and remote branches are shown.":"Please select a repository above to see available branches."})]}),n?(0,a.jsx)("p",{className:"text-destructive text-sm","data-testid":"adopt-branch-error",children:n}):null]})}),(0,a.jsx)("div",{className:"border-t p-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(x.Button,{type:"button",variant:"outline",onClick:q,disabled:o,className:"flex-1",children:"Cancel"}),(0,a.jsx)(x.Button,{type:"submit",disabled:Z,className:"flex-1","data-testid":"adopt-branch-submit",children:o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function L({repositoryPath:e,repositories:o}){let c=(0,s.useRouter)(),i=(0,s.usePathname)(),[d,p]=(0,t.useState)(!1),[h,u]=(0,t.useState)(),[m,x]=(0,t.useState)([]),[f,b]=(0,t.useState)(!1),[v,g]=(0,t.useState)(e),j=i.startsWith("/adopt"),w=!d&&j;(0,t.useEffect)(()=>{!j&&d&&p(!1)},[j,d]),(0,t.useEffect)(()=>{j&&(u(void 0),g(e))},[j,e]),(0,t.useEffect)(()=>{j&&v?(b(!0),x([]),l(v).then(x).catch(()=>x([])).finally(()=>b(!1))):x([])},[j,v]);let N=(0,t.useCallback)(()=>{c.push("/")},[c]),y=(0,t.useCallback)(e=>{g(e)},[]),C=(0,t.useCallback)((e,a)=>{u(void 0),p(!0),c.push("/"),n({branchName:e,repositoryPath:a}).then(e=>{e.error?r.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:e.feature.id,name:e.feature.name,description:e.feature.description,repositoryPath:e.feature.repositoryPath}})),r.toast.success(`Branch adopted as "${e.feature.name}"`))}).catch(()=>{r.toast.error("Failed to adopt branch"),p(!1)})},[c]);return(0,a.jsx)(R,{open:w,onClose:N,onSubmit:C,isSubmitting:d,error:h,repositories:o,selectedRepositoryPath:v,onRepositoryChange:y,branches:m,branchesLoading:f})}e.s(["AdoptDrawerClient",()=>L],36479)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83843,e=>{"use strict";let a=(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"}]]);e.s(["ChevronsUpDown",()=>a],83843)},36479,e=>{"use strict";var a=e.i(20314),t=e.i(79054),s=e.i(31406),r=e.i(60112),o=e.i(21023);let n=(0,o.createServerReference)("409405744b18bfa2cab9533d49c27c729f3b6bed21",o.callServer,void 0,o.findSourceMapURL,"adoptBranch"),l=(0,o.createServerReference)("40d6bfb3d5cb3e3c94d52b6c2c1093899c14a6d16c",o.callServer,void 0,o.findSourceMapURL,"listBranches");var c=e.i(23925),i=e.i(97667),d=e.i(83843),p=e.i(49228),h=e.i(83428);e.i(1650);var u=e.i(11495),m=e.i(45811),x=e.i(35364),f=e.i(98127),b=e.i(41957),v=e.i(66459),g=e.i(31777);let j=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));j.displayName="Command";let w=t.forwardRef(({className:e,...t},s)=>(0,a.jsxs)("div",{className:"flex items-center border-b px-3",children:[(0,a.jsx)(v.Search,{className:"me-2 h-4 w-4 shrink-0 opacity-50"}),(0,a.jsx)("input",{ref:s,className:(0,g.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));w.displayName="CommandInput";let N=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));N.displayName="CommandList";let y=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-muted-foreground py-6 text-center text-sm",e),...t}));y.displayName="CommandEmpty";let C=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-foreground overflow-hidden p-1",e),...t}));C.displayName="CommandGroup";let S=t.forwardRef(({className:e,selected:t,...s},r)=>(0,a.jsx)("button",{ref:r,type:"button","data-selected":t,className:(0,g.cn)("relative flex w-full cursor-default items-center rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none","hover:bg-accent hover:text-accent-foreground","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50",e),...s}));S.displayName="CommandItem",t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-border -mx-1 h-px",e),...t})).displayName="CommandSeparator";var k=e.i(90382);function R({open:e,onClose:s,onSubmit:r,isSubmitting:o=!1,error:n,repositories:l=[],selectedRepositoryPath:v,onRepositoryChange:R,branches:L=[],branchesLoading:B=!1}){let[P,E]=(0,t.useState)(""),[D,T]=(0,t.useState)(!1),[U,A]=(0,t.useState)(""),I=(0,t.useRef)(null),[O,F]=(0,t.useState)(!1),[G,K]=(0,t.useState)(""),M=(0,t.useRef)(null),$=l.find(e=>e.path===v),z=!!v;(0,t.useEffect)(()=>{e||(E(""),A(""),T(!1),F(!1),K(""))},[e]),(0,t.useEffect)(()=>{E(""),A("")},[v]);let W=(0,t.useCallback)(e=>{e.preventDefault();let a=P.trim();a&&v&&!o&&r(a,v)},[P,v,o,r]),q=(0,t.useCallback)(()=>{E(""),A(""),s()},[s]),H=(0,t.useCallback)(e=>{E(e),A(e),T(!1)},[]),J=(0,t.useCallback)(e=>{A(e.target.value),D||T(!0)},[D]),Q=(0,t.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let a=U.trim();a&&(E(a),T(!1))}"Escape"===e.key&&(T(!1),A(P))},[U,P]),V=(0,t.useCallback)(e=>{R?.(e),F(!1),K("")},[R]),X=L.filter(e=>e.toLowerCase().includes(U.toLowerCase())),Y=G.trim()?l.filter(e=>e.name.toLowerCase().includes(G.toLowerCase())||e.path.toLowerCase().includes(G.toLowerCase())):l;(0,t.useEffect)(()=>{O?setTimeout(()=>M.current?.focus(),0):K("")},[O]);let Z=!P.trim()||!v||o,_=(0,a.jsxs)("div",{children:[(0,a.jsxs)(m.DrawerTitle,{className:"flex items-center gap-2",children:[(0,a.jsx)(p.GitBranch,{className:"h-4 w-4"}),"Adopt Branch"]}),(0,a.jsx)(m.DrawerDescription,{className:"text-muted-foreground text-sm",children:"Import an existing git branch into Shep's feature tracking"})]});return(0,a.jsx)(u.BaseDrawer,{open:e,onClose:q,size:"sm",modal:!1,header:_,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:W,className:"flex flex-1 flex-col",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{children:"Repository"}),(0,a.jsxs)(k.Popover,{open:O,onOpenChange:F,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",role:"combobox","aria-expanded":O,"aria-label":"Repository",disabled:o,"data-testid":"adopt-repo-combobox",className:(0,g.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",!$&&"text-muted-foreground"),children:[(0,a.jsx)("span",{className:"truncate",children:$?$.name:"Select repository..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"adopt-repo-combobox-content",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("div",{className:"border-b p-2",children:(0,a.jsx)(f.Input,{ref:M,placeholder:"Search repositories...",value:G,onChange:e=>K(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"adopt-repo-search"})}),(0,a.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===Y.length?(0,a.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No repositories found."}):Y.map(e=>(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":v===e.path,onClick:()=>V(e.path),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",v===e.path&&"bg-accent/50"),"data-testid":`adopt-repo-option-${e.id}`,children:[(0,a.jsx)(i.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",v!==e.path&&"invisible")}),(0,a.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,a.jsx)("span",{className:"truncate",children:e.name}),(0,a.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:"Select the repository that contains the branch you want to adopt."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{htmlFor:"branch-name",children:"Branch name"}),(0,a.jsxs)(k.Popover,{open:D,onOpenChange:T,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(x.Button,{variant:"outline",role:"combobox","aria-expanded":D,disabled:o||!z,className:"w-full justify-between font-normal","data-testid":"adopt-branch-input",children:[(0,a.jsx)("span",{className:"truncate",children:z?B?"Loading branches...":P||"Select a branch...":"Select a repository first..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:(0,a.jsxs)(j,{children:[(0,a.jsx)(w,{ref:I,placeholder:"Search branches...",value:U,onChange:J,onKeyDown:Q,"data-testid":"adopt-branch-search"}),(0,a.jsxs)(N,{children:[!B&&0===X.length&&(0,a.jsx)(y,{children:0===L.length?"No branches found.":U?"No match — press Enter to use this value.":"No branches available."}),B?(0,a.jsx)(y,{children:(0,a.jsx)(h.Loader2,{className:"mx-auto h-4 w-4 animate-spin"})}):null,X.length>0&&(0,a.jsx)(C,{children:X.map(e=>(0,a.jsxs)(S,{selected:e===P,onClick:()=>H(e),children:[(0,a.jsx)(c.Check,{className:(0,g.cn)("me-2 h-4 w-4",e===P?"opacity-100":"opacity-0")}),(0,a.jsx)(p.GitBranch,{className:"me-2 h-3 w-3 opacity-50"}),e]},e))})]})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:z?"Select a branch from the dropdown or type to search. Local and remote branches are shown.":"Please select a repository above to see available branches."})]}),n?(0,a.jsx)("p",{className:"text-destructive text-sm","data-testid":"adopt-branch-error",children:n}):null]})}),(0,a.jsx)("div",{className:"border-t p-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(x.Button,{type:"button",variant:"outline",onClick:q,disabled:o,className:"flex-1",children:"Cancel"}),(0,a.jsx)(x.Button,{type:"submit",disabled:Z,className:"flex-1","data-testid":"adopt-branch-submit",children:o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function L({repositoryPath:e,repositories:o}){let c=(0,s.useRouter)(),i=(0,s.usePathname)(),[d,p]=(0,t.useState)(!1),[h,u]=(0,t.useState)(),[m,x]=(0,t.useState)([]),[f,b]=(0,t.useState)(!1),[v,g]=(0,t.useState)(e),j=i.startsWith("/adopt"),w=!d&&j;(0,t.useEffect)(()=>{!j&&d&&p(!1)},[j,d]),(0,t.useEffect)(()=>{j&&(u(void 0),g(e))},[j,e]),(0,t.useEffect)(()=>{j&&v?(b(!0),x([]),l(v).then(x).catch(()=>x([])).finally(()=>b(!1))):x([])},[j,v]);let N=(0,t.useCallback)(()=>{c.push("/")},[c]),y=(0,t.useCallback)(e=>{g(e)},[]),C=(0,t.useCallback)((e,a)=>{u(void 0),p(!0),c.push("/"),n({branchName:e,repositoryPath:a}).then(e=>{e.error?r.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:e.feature.id,name:e.feature.name,description:e.feature.description,repositoryPath:e.feature.repositoryPath}})),r.toast.success(`Branch adopted as "${e.feature.name}"`))}).catch(()=>{r.toast.error("Failed to adopt branch"),p(!1)})},[c]);return(0,a.jsx)(R,{open:w,onClose:N,onSubmit:C,isSubmitting:d,error:h,repositories:o,selectedRepositoryPath:v,onRepositoryChange:y,branches:m,branchesLoading:f})}e.s(["AdoptDrawerClient",()=>L],36479)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,76852,e=>{"use strict";var t=e.i(79054),r=e.i(92805),l=e.i(18150),a=e.i(23577),c=e.i(21023);let s=(0,c.createServerReference)("40d0911ef39e4066c196bfc34e003cea5a41a084bc",c.callServer,void 0,c.findSourceMapURL,"syncRepository");function u(e){let[c,u]=(0,t.useState)(!1),[i,n]=(0,t.useState)(!1),[o,d]=(0,t.useState)(!1),[p,f]=(0,t.useState)(!1),[h,y]=(0,t.useState)(null),[m,v]=(0,t.useState)(null),[k,S]=(0,t.useState)(null),[b,x]=(0,t.useState)(null),R=(0,t.useRef)(null),M=(0,t.useRef)(null),g=(0,t.useRef)(null),C=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{R.current&&clearTimeout(R.current),M.current&&clearTimeout(M.current),g.current&&clearTimeout(g.current),C.current&&clearTimeout(C.current)},[]);let T=(0,t.useCallback)(async(t,r,l,a,c)=>{if(e&&!c){a.current&&clearTimeout(a.current),r(!0),l(null);try{let e=await t();if(!e.success){let t=e.error??"An unexpected error occurred";l(t),a.current=setTimeout(()=>l(null),5e3)}}catch(e){l(e instanceof Error?e.message:"An unexpected error occurred"),a.current=setTimeout(()=>l(null),5e3)}finally{r(!1)}}},[e]);return{openInIde:(0,t.useCallback)(()=>T(()=>(0,r.openIde)({repositoryPath:e.repositoryPath}),u,y,R,c),[T,c,e]),openInShell:(0,t.useCallback)(()=>T(()=>(0,l.openShell)({repositoryPath:e.repositoryPath}),n,v,M,i),[T,i,e]),openFolder:(0,t.useCallback)(()=>T(()=>(0,a.openFolder)(e.repositoryPath),d,S,g,o),[T,o,e]),syncMain:(0,t.useCallback)(()=>T(()=>s(e.repositoryId??""),f,x,C,p),[T,p,e]),ideLoading:c,shellLoading:i,folderLoading:o,syncLoading:p,ideError:h,shellError:m,folderError:k,syncError:b}}e.s(["useRepositoryActions",()=>u],76852)},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)},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)},8986,92805,18150,23577,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);var r=e.i(21023);let l=(0,r.createServerReference)("408bb24c03912ed5af64de63575fb529e06903d98c",r.callServer,void 0,r.findSourceMapURL,"openIde");e.s(["openIde",()=>l],92805);let a=(0,r.createServerReference)("40447c8f9de660af846e0498899d5e55c48d5a73ff",r.callServer,void 0,r.findSourceMapURL,"openShell");e.s(["openShell",()=>a],18150);let c=(0,r.createServerReference)("40baea70301d4830b86b1ddb5e4ee0032b458668b0",r.callServer,void 0,r.findSourceMapURL,"openFolder");e.s(["openFolder",()=>c],23577)},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])},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])},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)},10714,e=>{"use strict";let t=(0,e.i(3645).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>t])},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 r=e.i(80986);e.s(["CheckCircle2",()=>r.default],35e3)},54793,7729,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function l({icon:e,title:l,description:a,action:c,className:s,...u}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",s),...u,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:l}),a?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,c?(0,t.jsx)("div",{className:"mt-2",children:c}):null]})}e.s(["EmptyState",()=>l],7729),e.s([],54793)},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)},87828,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("40ca972c0d3b4380c3682378ffcc344c71b5cf39f2",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",()=>r])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,76852,e=>{"use strict";var t=e.i(79054),r=e.i(34287),a=e.i(52459),l=e.i(49384),c=e.i(21023);let s=(0,c.createServerReference)("40b6a1dd936f2959c8360e8842c9a409a2f6f8dbe1",c.callServer,void 0,c.findSourceMapURL,"syncRepository");function u(e){let[c,u]=(0,t.useState)(!1),[i,n]=(0,t.useState)(!1),[d,o]=(0,t.useState)(!1),[p,f]=(0,t.useState)(!1),[h,y]=(0,t.useState)(null),[m,v]=(0,t.useState)(null),[k,b]=(0,t.useState)(null),[S,x]=(0,t.useState)(null),R=(0,t.useRef)(null),M=(0,t.useRef)(null),g=(0,t.useRef)(null),C=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{R.current&&clearTimeout(R.current),M.current&&clearTimeout(M.current),g.current&&clearTimeout(g.current),C.current&&clearTimeout(C.current)},[]);let T=(0,t.useCallback)(async(t,r,a,l,c)=>{if(e&&!c){l.current&&clearTimeout(l.current),r(!0),a(null);try{let e=await t();if(!e.success){let t=e.error??"An unexpected error occurred";a(t),l.current=setTimeout(()=>a(null),5e3)}}catch(e){a(e instanceof Error?e.message:"An unexpected error occurred"),l.current=setTimeout(()=>a(null),5e3)}finally{r(!1)}}},[e]);return{openInIde:(0,t.useCallback)(()=>T(()=>(0,r.openIde)({repositoryPath:e.repositoryPath}),u,y,R,c),[T,c,e]),openInShell:(0,t.useCallback)(()=>T(()=>(0,a.openShell)({repositoryPath:e.repositoryPath}),n,v,M,i),[T,i,e]),openFolder:(0,t.useCallback)(()=>T(()=>(0,l.openFolder)(e.repositoryPath),o,b,g,d),[T,d,e]),syncMain:(0,t.useCallback)(()=>T(()=>s(e.repositoryId??""),f,x,C,p),[T,p,e]),ideLoading:c,shellLoading:i,folderLoading:d,syncLoading:p,ideError:h,shellError:m,folderError:k,syncError:S}}e.s(["useRepositoryActions",()=>u],76852)},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)},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)},8986,34287,52459,49384,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);var r=e.i(21023);let a=(0,r.createServerReference)("401949cfd1212dd18f60229b8fa29e7e4070bb55b3",r.callServer,void 0,r.findSourceMapURL,"openIde");e.s(["openIde",()=>a],34287);let l=(0,r.createServerReference)("405006743d933634b5fd373277517850294925f1e9",r.callServer,void 0,r.findSourceMapURL,"openShell");e.s(["openShell",()=>l],52459);let c=(0,r.createServerReference)("40cf1a2bc0021149b94ed86c3dd8bd832188a738aa",r.callServer,void 0,r.findSourceMapURL,"openFolder");e.s(["openFolder",()=>c],49384)},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])},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])},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)},10714,e=>{"use strict";let t=(0,e.i(3645).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>t])},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 r=e.i(80986);e.s(["CheckCircle2",()=>r.default],35e3)},54793,7729,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function a({icon:e,title:a,description:l,action:c,className:s,...u}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",s),...u,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:a}),l?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:l}):null,c?(0,t.jsx)("div",{className:"mt-2",children:c}):null]})}e.s(["EmptyState",()=>a],7729),e.s([],54793)},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)},7038,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("40d9f138efc4c6574f0a0fb74bb2c89cbba8b9274a",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",()=>r])}]);
@@ -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),r=e.i(79054),a=e.i(31406),n=e.i(57638),i=e.i(3645);let s=(0,i.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"}]]),o=(0,i.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"}]]),l=(0,i.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"}]]),c=(0,i.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"}]]),u=(0,i.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 d=e.i(81975),h=e.i(12103);let p=(0,i.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"}]]);e.i(41001);var f=e.i(64780),m=e.i(87620),g=e.i(85995),v=e.i(22528),x=e.i(5978),b=e.i(29297),y=e.i(66033),w=e.i(5192),C=e.i(27069),j=e.i(91967),S="ScrollArea",[k,N]=(0,v.createContextScope)(S),[E,T]=k(S),M=r.forwardRef((e,a)=>{let{__scopeScrollArea:n,type:i="hover",dir:s,scrollHideDelay:o=600,...l}=e,[c,u]=r.useState(null),[d,h]=r.useState(null),[p,f]=r.useState(null),[g,v]=r.useState(null),[b,w]=r.useState(null),[C,j]=r.useState(0),[S,k]=r.useState(0),[N,T]=r.useState(!1),[M,P]=r.useState(!1),A=(0,x.useComposedRefs)(a,e=>u(e)),R=(0,y.useDirection)(s);return(0,t.jsx)(E,{scope:n,type:i,dir:R,scrollHideDelay:o,scrollArea:c,viewport:d,onViewportChange:h,content:p,onContentChange:f,scrollbarX:g,onScrollbarXChange:v,scrollbarXEnabled:N,onScrollbarXEnabledChange:T,scrollbarY:b,onScrollbarYChange:w,scrollbarYEnabled:M,onScrollbarYEnabledChange:P,onCornerWidthChange:j,onCornerHeightChange:k,children:(0,t.jsx)(m.Primitive.div,{dir:R,...l,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":C+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});M.displayName=S;var P="ScrollAreaViewport",A=r.forwardRef((e,a)=>{let{__scopeScrollArea:n,children:i,nonce:s,...o}=e,l=T(P,n),c=r.useRef(null),u=(0,x.useComposedRefs)(a,c,l.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)(m.Primitive.div,{"data-radix-scroll-area-viewport":"",...o,ref:u,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:l.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})});A.displayName=P;var R="ScrollAreaScrollbar",L=r.forwardRef((e,a)=>{let{forceMount:n,...i}=e,s=T(R,e.__scopeScrollArea),{onScrollbarXEnabledChange:o,onScrollbarYEnabledChange:l}=s,c="horizontal"===e.orientation;return r.useEffect(()=>(c?o(!0):l(!0),()=>{c?o(!1):l(!1)}),[c,o,l]),"hover"===s.type?(0,t.jsx)(D,{...i,ref:a,forceMount:n}):"scroll"===s.type?(0,t.jsx)(O,{...i,ref:a,forceMount:n}):"auto"===s.type?(0,t.jsx)(q,{...i,ref:a,forceMount:n}):"always"===s.type?(0,t.jsx)(z,{...i,ref:a}):null});L.displayName=R;var D=r.forwardRef((e,a)=>{let{forceMount:n,...i}=e,s=T(R,e.__scopeScrollArea),[o,l]=r.useState(!1);return r.useEffect(()=>{let e=s.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),l(!0)},a=()=>{t=window.setTimeout(()=>l(!1),s.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",a),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",a)}}},[s.scrollArea,s.scrollHideDelay]),(0,t.jsx)(g.Presence,{present:n||o,children:(0,t.jsx)(q,{"data-state":o?"visible":"hidden",...i,ref:a})})}),O=r.forwardRef((e,a)=>{var n;let{forceMount:i,...s}=e,o=T(R,e.__scopeScrollArea),l="horizontal"===e.orientation,c=et(()=>d("SCROLL_END"),100),[u,d]=(n={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)=>n[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===u){let e=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(e)}},[u,o.scrollHideDelay,d]),r.useEffect(()=>{let e=o.viewport,t=l?"scrollLeft":"scrollTop";if(e){let r=e[t],a=()=>{let a=e[t];r!==a&&(d("SCROLL"),c()),r=a};return e.addEventListener("scroll",a),()=>e.removeEventListener("scroll",a)}},[o.viewport,l,d,c]),(0,t.jsx)(g.Presence,{present:i||"hidden"!==u,children:(0,t.jsx)(z,{"data-state":"hidden"===u?"hidden":"visible",...s,ref:a,onPointerEnter:(0,j.composeEventHandlers)(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:(0,j.composeEventHandlers)(e.onPointerLeave,()=>d("POINTER_LEAVE"))})})}),q=r.forwardRef((e,a)=>{let n=T(R,e.__scopeScrollArea),{forceMount:i,...s}=e,[o,l]=r.useState(!1),c="horizontal"===e.orientation,u=et(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;l(c?e:t)}},10);return er(n.viewport,u),er(n.content,u),(0,t.jsx)(g.Presence,{present:i||o,children:(0,t.jsx)(z,{"data-state":o?"visible":"hidden",...s,ref:a})})}),z=r.forwardRef((e,a)=>{let{orientation:n="vertical",...i}=e,s=T(R,e.__scopeScrollArea),o=r.useRef(null),l=r.useRef(0),[c,u]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=G(c.viewport,c.content),h={...i,sizes:c,onSizesChange:u,hasThumb:!!(d>0&&d<1),onThumbChange:e=>o.current=e,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:e=>l.current=e};function p(e,t){return function(e,t,r,a="ltr"){let n=V(r),i=t||n/2,s=r.scrollbar.paddingStart+i,o=r.scrollbar.size-r.scrollbar.paddingEnd-(n-i),l=r.content-r.viewport;return J([s,o],"ltr"===a?[0,l]:[-1*l,0])(e)}(e,l.current,c,t)}return"horizontal"===n?(0,t.jsx)(I,{...h,ref:a,onThumbPositionChange:()=>{if(s.viewport&&o.current){let e=Z(s.viewport.scrollLeft,c,s.dir);o.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollLeft=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollLeft=p(e,s.dir))}}):"vertical"===n?(0,t.jsx)(H,{...h,ref:a,onThumbPositionChange:()=>{if(s.viewport&&o.current){let e=Z(s.viewport.scrollTop,c);o.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollTop=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollTop=p(e))}}):null}),I=r.forwardRef((e,a)=>{let{sizes:n,onSizesChange:i,...s}=e,o=T(R,e.__scopeScrollArea),[l,c]=r.useState(),u=r.useRef(null),d=(0,x.useComposedRefs)(a,u,o.onScrollbarXChange);return r.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),(0,t.jsx)(F,{"data-orientation":"horizontal",...s,ref:d,sizes:n,style:{bottom:0,left:"rtl"===o.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===o.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":V(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(o.viewport){var a,n;let i=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(i),a=i,n=r,a>0&&a<n&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&l&&i({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:$(l.paddingLeft),paddingEnd:$(l.paddingRight)}})}})}),H=r.forwardRef((e,a)=>{let{sizes:n,onSizesChange:i,...s}=e,o=T(R,e.__scopeScrollArea),[l,c]=r.useState(),u=r.useRef(null),d=(0,x.useComposedRefs)(a,u,o.onScrollbarYChange);return r.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),(0,t.jsx)(F,{"data-orientation":"vertical",...s,ref:d,sizes:n,style:{top:0,right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":V(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(o.viewport){var a,n;let i=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(i),a=i,n=r,a>0&&a<n&&t.preventDefault()}},onResize:()=>{u.current&&o.viewport&&l&&i({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:$(l.paddingTop),paddingEnd:$(l.paddingBottom)}})}})}),[_,Q]=k(R),F=r.forwardRef((e,a)=>{let{__scopeScrollArea:n,sizes:i,hasThumb:s,onThumbChange:o,onThumbPointerUp:l,onThumbPointerDown:c,onThumbPositionChange:u,onDragScroll:d,onWheelScroll:h,onResize:p,...f}=e,g=T(R,n),[v,y]=r.useState(null),w=(0,x.useComposedRefs)(a,e=>y(e)),C=r.useRef(null),S=r.useRef(""),k=g.viewport,N=i.content-i.viewport,E=(0,b.useCallbackRef)(h),M=(0,b.useCallbackRef)(u),P=et(p,10);function A(e){C.current&&d({x:e.clientX-C.current.left,y:e.clientY-C.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;v?.contains(t)&&E(e,N)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[k,v,N,E]),r.useEffect(M,[i,M]),er(v,P),er(g.content,P),(0,t.jsx)(_,{scope:n,scrollbar:v,hasThumb:s,onThumbChange:(0,b.useCallbackRef)(o),onThumbPointerUp:(0,b.useCallbackRef)(l),onThumbPositionChange:M,onThumbPointerDown:(0,b.useCallbackRef)(c),children:(0,t.jsx)(m.Primitive.div,{...f,ref:w,style:{position:"absolute",...f.style},onPointerDown:(0,j.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),C.current=v.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",g.viewport&&(g.viewport.style.scrollBehavior="auto"),A(e))}),onPointerMove:(0,j.composeEventHandlers)(e.onPointerMove,A),onPointerUp:(0,j.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=S.current,g.viewport&&(g.viewport.style.scrollBehavior=""),C.current=null})})})}),B="ScrollAreaThumb",K=r.forwardRef((e,r)=>{let{forceMount:a,...n}=e,i=Q(B,e.__scopeScrollArea);return(0,t.jsx)(g.Presence,{present:a||i.hasThumb,children:(0,t.jsx)(W,{ref:r,...n})})}),W=r.forwardRef((e,a)=>{let{__scopeScrollArea:n,style:i,...s}=e,o=T(B,n),l=Q(B,n),{onThumbPositionChange:c}=l,u=(0,x.useComposedRefs)(a,e=>l.onThumbChange(e)),d=r.useRef(void 0),h=et(()=>{d.current&&(d.current(),d.current=void 0)},100);return r.useEffect(()=>{let e=o.viewport;if(e){let t=()=>{h(),d.current||(d.current=ee(e,c),c())};return c(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[o.viewport,h,c]),(0,t.jsx)(m.Primitive.div,{"data-state":l.hasThumb?"visible":"hidden",...s,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:(0,j.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,a=e.clientY-t.top;l.onThumbPointerDown({x:r,y:a})}),onPointerUp:(0,j.composeEventHandlers)(e.onPointerUp,l.onThumbPointerUp)})});K.displayName=B;var U="ScrollAreaCorner",X=r.forwardRef((e,r)=>{let a=T(U,e.__scopeScrollArea),n=!!(a.scrollbarX&&a.scrollbarY);return"scroll"!==a.type&&n?(0,t.jsx)(Y,{...e,ref:r}):null});X.displayName=U;var Y=r.forwardRef((e,a)=>{let{__scopeScrollArea:n,...i}=e,s=T(U,n),[o,l]=r.useState(0),[c,u]=r.useState(0),d=!!(o&&c);return er(s.scrollbarX,()=>{let e=s.scrollbarX?.offsetHeight||0;s.onCornerHeightChange(e),u(e)}),er(s.scrollbarY,()=>{let e=s.scrollbarY?.offsetWidth||0;s.onCornerWidthChange(e),l(e)}),d?(0,t.jsx)(m.Primitive.div,{...i,ref:a,style:{width:o,height:c,position:"absolute",right:"ltr"===s.dir?0:void 0,left:"rtl"===s.dir?0:void 0,bottom:0,...e.style}}):null});function $(e){return e?parseInt(e,10):0}function G(e,t){let r=e/t;return isNaN(r)?0:r}function V(e){let t=G(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function Z(e,t,r="ltr"){let a=V(t),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-n,s=t.content-t.viewport,o=(0,C.clamp)(e,"ltr"===r?[0,s]:[-1*s,0]);return J([0,s],[0,i-a])(o)}function J(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let a=(t[1]-t[0])/(e[1]-e[0]);return t[0]+a*(r-e[0])}}var ee=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},a=0;return!function n(){let i={left:e.scrollLeft,top:e.scrollTop},s=r.left!==i.left,o=r.top!==i.top;(s||o)&&t(),r=i,a=window.requestAnimationFrame(n)}(),()=>window.cancelAnimationFrame(a)};function et(e,t){let a=(0,b.useCallbackRef)(e),n=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(n.current),[]),r.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(a,t)},[a,t])}function er(e,t){let r=(0,b.useCallbackRef)(t);(0,w.useLayoutEffect)(()=>{let t=0;if(e){let a=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return a.observe(e),()=>{window.cancelAnimationFrame(t),a.unobserve(e)}}},[e,r])}e.s(["Corner",()=>X,"Root",()=>M,"ScrollArea",()=>M,"ScrollAreaCorner",()=>X,"ScrollAreaScrollbar",()=>L,"ScrollAreaThumb",()=>K,"ScrollAreaViewport",()=>A,"Scrollbar",()=>L,"Thumb",()=>K,"Viewport",()=>A,"createScrollAreaScope",()=>N],87516);var ea=e.i(87516),ea=ea,en=e.i(31777);function ei({className:e,children:r,...a}){return(0,t.jsxs)(ea.Root,{"data-slot":"scroll-area",className:(0,en.cn)("relative",e),...a,children:[(0,t.jsx)(ea.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)(es,{}),(0,t.jsx)(ea.Corner,{})]})}function es({className:e,orientation:r="vertical",...a}){return(0,t.jsx)(ea.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:r,className:(0,en.cn)("flex touch-none p-px transition-colors select-none","vertical"===r&&"h-full w-2.5 border-s border-s-transparent","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent",e),...a,children:(0,t.jsx)(ea.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var eo=e.i(24035),el=e.i(8361);function ec({icon:e,label:r,href:a,active:i=!1}){let s=(0,el.useSoundAction)("navigate");return(0,t.jsx)(n.SidebarMenuItem,{"data-testid":"sidebar-nav-item",children:(0,t.jsx)(n.SidebarMenuButton,{asChild:!0,isActive:i,tooltip:r,children:(0,t.jsxs)(eo.default,{href:a,onClick:()=>s.play(),children:[(0,t.jsx)(e,{}),(0,t.jsx)("span",{children:r})]})})})}var eu=e.i(71379),eu=eu,ed=e.i(35364);function eh({className:e}){let{toggleSidebar:r,open:a}=(0,n.useSidebar)(),i=(0,el.useSoundAction)("expand"),s=(0,el.useSoundAction)("collapse");return(0,t.jsx)("div",{className:(0,en.cn)("flex",e),children:(0,t.jsx)(ed.Button,{"data-testid":"sidebar-collapse-toggle",variant:"ghost",size:"icon",className:"size-7 cursor-pointer group-data-[collapsible=icon]:size-8!",onClick:()=>{a?s.play():i.play(),r()},"aria-label":a?"Collapse sidebar":"Expand sidebar",children:(0,t.jsx)(eu.default,{className:"size-4"})})})}function ep({className:e,size:r=24,variant:a="default"}){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 200",width:r,height:r,className:(0,en.cn)("shrink-0","dev"===a&&"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"})})})}var ef=e.i(2828);function em({version:e,branch:a,commitHash:n,isDev:i=!1,packageName:s="@shepai/cli",description:o,instancePath:l}){let c=n?.slice(0,7),{latest:u,updateAvailable:d}=function(e){let[t,a]=(0,r.useState)(null),[n,i]=(0,r.useState)(!0);(0,r.useEffect)(()=>{let e=!1;return async function(){try{let t=await fetch("/api/npm-version");if(!t.ok)return;let r=await t.json();!e&&r.latest&&a(r.latest)}catch{}finally{e||i(!1)}}(),()=>{e=!0}},[]);let s=null!==t&&function(e,t){let r=e=>e.split("-")[0].split(".").map(Number),a=r(e),n=r(t);for(let e=0;e<3;e++){let t=a[e]??0,r=n[e]??0;if(t>r)return 1;if(t<r)return -1}return 0}(t,e)>0;return{latest:t,updateAvailable:s,loading:n}}(e),{status:h,startUpgrade:p}=function(){let[e,t]=(0,r.useState)("idle"),[a,n]=(0,r.useState)(""),[i,s]=(0,r.useState)(),o=(0,r.useRef)(null),l=(0,r.useRef)(!1),c=(0,r.useCallback)(()=>{if("upgrading"===e||"restarting"===e)return;t("upgrading"),n(""),s(void 0),l.current=!1;let r=new AbortController;return o.current=r,fetch("/api/cli-upgrade",{method:"POST",signal:r.signal}).then(async e=>{if(!e.ok||!e.body){t("error"),s(`Server returned ${e.status}`);return}let r=e.body.getReader(),a=new TextDecoder,i="";for(;;){let{done:e,value:o}=await r.read();if(e)break;let c=(i+=a.decode(o,{stream:!0})).split("\n");for(let e of(i=c.pop()??"",c)){if(e.startsWith("event: restarting")){l.current=!0,t("restarting"),function(e,t){let r=Date.now()+3e4,a=()=>{Date.now()>r||fetch("/api/version",{method:"GET",cache:"no-store"}).then(e=>{e.ok?window.location.reload():setTimeout(a,500)}).catch(()=>{setTimeout(a,500)})};setTimeout(a,500)}(0,0);continue}if(!e.startsWith("event: done")&&e.startsWith("data: ")){let r=e.slice(6);try{let e=JSON.parse(r);"upgraded"===e.status?t("upgraded"):"up-to-date"===e.status?t("up-to-date"):"error"===e.status&&(t("error"),s(e.errorMessage))}catch{n(e=>e+r)}}}}}).catch(e=>{l.current||e instanceof DOMException&&"AbortError"===e.name||(t("error"),s(e instanceof Error?e.message:"Upgrade failed"))}),()=>{r.abort()}},[e]);return{status:e,output:a,errorMessage:i,startUpgrade:c}}(),f=i?`${e}-dev`:`v${e}`,m="upgrading"===h,g="restarting"===h,v="upgraded"===h;return(0,t.jsx)(ef.TooltipProvider,{delayDuration:200,children:(0,t.jsxs)(ef.Tooltip,{children:[(0,t.jsx)(ef.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:[f,!d||v||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)(ef.TooltipContent,{side:"right",className:"max-w-[280px] space-y-1 p-3 text-start",children:[(0,t.jsx)("div",{className:"mb-1.5 text-xs font-semibold",children:s}),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)(eg,{label:"Version",value:f}),i&&a?(0,t.jsx)(eg,{label:"Branch",value:a}):null,i&&c?(0,t.jsx)(eg,{label:"Commit",value:c,mono:!0}):null,i&&l?(0,t.jsx)(eg,{label:"Path",value:l,mono:!0}):null,u?(0,t.jsx)(eg,{label:"Latest",value:`v${u}`,highlight:d}):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..."})}):v?(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"===h?(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"})}):d?(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${u}`})}):null]})]})})}function eg({label:e,value:r,highlight:a,mono:n}){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:[a?"font-medium text-emerald-400":"",n||!a?"font-mono":""].filter(Boolean).join(" "),children:r})]})}function ev({startedAt:e}){let[a,n]=(0,r.useState)(()=>Date.now()-e);return(0,r.useEffect)(()=>{let t=setInterval(()=>{(0,r.startTransition)(()=>n(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 r=Math.floor(t/60);return`${String(r).padStart(2,"0")}:${String(t%60).padStart(2,"0")}`}(a)})}var ex=e.i(51251),eb=e.i(83428),ey=e.i(34119),ew=e.i(94819),eC=e.i(54277),ej=e.i(55016);let eS={"action-needed":{icon:ex.CircleAlert,iconClass:"text-amber-500",bgClass:"bg-amber-500/10",label:"Action Needed"},"in-progress":{icon:eb.Loader2,iconClass:"text-blue-500 animate-spin",bgClass:"bg-blue-500/10",label:"In Progress"},pending:{icon:ej.Clock,iconClass:"text-slate-400",bgClass:"bg-slate-400/10",label:"Pending"},blocked:{icon:ew.Ban,iconClass:"text-gray-400",bgClass:"bg-gray-400/10",label:"Blocked"},error:{icon:eC.CircleX,iconClass:"text-red-500",bgClass:"bg-red-500/10",label:"Error"},done:{icon:ey.CircleCheck,iconClass:"text-emerald-500",bgClass:"bg-emerald-500/10",label:"Done"}},ek=["action-needed","error","blocked","in-progress","pending","done"];var eN=e.i(86782),eE=e.i(29847);function eT({name:e,status:r,startedAt:a,duration:i,agentType:s,modelId:o,onClick:l}){let{icon:c,iconClass:u}=eS[r],d=s?(0,eN.getAgentTypeIcon)(s):null;return(0,t.jsx)(n.SidebarMenuItem,{"data-testid":"feature-list-item",children:(0,t.jsxs)(n.SidebarMenuButton,{size:"sm",onClick:l,tooltip:e,className:"cursor-pointer",children:[(0,t.jsx)(c,{className:u}),(0,t.jsx)("span",{className:"flex-1 truncate font-medium",children:e}),"in-progress"===r&&null!=a?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:(0,t.jsx)(ev,{startedAt:a})}):null,"done"===r&&i?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:i}):null,d?(0,t.jsx)(ef.TooltipProvider,{children:(0,t.jsxs)(ef.Tooltip,{children:[(0,t.jsx)(ef.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"ml-auto shrink-0",children:(0,t.jsx)(d,{className:"h-3.5 w-3.5"})})}),(0,t.jsxs)(ef.TooltipContent,{side:"right",children:[(0,t.jsx)("span",{className:"font-medium",children:eN.agentTypeLabels[s]??s}),o?(0,t.jsxs)("span",{className:"ms-1 opacity-70",children:["· ",(0,eE.getModelMeta)(o).displayName||o]}):null]})]})}):null]})})}var eM=e.i(73709);let eP="shep-theme";function eA({label:e,count:r,children:a}){return(0,t.jsxs)(n.SidebarGroup,{"data-testid":"feature-status-group",className:"px-2 py-1",children:[(0,t.jsxs)(n.SidebarGroupLabel,{className:"text-muted-foreground h-6 px-2 text-[0.65rem] font-semibold tracking-wider uppercase",children:[e,(0,t.jsx)("span",{"aria-label":`${r} items`,className:"bg-sidebar-accent text-sidebar-accent-foreground ms-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:r})]}),(0,t.jsx)(n.SidebarGroupContent,{children:(0,t.jsx)(n.SidebarMenu,{className:"gap-0.5",children:a})})]})}function eR({label:e,className:r}){return(0,t.jsx)(n.SidebarGroup,{"data-testid":"sidebar-section-header",className:(0,en.cn)("px-2 py-1",r),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 eL={version:"unknown",packageName:"@shepai/cli",description:"Autonomous AI Native SDLC Platform",branch:"",commitHash:"",instancePath:"",isDev:!1};function eD({features:e,featureFlags:i,onFeatureClick:m}){let{t:g}=(0,f.useTranslation)("web"),v=(0,a.usePathname)(),{state:x}=(0,n.useSidebar)(),b="collapsed"===x,{mounted:y,visible:w}=function(e,t){let[a,n]=(0,r.useState)(!e),[i,s]=(0,r.useState)(!e);return(0,r.useEffect)(()=>{if(!e){n(!0);let e=requestAnimationFrame(()=>s(!0));return()=>cancelAnimationFrame(e)}s(!1);let t=window.setTimeout(()=>n(!1),200);return()=>window.clearTimeout(t)},[e,200]),{mounted:a,visible:i}}(b,0),C=function(){let[e,t]=(0,r.useState)(eL);return(0,r.useEffect)(()=>{let e=!1;return async function(){try{let r=await fetch("/api/version");if(!r.ok)return;let a=await r.json();e||t(a)}catch{}}(),()=>{e=!0}},[]),e}(),{enabled:j,toggle:S}=(0,eM.useSoundEnabled)(),{resolvedTheme:k,theme:N,setTheme:E}=function(){let[e,t]=(0,r.useState)("system"),[a,n]=(0,r.useState)("light"),i=(0,r.useCallback)(()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[]),s=(0,r.useCallback)(e=>"system"===e?i():e,[i]),o=(0,r.useCallback)(e=>{if("u"<typeof document)return;let t=document.documentElement;t.classList.remove("light","dark"),t.classList.add(e),n(e)},[]),l=(0,r.useCallback)(e=>{t(e),"u">typeof localStorage&&localStorage.setItem(eP,e),o(s(e))},[s,o]);return(0,r.useEffect)(()=>{let e=localStorage.getItem(eP)??"system";t(e),o(s(e))},[s,o]),(0,r.useEffect)(()=>{let t=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{"system"===e&&o(s("system"))};return t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[e,s,o]),{theme:e,resolvedTheme:a,setTheme:l}}(),T=(0,el.useSoundAction)("toggle-on"),M=(0,el.useSoundAction)("toggle-off"),P=(0,el.useSoundAction)("navigate"),A=ek.map(t=>{let{label:r}=eS[t],a=e.filter(e=>e.status===t);return{key:t,label:r,items:a}});return(0,t.jsxs)(n.Sidebar,{"data-testid":"app-sidebar","data-no-drawer-close":!0,collapsible:"icon",children:[(0,t.jsx)(n.SidebarHeader,{children:(0,t.jsxs)(n.SidebarMenu,{children:[(0,t.jsx)(n.SidebarMenuItem,{children:(0,t.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[y?(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",w?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!w,children:[(0,t.jsx)(ep,{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)(em,{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)(eh,{className:"shrink-0 transition-all duration-200"})]})}),(0,t.jsx)(ec,{icon:s,label:g("navigation.controlCenter"),href:"/",active:"/"===v}),(0,t.jsx)(ec,{icon:d.Wrench,label:g("navigation.tools"),href:"/tools",active:"/tools"===v}),i.skills?(0,t.jsx)(ec,{icon:h.Puzzle,label:g("navigation.skills"),href:"/skills",active:"/skills"===v}):null,(0,t.jsx)(ec,{icon:p,label:g("navigation.settings"),href:"/settings",active:"/settings"===v})]})}),(0,t.jsx)(n.SidebarContent,{children:y?(0,t.jsxs)("div",{className:["flex min-h-0 flex-1 flex-col 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",w?"opacity-100":"opacity-0"].join(" "),children:[(0,t.jsx)(eR,{label:g("sidebar.features")}),(0,t.jsx)(ei,{className:"min-h-0 flex-1",children:A.map(({key:e,label:r,items:a})=>a.length>0?(0,t.jsx)(eA,{label:r,count:a.length,children:a.map(e=>(0,t.jsx)(eT,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,agentType:e.agentType,modelId:e.modelId,onClick:m?()=>m(e.featureId):void 0},e.featureId))},e):null)})]}):null}),(0,t.jsx)(n.SidebarFooter,{className:"border-t p-2",children:(0,t.jsx)(n.SidebarMenu,{children:(0,t.jsx)(n.SidebarMenuItem,{children:(0,t.jsx)("div",{className:"flex items-center gap-1",children:(0,t.jsxs)(ef.TooltipProvider,{children:[(0,t.jsxs)(ef.Tooltip,{children:[(0,t.jsx)(ef.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)(n.SidebarMenuButton,{className:"w-auto flex-none",onClick:e=>{let t="system"===N?"dark"===k?"light":"dark":"dark"===N?"light":"dark";"dark"!==("system"===N?k:N)?T.play():M.play();let r=window.matchMedia("(prefers-reduced-motion: reduce)").matches;"startViewTransition"in document&&!r?(document.documentElement.style.setProperty("--x",`${e.clientX}px`),document.documentElement.style.setProperty("--y",`${e.clientY}px`),document.startViewTransition(()=>{E(t)})):E(t)},"aria-label":g("dark"===k?"sidebar.switchToLight":"sidebar.switchToDark"),children:[(0,t.jsx)(l,{className:"h-4 w-4 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,t.jsx)(o,{className:"absolute h-4 w-4 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"})]})}),(0,t.jsx)(ef.TooltipContent,{side:"top",children:g("dark"===k?"sidebar.switchToLight":"sidebar.switchToDark")})]}),!b&&(0,t.jsxs)(ef.Tooltip,{children:[(0,t.jsx)(ef.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(n.SidebarMenuButton,{className:"w-auto flex-none",onClick:()=>{P.play(),S()},"aria-label":g(j?"sidebar.muteSounds":"sidebar.unmuteSounds"),children:j?(0,t.jsx)(c,{className:"h-4 w-4"}):(0,t.jsx)(u,{className:"h-4 w-4"})})}),(0,t.jsx)(ef.TooltipContent,{side:"top",children:g(j?"sidebar.muteSounds":"sidebar.unmuteSounds")})]})]})})})})}),(0,t.jsx)(n.SidebarRail,{})]})}e.i(13322);var eO=e.i(61201),eq=e.i(48109),ez=e.i(60253),eI=e.i(26370);let eH=(0,i.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);var e_=e.i(87538);let eQ=(0,i.default)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]);var eF=e.i(28112),eB=e.i(57779),eK=e.i(80554);let eW="shep-global-chat";function eU(){try{let e=localStorage.getItem(eW);if(!e)return{pos:null,size:null};let t=JSON.parse(e),r=t.size??null;return r&&(r.w<360||r.h<300)&&(r={w:Math.max(360,r.w),h:Math.max(300,r.h)}),{pos:t.pos??null,size:r}}catch{return{pos:null,size:null}}}function eX(){let[e,a]=(0,r.useState)(!1),[n,i]=(0,r.useState)(!1),[s,o]=(0,r.useState)(!1),l=(0,eK.useTurnStatus)("global"),[c,u]=(0,r.useState)(()=>eU().pos),[d,h]=(0,r.useState)(()=>eU().size),p=(0,r.useCallback)(e=>{u(t=>"function"==typeof e?e(t):e)},[]),f=(0,r.useCallback)(e=>{h(t=>"function"==typeof e?e(t):e)},[]),m=(0,r.useRef)(null),g=(0,r.useRef)(null),v=(0,r.useRef)(null),x=(0,r.useCallback)(()=>{a(e=>(e||i(!0),!e))},[]),b=(0,r.useRef)({pos:null,size:null}),y=(0,r.useCallback)(()=>{e||(a(!0),i(!0)),o(e=>(e?(p(b.current.pos),f(b.current.size)):b.current={pos:c,size:d},!e))},[e,c,d,p,f]);(0,r.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&e.shiftKey&&("k"===e.key||"K"===e.key)&&(e.preventDefault(),s&&o(!1),x(),requestAnimationFrame(()=>{setTimeout(()=>{let e=m.current?.querySelector("textarea");e?.focus()},100)})),(e.metaKey||e.ctrlKey)&&e.shiftKey&&("m"===e.key||"M"===e.key)&&(e.preventDefault(),y())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[x,y,s]),(0,r.useEffect)(()=>{let e=setTimeout(()=>(function(e,t){try{localStorage.setItem(eW,JSON.stringify({pos:e,size:t}))}catch{}})(c,d),300);return()=>clearTimeout(e)},[c,d]);let w=(0,r.useCallback)((e,t,r)=>({x:Math.max(-r+100,Math.min(e,window.innerWidth-100)),y:Math.max(0,Math.min(t,window.innerHeight-48))}),[]),C=(0,r.useCallback)(e=>{e.preventDefault();let t=m.current;if(!t)return;let r=t.getBoundingClientRect(),a=c?.x??r.left,n=c?.y??r.top;g.current={startX:e.clientX,startY:e.clientY,startPosX:a,startPosY:n};let i=d?.w??r.width,s=e=>{if(!g.current)return;let t=e.clientX-g.current.startX,r=e.clientY-g.current.startY;p(w(g.current.startPosX+t,g.current.startPosY+r,i))},o=()=>{g.current=null,document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",o)};document.addEventListener("mousemove",s),document.addEventListener("mouseup",o)},[c,d,p,w]),j=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let t=m.current;if(!t)return;let r=t.getBoundingClientRect(),a=d?.w??r.width,n=d?.h??r.height,i=e.clientX,s=e.clientY,o=c?.y??r.top;v.current={startX:i,startY:s,startW:a,startH:n},c||p({x:r.left,y:r.top});let l=e=>{if(!v.current)return;let t=e.clientX-i,l=e.clientY-s,c=Math.max(360,a+t),u=Math.max(300,n-l),d=Math.max(0,o+l);f({w:c,h:u}),p(e=>w(e?.x??r.left,d,c))},u=()=>{v.current=null,document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",u)};document.addEventListener("mousemove",l),document.addEventListener("mouseup",u)},[d,c,p,f,w]),S=(0,r.useCallback)(()=>{a(!1),o(!1)},[]),k=s?{}:c?{position:"fixed",left:c.x,top:c.y,width:d?.w??520,height:d?.h??"70vh"}:{width:d?.w??520,height:d?.h??"70vh"};return(0,t.jsxs)(t.Fragment,{children:[n?(0,t.jsxs)("div",{ref:m,className:(0,en.cn)(s?"bg-background fixed inset-0 z-[60] flex flex-col overflow-hidden dark:bg-neutral-900":(0,en.cn)(!c&&"fixed right-8 bottom-24","z-[60] flex flex-col overflow-hidden rounded-lg","border-border/60 border dark:border-white/10","bg-background dark:bg-neutral-900","shadow-[0_8px_40px_-8px_rgba(0,0,0,0.2)] dark:shadow-[0_8px_40px_-8px_rgba(0,0,0,0.6)]"),"transition-opacity duration-300 ease-out",e?"pointer-events-auto opacity-100":"pointer-events-none opacity-0"),style:k,children:[s?null:(0,t.jsx)("div",{className:"h-[2px] shrink-0 bg-gradient-to-r from-transparent via-violet-500/50 to-transparent"}),s?null:(0,t.jsx)("div",{onMouseDown:j,className:"absolute top-0 right-0 z-10 h-4 w-4 cursor-ne-resize"}),(0,t.jsxs)("div",{onMouseDown:s?void 0:C,className:(0,en.cn)("relative flex h-11 shrink-0 items-center gap-2.5 border-b border-black/[0.06] px-3.5 dark:border-white/[0.06]",!s&&"cursor-grab active:cursor-grabbing"),children:[(0,t.jsx)("div",{className:"from-foreground/[0.02] to-foreground/[0.02] pointer-events-none absolute inset-0 bg-gradient-to-r via-transparent"}),s?null:(0,t.jsx)(eH,{className:"text-foreground/15 relative h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("div",{className:"relative flex h-5 w-5 items-center justify-center",children:(0,t.jsx)(eI.Bot,{className:"text-foreground/50 h-4 w-4"})}),(0,t.jsxs)("div",{className:"relative flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"text-foreground/90 text-base font-bold tracking-tight",children:"Shep"}),(0,t.jsx)("span",{className:"text-foreground/30 text-xs font-medium tracking-widest uppercase",children:"global"})]}),(0,t.jsxs)("div",{className:"relative ml-auto flex items-center gap-0.5",children:[(0,t.jsx)("button",{type:"button",onClick:y,className:"text-foreground/30 hover:text-foreground/60 rounded-md p-1 transition-colors",title:s?"Restore (⌘⇧M)":"Maximize (⌘⇧M)",children:s?(0,t.jsx)(eQ,{className:"h-3.5 w-3.5"}):(0,t.jsx)(e_.Maximize2,{className:"h-3.5 w-3.5"})}),(0,t.jsx)("button",{type:"button",onClick:S,className:"text-foreground/30 hover:text-foreground/60 rounded-md p-1 transition-colors",title:"Close (⌘⇧K)",children:(0,t.jsx)(ez.X,{className:"h-3.5 w-3.5"})})]})]}),(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:(0,t.jsx)(eF.ChatTab,{featureId:"global"})}),s?null:(0,t.jsx)("div",{onMouseDown:e=>{e.preventDefault(),e.stopPropagation();let t=m.current;if(!t)return;let r=t.getBoundingClientRect(),a=e.clientX,n=e.clientY,i=d?.w??r.width,s=d?.h??r.height;c||p({x:r.left,y:r.top});let o=e=>{let t=window.innerHeight-(c?.y??r.top);f({w:Math.max(360,i+(e.clientX-a)),h:Math.max(300,Math.min(s+(e.clientY-n),t))})},l=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",l)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",l)},className:"absolute right-0 bottom-0 z-10 h-4 w-4 cursor-se-resize"})]}):null,(0,t.jsxs)("div",{className:(0,en.cn)("group/fab fixed right-8 bottom-6 z-30",s&&"hidden"),children:[(0,t.jsxs)(ed.Button,{size:"icon",onClick:x,className:(0,en.cn)("relative h-14 w-14 rounded-full shadow-lg","transition-all duration-200 hover:scale-105 hover:shadow-xl active:scale-95",e?"bg-violet-600 text-white hover:bg-violet-500":"bg-violet-500 text-white hover:bg-violet-400 dark:bg-violet-500 dark:hover:bg-violet-400"),children:[(0,t.jsx)(eq.MessageSquare,{className:(0,en.cn)("absolute h-7 w-7 stroke-[2.5] transition-all duration-200",e?"scale-0 rotate-90 opacity-0":"scale-100 rotate-0 opacity-100")}),(0,t.jsx)(ez.X,{className:(0,en.cn)("absolute h-6 w-6 stroke-[2.5] transition-all duration-200",e?"scale-100 rotate-0 opacity-100":"scale-0 -rotate-90 opacity-0")}),!e&&(0,t.jsx)(eB.ChatDotIndicator,{status:l,className:"top-0 right-0"})]}),(0,t.jsx)("div",{className:"pointer-events-none absolute bottom-[calc(100%+8px)] left-1/2 -translate-x-1/2 translate-y-1 opacity-0 transition-all duration-200 group-hover/fab:translate-y-0 group-hover/fab:opacity-100",children:(0,t.jsxs)("div",{className:"bg-foreground rounded-lg px-3 py-1.5 text-center shadow-lg",children:[(0,t.jsx)("p",{className:"text-background text-xs font-medium whitespace-nowrap",children:"Shep Chat"}),(0,t.jsxs)("p",{className:"text-background/50 mt-0.5 flex items-center justify-center gap-1 text-[10px]",children:[(0,t.jsx)("kbd",{className:"bg-background/15 rounded px-1 py-px font-mono",children:"⌘"}),(0,t.jsx)("kbd",{className:"bg-background/15 rounded px-1 py-px font-mono",children:"⇧"}),(0,t.jsx)("kbd",{className:"bg-background/15 rounded px-1 py-px font-mono",children:"K"})]})]})})]})]})}var eY=e.i(78521),e$=e.i(2287),eG=e.i(68304),eV=e.i(98127),eZ=e.i(41957);let eJ=/^(?:https:\/\/github\.com\/([a-zA-Z0-9._-]+)\/([a-zA-Z0-9._-]+?)(?:\.git)?|git@github\.com:([a-zA-Z0-9._-]+)\/([a-zA-Z0-9._-]+?)(?:\.git)?|([a-zA-Z0-9._-]+)\/([a-zA-Z0-9._-]+))$/;function e0({onSubmit:e,loading:a=!1}){let[n,i]=(0,r.useState)(""),[s,o]=(0,r.useState)("");function l(){let t=n.trim();t?eJ.test(t.trim())?(o(""),e(t)):o("Enter a valid GitHub URL (e.g. owner/repo or https://github.com/owner/repo)"):o("Please enter a GitHub URL")}return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(eZ.Label,{htmlFor:"github-url-input",children:"GitHub URL"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(eV.Input,{id:"github-url-input",placeholder:"owner/repo or https://github.com/owner/repo",value:n,onChange:e=>{i(e.target.value),s&&o("")},onKeyDown:function(e){"Enter"===e.key&&(e.preventDefault(),l())},disabled:a,"aria-invalid":!!s,"aria-describedby":s?"github-url-error":void 0}),(0,t.jsx)(ed.Button,{onClick:l,disabled:a||!n.trim(),size:"sm",children:a?(0,t.jsx)(eb.Loader2,{className:"h-4 w-4 animate-spin"}):"Import"})]}),s?(0,t.jsx)("p",{id:"github-url-error",className:"text-destructive text-sm",role:"alert",children:s}):null]})}let e1=(0,i.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var e2=e.i(32494),e4=e.i(66459),e3=e.i(79687),e5=e.i(81846),e6=e.i(61238),e7=e.i(21023);let e8=(0,e7.createServerReference)("402f975b025fa9bc1b0c11b140fcbf6b1cca4ac21a",e7.callServer,void 0,e7.findSourceMapURL,"listGitHubRepositories");function e9({onSelect:e,loading:a=!1,fetchRepos:n=e8}){let[i,s]=(0,r.useState)([]),[o,l]=(0,r.useState)(!0),[c,u]=(0,r.useState)(""),[d,h]=(0,r.useState)(""),p=(0,r.useRef)(null),f=(0,r.useCallback)(async e=>{l(!0),u("");try{let t=await n(e?{search:e}:void 0);t.error?(u(t.error),s([])):s(t.repos??[])}catch{u("Failed to fetch repositories"),s([])}finally{l(!1)}},[n]);return((0,r.useEffect)(()=>{f()},[f]),c&&!o)?(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-center","data-testid":"repo-browser-error",children:[(0,t.jsx)(e3.AlertCircle,{className:"text-destructive h-8 w-8"}),(0,t.jsx)("p",{className:"text-destructive text-sm",children:c})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(e4.Search,{className:"text-muted-foreground absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2"}),(0,t.jsx)(eV.Input,{placeholder:"Search repositories...",value:d,onChange:e=>{var t;h(t=e.target.value),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{f(t||void 0)},300)},className:"ps-9",disabled:a,"aria-label":"Search repositories"})]}),(0,t.jsx)("div",{className:"max-h-64 overflow-x-hidden overflow-y-auto rounded-md border",role:"listbox","aria-label":"GitHub repositories",children:o?(0,t.jsx)("div",{className:"flex flex-col gap-2 p-3","data-testid":"repo-browser-loading",children:Array.from({length:5}).map((e,r)=>(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)(e6.Skeleton,{className:"h-4 w-48"}),(0,t.jsx)(e6.Skeleton,{className:"h-3 w-72"})]},`skeleton-${String(r)}`))}):0===i.length?(0,t.jsx)("div",{className:"text-muted-foreground py-8 text-center text-sm","data-testid":"repo-browser-empty",children:"No repositories found"}):i.map(r=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":!1,className:"hover:bg-accent flex w-full items-start gap-2 border-b px-3 py-2.5 text-start last:border-b-0 disabled:opacity-50",onClick:()=>e(r.nameWithOwner),disabled:a,children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:r.nameWithOwner}),(0,t.jsx)(e5.Badge,{variant:r.isPrivate?"secondary":"outline",className:"shrink-0 text-xs",children:r.isPrivate?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e1,{className:"me-1 h-3 w-3"}),"Private"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e2.Globe,{className:"me-1 h-3 w-3"}),"Public"]})})]}),r.description?(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 truncate text-xs",children:r.description}):null]}),a?(0,t.jsx)(eb.Loader2,{className:"mt-0.5 h-4 w-4 shrink-0 animate-spin"}):null]},r.nameWithOwner))})]})}let te=(0,e7.createServerReference)("40cffa4bd844128c81598c1f19bda50adf15236990",e7.callServer,void 0,e7.findSourceMapURL,"importGitHubRepository");function tt({open:e,onOpenChange:a,onImportComplete:n}){let[i,s]=(0,r.useState)(!1),[o,l]=(0,r.useState)("");async function c(e){s(!0),l("");try{let t=await te({url:e});t.error?l(t.error):t.repository&&(n(t.repository),a(!1))}catch{l("An unexpected error occurred")}finally{s(!1)}}return(0,t.jsx)(e$.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(e$.DialogContent,{className:"overflow-hidden sm:max-w-lg",children:[(0,t.jsxs)(e$.DialogHeader,{children:[(0,t.jsx)(e$.DialogTitle,{children:"Import from GitHub"}),(0,t.jsx)(e$.DialogDescription,{children:"Clone a GitHub repository and add it to Shep."})]}),(0,t.jsxs)(eG.Tabs,{defaultValue:"url",className:"min-w-0",children:[(0,t.jsxs)(eG.TabsList,{className:"grid w-full grid-cols-2",children:[(0,t.jsx)(eG.TabsTrigger,{value:"url",children:"URL"}),(0,t.jsx)(eG.TabsTrigger,{value:"browse",children:"Browse"})]}),(0,t.jsx)(eG.TabsContent,{value:"url",className:"mt-4",children:(0,t.jsx)(e0,{onSubmit:c,loading:i})}),(0,t.jsx)(eG.TabsContent,{value:"browse",className:"mt-4",children:(0,t.jsx)(e9,{onSelect:c,loading:i})})]}),o?(0,t.jsx)("p",{className:"text-destructive text-sm",role:"alert",children:o}):null]})})}var tr=e.i(39443),ta=e.i(30153),tn=e.i(5147),ti=e.i(60112),ts=e.i(17406);let to={[ts.NotificationSeverity.Success]:"success",[ts.NotificationSeverity.Error]:"error",[ts.NotificationSeverity.Warning]:"warning",[ts.NotificationSeverity.Info]:"info"},tl={[ts.NotificationSeverity.Success]:"notification-success",[ts.NotificationSeverity.Error]:"notification-error",[ts.NotificationSeverity.Warning]:"notification-warning",[ts.NotificationSeverity.Info]:"notification-info"};var tc=e.i(75921);function tu({children:e,sidebarOpen:i}){let s=(0,a.useRouter)(),{guardedNavigate:o}=(0,ta.useDrawerCloseGuard)(),l=(0,tc.useFeatureFlags)();!function(){let e=(0,a.useRouter)(),{events:t}=(0,tr.useAgentEventsContext)(),n=(0,el.useSoundAction)("notification-success"),i=(0,el.useSoundAction)("notification-error"),s=(0,el.useSoundAction)("notification-warning"),o=(0,el.useSoundAction)("notification-info"),l=(0,r.useMemo)(()=>({"notification-success":n,"notification-error":i,"notification-warning":s,"notification-info":o}),[n,i,s,o]),c=(0,r.useRef)(0);(0,r.useEffect)(()=>{if(t.length<=c.current)return;let r=t.slice(c.current);for(let a of(c.current=t.length,r)){if(a.eventType!==ts.NotificationEventType.MergeReviewReady&&a.severity!==ts.NotificationSeverity.Error&&a.severity!==ts.NotificationSeverity.Warning&&a.severity!==ts.NotificationSeverity.Success)continue;!function(e,t){let r=to[e.severity]??"info",a=e.eventType===ts.NotificationEventType.WaitingApproval||e.eventType===ts.NotificationEventType.MergeReviewReady;ti.toast[r](e.featureName,{description:e.message,...a&&t&&{action:{label:"Review",onClick:()=>{t(`/feature/${e.featureId}`)}}}})}(a,t=>e.push(t));let t=tl[a.severity];l[t]?.play()}},[t,l,e])}();let{features:c}=(0,tn.useSidebarFeaturesContext)(),u=(0,r.useCallback)(e=>{o(()=>s.push(`/feature/${e}`))},[s,o]),[d,h]=(0,r.useState)(!1),[p,f]=(0,r.useState)(!1),[m,g]=(0,r.useState)(!1),v=(0,r.useCallback)(async()=>{if(!d){if(l.reactFileManager)return void g(!0);h(!0);try{let e=await (0,eY.pickFolder)();e&&window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:e}}))}catch{g(!0)}finally{h(!1)}}},[d,l.reactFileManager]);(0,r.useEffect)(()=>{let e=()=>{v()};return window.addEventListener("shep:pick-folder",e),()=>window.removeEventListener("shep:pick-folder",e)},[v]),(0,r.useEffect)(()=>{let e=()=>f(!0);return window.addEventListener("shep:open-github-import",e),()=>window.removeEventListener("shep:open-github-import",e)},[]);let x=(0,r.useCallback)(e=>{e&&window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:e}})),g(!1)},[]),b=(0,r.useCallback)(e=>{e.path&&window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:e.path}}))},[]);return(0,t.jsxs)(n.SidebarProvider,{defaultOpen:i??!1,children:[(0,t.jsx)(eD,{features:c,featureFlags:l,onFeatureClick:u}),(0,t.jsx)(n.SidebarInset,{children:(0,t.jsxs)("div",{className:"relative h-full",children:[(0,t.jsx)("main",{className:"h-full",children:e}),(0,t.jsx)(eX,{}),l.githubImport?(0,t.jsx)(tt,{open:p,onOpenChange:f,onImportComplete:b}):null]})}),(0,t.jsx)(eO.ReactFileManagerDialog,{open:m,onOpenChange:e=>{e||g(!1)},onSelect:x})]})}function td({children:e}){return(0,t.jsx)(eK.TurnStatusesProvider,{children:e})}function th({children:e,sidebarOpen:r}){return(0,t.jsx)(tr.AgentEventsProvider,{children:(0,t.jsx)(ta.DrawerCloseGuardProvider,{children:(0,t.jsx)(tn.SidebarFeaturesProvider,{children:(0,t.jsx)(td,{children:(0,t.jsx)(tu,{sidebarOpen:r,children:e})})})})})}e.s(["AppShell",()=>th],87292)},25251,e=>{"use strict";var t=e.i(20314),r=e.i(60112);let a=({...e})=>(0,t.jsx)(r.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",()=>a])},4858,e=>{"use strict";var t=e.i(20314),r=e.i(3),a=e.i(28574),n=e.i(6786),i=e.i(77501),s=class extends i.Subscribable{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let i=t.queryKey,s=t.queryHash??(0,r.hashQueryKeyByOptions)(i,t),o=this.get(s);return o||(o=new a.Query({client:e,queryKey:i,queryHash:s,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(i)}),this.add(o)),o}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){n.notifyManager.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,r.matchQuery)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,r.matchQuery)(e,t)):t}notify(e){n.notifyManager.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){n.notifyManager.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){n.notifyManager.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},o=e.i(87975),l=i,c=class extends l.Subscribable{constructor(e={}){super(),this.config=e,this.#t=new Set,this.#r=new Map,this.#a=0}#t;#r;#a;build(e,t,r){let a=new o.Mutation({client:e,mutationCache:this,mutationId:++this.#a,options:e.defaultMutationOptions(t),state:r});return this.add(a),a}add(e){this.#t.add(e);let t=u(e);if("string"==typeof t){let r=this.#r.get(t);r?r.push(e):this.#r.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#t.delete(e)){let t=u(e);if("string"==typeof t){let r=this.#r.get(t);if(r)if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&this.#r.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=u(e);if("string"!=typeof t)return!0;{let r=this.#r.get(t),a=r?.find(e=>"pending"===e.state.status);return!a||a===e}}runNext(e){let t=u(e);if("string"!=typeof t)return Promise.resolve();{let r=this.#r.get(t)?.find(t=>t!==e&&t.state.isPaused);return r?.continue()??Promise.resolve()}}clear(){n.notifyManager.batch(()=>{this.#t.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#t.clear(),this.#r.clear()})}getAll(){return Array.from(this.#t)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,r.matchMutation)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,r.matchMutation)(e,t))}notify(e){n.notifyManager.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return n.notifyManager.batch(()=>Promise.all(e.map(e=>e.continue().catch(r.noop))))}};function u(e){return e.options.scope?.id}var d=e.i(4520),h=e.i(13598);function p(e){return{onFetch:(t,a)=>{let n=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,s=t.state.data?.pages||[],o=t.state.data?.pageParams||[],l={pages:[],pageParams:[]},c=0,u=async()=>{let a=!1,u=(0,r.ensureQueryFn)(t.options,t.fetchOptions),d=async(e,n,i)=>{let s;if(a)return Promise.reject();if(null==n&&e.pages.length)return Promise.resolve(e);let o=(s={client:t.client,queryKey:t.queryKey,pageParam:n,direction:i?"backward":"forward",meta:t.options.meta},(0,r.addConsumeAwareSignal)(s,()=>t.signal,()=>a=!0),s),l=await u(o),{maxPages:c}=t.options,d=i?r.addToStart:r.addToEnd;return{pages:d(e.pages,l,c),pageParams:d(e.pageParams,n,c)}};if(i&&s.length){let e="backward"===i,t={pages:s,pageParams:o},r=(e?function(e,{pages:t,pageParams:r}){return t.length>0?e.getPreviousPageParam?.(t[0],t,r[0],r):void 0}:f)(n,t);l=await d(t,r,e)}else{let t=e??s.length;do{let e=0===c?o[0]??n.initialPageParam:f(n,l);if(c>0&&null==e)break;l=await d(l,e),c++}while(c<t)}return l};t.options.persister?t.fetchFn=()=>t.options.persister?.(u,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},a):t.fetchFn=u}}}function f(e,{pages:t,pageParams:r}){let a=t.length-1;return t.length>0?e.getNextPageParam(t[a],t,r[a],r):void 0}var m=class{#n;#i;#s;#o;#l;#c;#u;#d;constructor(e={}){this.#n=e.queryCache||new s,this.#i=e.mutationCache||new c,this.#s=e.defaultOptions||{},this.#o=new Map,this.#l=new Map,this.#c=0}mount(){this.#c++,1===this.#c&&(this.#u=d.focusManager.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#n.onFocus())}),this.#d=h.onlineManager.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#n.onOnline())}))}unmount(){this.#c--,0===this.#c&&(this.#u?.(),this.#u=void 0,this.#d?.(),this.#d=void 0)}isFetching(e){return this.#n.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#i.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#n.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),a=this.#n.build(this,t),n=a.state.data;return void 0===n?this.fetchQuery(e):(e.revalidateIfStale&&a.isStaleByTime((0,r.resolveStaleTime)(t.staleTime,a))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return this.#n.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,a){let n=this.defaultQueryOptions({queryKey:e}),i=this.#n.get(n.queryHash),s=i?.state.data,o=(0,r.functionalUpdate)(t,s);if(void 0!==o)return this.#n.build(this,n).setData(o,{...a,manual:!0})}setQueriesData(e,t,r){return n.notifyManager.batch(()=>this.#n.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#n.get(t.queryHash)?.state}removeQueries(e){let t=this.#n;n.notifyManager.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=this.#n;return n.notifyManager.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let a={revert:!0,...t};return Promise.all(n.notifyManager.batch(()=>this.#n.findAll(e).map(e=>e.cancel(a)))).then(r.noop).catch(r.noop)}invalidateQueries(e,t={}){return n.notifyManager.batch(()=>(this.#n.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let a={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(n.notifyManager.batch(()=>this.#n.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,a);return a.throwOnError||(t=t.catch(r.noop)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(r.noop)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let a=this.#n.build(this,t);return a.isStaleByTime((0,r.resolveStaleTime)(t.staleTime,a))?a.fetch(t):Promise.resolve(a.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(r.noop).catch(r.noop)}fetchInfiniteQuery(e){return e.behavior=p(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(r.noop).catch(r.noop)}ensureInfiniteQueryData(e){return e.behavior=p(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return h.onlineManager.isOnline()?this.#i.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#n}getMutationCache(){return this.#i}getDefaultOptions(){return this.#s}setDefaultOptions(e){this.#s=e}setQueryDefaults(e,t){this.#o.set((0,r.hashKey)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#o.values()],a={};return t.forEach(t=>{(0,r.partialMatchKey)(e,t.queryKey)&&Object.assign(a,t.defaultOptions)}),a}setMutationDefaults(e,t){this.#l.set((0,r.hashKey)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#l.values()],a={};return t.forEach(t=>{(0,r.partialMatchKey)(e,t.mutationKey)&&Object.assign(a,t.defaultOptions)}),a}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#s.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,r.hashQueryKeyByOptions)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===r.skipToken&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#s.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#n.clear(),this.#i.clear()}},g=e.i(34682),v=e.i(79054);function x({children:e}){let[r]=(0,v.useState)(()=>new m({defaultOptions:{queries:{staleTime:1e3,refetchOnWindowFocus:!1}}}));return(0,t.jsx)(g.QueryClientProvider,{client:r,children:e})}e.s(["QueryProvider",()=>x],4858)},10644,e=>{"use strict";let t;var r=e.i(20314),a=e.i(79054);e.i(41001);var n=e.i(14827),i=e.i(99065),s=e.i(83100),o=e.i(37465),l=e.i(51193);let c=((t=i.default.createInstance()).use(s.initReactI18next).init({lng:"en",fallbackLng:"en",defaultNS:"common",ns:["common","web"],resources:{en:{common:o.default,web:l.default}},interpolation:{escapeValue:!1},react:{useSuspense:!1}}),t),u={ar:{family:"Noto Sans Arabic",cssUrl:"https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;500;600;700&display=swap"},he:{family:"Noto Sans Hebrew",cssUrl:"https://fonts.googleapis.com/css2?family=Noto+Sans+Hebrew:wght@400;500;600;700&display=swap"}};function d(e){let t=u[e];if(document.documentElement.classList.remove("font-rtl-arabic","font-rtl-hebrew"),!t)return void document.documentElement.style.removeProperty("--font-rtl");document.documentElement.style.setProperty("--font-rtl",`"${t.family}"`),document.documentElement.classList.add("ar"===e?"font-rtl-arabic":"font-rtl-hebrew");let r=`rtl-font-${e}`;if(!document.getElementById(r)){let e=document.createElement("link");e.id=r,e.rel="stylesheet",e.href=t.cssUrl,document.head.appendChild(e)}}function h({initialLanguage:e,children:t}){return(0,a.useEffect)(()=>{c.language!==e&&c.changeLanguage(e),d(e)},[e]),(0,a.useEffect)(()=>{function e(e){d(e)}return c.on("languageChanged",e),()=>{c.off("languageChanged",e)}},[]),(0,r.jsx)(n.I18nextProvider,{i18n:c,children:t})}e.s(["I18nProvider",()=>h],10644)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30702,e=>{"use strict";let s=(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",()=>s],30702)},38573,e=>{"use strict";let s=(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",()=>s],38573)},1650,e=>{"use strict";e.i(11495),e.s([])},19933,e=>{"use strict";let s=(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",()=>s],19933)},54793,7729,e=>{"use strict";var s=e.i(20314),l=e.i(31777);function t({icon:e,title:t,description:a,action:r,className:n,...i}){return(0,s.jsxs)("div",{className:(0,l.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",n),...i,children:[e?(0,s.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,s.jsx)("h3",{className:"text-lg font-semibold",children:t}),a?(0,s.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,r?(0,s.jsx)("div",{className:"mt-2",children:r}):null]})}e.s(["EmptyState",()=>t],7729),e.s([],54793)},956,e=>{"use strict";var s=e.i(20314),l=e.i(79054),t=e.i(31777);let a=l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...l}));a.displayName="Card";let r=l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("flex flex-col space-y-1.5 p-6",e),...l}));r.displayName="CardHeader";let n=l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("leading-none font-semibold tracking-tight",e),...l}));n.displayName="CardTitle";let i=l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("text-muted-foreground text-sm",e),...l}));i.displayName="CardDescription";let o=l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("p-6 pt-0",e),...l}));o.displayName="CardContent",l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("flex items-center p-6 pt-0",e),...l})).displayName="CardFooter",e.s(["Card",()=>a,"CardContent",()=>o,"CardDescription",()=>i,"CardHeader",()=>r,"CardTitle",()=>n])},38752,e=>{"use strict";var s=e.i(20314);e.i(1650);var l=e.i(11495),t=e.i(45811),a=e.i(81846),r=e.i(25235),n=e.i(19933);function i({skill:e,onClose:i}){return(0,s.jsx)(l.BaseDrawer,{open:null!==e,onClose:i,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.DrawerTitle,{children:e.displayName}),(0,s.jsx)(t.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,s.jsxs)("div",{className:"px-4 pb-4",children:[(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(a.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,s.jsx)(a.Badge,{variant:"outline",children:e.category}),e.context?(0,s.jsx)(a.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,s.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,s.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,s.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,s.jsx)(n.FolderOpen,{className:"size-3.5 shrink-0"}),(0,s.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>i])},16919,e=>{"use strict";var s=e.i(20314),l=e.i(79054),t=e.i(66459),a=e.i(12103),r=e.i(98127),n=e.i(35364),i=e.i(31777);function o({title:e,description:l,children:t,className:a}){return(0,s.jsxs)("header",{className:(0,i.cn)("flex items-center justify-between gap-4",a),children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),l?(0,s.jsx)("p",{className:"text-muted-foreground",children:l}):null]}),t?(0,s.jsx)("div",{"data-slot":"actions",children:t}):null]})}e.i(54793);var c=e.i(7729),d=e.i(956),x=e.i(81846),u=e.i(19933);function m({skill:e,onSelect:l}){return(0,s.jsxs)(d.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>l(e),onKeyDown:s=>{("Enter"===s.key||" "===s.key)&&(s.preventDefault(),l(e))},"data-testid":`skill-card-${e.name}`,children:[(0,s.jsxs)(d.CardHeader,{className:"pb-3",children:[(0,s.jsx)(d.CardTitle,{className:"text-base",children:e.displayName}),(0,s.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,s.jsxs)(d.CardContent,{className:"space-y-3",children:[(0,s.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(x.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,s.jsx)(x.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,s.jsx)(x.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,s.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,s.jsx)(u.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let p=["Workflow","Code Generation","Analysis","Reference"];function h({skills:e,onSkillSelect:l}){let t=function(e){let s=new Map;for(let l of e){let e=s.get(l.category)??[];e.push(l),s.set(l.category,e)}return s}(e);return(0,s.jsx)("div",{className:"space-y-8",children:p.map(e=>{let a=t.get(e);return a&&0!==a.length?(0,s.jsxs)("section",{children:[(0,s.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,s.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",a.length,")"]})]}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:a.map(e=>(0,s.jsx)(m,{skill:e,onSelect:l},e.name))})]},e):null})})}let f=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function j({activeCategory:e,onCategoryChange:l,counts:t}){return(0,s.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:f.map(({label:a,value:r})=>(0,s.jsxs)(n.Button,{variant:e===r?"default":"outline",size:"sm",onClick:()=>l(r),children:[a,t&&r?(0,s.jsxs)("span",{className:"ml-1 text-xs opacity-70",children:["(",t[r],")"]}):null]},a))})}var g=e.i(38752);function N({skills:e}){let[i,d]=(0,l.useState)(""),[x,u]=(0,l.useState)(null),[m,p]=(0,l.useState)(null),f=(0,l.useMemo)(()=>(function(e){let s={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let l of e)s[l.category]++;return s})(e),[e]),N=(0,l.useMemo)(()=>{let s=i.toLowerCase();return e.filter(e=>{if(x&&e.category!==x)return!1;if(s){let l=e.name.toLowerCase().includes(s),t=e.description.toLowerCase().includes(s);if(!l&&!t)return!1}return!0})},[e,i,x]);return 0===e.length?(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(o,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,s.jsx)(c.EmptyState,{icon:(0,s.jsx)(a.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(o,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(t.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,s.jsx)(r.Input,{placeholder:"Search skills...",value:i,onChange:e=>d(e.target.value),className:"pl-9"})]}),(0,s.jsx)(j,{activeCategory:x,onCategoryChange:u,counts:f}),N.length>0?(0,s.jsx)(h,{skills:N,onSkillSelect:p}):(0,s.jsx)(c.EmptyState,{icon:(0,s.jsx)(t.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,s.jsx)(n.Button,{variant:"outline",onClick:()=>{d(""),u(null)},children:"Clear filters"})}),(0,s.jsx)(g.SkillDetailDrawer,{skill:m,onClose:()=>p(null)})]})}e.s(["SkillsPageClient",()=>N],16919)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30702,e=>{"use strict";let s=(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",()=>s],30702)},38573,e=>{"use strict";let s=(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",()=>s],38573)},1650,e=>{"use strict";e.i(11495),e.s([])},19933,e=>{"use strict";let s=(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",()=>s],19933)},956,e=>{"use strict";var s=e.i(20314),l=e.i(79054),t=e.i(31777);let a=l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...l}));a.displayName="Card";let r=l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("flex flex-col space-y-1.5 p-6",e),...l}));r.displayName="CardHeader";let n=l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("leading-none font-semibold tracking-tight",e),...l}));n.displayName="CardTitle";let i=l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("text-muted-foreground text-sm",e),...l}));i.displayName="CardDescription";let o=l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("p-6 pt-0",e),...l}));o.displayName="CardContent",l.forwardRef(({className:e,...l},a)=>(0,s.jsx)("div",{ref:a,className:(0,t.cn)("flex items-center p-6 pt-0",e),...l})).displayName="CardFooter",e.s(["Card",()=>a,"CardContent",()=>o,"CardDescription",()=>i,"CardHeader",()=>r,"CardTitle",()=>n])},54793,7729,e=>{"use strict";var s=e.i(20314),l=e.i(31777);function t({icon:e,title:t,description:a,action:r,className:n,...i}){return(0,s.jsxs)("div",{className:(0,l.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",n),...i,children:[e?(0,s.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,s.jsx)("h3",{className:"text-lg font-semibold",children:t}),a?(0,s.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,r?(0,s.jsx)("div",{className:"mt-2",children:r}):null]})}e.s(["EmptyState",()=>t],7729),e.s([],54793)},38752,e=>{"use strict";var s=e.i(20314);e.i(1650);var l=e.i(11495),t=e.i(45811),a=e.i(81846),r=e.i(25235),n=e.i(19933);function i({skill:e,onClose:i}){return(0,s.jsx)(l.BaseDrawer,{open:null!==e,onClose:i,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.DrawerTitle,{children:e.displayName}),(0,s.jsx)(t.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,s.jsxs)("div",{className:"px-4 pb-4",children:[(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(a.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,s.jsx)(a.Badge,{variant:"outline",children:e.category}),e.context?(0,s.jsx)(a.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,s.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,s.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,s.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,s.jsx)(n.FolderOpen,{className:"size-3.5 shrink-0"}),(0,s.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>i])},16919,e=>{"use strict";var s=e.i(20314),l=e.i(79054),t=e.i(66459),a=e.i(12103),r=e.i(98127),n=e.i(35364),i=e.i(31777);function o({title:e,description:l,children:t,className:a}){return(0,s.jsxs)("header",{className:(0,i.cn)("flex items-center justify-between gap-4",a),children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),l?(0,s.jsx)("p",{className:"text-muted-foreground",children:l}):null]}),t?(0,s.jsx)("div",{"data-slot":"actions",children:t}):null]})}e.i(54793);var c=e.i(7729),d=e.i(956),x=e.i(81846),u=e.i(19933);function m({skill:e,onSelect:l}){return(0,s.jsxs)(d.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>l(e),onKeyDown:s=>{("Enter"===s.key||" "===s.key)&&(s.preventDefault(),l(e))},"data-testid":`skill-card-${e.name}`,children:[(0,s.jsxs)(d.CardHeader,{className:"pb-3",children:[(0,s.jsx)(d.CardTitle,{className:"text-base",children:e.displayName}),(0,s.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,s.jsxs)(d.CardContent,{className:"space-y-3",children:[(0,s.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(x.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,s.jsx)(x.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,s.jsx)(x.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,s.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,s.jsx)(u.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let p=["Workflow","Code Generation","Analysis","Reference"];function h({skills:e,onSkillSelect:l}){let t=function(e){let s=new Map;for(let l of e){let e=s.get(l.category)??[];e.push(l),s.set(l.category,e)}return s}(e);return(0,s.jsx)("div",{className:"space-y-8",children:p.map(e=>{let a=t.get(e);return a&&0!==a.length?(0,s.jsxs)("section",{children:[(0,s.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,s.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",a.length,")"]})]}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:a.map(e=>(0,s.jsx)(m,{skill:e,onSelect:l},e.name))})]},e):null})})}let f=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function j({activeCategory:e,onCategoryChange:l,counts:t}){return(0,s.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:f.map(({label:a,value:r})=>(0,s.jsxs)(n.Button,{variant:e===r?"default":"outline",size:"sm",onClick:()=>l(r),children:[a,t&&r?(0,s.jsxs)("span",{className:"ms-1 text-xs opacity-70",children:["(",t[r],")"]}):null]},a))})}var g=e.i(38752);function N({skills:e}){let[i,d]=(0,l.useState)(""),[x,u]=(0,l.useState)(null),[m,p]=(0,l.useState)(null),f=(0,l.useMemo)(()=>(function(e){let s={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let l of e)s[l.category]++;return s})(e),[e]),N=(0,l.useMemo)(()=>{let s=i.toLowerCase();return e.filter(e=>{if(x&&e.category!==x)return!1;if(s){let l=e.name.toLowerCase().includes(s),t=e.description.toLowerCase().includes(s);if(!l&&!t)return!1}return!0})},[e,i,x]);return 0===e.length?(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(o,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,s.jsx)(c.EmptyState,{icon:(0,s.jsx)(a.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(o,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(t.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,s.jsx)(r.Input,{placeholder:"Search skills...",value:i,onChange:e=>d(e.target.value),className:"ps-9"})]}),(0,s.jsx)(j,{activeCategory:x,onCategoryChange:u,counts:f}),N.length>0?(0,s.jsx)(h,{skills:N,onSkillSelect:p}):(0,s.jsx)(c.EmptyState,{icon:(0,s.jsx)(t.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,s.jsx)(n.Button,{variant:"outline",onClick:()=>{d(""),u(null)},children:"Clear filters"})}),(0,s.jsx)(g.SkillDetailDrawer,{skill:m,onClose:()=>p(null)})]})}e.s(["SkillsPageClient",()=>N],16919)}]);
@@ -1 +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)},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 a=e.i(80986);e.s(["CheckCircle2",()=>a.default],35e3)},81181,e=>{"use strict";var t=e.i(95230);e.s(["Download",()=>t.default])},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),a=e.i(79054),s=e.i(81975),l=e.i(68304),r=e.i(31777),n=e.i(83428),i=e.i(83902),c=e.i(81181),o=e.i(3645);let d=(0,o.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 m=e.i(38573),x=e.i(49228),u=e.i(54277),h=e.i(95812),p=e.i(35e3);let g=(0,o.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 f=e.i(35364),j=e.i(2828),b=e.i(33548),N=e.i(23925),v=e.i(30702),k=e.i(11495);let y={linux:"Linux",darwin:"macOS",win32:"Windows"},w={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:m.Terminal},vcs:{label:"VCS",icon:x.GitBranch},terminal:{label:"Terminal",icon:m.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)(N.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:s,onClose:l,onRefresh:r,autoStart:o}){let[m,x]=(0,a.useState)(!1),[u,h]=(0,a.useState)(!1),{logs:p,status:j,startInstall:T}=function(e){let[t,s]=(0,a.useState)([]),[l,r]=(0,a.useState)("idle"),[n,i]=(0,a.useState)(null),c=(0,a.useRef)(null),o=(0,a.useCallback)(()=>{c.current&&(c.current.close(),c.current=null)},[]);return(0,a.useEffect)(()=>o,[o]),{logs:t,status:l,result:n,startInstall:(0,a.useCallback)(()=>{o(),s([]),i(null),r("streaming");let t=new EventSource(`/api/tools/${e}/install/stream`);c.current=t,t.onmessage=e=>{s(t=>[...t,e.data])},t.addEventListener("done",e=>{let t=JSON.parse(e.data);i(t),r("error"===t.status?"error":"done"),o()}),t.onerror=()=>{r("error"),o()}},[e,o])}}(e.id),I=(0,a.useRef)(null),S=(0,a.useRef)(!0),z=(0,a.useRef)(!1),L="available"===e.status.status,E="error"===e.status.status,M=L&&!!e.openDirectory,q=!L&&!E&&e.autoInstall;async function B(){h(!0);try{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})}finally{h(!1)}}(0,a.useEffect)(()=>{s&&o&&q&&"idle"===j&&!z.current&&(z.current=!0,T()),s||(z.current=!1)},[s,o,q,j,T]);let R=(0,a.useCallback)(()=>{let e=I.current;e&&(S.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);(0,a.useEffect)(()=>{S.current&&I.current&&(I.current.scrollTop=I.current.scrollHeight)},[p,j]),(0,a.useEffect)(()=>{"done"===j&&r&&r()},[j,r]);let D=(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)(g,{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 a=w[e]??{label:e,icon:d},s=a.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]",children:[(0,t.jsx)(s,{className:"h-3 w-3"}),a.label]},e)})})]});return(0,t.jsx)(k.BaseDrawer,{open:s,onClose:l,size:"md",modal:!0,title:e.name,header:D,"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=>y[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)(f.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(()=>{x(!0),setTimeout(()=>x(!1),2e3)})},"aria-label":m?"Copied!":"Copy install command",children:[m?(0,t.jsx)(N.Check,{className:"h-3.5 w-3.5 text-emerald-500"}):(0,t.jsx)(b.Copy,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"ml-1 text-[10px]",children:m?"Copied!":"Copy"})]})]})]}):null,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[q?(0,t.jsxs)(f.Button,{size:"sm",onClick:T,disabled:"streaming"===j,"aria-label":`Install ${e.name}`,className:"cursor-pointer",children:["streaming"===j?(0,t.jsx)(n.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(c.Download,{className:"mr-1.5 h-3.5 w-3.5"}),"streaming"===j?"Installing...":"Install"]}):null,M?(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>void B(),disabled:u,"aria-label":`Launch ${e.name}`,className:"cursor-pointer",children:[u?(0,t.jsx)(n.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(i.Rocket,{className:"mr-1.5 h-3.5 w-3.5"}),"Launch"]}):null,e.documentationUrl?(0,t.jsx)(f.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)(v.ExternalLink,{className:"ml-1 h-3 w-3"})]})}):null]}),("streaming"===j||"done"===j||"error"===j)&&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:I,onScroll:R,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,a)=>(0,t.jsx)("div",{className:"break-all whitespace-pre-wrap",children:e},a)),"done"===j?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-emerald-400",children:"Installation complete"}):null,"error"===j?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-red-400",children:"Installation failed"}):null]})]}):null]})})}let I={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:m.Terminal},vcs:{label:"VCS",icon:x.GitBranch},terminal:{label:"Terminal",icon:m.Terminal}};function S({tool:e,onRefresh:s,className:l}){let[o,m]=(0,a.useState)(!1),[x,b]=(0,a.useState)(!1),[N,v]=(0,a.useTransition)(),k="available"===e.status.status,y="error"===e.status.status,w=k&&!!e.openDirectory;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{"data-testid":"tool-card",onClick:function(){b(!1),m(!0)},className:(0,r.cn)("bg-card group flex h-30 w-full cursor-pointer flex-col rounded-lg border p-3 transition-shadow hover:shadow-md",l),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)(g,{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 a=I[e]??{label:e,icon:d},s=a.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[9px]",children:[(0,t.jsx)(s,{className:"h-2.5 w-2.5"}),a.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:[y&&"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)(u.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)(j.TooltipProvider,{children:(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.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)(j.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&&w?(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:function(t){t.stopPropagation(),v(async()=>{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})})},disabled:N,"aria-label":`Launch ${e.name}`,"data-testid":"tool-card-launch-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[N?(0,t.jsx)(n.Loader2,{className:"mr-1 h-3 w-3 animate-spin"}):(0,t.jsx)(i.Rocket,{className:"mr-1 h-3 w-3"}),"Launch"]}):k||y?null:(0,t.jsxs)(f.Button,{size:"sm",variant:"default",onClick:function(t){t.stopPropagation(),b(e.autoInstall),m(!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)(c.Download,{className:"mr-1 h-3 w-3"}),"Install"]})})]})]}),(0,t.jsx)(T,{tool:e,open:o,onClose:()=>m(!1),onRefresh:s,autoStart:x})]})}let z={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 L({tools:e,className:n}){let[i,c]=(0,a.useState)(e),[o,d]=(0,a.useState)("all"),m=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/tools");if(e.ok){let t=await e.json();c(t)}}catch{}},[]),x=i.filter(z[o]);return(0,t.jsxs)("div",{"data-testid":"tools-page-client",className:(0,r.cn)("space-y-4",n),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(s.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:[i.filter(e=>"available"===e.status.status).length,"/",i.length," installed"]})]}),(0,t.jsxs)(l.Tabs,{value:o,onValueChange:e=>d(e),"data-testid":"tools-page-tabs",children:[(0,t.jsxs)(l.TabsList,{className:"h-7",children:[(0,t.jsx)(l.TabsTrigger,{value:"all","data-testid":"tools-tab-all",className:"px-2.5 text-xs",children:"All"}),(0,t.jsx)(l.TabsTrigger,{value:"ide","data-testid":"tools-tab-ide",className:"px-2.5 text-xs",children:"IDEs"}),(0,t.jsx)(l.TabsTrigger,{value:"cli-agent","data-testid":"tools-tab-cli-agent",className:"px-2.5 text-xs",children:"CLI Agents"}),(0,t.jsx)(l.TabsTrigger,{value:"vcs","data-testid":"tools-tab-vcs",className:"px-2.5 text-xs",children:"Version Control"}),(0,t.jsx)(l.TabsTrigger,{value:"terminal","data-testid":"tools-tab-terminal",className:"px-2.5 text-xs",children:"Terminals"})]}),(0,t.jsx)(l.TabsContent,{value:o,className:"mt-3",children:0===x.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)(s.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:x.map(e=>(0,t.jsx)(S,{tool:e,onRefresh:m},e.id))})})]})]})}e.s(["ToolsPageClient",()=>L],44412)}]);
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)},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 a=e.i(80986);e.s(["CheckCircle2",()=>a.default],35e3)},81181,e=>{"use strict";var t=e.i(95230);e.s(["Download",()=>t.default])},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),a=e.i(79054),s=e.i(81975),l=e.i(68304),r=e.i(31777),n=e.i(83428),i=e.i(83902),c=e.i(81181),o=e.i(3645);let d=(0,o.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 m=e.i(38573),x=e.i(49228),u=e.i(54277),h=e.i(95812),p=e.i(35e3);let g=(0,o.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 f=e.i(35364),j=e.i(2828),b=e.i(33548),N=e.i(23925),v=e.i(30702),k=e.i(11495);let y={linux:"Linux",darwin:"macOS",win32:"Windows"},w={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:m.Terminal},vcs:{label:"VCS",icon:x.GitBranch},terminal:{label:"Terminal",icon:m.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)(N.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:s,onClose:l,onRefresh:r,autoStart:o}){let[m,x]=(0,a.useState)(!1),[u,h]=(0,a.useState)(!1),{logs:p,status:j,startInstall:T}=function(e){let[t,s]=(0,a.useState)([]),[l,r]=(0,a.useState)("idle"),[n,i]=(0,a.useState)(null),c=(0,a.useRef)(null),o=(0,a.useCallback)(()=>{c.current&&(c.current.close(),c.current=null)},[]);return(0,a.useEffect)(()=>o,[o]),{logs:t,status:l,result:n,startInstall:(0,a.useCallback)(()=>{o(),s([]),i(null),r("streaming");let t=new EventSource(`/api/tools/${e}/install/stream`);c.current=t,t.onmessage=e=>{s(t=>[...t,e.data])},t.addEventListener("done",e=>{let t=JSON.parse(e.data);i(t),r("error"===t.status?"error":"done"),o()}),t.onerror=()=>{r("error"),o()}},[e,o])}}(e.id),I=(0,a.useRef)(null),S=(0,a.useRef)(!0),z=(0,a.useRef)(!1),L="available"===e.status.status,E="error"===e.status.status,M=L&&!!e.openDirectory,q=!L&&!E&&e.autoInstall;async function B(){h(!0);try{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})}finally{h(!1)}}(0,a.useEffect)(()=>{s&&o&&q&&"idle"===j&&!z.current&&(z.current=!0,T()),s||(z.current=!1)},[s,o,q,j,T]);let R=(0,a.useCallback)(()=>{let e=I.current;e&&(S.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);(0,a.useEffect)(()=>{S.current&&I.current&&(I.current.scrollTop=I.current.scrollHeight)},[p,j]),(0,a.useEffect)(()=>{"done"===j&&r&&r()},[j,r]);let D=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 pe-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)(g,{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 a=w[e]??{label:e,icon:d},s=a.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]",children:[(0,t.jsx)(s,{className:"h-3 w-3"}),a.label]},e)})})]});return(0,t.jsx)(k.BaseDrawer,{open:s,onClose:l,size:"md",modal:!0,title:e.name,header:D,"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=>y[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 pe-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap",children:(0,t.jsx)("code",{children:e.installCommand})}),(0,t.jsxs)(f.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(()=>{x(!0),setTimeout(()=>x(!1),2e3)})},"aria-label":m?"Copied!":"Copy install command",children:[m?(0,t.jsx)(N.Check,{className:"h-3.5 w-3.5 text-emerald-500"}):(0,t.jsx)(b.Copy,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"ms-1 text-[10px]",children:m?"Copied!":"Copy"})]})]})]}):null,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[q?(0,t.jsxs)(f.Button,{size:"sm",onClick:T,disabled:"streaming"===j,"aria-label":`Install ${e.name}`,className:"cursor-pointer",children:["streaming"===j?(0,t.jsx)(n.Loader2,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(c.Download,{className:"me-1.5 h-3.5 w-3.5"}),"streaming"===j?"Installing...":"Install"]}):null,M?(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>void B(),disabled:u,"aria-label":`Launch ${e.name}`,className:"cursor-pointer",children:[u?(0,t.jsx)(n.Loader2,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(i.Rocket,{className:"me-1.5 h-3.5 w-3.5"}),"Launch"]}):null,e.documentationUrl?(0,t.jsx)(f.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)(v.ExternalLink,{className:"ms-1 h-3 w-3"})]})}):null]}),("streaming"===j||"done"===j||"error"===j)&&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:I,onScroll:R,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,a)=>(0,t.jsx)("div",{className:"break-all whitespace-pre-wrap",children:e},a)),"done"===j?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-emerald-400",children:"Installation complete"}):null,"error"===j?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-red-400",children:"Installation failed"}):null]})]}):null]})})}let I={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:m.Terminal},vcs:{label:"VCS",icon:x.GitBranch},terminal:{label:"Terminal",icon:m.Terminal}};function S({tool:e,onRefresh:s,className:l}){let[o,m]=(0,a.useState)(!1),[x,b]=(0,a.useState)(!1),[N,v]=(0,a.useTransition)(),k="available"===e.status.status,y="error"===e.status.status,w=k&&!!e.openDirectory;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{"data-testid":"tool-card",onClick:function(){b(!1),m(!0)},className:(0,r.cn)("bg-card group flex h-30 w-full cursor-pointer flex-col rounded-lg border p-3 transition-shadow hover:shadow-md",l),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)(g,{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 a=I[e]??{label:e,icon:d},s=a.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[9px]",children:[(0,t.jsx)(s,{className:"h-2.5 w-2.5"}),a.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:[y&&"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)(u.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)(j.TooltipProvider,{children:(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.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)(j.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&&w?(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:function(t){t.stopPropagation(),v(async()=>{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})})},disabled:N,"aria-label":`Launch ${e.name}`,"data-testid":"tool-card-launch-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[N?(0,t.jsx)(n.Loader2,{className:"me-1 h-3 w-3 animate-spin"}):(0,t.jsx)(i.Rocket,{className:"me-1 h-3 w-3"}),"Launch"]}):k||y?null:(0,t.jsxs)(f.Button,{size:"sm",variant:"default",onClick:function(t){t.stopPropagation(),b(e.autoInstall),m(!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)(c.Download,{className:"me-1 h-3 w-3"}),"Install"]})})]})]}),(0,t.jsx)(T,{tool:e,open:o,onClose:()=>m(!1),onRefresh:s,autoStart:x})]})}let z={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 L({tools:e,className:n}){let[i,c]=(0,a.useState)(e),[o,d]=(0,a.useState)("all"),m=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/tools");if(e.ok){let t=await e.json();c(t)}}catch{}},[]),x=i.filter(z[o]);return(0,t.jsxs)("div",{"data-testid":"tools-page-client",className:(0,r.cn)("space-y-4",n),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(s.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:[i.filter(e=>"available"===e.status.status).length,"/",i.length," installed"]})]}),(0,t.jsxs)(l.Tabs,{value:o,onValueChange:e=>d(e),"data-testid":"tools-page-tabs",children:[(0,t.jsxs)(l.TabsList,{className:"h-7",children:[(0,t.jsx)(l.TabsTrigger,{value:"all","data-testid":"tools-tab-all",className:"px-2.5 text-xs",children:"All"}),(0,t.jsx)(l.TabsTrigger,{value:"ide","data-testid":"tools-tab-ide",className:"px-2.5 text-xs",children:"IDEs"}),(0,t.jsx)(l.TabsTrigger,{value:"cli-agent","data-testid":"tools-tab-cli-agent",className:"px-2.5 text-xs",children:"CLI Agents"}),(0,t.jsx)(l.TabsTrigger,{value:"vcs","data-testid":"tools-tab-vcs",className:"px-2.5 text-xs",children:"Version Control"}),(0,t.jsx)(l.TabsTrigger,{value:"terminal","data-testid":"tools-tab-terminal",className:"px-2.5 text-xs",children:"Terminals"})]}),(0,t.jsx)(l.TabsContent,{value:o,className:"mt-3",children:0===x.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)(s.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:x.map(e=>(0,t.jsx)(S,{tool:e,onRefresh:m},e.id))})})]})]})}e.s(["ToolsPageClient",()=>L],44412)}]);