@shipit-ai/cli 1.164.1 → 1.164.2-pr10.a97589c

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 (611) hide show
  1. package/README.md +3 -7
  2. package/dist/packages/core/src/application/ports/output/services/environment-detector.service.d.ts +54 -0
  3. package/dist/packages/core/src/application/ports/output/services/environment-detector.service.d.ts.map +1 -0
  4. package/dist/packages/core/src/application/ports/output/services/environment-detector.service.js +8 -0
  5. package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
  6. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/ports/output/services/tool-metadata-service.interface.d.ts +5 -1
  8. package/dist/packages/core/src/application/ports/output/services/tool-metadata-service.interface.d.ts.map +1 -1
  9. package/dist/packages/core/src/application/use-cases/agents/configure-agent.use-case.d.ts +1 -1
  10. package/dist/packages/core/src/application/use-cases/agents/configure-agent.use-case.js +1 -1
  11. package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.d.ts +1 -1
  12. package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.js +1 -1
  13. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts +1 -1
  14. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +1 -1
  15. package/dist/packages/core/src/application/use-cases/settings/detect-environment-defaults.use-case.d.ts +18 -0
  16. package/dist/packages/core/src/application/use-cases/settings/detect-environment-defaults.use-case.d.ts.map +1 -0
  17. package/dist/packages/core/src/application/use-cases/settings/detect-environment-defaults.use-case.js +40 -0
  18. package/dist/packages/core/src/application/use-cases/settings/index.d.ts +1 -0
  19. package/dist/packages/core/src/application/use-cases/settings/index.d.ts.map +1 -1
  20. package/dist/packages/core/src/application/use-cases/settings/index.js +1 -0
  21. package/dist/packages/core/src/application/use-cases/settings/initialize-settings.use-case.d.ts +10 -4
  22. package/dist/packages/core/src/application/use-cases/settings/initialize-settings.use-case.d.ts.map +1 -1
  23. package/dist/packages/core/src/application/use-cases/settings/initialize-settings.use-case.js +34 -7
  24. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts +1 -1
  25. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts.map +1 -1
  26. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts +18 -2
  27. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  28. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +16 -5
  29. package/dist/packages/core/src/index.d.ts +2 -2
  30. package/dist/packages/core/src/index.js +2 -2
  31. package/dist/packages/core/src/infrastructure/di/modules/services.module.d.ts.map +1 -1
  32. package/dist/packages/core/src/infrastructure/di/modules/services.module.js +2 -0
  33. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.d.ts.map +1 -1
  34. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.js +2 -0
  35. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.d.ts.map +1 -1
  36. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.js +4 -0
  37. package/dist/packages/core/src/infrastructure/services/agents/analyze-repo/analyze-repository-graph.d.ts +1 -1
  38. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/plan.fixture.d.ts +1 -1
  39. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/plan.fixture.js +1 -1
  40. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/research.fixture.d.ts +1 -1
  41. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/research.fixture.js +1 -1
  42. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-analyze.fixture.d.ts +2 -2
  43. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-analyze.fixture.d.ts.map +1 -1
  44. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-analyze.fixture.js +5 -5
  45. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-requirements.fixture.d.ts +2 -2
  46. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-requirements.fixture.d.ts.map +1 -1
  47. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/spec-requirements.fixture.js +6 -6
  48. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.d.ts +1 -1
  49. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.js +1 -1
  50. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +1 -1
  51. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/evidence-prompts.js +1 -1
  52. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +1 -1
  53. package/dist/packages/core/src/infrastructure/services/environment-detector.service.d.ts +38 -0
  54. package/dist/packages/core/src/infrastructure/services/environment-detector.service.d.ts.map +1 -0
  55. package/dist/packages/core/src/infrastructure/services/environment-detector.service.js +196 -0
  56. package/dist/packages/core/src/infrastructure/services/filesystem/shipit-ai-directory.service.d.ts +2 -2
  57. package/dist/packages/core/src/infrastructure/services/filesystem/shipit-ai-directory.service.js +4 -4
  58. package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts +4 -4
  59. package/dist/packages/core/src/infrastructure/services/git/pr-branding.js +4 -4
  60. package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.d.ts +1 -1
  61. package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.js +7 -7
  62. package/dist/packages/core/src/infrastructure/services/port.service.d.ts +1 -1
  63. package/dist/packages/core/src/infrastructure/services/port.service.d.ts.map +1 -1
  64. package/dist/packages/core/src/infrastructure/services/port.service.js +1 -1
  65. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts +6 -1
  66. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts.map +1 -1
  67. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.js +7 -0
  68. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.service.d.ts +1 -0
  69. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.service.d.ts.map +1 -1
  70. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.service.js +4 -1
  71. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/CLAUDE.md +2 -1
  72. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/bash.json +20 -0
  73. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/codex-cli.json +31 -0
  74. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/fish.json +19 -0
  75. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/powershell.json +24 -0
  76. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/zsh.json +19 -0
  77. package/dist/src/presentation/cli/commands/agent/approve.command.d.ts +1 -1
  78. package/dist/src/presentation/cli/commands/agent/approve.command.js +1 -1
  79. package/dist/src/presentation/cli/commands/agent/delete.command.d.ts +1 -1
  80. package/dist/src/presentation/cli/commands/agent/delete.command.js +1 -1
  81. package/dist/src/presentation/cli/commands/agent/index.d.ts +6 -6
  82. package/dist/src/presentation/cli/commands/agent/index.js +6 -6
  83. package/dist/src/presentation/cli/commands/agent/logs.command.d.ts +3 -3
  84. package/dist/src/presentation/cli/commands/agent/logs.command.js +3 -3
  85. package/dist/src/presentation/cli/commands/agent/ls.command.d.ts +1 -1
  86. package/dist/src/presentation/cli/commands/agent/ls.command.js +1 -1
  87. package/dist/src/presentation/cli/commands/agent/reject.command.d.ts +1 -1
  88. package/dist/src/presentation/cli/commands/agent/reject.command.js +1 -1
  89. package/dist/src/presentation/cli/commands/agent/show.command.d.ts +1 -1
  90. package/dist/src/presentation/cli/commands/agent/show.command.js +1 -1
  91. package/dist/src/presentation/cli/commands/agent/stop.command.d.ts +1 -1
  92. package/dist/src/presentation/cli/commands/agent/stop.command.js +1 -1
  93. package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts +4 -4
  94. package/dist/src/presentation/cli/commands/daemon/start-daemon.js +4 -4
  95. package/dist/src/presentation/cli/commands/daemon/stop-daemon.d.ts +5 -5
  96. package/dist/src/presentation/cli/commands/daemon/stop-daemon.js +5 -5
  97. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts +3 -3
  98. package/dist/src/presentation/cli/commands/feat/adopt.command.js +3 -3
  99. package/dist/src/presentation/cli/commands/feat/approve.command.d.ts +1 -1
  100. package/dist/src/presentation/cli/commands/feat/approve.command.js +1 -1
  101. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts +3 -3
  102. package/dist/src/presentation/cli/commands/feat/archive.command.js +3 -3
  103. package/dist/src/presentation/cli/commands/feat/del.command.d.ts +5 -5
  104. package/dist/src/presentation/cli/commands/feat/del.command.js +5 -5
  105. package/dist/src/presentation/cli/commands/feat/index.d.ts +4 -4
  106. package/dist/src/presentation/cli/commands/feat/index.js +4 -4
  107. package/dist/src/presentation/cli/commands/feat/logs.command.d.ts +3 -3
  108. package/dist/src/presentation/cli/commands/feat/logs.command.js +3 -3
  109. package/dist/src/presentation/cli/commands/feat/ls.command.d.ts +3 -3
  110. package/dist/src/presentation/cli/commands/feat/ls.command.js +3 -3
  111. package/dist/src/presentation/cli/commands/feat/new.command.d.ts +3 -3
  112. package/dist/src/presentation/cli/commands/feat/new.command.js +4 -4
  113. package/dist/src/presentation/cli/commands/feat/reject.command.d.ts +1 -1
  114. package/dist/src/presentation/cli/commands/feat/reject.command.js +1 -1
  115. package/dist/src/presentation/cli/commands/feat/resume.command.d.ts +1 -1
  116. package/dist/src/presentation/cli/commands/feat/resume.command.js +1 -1
  117. package/dist/src/presentation/cli/commands/feat/review.command.d.ts +1 -1
  118. package/dist/src/presentation/cli/commands/feat/review.command.js +1 -1
  119. package/dist/src/presentation/cli/commands/feat/show.command.d.ts +1 -1
  120. package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
  121. package/dist/src/presentation/cli/commands/feat/show.command.js +4 -3
  122. package/dist/src/presentation/cli/commands/feat/start.command.d.ts +1 -1
  123. package/dist/src/presentation/cli/commands/feat/start.command.js +1 -1
  124. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts +2 -2
  125. package/dist/src/presentation/cli/commands/feat/unarchive.command.js +2 -2
  126. package/dist/src/presentation/cli/commands/ide-open.command.d.ts +1 -1
  127. package/dist/src/presentation/cli/commands/ide-open.command.js +1 -1
  128. package/dist/src/presentation/cli/commands/log-viewer.d.ts +1 -1
  129. package/dist/src/presentation/cli/commands/log-viewer.js +1 -1
  130. package/dist/src/presentation/cli/commands/repo/add.command.d.ts +3 -3
  131. package/dist/src/presentation/cli/commands/repo/add.command.js +3 -3
  132. package/dist/src/presentation/cli/commands/repo/index.d.ts +4 -4
  133. package/dist/src/presentation/cli/commands/repo/index.js +4 -4
  134. package/dist/src/presentation/cli/commands/repo/ls.command.d.ts +1 -1
  135. package/dist/src/presentation/cli/commands/repo/ls.command.js +1 -1
  136. package/dist/src/presentation/cli/commands/repo/show.command.d.ts +1 -1
  137. package/dist/src/presentation/cli/commands/repo/show.command.js +1 -1
  138. package/dist/src/presentation/cli/commands/restart.command.d.ts +3 -3
  139. package/dist/src/presentation/cli/commands/restart.command.js +5 -5
  140. package/dist/src/presentation/cli/commands/run.command.d.ts +5 -5
  141. package/dist/src/presentation/cli/commands/run.command.js +5 -5
  142. package/dist/src/presentation/cli/commands/session/index.d.ts +3 -3
  143. package/dist/src/presentation/cli/commands/session/index.js +3 -3
  144. package/dist/src/presentation/cli/commands/session/ls.command.d.ts +6 -6
  145. package/dist/src/presentation/cli/commands/session/ls.command.js +6 -6
  146. package/dist/src/presentation/cli/commands/session/show.command.d.ts +3 -3
  147. package/dist/src/presentation/cli/commands/session/show.command.js +3 -3
  148. package/dist/src/presentation/cli/commands/settings/agent.command.d.ts +4 -4
  149. package/dist/src/presentation/cli/commands/settings/agent.command.js +7 -7
  150. package/dist/src/presentation/cli/commands/settings/ide.command.d.ts +3 -3
  151. package/dist/src/presentation/cli/commands/settings/ide.command.js +6 -6
  152. package/dist/src/presentation/cli/commands/settings/index.d.ts +10 -10
  153. package/dist/src/presentation/cli/commands/settings/index.js +10 -10
  154. package/dist/src/presentation/cli/commands/settings/init.command.d.ts +3 -3
  155. package/dist/src/presentation/cli/commands/settings/init.command.js +6 -6
  156. package/dist/src/presentation/cli/commands/settings/language.command.d.ts +2 -2
  157. package/dist/src/presentation/cli/commands/settings/language.command.js +3 -3
  158. package/dist/src/presentation/cli/commands/settings/model.command.d.ts +2 -2
  159. package/dist/src/presentation/cli/commands/settings/model.command.js +3 -3
  160. package/dist/src/presentation/cli/commands/settings/show.command.d.ts +4 -4
  161. package/dist/src/presentation/cli/commands/settings/show.command.js +7 -7
  162. package/dist/src/presentation/cli/commands/settings/workflow.command.d.ts +3 -3
  163. package/dist/src/presentation/cli/commands/settings/workflow.command.js +6 -6
  164. package/dist/src/presentation/cli/commands/start.command.d.ts +3 -3
  165. package/dist/src/presentation/cli/commands/start.command.js +5 -5
  166. package/dist/src/presentation/cli/commands/status.command.d.ts +4 -4
  167. package/dist/src/presentation/cli/commands/status.command.js +4 -4
  168. package/dist/src/presentation/cli/commands/stop.command.d.ts +2 -2
  169. package/dist/src/presentation/cli/commands/stop.command.js +2 -2
  170. package/dist/src/presentation/cli/commands/tools.command.d.ts +1 -1
  171. package/dist/src/presentation/cli/commands/tools.command.js +1 -1
  172. package/dist/src/presentation/cli/commands/ui.command.d.ts +4 -4
  173. package/dist/src/presentation/cli/commands/ui.command.js +7 -7
  174. package/dist/src/presentation/cli/commands/upgrade.command.d.ts +2 -2
  175. package/dist/src/presentation/cli/commands/upgrade.command.js +2 -2
  176. package/dist/src/presentation/cli/commands/version.command.d.ts +2 -2
  177. package/dist/src/presentation/cli/commands/version.command.js +2 -2
  178. package/dist/src/presentation/cli/index.d.ts +3 -3
  179. package/dist/src/presentation/cli/index.js +4 -4
  180. package/dist/src/presentation/cli/ui/index.d.ts +1 -1
  181. package/dist/src/presentation/cli/ui/index.js +1 -1
  182. package/dist/src/presentation/tui/themes/shipit-ai.theme.d.ts +4 -4
  183. package/dist/src/presentation/tui/themes/shipit-ai.theme.js +4 -4
  184. package/dist/src/presentation/web/app/actions/check-agent-auth.d.ts.map +1 -1
  185. package/dist/src/presentation/web/app/actions/check-agent-auth.js +69 -24
  186. package/dist/src/presentation/web/app/actions/deploy-feature.js +2 -2
  187. package/dist/src/presentation/web/app/actions/deploy-repository.js +2 -2
  188. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts +1 -0
  189. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -1
  190. package/dist/src/presentation/web/app/actions/get-all-agent-models.js +28 -3
  191. package/dist/src/presentation/web/app/actions/get-available-editors.d.ts +14 -0
  192. package/dist/src/presentation/web/app/actions/get-available-editors.d.ts.map +1 -0
  193. package/dist/src/presentation/web/app/actions/get-available-editors.js +24 -0
  194. package/dist/src/presentation/web/app/actions/get-available-shells.d.ts +14 -0
  195. package/dist/src/presentation/web/app/actions/get-available-shells.d.ts.map +1 -0
  196. package/dist/src/presentation/web/app/actions/get-available-shells.js +22 -0
  197. package/dist/src/presentation/web/app/actions/get-merge-review-data.js +3 -3
  198. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  199. package/dist/src/presentation/web/app/layout.js +4 -13
  200. package/dist/src/presentation/web/app/settings/page.d.ts.map +1 -1
  201. package/dist/src/presentation/web/app/settings/page.js +6 -2
  202. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +1 -1
  203. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts +1 -1
  204. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.js +1 -1
  205. package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.js +1 -1
  206. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +1 -1
  207. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -1
  208. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.js +2 -2
  209. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +8 -8
  210. package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.js +1 -1
  211. package/dist/src/presentation/web/components/common/inline-attachments/inline-attachments.stories.js +5 -5
  212. package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.js +8 -8
  213. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.js +1 -1
  214. package/dist/src/presentation/web/components/common/shipit-ai-logo/index.d.ts +2 -2
  215. package/dist/src/presentation/web/components/common/shipit-ai-logo/index.d.ts.map +1 -1
  216. package/dist/src/presentation/web/components/common/shipit-ai-logo/index.js +1 -1
  217. package/dist/src/presentation/web/components/common/shipit-ai-logo/{shep-logo.d.ts → shipit-ai-logo.d.ts} +1 -1
  218. package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.d.ts.map +1 -0
  219. package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.js +8 -0
  220. package/dist/src/presentation/web/components/common/shipit-ai-logo/{shep-logo.stories.d.ts → shipit-ai-logo.stories.d.ts} +2 -2
  221. package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.stories.d.ts.map +1 -0
  222. package/dist/src/presentation/web/components/common/shipit-ai-logo/{shep-logo.stories.js → shipit-ai-logo.stories.js} +1 -1
  223. package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.js +2 -2
  224. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +1 -1
  225. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +1 -1
  226. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
  227. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +6 -1
  228. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.js +19 -19
  229. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -1
  230. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +13 -2
  231. package/dist/src/presentation/web/components/features/settings/database-settings-section.js +1 -1
  232. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts +5 -1
  233. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  234. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +33 -27
  235. package/dist/src/presentation/web/components/features/tools/tool-card.js +1 -1
  236. package/dist/src/presentation/web/components/features/version/version-page-client.js +1 -1
  237. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  238. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +3 -3
  239. package/dist/src/presentation/web/components/ui/badge.d.ts +1 -1
  240. package/dist/src/presentation/web/components/ui/button.d.ts +1 -1
  241. package/dist/src/presentation/web/components/ui/sidebar.stories.js +1 -1
  242. package/dist/src/presentation/web/lib/session-scanner.js +2 -2
  243. package/dist/src/presentation/web/lib/version.d.ts +1 -1
  244. package/dist/src/presentation/web/lib/version.js +1 -1
  245. package/dist/src/presentation/web/{middleware.d.ts → proxy.d.ts} +4 -4
  246. package/dist/src/presentation/web/proxy.d.ts.map +1 -0
  247. package/dist/src/presentation/web/{middleware.js → proxy.js} +3 -3
  248. package/dist/src/presentation/web/types/theme.d.ts +1 -1
  249. package/dist/src/presentation/web/types/theme.js +1 -1
  250. package/dist/translations/ar/cli.json +17 -17
  251. package/dist/translations/ar/tui.json +2 -2
  252. package/dist/translations/ar/web.json +7 -5
  253. package/dist/translations/de/cli.json +17 -17
  254. package/dist/translations/de/tui.json +2 -2
  255. package/dist/translations/de/web.json +7 -5
  256. package/dist/translations/en/cli.json +17 -17
  257. package/dist/translations/en/tui.json +2 -2
  258. package/dist/translations/en/web.json +7 -5
  259. package/dist/translations/es/cli.json +17 -17
  260. package/dist/translations/es/tui.json +2 -2
  261. package/dist/translations/es/web.json +7 -5
  262. package/dist/translations/fr/cli.json +17 -17
  263. package/dist/translations/fr/tui.json +2 -2
  264. package/dist/translations/fr/web.json +7 -5
  265. package/dist/translations/he/cli.json +17 -17
  266. package/dist/translations/he/tui.json +2 -2
  267. package/dist/translations/he/web.json +7 -5
  268. package/dist/translations/pt/cli.json +17 -17
  269. package/dist/translations/pt/tui.json +2 -2
  270. package/dist/translations/pt/web.json +7 -5
  271. package/dist/translations/ru/cli.json +17 -17
  272. package/dist/translations/ru/tui.json +2 -2
  273. package/dist/translations/ru/web.json +7 -5
  274. package/dist/tsconfig.build.tsbuildinfo +1 -1
  275. package/package.json +3 -3
  276. package/web/.next/BUILD_ID +1 -1
  277. package/web/.next/build-manifest.json +5 -5
  278. package/web/.next/fallback-build-manifest.json +3 -3
  279. package/web/.next/prerender-manifest.json +3 -3
  280. package/web/.next/required-server-files.js +8 -8
  281. package/web/.next/required-server-files.json +8 -8
  282. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +2 -2
  283. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  284. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -1
  285. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  286. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  287. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +2 -2
  288. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  289. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +2 -1
  290. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  291. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  292. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  293. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  294. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -1
  295. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  296. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  297. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  298. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  299. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -1
  300. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  301. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  302. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  303. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +37 -37
  304. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -1
  305. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  306. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  307. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +2 -2
  308. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  309. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +2 -1
  310. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  311. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  312. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  313. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  314. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -1
  315. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  316. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  317. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +2 -2
  318. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  319. package/web/.next/server/app/(dashboard)/chat/page.js +2 -1
  320. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  321. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  322. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  323. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  324. package/web/.next/server/app/(dashboard)/create/page.js +2 -1
  325. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  326. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  327. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  328. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  329. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -1
  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/build-manifest.json +2 -2
  333. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +37 -37
  334. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -1
  335. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  336. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  337. package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  338. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  339. package/web/.next/server/app/(dashboard)/page.js +2 -1
  340. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  341. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  342. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +2 -2
  343. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  344. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +2 -1
  345. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  346. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  347. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  348. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  349. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -1
  350. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  351. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  352. package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  353. package/web/.next/server/app/_global-error.html +1 -1
  354. package/web/.next/server/app/_global-error.rsc +1 -1
  355. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  356. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  357. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  358. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  359. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  360. package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  361. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  362. package/web/.next/server/app/_not-found/page.js +2 -1
  363. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  364. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  365. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  366. package/web/.next/server/app/api/attachments/upload-from-path/route.js +1 -1
  367. package/web/.next/server/app/api/attachments/upload-from-path/route.js.nft.json +1 -1
  368. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  369. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  370. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  371. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  372. package/web/.next/server/app/settings/page/build-manifest.json +2 -2
  373. package/web/.next/server/app/settings/page/server-reference-manifest.json +42 -18
  374. package/web/.next/server/app/settings/page.js +3 -2
  375. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  376. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  377. package/web/.next/server/app/skills/page/build-manifest.json +2 -2
  378. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  379. package/web/.next/server/app/skills/page.js +2 -2
  380. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  381. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  382. package/web/.next/server/app/tools/page/build-manifest.json +2 -2
  383. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  384. package/web/.next/server/app/tools/page.js +2 -2
  385. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  386. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  387. package/web/.next/server/app/version/page/build-manifest.json +2 -2
  388. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  389. package/web/.next/server/app/version/page.js +2 -1
  390. package/web/.next/server/app/version/page.js.nft.json +1 -1
  391. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  392. package/web/.next/server/chunks/[externals]__11vad82._.js +3 -0
  393. package/web/.next/server/chunks/[externals]__11vad82._.js.map +1 -0
  394. package/web/.next/server/chunks/[root-of-the-server]__0.2exzi._.js.map +1 -1
  395. package/web/.next/server/chunks/[root-of-the-server]__02xmnal._.js.map +1 -1
  396. package/web/.next/server/chunks/[root-of-the-server]__04jjtl_._.js.map +1 -1
  397. package/web/.next/server/chunks/[root-of-the-server]__07suer1._.js.map +1 -1
  398. package/web/.next/server/chunks/[root-of-the-server]__09118p2._.js.map +1 -1
  399. package/web/.next/server/chunks/[root-of-the-server]__0_.w-eb._.js.map +1 -1
  400. package/web/.next/server/chunks/[root-of-the-server]__0ip_e1x._.js.map +1 -1
  401. package/web/.next/server/chunks/[root-of-the-server]__0jx0isp._.js +1 -1
  402. package/web/.next/server/chunks/[root-of-the-server]__0jx0isp._.js.map +1 -1
  403. package/web/.next/server/chunks/{[root-of-the-server]__0ob3z53._.js → [root-of-the-server]__0l1p8bx._.js} +2 -2
  404. package/web/.next/server/chunks/{[root-of-the-server]__0ob3z53._.js.map → [root-of-the-server]__0l1p8bx._.js.map} +1 -1
  405. package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
  406. package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js.map +1 -1
  407. package/web/.next/server/chunks/[root-of-the-server]__13ni_ow._.js +20 -0
  408. package/web/.next/server/chunks/[root-of-the-server]__13ni_ow._.js.map +1 -0
  409. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_00~eq5i.js +3 -0
  410. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_00~eq5i.js.map +1 -0
  411. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_0979_c..js +3 -0
  412. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_0979_c..js.map +1 -0
  413. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_chat_page_actions_0dqll_1.js +3 -0
  414. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_chat_page_actions_0dqll_1.js.map +1 -0
  415. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
  416. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
  417. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +2 -2
  418. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
  419. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
  420. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
  421. package/web/.next/server/chunks/ssr/11es_next_dist_0e36~wi._.js +1 -1
  422. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_global-chat-drawer-client_tsx_03s32.q._.js +1 -1
  423. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_global-chat-drawer-client_tsx_03s32.q._.js.map +1 -1
  424. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
  425. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
  426. package/web/.next/server/chunks/ssr/[root-of-the-server]__01~y8wi._.js +3 -0
  427. package/web/.next/server/chunks/ssr/[root-of-the-server]__01~y8wi._.js.map +1 -0
  428. package/web/.next/server/chunks/ssr/[root-of-the-server]__0_ag.8y._.js +1 -1
  429. package/web/.next/server/chunks/ssr/[root-of-the-server]__0np51e2._.js +3 -0
  430. package/web/.next/server/chunks/ssr/[root-of-the-server]__0np51e2._.js.map +1 -0
  431. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qh.wn.._.js.map +1 -1
  432. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
  433. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js.map +1 -1
  434. package/web/.next/server/chunks/ssr/[root-of-the-server]__0uxn6-j._.js +3 -0
  435. package/web/.next/server/chunks/ssr/[root-of-the-server]__0uxn6-j._.js.map +1 -0
  436. package/web/.next/server/chunks/ssr/[root-of-the-server]__0~h382a._.js +3 -0
  437. package/web/.next/server/chunks/ssr/[root-of-the-server]__0~h382a._.js.map +1 -0
  438. package/web/.next/server/chunks/ssr/[root-of-the-server]__11-~i9u._.js +1 -1
  439. package/web/.next/server/chunks/ssr/[root-of-the-server]__11-~i9u._.js.map +1 -1
  440. package/web/.next/server/chunks/ssr/[root-of-the-server]__12g8h3_._.js +4 -0
  441. package/web/.next/server/chunks/ssr/[root-of-the-server]__12g8h3_._.js.map +1 -0
  442. package/web/.next/server/chunks/ssr/[root-of-the-server]__12qqi.~._.js +3 -0
  443. package/web/.next/server/chunks/ssr/[root-of-the-server]__12qqi.~._.js.map +1 -0
  444. package/web/.next/server/chunks/ssr/{_0sgeiju._.js → _01mq~sm._.js} +2 -2
  445. package/web/.next/server/chunks/ssr/{_0sgeiju._.js.map → _01mq~sm._.js.map} +1 -1
  446. package/web/.next/server/chunks/ssr/_09g41d0._.js +1 -1
  447. package/web/.next/server/chunks/ssr/{_133.z2f._.js → _0_rw~d1._.js} +2 -2
  448. package/web/.next/server/chunks/ssr/{_133.z2f._.js.map → _0_rw~d1._.js.map} +1 -1
  449. package/web/.next/server/chunks/ssr/_0aa~oer._.js +1 -1
  450. package/web/.next/server/chunks/ssr/_0cmq7cz._.js +3 -0
  451. package/web/.next/server/chunks/ssr/{_0427j6p._.js.map → _0cmq7cz._.js.map} +1 -1
  452. package/web/.next/server/chunks/ssr/_0d-pkk0._.js +1 -1
  453. package/web/.next/server/chunks/ssr/{_0aakgii._.js → _0didmia._.js} +2 -2
  454. package/web/.next/server/chunks/ssr/{_0aakgii._.js.map → _0didmia._.js.map} +1 -1
  455. package/web/.next/server/chunks/ssr/_0e5cv3q._.js +1 -1
  456. package/web/.next/server/chunks/ssr/_0e5cv3q._.js.map +1 -1
  457. package/web/.next/server/chunks/ssr/_0ez.1o4._.js +1 -1
  458. package/web/.next/server/chunks/ssr/_0ez.1o4._.js.map +1 -1
  459. package/web/.next/server/chunks/ssr/_0jpbsh_._.js +4 -0
  460. package/web/.next/server/chunks/ssr/_0jpbsh_._.js.map +1 -0
  461. package/web/.next/server/chunks/ssr/_0n.xy38._.js +3 -0
  462. package/web/.next/server/chunks/ssr/_0n.xy38._.js.map +1 -0
  463. package/web/.next/server/chunks/ssr/_0rvaoj4._.js +3 -0
  464. package/web/.next/server/chunks/ssr/_0rvaoj4._.js.map +1 -0
  465. package/web/.next/server/chunks/ssr/_0v.yfmg._.js +1 -1
  466. package/web/.next/server/chunks/ssr/_0v.yfmg._.js.map +1 -1
  467. package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
  468. package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
  469. package/web/.next/server/chunks/ssr/_11kuznh._.js +1 -1
  470. package/web/.next/server/chunks/ssr/_11kuznh._.js.map +1 -1
  471. package/web/.next/server/chunks/ssr/_13euo-f._.js +1 -1
  472. package/web/.next/server/chunks/ssr/_13euo-f._.js.map +1 -1
  473. package/web/.next/server/chunks/ssr/src_presentation_web_0.e4~xc._.js +3 -0
  474. package/web/.next/server/chunks/ssr/src_presentation_web_0.e4~xc._.js.map +1 -0
  475. package/web/.next/server/chunks/ssr/src_presentation_web_00dvh.m._.js +3 -0
  476. package/web/.next/server/chunks/ssr/src_presentation_web_00dvh.m._.js.map +1 -0
  477. package/web/.next/server/chunks/ssr/src_presentation_web_06b6~lt._.js +5 -0
  478. package/web/.next/server/chunks/ssr/src_presentation_web_06b6~lt._.js.map +1 -0
  479. package/web/.next/server/chunks/ssr/src_presentation_web_08fy2mf._.js +3 -0
  480. package/web/.next/server/chunks/ssr/src_presentation_web_08fy2mf._.js.map +1 -0
  481. package/web/.next/server/chunks/ssr/src_presentation_web_0f~udu1._.js +3 -0
  482. package/web/.next/server/chunks/ssr/src_presentation_web_0f~udu1._.js.map +1 -0
  483. package/web/.next/server/chunks/ssr/src_presentation_web_0qys821._.js +5 -0
  484. package/web/.next/server/chunks/ssr/src_presentation_web_0qys821._.js.map +1 -0
  485. package/web/.next/server/chunks/ssr/src_presentation_web_0q~dt0o._.js +3 -0
  486. package/web/.next/server/chunks/ssr/src_presentation_web_0q~dt0o._.js.map +1 -0
  487. package/web/.next/server/chunks/ssr/src_presentation_web_0y11iiz._.js +1 -1
  488. package/web/.next/server/chunks/ssr/src_presentation_web_0y11iiz._.js.map +1 -1
  489. package/web/.next/server/chunks/ssr/src_presentation_web_11jrkxt._.js +3 -0
  490. package/web/.next/server/chunks/ssr/src_presentation_web_11jrkxt._.js.map +1 -0
  491. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_1199d3x.js +3 -0
  492. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_1199d3x.js.map +1 -0
  493. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_0m2jqxx.js +3 -0
  494. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_0m2jqxx.js.map +1 -0
  495. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_0krkh_0.js +3 -0
  496. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_0krkh_0.js.map +1 -0
  497. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_load-settings_ts_0b8f3pf._.js +3 -0
  498. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_load-settings_ts_0b8f3pf._.js.map +1 -0
  499. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
  500. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js.map +1 -1
  501. package/web/.next/server/chunks/ssr/src_presentation_web_components_0sk2qdt._.js +1 -1
  502. package/web/.next/server/chunks/ssr/src_presentation_web_components_0sk2qdt._.js.map +1 -1
  503. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
  504. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
  505. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js +1 -1
  506. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js.map +1 -1
  507. package/web/.next/server/functions-config-manifest.json +11 -1
  508. package/web/.next/server/middleware/middleware-manifest.json +1 -27
  509. package/web/.next/server/middleware-build-manifest.js +5 -5
  510. package/web/.next/server/middleware-manifest.json +2 -32
  511. package/web/.next/server/middleware.js +5 -0
  512. package/web/.next/server/middleware.js.map +5 -0
  513. package/web/.next/server/middleware.js.nft.json +1 -0
  514. package/web/.next/server/pages/500.html +1 -1
  515. package/web/.next/server/server-reference-manifest.js +1 -1
  516. package/web/.next/server/server-reference-manifest.json +80 -56
  517. package/web/.next/static/chunks/0.sym6jfj6grq.js +3 -0
  518. package/web/.next/static/chunks/020evfj~hwo.y.js +1 -0
  519. package/web/.next/static/chunks/03ot13wr2b66m.js +1 -0
  520. package/web/.next/static/chunks/{0qm-9ipi3co.d.js → 03~v6v2nap7mo.js} +1 -1
  521. package/web/.next/static/chunks/{0~io7k480nets.js → 06i0jbwvsh9dt.js} +1 -1
  522. package/web/.next/static/chunks/{0bdtgeoys8bq..js → 08iuksm8rvb09.js} +1 -1
  523. package/web/.next/static/chunks/{0bkt5slti~l1x.js → 0blwygqw94n06.js} +1 -1
  524. package/web/.next/static/chunks/{0dx9n.g50tq3h.js → 0f2uwlgu6_ke9.js} +1 -1
  525. package/web/.next/static/chunks/{0.ot~ed_rh0ui.js → 0h4b8hqv3nx5k.js} +2 -2
  526. package/web/.next/static/chunks/{0si_11yihc0-l.js → 0hfrrtui07454.js} +1 -1
  527. package/web/.next/static/chunks/{0_5~ye5oqkvog.js → 0os~x74548~2v.js} +2 -2
  528. package/web/.next/static/chunks/0r5dju6f1-i38.css +1 -0
  529. package/web/.next/static/chunks/{13xg0bjtuso~r.js → 0riti1bs-erm~.js} +1 -1
  530. package/web/.next/static/chunks/0s_bs2xnidmdu.js +1 -0
  531. package/web/.next/static/chunks/{0fc4~7_n~k~-y.js → 0vumtm-.qy4jj.js} +1 -1
  532. package/web/.next/static/chunks/{0vlx6s5d1~d-w.js → 0wmckrtphfa12.js} +1 -1
  533. package/web/.next/static/chunks/{07lrq10rx0tp1.js → 0~er~22zwvx0i.js} +1 -1
  534. package/web/.next/static/chunks/{0rnvcu2blaow4.js → 15m2wfd5k_7fj.js} +1 -1
  535. package/web/.next/static/chunks/{0ureecfb3sk03.js → 16igrl-x.arjm.js} +1 -1
  536. package/web/.next/static/chunks/{turbopack-10upsk2jydmq4.js → turbopack-0ve8f54_veg.u.js} +1 -1
  537. package/web/.next/static/{ZJku-LesX1icuSm9WAIO0 → iVeg_0a4LmR6dgTlRNfbG}/_clientMiddlewareManifest.js +1 -1
  538. package/web/public/apple-touch-icon.png +0 -0
  539. package/web/public/favicon-32x32.png +0 -0
  540. package/web/public/icon-192.png +0 -0
  541. package/web/public/icon-512.png +0 -0
  542. package/web/public/icons/agents/openai.svg +1 -1
  543. package/web/public/shipit-brain.png +0 -0
  544. package/web/public/shipit-icon.svg +68 -0
  545. package/web/public/shipit-logo.png +0 -0
  546. package/dist/src/presentation/web/components/common/shipit-ai-logo/shep-logo.d.ts.map +0 -1
  547. package/dist/src/presentation/web/components/common/shipit-ai-logo/shep-logo.js +0 -5
  548. package/dist/src/presentation/web/components/common/shipit-ai-logo/shep-logo.stories.d.ts.map +0 -1
  549. package/dist/src/presentation/web/middleware.d.ts.map +0 -1
  550. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.j0ktf._.js +0 -4
  551. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.j0ktf._.js.map +0 -1
  552. package/web/.next/server/chunks/ssr/[root-of-the-server]__07m44ax._.js +0 -3
  553. package/web/.next/server/chunks/ssr/[root-of-the-server]__07m44ax._.js.map +0 -1
  554. package/web/.next/server/chunks/ssr/[root-of-the-server]__0frgz11._.js +0 -4
  555. package/web/.next/server/chunks/ssr/[root-of-the-server]__0frgz11._.js.map +0 -1
  556. package/web/.next/server/chunks/ssr/[root-of-the-server]__0oi7r67._.js +0 -4
  557. package/web/.next/server/chunks/ssr/[root-of-the-server]__0oi7r67._.js.map +0 -1
  558. package/web/.next/server/chunks/ssr/[root-of-the-server]__0pti1a3._.js +0 -4
  559. package/web/.next/server/chunks/ssr/[root-of-the-server]__0pti1a3._.js.map +0 -1
  560. package/web/.next/server/chunks/ssr/[root-of-the-server]__0s9k_s3._.js +0 -4
  561. package/web/.next/server/chunks/ssr/[root-of-the-server]__0s9k_s3._.js.map +0 -1
  562. package/web/.next/server/chunks/ssr/[root-of-the-server]__0v-vmgt._.js +0 -4
  563. package/web/.next/server/chunks/ssr/[root-of-the-server]__0v-vmgt._.js.map +0 -1
  564. package/web/.next/server/chunks/ssr/[root-of-the-server]__0yky~xo._.js +0 -4
  565. package/web/.next/server/chunks/ssr/[root-of-the-server]__0yky~xo._.js.map +0 -1
  566. package/web/.next/server/chunks/ssr/[root-of-the-server]__11dc42t._.js +0 -4
  567. package/web/.next/server/chunks/ssr/[root-of-the-server]__11dc42t._.js.map +0 -1
  568. package/web/.next/server/chunks/ssr/_0427j6p._.js +0 -3
  569. package/web/.next/server/chunks/ssr/_0__4si~._.js +0 -4
  570. package/web/.next/server/chunks/ssr/_0__4si~._.js.map +0 -1
  571. package/web/.next/server/chunks/ssr/_0_m17kl._.js +0 -4
  572. package/web/.next/server/chunks/ssr/_0_m17kl._.js.map +0 -1
  573. package/web/.next/server/chunks/ssr/_0d4miu.._.js +0 -4
  574. package/web/.next/server/chunks/ssr/_0d4miu.._.js.map +0 -1
  575. package/web/.next/server/chunks/ssr/_0e8ern9._.js +0 -4
  576. package/web/.next/server/chunks/ssr/_0e8ern9._.js.map +0 -1
  577. package/web/.next/server/chunks/ssr/_0hovej-._.js +0 -6
  578. package/web/.next/server/chunks/ssr/_0hovej-._.js.map +0 -1
  579. package/web/.next/server/chunks/ssr/_0p3zs6p._.js +0 -3
  580. package/web/.next/server/chunks/ssr/_0p3zs6p._.js.map +0 -1
  581. package/web/.next/server/chunks/ssr/_0qpq3xl._.js +0 -3
  582. package/web/.next/server/chunks/ssr/_0qpq3xl._.js.map +0 -1
  583. package/web/.next/server/chunks/ssr/_0r.3n~3._.js +0 -4
  584. package/web/.next/server/chunks/ssr/_0r.3n~3._.js.map +0 -1
  585. package/web/.next/server/chunks/ssr/_0t59q8r._.js +0 -4
  586. package/web/.next/server/chunks/ssr/_0t59q8r._.js.map +0 -1
  587. package/web/.next/server/chunks/ssr/_0zk-h5w._.js +0 -4
  588. package/web/.next/server/chunks/ssr/_0zk-h5w._.js.map +0 -1
  589. package/web/.next/server/chunks/ssr/_0~ev6dw._.js +0 -6
  590. package/web/.next/server/chunks/ssr/_0~ev6dw._.js.map +0 -1
  591. package/web/.next/server/chunks/ssr/_1161g9x._.js +0 -4
  592. package/web/.next/server/chunks/ssr/_1161g9x._.js.map +0 -1
  593. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js +0 -3
  594. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js.map +0 -1
  595. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js +0 -3
  596. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js.map +0 -1
  597. package/web/.next/server/edge/chunks/0pax_next_dist_esm_build_templates_edge-wrapper_0atr6ca.js +0 -3
  598. package/web/.next/server/edge/chunks/11es_next_dist_esm_build_templates_edge-wrapper_0atr6ca.js.map +0 -1
  599. package/web/.next/server/edge/chunks/11es_next_dist_esm_build_templates_edge-wrapper_0xg0zx-.js +0 -3
  600. package/web/.next/server/edge/chunks/11es_next_dist_esm_build_templates_edge-wrapper_0xg0zx-.js.map +0 -1
  601. package/web/.next/server/edge/chunks/[root-of-the-server]__0m078x4._.js +0 -11
  602. package/web/.next/server/edge/chunks/[root-of-the-server]__0m078x4._.js.map +0 -1
  603. package/web/.next/static/chunks/09a1uo.4xdik3.js +0 -1
  604. package/web/.next/static/chunks/0dr6q94jmx86b.css +0 -1
  605. package/web/.next/static/chunks/0f698k1fycef7.js +0 -1
  606. package/web/.next/static/chunks/0yj1o1qkqnea0.js +0 -1
  607. package/web/.next/static/chunks/0~d8qka._ncpd.js +0 -3
  608. package/web/public/favicon-dark.svg +0 -6
  609. package/web/public/favicon-light.svg +0 -6
  610. /package/web/.next/static/{ZJku-LesX1icuSm9WAIO0 → iVeg_0a4LmR6dgTlRNfbG}/_buildManifest.js +0 -0
  611. /package/web/.next/static/{ZJku-LesX1icuSm9WAIO0 → iVeg_0a4LmR6dgTlRNfbG}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,956,e=>{"use strict";var a=e.i(96871),s=e.i(16539),r=e.i(31777);let l=s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...s}));l.displayName="Card";let i=s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("flex flex-col space-y-1.5 p-6",e),...s}));i.displayName="CardHeader";let n=s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("leading-none font-semibold tracking-tight",e),...s}));n.displayName="CardTitle";let t=s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("text-muted-foreground text-sm",e),...s}));t.displayName="CardDescription";let d=s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("p-6 pt-0",e),...s}));d.displayName="CardContent",s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("flex items-center p-6 pt-0",e),...s})).displayName="CardFooter",e.s(["Card",0,l,"CardContent",0,d,"CardDescription",0,t,"CardHeader",0,i,"CardTitle",0,n])},1699,e=>{"use strict";var a=e.i(96871),s=e.i(75459),r=e.i(956),l=e.i(81846),i=e.i(35364),n=e.i(68304);function t({label:e,value:s,badge:r,badgeVariant:i="secondary"}){return(0,a.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,a.jsx)("span",{className:"text-muted-foreground text-sm",children:e}),r?(0,a.jsx)(l.Badge,{variant:i,children:s}):(0,a.jsx)("span",{className:"font-mono text-sm",children:s})]})}e.s(["default",0,function({versionInfo:e,systemInfo:d}){return(0,a.jsx)("div",{className:"flex flex-col items-center justify-center p-4",children:(0,a.jsxs)("div",{className:"w-full max-w-2xl space-y-6",children:[(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:e.name}),(0,a.jsx)("p",{className:"text-muted-foreground mt-2",children:e.description}),(0,a.jsx)("div",{className:"mt-4",children:(0,a.jsxs)(l.Badge,{variant:"default","data-testid":"version-badge",children:["v",e.version]})})]}),(0,a.jsxs)(n.Tabs,{defaultValue:"overview",className:"w-full",children:[(0,a.jsxs)(n.TabsList,{className:"grid w-full grid-cols-3",children:[(0,a.jsx)(n.TabsTrigger,{value:"overview",children:"Overview"}),(0,a.jsx)(n.TabsTrigger,{value:"system",children:"System"}),(0,a.jsx)(n.TabsTrigger,{value:"features",children:"Features"})]}),(0,a.jsx)(n.TabsContent,{value:"overview",children:(0,a.jsxs)(r.Card,{children:[(0,a.jsxs)(r.CardHeader,{children:[(0,a.jsx)(r.CardTitle,{children:"Package Information"}),(0,a.jsx)(r.CardDescription,{children:"Details about the Shep AI CLI package"})]}),(0,a.jsxs)(r.CardContent,{className:"space-y-1",children:[(0,a.jsx)(t,{label:"Package",value:e.name}),(0,a.jsx)(t,{label:"Version",value:`v${e.version}`,badge:!0,badgeVariant:"default"}),(0,a.jsx)(t,{label:"License",value:"MIT",badge:!0,badgeVariant:"outline"}),(0,a.jsx)(t,{label:"Author",value:"Shipit AI"})]})]})}),(0,a.jsx)(n.TabsContent,{value:"system",children:(0,a.jsxs)(r.Card,{children:[(0,a.jsxs)(r.CardHeader,{children:[(0,a.jsx)(r.CardTitle,{children:"System Information"}),(0,a.jsx)(r.CardDescription,{children:"Runtime environment details"})]}),(0,a.jsxs)(r.CardContent,{className:"space-y-1",children:[(0,a.jsx)(t,{label:"Node.js",value:d.nodeVersion,badge:!0,badgeVariant:"secondary"}),(0,a.jsx)(t,{label:"Platform",value:`${d.platform} ${d.arch}`})]})]})}),(0,a.jsx)(n.TabsContent,{value:"features",children:(0,a.jsxs)(r.Card,{children:[(0,a.jsxs)(r.CardHeader,{children:[(0,a.jsx)(r.CardTitle,{children:"Key Features"}),(0,a.jsx)(r.CardDescription,{children:"What Shep AI can do for you"})]}),(0,a.jsx)(r.CardContent,{children:(0,a.jsxs)("ul",{className:"space-y-2 text-sm",children:[(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)(l.Badge,{variant:"outline",children:"AI"}),(0,a.jsx)("span",{children:"Autonomous code generation"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)(l.Badge,{variant:"outline",children:"SDLC"}),(0,a.jsx)("span",{children:"Full development lifecycle automation"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)(l.Badge,{variant:"outline",children:"CLI"}),(0,a.jsx)("span",{children:"Powerful command-line interface"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)(l.Badge,{variant:"outline",children:"Web"}),(0,a.jsx)("span",{children:"Modern web UI dashboard"})]})]})})]})})]}),(0,a.jsxs)("div",{className:"flex justify-center gap-4",children:[(0,a.jsx)(i.Button,{asChild:!0,variant:"outline",children:(0,a.jsx)(s.default,{href:"/",children:"Back to Home"})}),(0,a.jsx)(i.Button,{asChild:!0,children:(0,a.jsx)("a",{href:"https://github.com/jrmatherly/shipit",target:"_blank",rel:"noopener noreferrer",children:"View on GitHub"})})]})]})})}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,956,e=>{"use strict";var a=e.i(96871),s=e.i(16539),r=e.i(31777);let l=s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...s}));l.displayName="Card";let i=s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("flex flex-col space-y-1.5 p-6",e),...s}));i.displayName="CardHeader";let n=s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("leading-none font-semibold tracking-tight",e),...s}));n.displayName="CardTitle";let t=s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("text-muted-foreground text-sm",e),...s}));t.displayName="CardDescription";let d=s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("p-6 pt-0",e),...s}));d.displayName="CardContent",s.forwardRef(({className:e,...s},l)=>(0,a.jsx)("div",{ref:l,className:(0,r.cn)("flex items-center p-6 pt-0",e),...s})).displayName="CardFooter",e.s(["Card",0,l,"CardContent",0,d,"CardDescription",0,t,"CardHeader",0,i,"CardTitle",0,n])},1699,e=>{"use strict";var a=e.i(96871),s=e.i(75459),r=e.i(956),l=e.i(81846),i=e.i(35364),n=e.i(68304);function t({label:e,value:s,badge:r,badgeVariant:i="secondary"}){return(0,a.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,a.jsx)("span",{className:"text-muted-foreground text-sm",children:e}),r?(0,a.jsx)(l.Badge,{variant:i,children:s}):(0,a.jsx)("span",{className:"font-mono text-sm",children:s})]})}e.s(["default",0,function({versionInfo:e,systemInfo:d}){return(0,a.jsx)("div",{className:"flex flex-col items-center justify-center p-4",children:(0,a.jsxs)("div",{className:"w-full max-w-2xl space-y-6",children:[(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:e.name}),(0,a.jsx)("p",{className:"text-muted-foreground mt-2",children:e.description}),(0,a.jsx)("div",{className:"mt-4",children:(0,a.jsxs)(l.Badge,{variant:"default","data-testid":"version-badge",children:["v",e.version]})})]}),(0,a.jsxs)(n.Tabs,{defaultValue:"overview",className:"w-full",children:[(0,a.jsxs)(n.TabsList,{className:"grid w-full grid-cols-3",children:[(0,a.jsx)(n.TabsTrigger,{value:"overview",children:"Overview"}),(0,a.jsx)(n.TabsTrigger,{value:"system",children:"System"}),(0,a.jsx)(n.TabsTrigger,{value:"features",children:"Features"})]}),(0,a.jsx)(n.TabsContent,{value:"overview",children:(0,a.jsxs)(r.Card,{children:[(0,a.jsxs)(r.CardHeader,{children:[(0,a.jsx)(r.CardTitle,{children:"Package Information"}),(0,a.jsx)(r.CardDescription,{children:"Details about the ShipIT AI CLI package"})]}),(0,a.jsxs)(r.CardContent,{className:"space-y-1",children:[(0,a.jsx)(t,{label:"Package",value:e.name}),(0,a.jsx)(t,{label:"Version",value:`v${e.version}`,badge:!0,badgeVariant:"default"}),(0,a.jsx)(t,{label:"License",value:"MIT",badge:!0,badgeVariant:"outline"}),(0,a.jsx)(t,{label:"Author",value:"ShipIT AI"})]})]})}),(0,a.jsx)(n.TabsContent,{value:"system",children:(0,a.jsxs)(r.Card,{children:[(0,a.jsxs)(r.CardHeader,{children:[(0,a.jsx)(r.CardTitle,{children:"System Information"}),(0,a.jsx)(r.CardDescription,{children:"Runtime environment details"})]}),(0,a.jsxs)(r.CardContent,{className:"space-y-1",children:[(0,a.jsx)(t,{label:"Node.js",value:d.nodeVersion,badge:!0,badgeVariant:"secondary"}),(0,a.jsx)(t,{label:"Platform",value:`${d.platform} ${d.arch}`})]})]})}),(0,a.jsx)(n.TabsContent,{value:"features",children:(0,a.jsxs)(r.Card,{children:[(0,a.jsxs)(r.CardHeader,{children:[(0,a.jsx)(r.CardTitle,{children:"Key Features"}),(0,a.jsx)(r.CardDescription,{children:"What ShipIT AI can do for you"})]}),(0,a.jsx)(r.CardContent,{children:(0,a.jsxs)("ul",{className:"space-y-2 text-sm",children:[(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)(l.Badge,{variant:"outline",children:"AI"}),(0,a.jsx)("span",{children:"Autonomous code generation"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)(l.Badge,{variant:"outline",children:"SDLC"}),(0,a.jsx)("span",{children:"Full development lifecycle automation"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)(l.Badge,{variant:"outline",children:"CLI"}),(0,a.jsx)("span",{children:"Powerful command-line interface"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)(l.Badge,{variant:"outline",children:"Web"}),(0,a.jsx)("span",{children:"Modern web UI dashboard"})]})]})})]})})]}),(0,a.jsxs)("div",{className:"flex justify-center gap-4",children:[(0,a.jsx)(i.Button,{asChild:!0,variant:"outline",children:(0,a.jsx)(s.default,{href:"/",children:"Back to Home"})}),(0,a.jsx)(i.Button,{asChild:!0,children:(0,a.jsx)("a",{href:"https://github.com/jrmatherly/shipit",target:"_blank",rel:"noopener noreferrer",children:"View on GitHub"})})]})]})})}])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24042,64970,e=>{"use strict";var t=e.i(3645);let n=(0,t.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",0,n],24042);let r=(0,t.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,r],64970)},72714,e=>{"use strict";var t=e.i(96871),n=e.i(83428),r=e.i(51251),a=e.i(31777),o=e.i(35364),l=e.i(8361);e.s(["ActionButton",0,function({label:e,onClick:i,loading:u,error:s,icon:d,iconOnly:c=!1,variant:f="outline",size:p="sm"}){let m=(0,l.useSoundAction)("click");return(0,t.jsxs)(o.Button,{variant:f,size:p,"aria-label":e,disabled:u,onClick:()=>{m.play(),i()},className:(0,a.cn)("gap-1.5",s&&"text-destructive hover:text-destructive",!s&&c&&"ghost"===f&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[u?(0,t.jsx)(n.Loader2,{className:"size-4 animate-spin"}):s?(0,t.jsx)(r.CircleAlert,{className:"size-4"}):(0,t.jsx)(d,{className:"size-4"}),c?null:e]})}])},8537,e=>{"use strict";var t=e.i(16539),n=e.i(18354),r=e.i(96976);let a=(0,r.createServerReference)("4089bcf292895686df4f89fb2535a996988c138d33",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),o=(0,r.createServerReference)("4011a943b42adddcfb1d48d7235a515691d6135db0",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),l=(0,r.createServerReference)("402febc07939d7aaf3830a99f1e7e7c2516b8c6dd2",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),i=(0,r.createServerReference)("40a093325d0315ab450f1e2e2b1f4699cf8470c03a",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus"),u=(0,n.createLogger)("[useDeployAction]");e.s(["useDeployAction",0,function(e){let[n,r]=(0,t.useState)(!1),[s,d]=(0,t.useState)(!1),[c,f]=(0,t.useState)(null),[p,m]=(0,t.useState)(null),[g,h]=(0,t.useState)(null),v=(0,t.useRef)(null),w=(0,t.useRef)(!0),y=(0,t.useRef)(p);(0,t.useEffect)(()=>{y.current=p},[p]),(0,t.useEffect)(()=>(w.current=!0,()=>{w.current=!1}),[]),(0,t.useEffect)(()=>()=>{v.current&&clearInterval(v.current)},[]);let x=(0,t.useCallback)(()=>{v.current&&(u.debug("stopping polling"),clearInterval(v.current),v.current=null)},[]),b=(0,t.useCallback)(e=>{x(),u.debug(`starting polling for "${e}" every 3000ms`),v.current=setInterval(async()=>{let t;if(!w.current)return void x();try{t=await i(e)}catch(t){u.warn(`poll fetch failed for "${e}":`,t),w.current&&(m(null),h(null),x());return}w.current&&(t&&"Stopped"!==t.state?(t.state!==y.current&&u.info(`poll state changed: ${y.current} → ${t.state}, url=${t.url}`),m(t.state),h(t.url)):(u.info(`poll result: ${t?`state=${t.state}`:"null (deployment gone)"} — stopping poll`),m(null),h(null),x()))},3e3)},[x]),j=(0,t.useCallback)(async()=>{if(!e)return void u.warn("deploy() called but input is null — no-op");if(n)return void u.warn("deploy() called but already loading — no-op");u.info(`deploy() — targetType="${e.targetType}", targetId="${e.targetId}", repositoryPath="${e.repositoryPath}"`),r(!0),f(null);try{let t="feature"===e.targetType?await a(e.targetId):await o(e.repositoryPath);if(u.info("server action result:",t),!w.current)return void u.warn("component unmounted after deploy — discarding result");if(t.success)u.info(`deploy succeeded — initial state=${t.state}, starting polling`),m(t.state??null),h(null),b(e.targetId);else{let e=t.error??"An unexpected error occurred";u.warn(`deploy failed: ${e}`),f(e)}}catch(t){if(!w.current)return;let e=t instanceof Error?t.message:"An unexpected error occurred";u.error(`deploy threw exception: ${e}`,t),f(e)}finally{w.current&&r(!1)}},[e,n,b]),T=(0,t.useCallback)(async()=>{if(e&&!s){u.info(`stop() — targetId="${e.targetId}"`),d(!0);try{let t=await l(e.targetId);if(u.info("stop result:",t),!w.current)return;t.success&&(x(),m(null),h(null))}catch(e){u.warn("stop error (non-critical):",e)}finally{w.current&&d(!1)}}},[e,s,x]);return{deploy:j,stop:T,deployLoading:n,stopLoading:s,deployError:c,status:p,url:g}}],8537)},81803,e=>{"use strict";e.i(72714),e.s([])},56719,e=>{"use strict";var t=e.i(62854);e.s(["FocusScope",0,t])},99348,17466,45811,e=>{"use strict";let t;var n=e.i(96871),r=e.i(16539),a=e.i(83428),o=e.i(30702),l=e.i(38573),i=e.i(17406),u=e.i(2828),s=e.i(2287),d=e.i(96976);let c=(0,d.createServerReference)("404dbc60e25db58c76ea61f668fed8f0640ffd02d7",d.callServer,void 0,d.findSourceMapURL,"getDeploymentLogs");function f({open:e,onOpenChange:t,targetId:a}){let{logs:o,isConnected:l}=function(e){let[t,n]=(0,r.useState)([]),[a,o]=(0,r.useState)(!1),l=(0,r.useRef)(null),i=(0,r.useCallback)(()=>{l.current&&(l.current.close(),l.current=null),o(!1)},[]);return(0,r.useEffect)(()=>{if(!e){n([]),o(!1);return}c(e).then(e=>{e&&n(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return l.current=t,t.onopen=()=>{o(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);n(e=>[...e,t])}),t.onerror=()=>{o(!1)},()=>{t.close(),l.current=null}},[e,i]),{logs:t,isConnected:a}}(e?a:null);return(0,n.jsx)(p,{open:e,onOpenChange:t,logs:o,isConnected:l})}function p({open:e,onOpenChange:t,logs:a,isConnected:o}){let i=(0,r.useRef)(null),u=(0,r.useRef)(!0),d=(0,r.useCallback)(()=>{let e=i.current;e&&(u.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{u.current&&i.current&&(i.current.scrollTop=i.current.scrollHeight)},[a]),(0,n.jsx)(s.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(s.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,n.jsxs)(s.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(l.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,n.jsx)(s.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,n.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${o?"bg-green-500":"bg-zinc-500"}`}),(0,n.jsx)("span",{className:"text-xs text-zinc-400",children:o?"Connected":"Disconnected"})]})]}),(0,n.jsxs)("div",{ref:i,onScroll:d,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,n.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,n.jsx)(m,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!o&&a.length>0&&(0,n.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function m({entry:e}){return(0,n.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,n.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let g="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";e.s(["DeploymentStatusBadge",0,function({status:e,url:t,targetId:s}){let[d,c]=(0,r.useState)(!1),p=s&&(e===i.DeploymentState.Booting||e===i.DeploymentState.Ready);switch(e){case i.DeploymentState.Booting:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,n.jsx)(a.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,n.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});case i.DeploymentState.Ready:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,n.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),t?(0,n.jsxs)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:e=>e.stopPropagation(),children:[t,(0,n.jsx)(o.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,n.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});default:return null}}],17466),e.s([],99348);var h=e.i(48249),v=e.i(94983);let w=r.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),y=()=>{let e=r.default.useContext(w);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function x(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function b(){return j(/^iPhone/)||j(/^iPad/)||j(/^Mac/)&&navigator.maxTouchPoints>1}function j(e){return"u">typeof window&&null!=window.navigator?e.test(window.navigator.platform):void 0}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let T="u">typeof window?r.useLayoutEffect:r.useEffect;function C(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let R="u">typeof document&&window.visualViewport;function D(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function E(e){for(D(e)&&(e=e.parentElement);e&&!D(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let S=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),k=0;function N(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function $(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=E(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+24&&(t.scrollTop+=r-n)}e=t.parentElement}}function P(e){return e instanceof HTMLInputElement&&!S.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function M(...e){return r.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let z=new WeakMap;function O(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{t.startsWith("--")?e.style.setProperty(t,n):(r[t]=e.style[t],e.style[t]=n)}),n||z.set(e,r)}let L=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function F(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[L(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[L(t)?5:4]):null}function B(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let A=[.32,.72,0,1],I="vaul-dragging";function H(e){let t=r.default.useRef(e);return r.default.useEffect(()=>{t.current=e}),r.default.useMemo(()=>(...e)=>null==t.current?void 0:t.current.call(t,...e),[])}function W({prop:e,defaultProp:t,onChange:n=()=>{}}){let[a,o]=function({defaultProp:e,onChange:t}){let n=r.default.useState(e),[a]=n,o=r.default.useRef(a),l=H(t);return r.default.useEffect(()=>{o.current!==a&&(l(a),o.current=a)},[a,o,l]),n}({defaultProp:t,onChange:n}),l=void 0!==e,i=l?e:a,u=H(n);return[i,r.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&u(n)}else o(t)},[l,e,o,u])]}let q=()=>()=>{},U=null;function Y({open:e,onOpenChange:n,children:a,onDrag:o,onRelease:l,snapPoints:i,shouldScaleBackground:u=!1,setBackgroundColorOnScale:s=!0,closeThreshold:d=.25,scrollLockTimeout:c=100,dismissible:f=!0,handleOnly:p=!1,fadeFromIndex:m=i&&i.length-1,activeSnapPoint:g,setActiveSnapPoint:h,fixed:y,modal:j=!0,onClose:D,nested:S,noBodyStyles:M=!1,direction:B="bottom",defaultOpen:H=!1,disablePreventScroll:q=!0,snapToSequentialPoint:X=!1,preventScrollRestoration:V=!1,repositionInputs:K=!0,onAnimationEnd:J,container:_,autoFocus:G=!1}){var Q,Z;let[ee=!1,et]=W({defaultProp:H,prop:e,onChange:e=>{null==n||n(e),e||S||eP(),setTimeout(()=>{null==J||J(e)},500),e&&!j&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[en,er]=r.default.useState(!1),[ea,eo]=r.default.useState(!1),[el,ei]=r.default.useState(!1),eu=r.default.useRef(null),es=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(null),ep=r.default.useRef(!1),em=r.default.useRef(null),eg=r.default.useRef(0),eh=r.default.useRef(!1),ev=r.default.useRef(!H),ew=r.default.useRef(0),ey=r.default.useRef(null),ex=r.default.useRef((null==(Q=ey.current)?void 0:Q.getBoundingClientRect().height)||0),eb=r.default.useRef((null==(Z=ey.current)?void 0:Z.getBoundingClientRect().width)||0),ej=r.default.useRef(0),eT=r.default.useCallback(e=>{i&&e===eS.length-1&&(es.current=new Date)},[]),{activeSnapPoint:eC,activeSnapPointIndex:eR,setActiveSnapPoint:eD,onRelease:eE,snapPointsOffset:eS,onDrag:ek,shouldFade:eN,getPercentageDragged:e$}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:a,overlayRef:o,fadeFromIndex:l,onSnapPointChange:i,direction:u="bottom",container:s,snapToSequentialPoint:d}){let[c,f]=W({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[p,m]=r.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.default.useEffect(()=>{function e(){m({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let g=r.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),h=r.default.useMemo(()=>{var e;return null!=(e=null==n?void 0:n.findIndex(e=>e===c))?e:null},[n,c]),v=n&&n.length>0&&(l||0===l)&&!Number.isNaN(l)&&n[l]===c||!n,w=r.default.useMemo(()=>{var e;let t=s?{width:s.getBoundingClientRect().width,height:s.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(e=null==n?void 0:n.map(e=>{let n="string"==typeof e,r=0;if(n&&(r=parseInt(e,10)),L(u)){let a=n?r:p?e*t.height:0;return p?"bottom"===u?t.height-a:-t.height+a:a}let a=n?r:p?e*t.width:0;return p?"right"===u?t.width-a:-t.width+a:a}))?e:[]},[n,p,s]),y=r.default.useMemo(()=>null!==h?null==w?void 0:w[h]:null,[w,h]),x=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),O(a.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(u)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&r!==w.length-1&&void 0!==l&&r!==l&&r<l?O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"0"}):O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(r,0)])},[a.current,n,w,l,o,f]);return r.default.useEffect(()=>{if(c||e){var t;let r=null!=(t=null==n?void 0:n.findIndex(t=>t===e||t===c))?t:-1;w&&-1!==r&&"number"==typeof w[r]&&x(w[r])}},[c,e,n,w,x]),{isLastSnapPoint:g,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof h||!w||void 0===l)return null;let r=h===l-1;if(h>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?h+1:h-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:h,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:a}){if(void 0===l)return;let i="bottom"===u||"right"===u?(null!=y?y:0)-e:(null!=y?y:0)+e,s=h===l-1,c=0===h,f=e>0;if(s&&O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`}),!d&&r>2&&!f)return void(a?t():x(w[0]));if(!d&&r>2&&f&&w&&n)return void x(w[n.length-1]);let p=null==w?void 0:w.reduce((e,t)=>"number"!=typeof e||"number"!=typeof t?e:Math.abs(t-i)<Math.abs(e-i)?t:e),m=L(u)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*m){let e=f?1:-1;return e>0&&g&&n?void x(w[n.length-1]):void(c&&e<0&&a&&t(),null===h||x(w[h+e]))}x(p)},onDrag:function({draggedDistance:e}){if(null===y)return;let t="bottom"===u||"right"===u?y-e:y+e;("bottom"===u||"right"===u)&&t<w[w.length-1]||("top"===u||"left"===u)&&t>w[w.length-1]||O(a.current,{transform:L(u)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:g,setActiveSnapPointProp:h,drawerRef:ey,fadeFromIndex:m,overlayRef:eu,onSnapPointChange:eT,direction:B,container:_,snapToSequentialPoint:X});!function(e={}){let{isDisabled:n}=e;T(()=>{if(!n){var e,r,a;let n,o,l,i,u,s,d;return 1==++k&&b()&&(l=0,i=window.pageXOffset,u=window.pageYOffset,s=C((e=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=e.style[r],e.style[r]=a,()=>{e.style[r]=n})),window.scrollTo(0,0),d=C(N(document,"touchstart",e=>{((o=E(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),N(document,"touchmove",e=>{if(!o||o===document.documentElement||o===document.body)return void e.preventDefault();let t=e.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&t>l||n>=r&&t<l)&&e.preventDefault(),l=t)},{passive:!1,capture:!0}),N(document,"touchend",e=>{let t=e.target;P(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),N(document,"focus",e=>{let t=e.target;P(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",R&&(R.height<window.innerHeight?requestAnimationFrame(()=>{$(t)}):R.addEventListener("resize",()=>$(t),{once:!0}))}))},!0),N(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{s(),d(),window.scrollTo(i,u)}),()=>{0==--k&&(null==t||t())}}},[n])}({isDisabled:!ee||ea||!j||el||!en||!K||!q});let{restorePositionSetting:eP}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:a,preventScrollRestoration:o,noBodyStyles:l}){let[i,u]=r.default.useState(()=>"u">typeof window?window.location.href:""),s=r.default.useRef(0),d=r.default.useCallback(()=>{if(x()&&null===U&&e&&!l){U={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-s.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&s.current>=t&&(document.body.style.top=`${-(s.current+e)}px`)}),300)}},[e]),c=r.default.useCallback(()=>{if(x()&&null!==U&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,U),window.requestAnimationFrame(()=>{o&&i!==window.location.href?u(window.location.href):window.scrollTo(t,e)}),U=null}},[i]);return r.default.useEffect(()=>{function e(){s.current=window.scrollY}return e(),window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),r.default.useEffect(()=>{if(t)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||c()}},[t,c]),r.default.useEffect(()=>{!n&&a&&(e?(window.matchMedia("(display-mode: standalone)").matches||d(),t||window.setTimeout(()=>{c()},500)):c())},[e,a,i,t,n,d,c]),{restorePositionSetting:c}}({isOpen:ee,modal:j,nested:null!=S&&S,hasBeenOpened:en,preventScrollRestoration:V,noBodyStyles:M});function eM(){return(window.innerWidth-26)/window.innerWidth}function ez(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ey.current?F(ey.current,B):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===B||"left"===B)return!0;if(es.current&&l.getTime()-es.current.getTime()<500)return!1;if(null!==o&&("bottom"===B?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ef.current&&l.getTime()-ef.current.getTime()<c&&0===o||t)return ef.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ef.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eO(e){ea&&ey.current&&(ey.current.classList.remove(I),ep.current=!1,eo(!1),ec.current=new Date),null==D||D(),e||et(!1),setTimeout(()=>{i&&eD(i[0])},500)}function eL(){if(!ey.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=F(ey.current,B);O(ey.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${A.join(",")})`}),O(eu.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"1"}),u&&t&&t>0&&ee&&O(e,{borderRadius:"8px",overflow:"hidden",...L(B)?{transform:`scale(${eM()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eM()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${A.join(",")})`},!0)}return r.default.useEffect(()=>{window.requestAnimationFrame(()=>{ev.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ey.current&&K&&(P(document.activeElement)||eh.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ey.current.getBoundingClientRect().height||0;ej.current||(ej.current=a);let o=ey.current.getBoundingClientRect().top;if(Math.abs(ew.current-r)>60&&(eh.current=!eh.current),i&&i.length>0&&eS&&eR&&(r+=eS[eR]||0),ew.current=r,a>t||eh.current){let e=ey.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),y?ey.current.style.height=`${e-Math.max(r,0)}px`:ey.current.style.height=`${Math.max(l,t-o)}px`}else{let e;e=navigator.userAgent,"u">typeof window&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))||(ey.current.style.height=`${ej.current}px`)}i&&i.length>0&&!eh.current?ey.current.style.bottom="0px":ey.current.style.bottom=`${Math.max(r,0)}px`}}return null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;return null==(e=window.visualViewport)?void 0:e.removeEventListener("resize",t)}},[eR,i,eS]),r.default.useEffect(()=>(ee&&(O(document.documentElement,{scrollBehavior:"auto"}),es.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=z.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[ee]),r.default.useEffect(()=>{j||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[j]),r.default.createElement(v.Root,{defaultOpen:H,onOpenChange:e=>{(f||e)&&(e?er(!0):eO(!0),et(e))},open:ee},r.default.createElement(w.Provider,{value:{activeSnapPoint:eC,snapPoints:i,setActiveSnapPoint:eD,drawerRef:ey,overlayRef:eu,onOpenChange:n,onPress:function(e){var t,n;!f&&!i||(!ey.current||ey.current.contains(e.target))&&(ex.current=(null==(t=ey.current)?void 0:t.getBoundingClientRect().height)||0,eb.current=(null==(n=ey.current)?void 0:n.getBoundingClientRect().width)||0,eo(!0),ed.current=new Date,b()&&window.addEventListener("touchend",()=>ep.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),eg.current=L(B)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!ea||!ey.current)return;ey.current.classList.remove(I),ep.current=!1,eo(!1),ec.current=new Date;let r=F(ey.current,B);if(!e||!ez(e.target,!1)||!r||Number.isNaN(r)||null===ed.current)return;let a=ec.current.getTime()-ed.current.getTime(),o=eg.current-(L(B)?e.pageY:e.pageX),u=Math.abs(o)/a;if(u>.05&&(ei(!0),setTimeout(()=>{ei(!1)},200)),i){eE({draggedDistance:o*("bottom"===B||"right"===B?1:-1),closeDrawer:eO,velocity:u,dismissible:f}),null==l||l(e,!0);return}if("bottom"===B||"right"===B?o>0:o<0){eL(),null==l||l(e,!0);return}if(u>.4){eO(),null==l||l(e,!1);return}let s=Math.min(null!=(t=ey.current.getBoundingClientRect().height)?t:0,window.innerHeight),c=Math.min(null!=(n=ey.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===B||"right"===B?c:s)*d){eO(),null==l||l(e,!1);return}null==l||l(e,!0),eL()},onDrag:function(e){if(ey.current&&ea){let t="bottom"===B||"right"===B?1:-1,n=(eg.current-(L(B)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===eR)return;let l=Math.abs(n),s=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===B||"top"===B?ex.current:eb.current),c=e$(l,r);if(null!==c&&(d=c),a&&d>=1||!ep.current&&!ez(e.target,r))return;if(ey.current.classList.add(I),ep.current=!0,O(ey.current,{transition:"none"}),O(eu.current,{transition:"none"}),i&&ek({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;O(ey.current,{transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let p=1-d;if((eN||m&&eR===m-1)&&(null==o||o(e,d),O(eu.current,{opacity:`${p}`,transition:"none"},!0)),s&&eu.current&&u){let e=Math.min(eM()+d*(1-eM()),1),t=8-8*d,n=Math.max(0,14-14*d);O(s,{borderRadius:`${t}px`,transform:L(B)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;O(ey.current,{transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:ev,handleOnly:p,isOpen:ee,isDragging:ea,shouldFade:eN,closeDrawer:eO,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;O(ey.current,{transform:L(B)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(e){let t=e?(window.innerWidth-16)/window.innerWidth:1,n=e?-16:0;em.current&&window.clearTimeout(em.current),O(ey.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(B)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ey.current&&(em.current=setTimeout(()=>{let e=F(ey.current,B);O(ey.current,{transition:"none",transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=L(B)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&O(ey.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(B)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eh,modal:j,snapPointsOffset:eS,activeSnapPointIndex:eR,direction:B,shouldScaleBackground:u,setBackgroundColorOnScale:s,noBodyStyles:M,container:_,autoFocus:G}},a))}let X=r.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:l,isOpen:i,modal:u,shouldAnimate:s}=y(),d=M(t,n),c=a&&a.length>0;if(!u)return null;let f=r.default.useCallback(e=>o(e),[o]);return r.default.createElement(v.Overlay,{onMouseUp:f,ref:d,"data-vaul-overlay":"","data-vaul-snap-points":i&&c?"true":"false","data-vaul-snap-points-overlay":i&&l?"true":"false","data-vaul-animate":(null==s?void 0:s.current)?"true":"false",...e})});X.displayName="Drawer.Overlay";let V=r.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:l,onPress:i,onRelease:u,onDrag:s,keyboardIsOpen:d,snapPointsOffset:c,activeSnapPointIndex:f,modal:p,isOpen:m,direction:g,snapPoints:h,container:w,handleOnly:x,shouldAnimate:b,autoFocus:j}=y(),[T,C]=r.default.useState(!1),R=M(o,l),D=r.default.useRef(null),E=r.default.useRef(null),S=r.default.useRef(!1),k=h&&h.length>0;function N(e){D.current=null,S.current=!1,u(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:a,noBodyStyles:o}=y(),l=r.default.useRef(null),i=(0,r.useMemo)(()=>document.body.style.backgroundColor,[]);function u(){return(window.innerWidth-26)/window.innerWidth}r.default.useEffect(()=>{if(t&&n){l.current&&clearTimeout(l.current);let t=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!t)return;!function(...e){}(a&&!o?B(document.body,{background:"black"}):q,B(t,{transformOrigin:L(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${A.join(",")})`}));let n=B(t,{borderRadius:"8px",overflow:"hidden",...L(e)?{transform:`scale(${u()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${u()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),l.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[t,n,i])}(),r.default.useEffect(()=>{k&&window.requestAnimationFrame(()=>{C(!0)})},[]),r.default.createElement(v.Content,{"data-vaul-drawer-direction":g,"data-vaul-drawer":"","data-vaul-delayed-snap-points":T?"true":"false","data-vaul-snap-points":m&&k?"true":"false","data-vaul-custom-container":w?"true":"false","data-vaul-animate":(null==b?void 0:b.current)?"true":"false",...a,ref:R,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{x||(null==a.onPointerDown||a.onPointerDown.call(a,e),D.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),j||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!p||t.defaultPrevented)?t.preventDefault():d.current&&(d.current=!1)},onFocusOutside:e=>{if(!p)return void e.preventDefault()},onPointerMove:e=>{if(E.current=e,x||(null==a.onPointerMove||a.onPointerMove.call(a,e),!D.current))return;let t=e.pageY-D.current.y,n=e.pageX-D.current.x,r="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(S.current)return!0;let r=Math.abs(e.y),a=Math.abs(e.x),o=a>r,l=["bottom","right"].includes(t)?1:-1;if("left"===t||"right"===t){if(!(e.x*l<0)&&a>=0&&a<=n)return o}else if(!(e.y*l<0)&&r>=0&&r<=n)return!o;return S.current=!0,!0})({x:n,y:t},g,r)?s(e):(Math.abs(n)>r||Math.abs(t)>r)&&(D.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),D.current=null,S.current=!1,u(e)},onPointerOut:e=>{null==a.onPointerOut||a.onPointerOut.call(a,e),N(E.current)},onContextMenu:e=>{null==a.onContextMenu||a.onContextMenu.call(a,e),E.current&&N(E.current)}})});V.displayName="Drawer.Content";let K=r.default.forwardRef(function({preventCycle:e=!1,children:t,...n},a){let{closeDrawer:o,isDragging:l,snapPoints:i,activeSnapPoint:u,setActiveSnapPoint:s,dismissible:d,handleOnly:c,isOpen:f,onPress:p,onDrag:m}=y(),g=r.default.useRef(null),h=r.default.useRef(!1);function v(){g.current&&window.clearTimeout(g.current),h.current=!1}return r.default.createElement("div",{onClick:function(){h.current?v():window.setTimeout(()=>{!function(){if(l||e||h.current)return v();if(v(),!i||0===i.length){d||o();return}if(u===i[i.length-1]&&d)return o();let t=i.findIndex(e=>e===u);-1===t||s(i[t+1])}()},120)},onPointerCancel:v,onPointerDown:e=>{c&&p(e),g.current=window.setTimeout(()=>{h.current=!0},250)},onPointerMove:e=>{c&&m(e)},ref:a,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},r.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});K.displayName="Drawer.Handle";let J={Root:Y,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...a}){let{onNestedDrag:o,onNestedOpenChange:l,onNestedRelease:i}=y();if(!o)throw Error("Drawer.NestedRoot must be placed in another drawer");return r.default.createElement(Y,{nested:!0,open:n,onClose:()=>{l(!1)},onDrag:(t,n)=>{o(t,n),null==e||e(t,n)},onOpenChange:e=>{e&&l(e),null==t||t(e)},onRelease:i,...a})},Content:V,Overlay:X,Trigger:v.Trigger,Portal:function(e){let t=y(),{container:n=t.container,...a}=e;return r.default.createElement(v.Portal,{container:n,...a})},Handle:K,Close:v.Close,Title:v.Title,Description:v.Description};var _=e.i(31777);function G({...e}){return(0,n.jsx)(J.Portal,{"data-slot":"drawer-portal",...e})}e.s(["Drawer",0,function({...e}){return(0,n.jsx)(J.Root,{"data-slot":"drawer",...e})},"DrawerContent",0,function({className:e,children:t,direction:r="bottom",showCloseButton:a=!0,...o}){return(0,n.jsx)(G,{children:(0,n.jsxs)(J.Content,{"data-slot":"drawer-content",className:(0,_.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===r&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===r&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===r&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===r&&"inset-y-0 left-0 h-full w-3/4 border-r",e),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...o.style??{}},...o,children:[t,a?(0,n.jsxs)(J.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(h.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})},"DrawerDescription",0,function({className:e,...t}){return(0,n.jsx)(J.Description,{"data-slot":"drawer-description",className:(0,_.cn)("text-muted-foreground text-sm",e),...t})},"DrawerFooter",0,function({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,_.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})},"DrawerHeader",0,function({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,_.cn)("flex flex-col gap-1.5 p-4",e),...t})},"DrawerOverlay",0,function({className:e,...t}){return(0,n.jsx)(J.Overlay,{"data-slot":"drawer-overlay",className:(0,_.cn)("fixed inset-0 z-50 bg-black/50",e),...t})},"DrawerTitle",0,function({className:e,...t}){return(0,n.jsx)(J.Title,{"data-slot":"drawer-title",className:(0,_.cn)("text-foreground font-semibold",e),...t})}],45811)},11495,e=>{"use strict";var t=e.i(96871),n=e.i(16539),r=e.i(48249),a=e.i(24042),o=e.i(64970),l=e.i(94237),i=e.i(56719),u=e.i(31777);e.i(81803);var s=e.i(72714);e.i(99348);var d=e.i(17466),c=e.i(45811),f=e.i(25235),p=e.i(2828);e.i(98026);var m=e.i(50728),g=e.i(8537),h=e.i(75921);let v=(0,l.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function w({deployTarget:e}){let n=(0,g.useDeployAction)(e),r="Booting"===n.status||"Ready"===n.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,t.jsx)(p.TooltipProvider,{children:(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(s.ActionButton,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?n.stop:n.deploy,loading:n.deployLoading||n.stopLoading,error:!!n.deployError,icon:r?o.Square:a.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(p.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,t.jsx)(d.DeploymentStatusBadge,{status:n.status,url:n.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",0,function({open:e,onClose:a,modal:o=!1,dismissOnOutsideClick:l=!1,title:s="Drawer",size:d,header:p,children:g,footer:y,className:x,"data-testid":b,deployTarget:j}){let{i18n:T}=(0,m.useTranslation)(),C=(0,h.useFeatureFlags)(),R=(0,n.useRef)(null),D=(0,n.useRef)(null),E="rtl"===T.dir()?"left":"right",S=(0,n.useCallback)(()=>{D.current=document.activeElement},[]),k=(0,n.useCallback)(e=>{D.current&&"function"==typeof D.current.focus&&(e.preventDefault(),D.current.focus(),D.current=null)},[]);return(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{"Escape"===e.key&&(e.stopPropagation(),a())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,o,a]),(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{let t=e.target;!document.body.contains(t)||R.current?.contains(t)||t.closest(l?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||a()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,o,a,l]),(0,t.jsxs)(c.Drawer,{direction:E,modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[o?(0,t.jsx)(c.DrawerOverlay,{}):null,(0,t.jsxs)(c.DrawerContent,{ref:R,direction:E,showCloseButton:!1,className:(0,u.cn)(v({size:d}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",x),"data-testid":b,onInteractOutside:o?void 0:e=>e.preventDefault(),...!o?{"aria-modal":!0}:{},children:[(0,t.jsx)(c.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:s})}),(0,t.jsx)(c.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:s})}),(0,t.jsx)(i.FocusScope.Root,{trapped:!o,loop:!o,asChild:!0,onMountAutoFocus:S,onUnmountAutoFocus:k,children:(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":b?`${b}-close-button`:void 0,children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),p?(0,t.jsx)(c.DrawerHeader,{className:"shrink-0",children:p}):null,p?(0,t.jsx)(f.Separator,{}):null,C.envDeploy&&j?(0,t.jsx)(w,{deployTarget:j}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:g}),y?(0,t.jsx)(c.DrawerFooter,{className:"shrink-0",children:y}):null]})})]})]})}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24042,64970,e=>{"use strict";var t=e.i(3645);let n=(0,t.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",0,n],24042);let r=(0,t.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,r],64970)},72714,e=>{"use strict";var t=e.i(96871),n=e.i(83428),r=e.i(51251),a=e.i(31777),o=e.i(35364),l=e.i(8361);e.s(["ActionButton",0,function({label:e,onClick:i,loading:u,error:s,icon:d,iconOnly:c=!1,variant:f="outline",size:p="sm"}){let m=(0,l.useSoundAction)("click");return(0,t.jsxs)(o.Button,{variant:f,size:p,"aria-label":e,disabled:u,onClick:()=>{m.play(),i()},className:(0,a.cn)("gap-1.5",s&&"text-destructive hover:text-destructive",!s&&c&&"ghost"===f&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[u?(0,t.jsx)(n.Loader2,{className:"size-4 animate-spin"}):s?(0,t.jsx)(r.CircleAlert,{className:"size-4"}):(0,t.jsx)(d,{className:"size-4"}),c?null:e]})}])},8537,e=>{"use strict";var t=e.i(16539),n=e.i(18354),r=e.i(96976);let a=(0,r.createServerReference)("40d0eaf52db59e882a12122c0a9a73f5f77268b2f8",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),o=(0,r.createServerReference)("409fbdaef9134514a8dfffe022ef26f58edb7ff2a6",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),l=(0,r.createServerReference)("4081400d16ace1f332606405e5d0f185910a91aab8",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),i=(0,r.createServerReference)("4033d65556b4c03748ba65aaa0f3a8298feb48ad4b",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus"),u=(0,n.createLogger)("[useDeployAction]");e.s(["useDeployAction",0,function(e){let[n,r]=(0,t.useState)(!1),[s,d]=(0,t.useState)(!1),[c,f]=(0,t.useState)(null),[p,m]=(0,t.useState)(null),[g,h]=(0,t.useState)(null),v=(0,t.useRef)(null),w=(0,t.useRef)(!0),y=(0,t.useRef)(p);(0,t.useEffect)(()=>{y.current=p},[p]),(0,t.useEffect)(()=>(w.current=!0,()=>{w.current=!1}),[]),(0,t.useEffect)(()=>()=>{v.current&&clearInterval(v.current)},[]);let x=(0,t.useCallback)(()=>{v.current&&(u.debug("stopping polling"),clearInterval(v.current),v.current=null)},[]),b=(0,t.useCallback)(e=>{x(),u.debug(`starting polling for "${e}" every 3000ms`),v.current=setInterval(async()=>{let t;if(!w.current)return void x();try{t=await i(e)}catch(t){u.warn(`poll fetch failed for "${e}":`,t),w.current&&(m(null),h(null),x());return}w.current&&(t&&"Stopped"!==t.state?(t.state!==y.current&&u.info(`poll state changed: ${y.current} → ${t.state}, url=${t.url}`),m(t.state),h(t.url)):(u.info(`poll result: ${t?`state=${t.state}`:"null (deployment gone)"} — stopping poll`),m(null),h(null),x()))},3e3)},[x]),j=(0,t.useCallback)(async()=>{if(!e)return void u.warn("deploy() called but input is null — no-op");if(n)return void u.warn("deploy() called but already loading — no-op");u.info(`deploy() — targetType="${e.targetType}", targetId="${e.targetId}", repositoryPath="${e.repositoryPath}"`),r(!0),f(null);try{let t="feature"===e.targetType?await a(e.targetId):await o(e.repositoryPath);if(u.info("server action result:",t),!w.current)return void u.warn("component unmounted after deploy — discarding result");if(t.success)u.info(`deploy succeeded — initial state=${t.state}, starting polling`),m(t.state??null),h(null),b(e.targetId);else{let e=t.error??"An unexpected error occurred";u.warn(`deploy failed: ${e}`),f(e)}}catch(t){if(!w.current)return;let e=t instanceof Error?t.message:"An unexpected error occurred";u.error(`deploy threw exception: ${e}`,t),f(e)}finally{w.current&&r(!1)}},[e,n,b]),T=(0,t.useCallback)(async()=>{if(e&&!s){u.info(`stop() — targetId="${e.targetId}"`),d(!0);try{let t=await l(e.targetId);if(u.info("stop result:",t),!w.current)return;t.success&&(x(),m(null),h(null))}catch(e){u.warn("stop error (non-critical):",e)}finally{w.current&&d(!1)}}},[e,s,x]);return{deploy:j,stop:T,deployLoading:n,stopLoading:s,deployError:c,status:p,url:g}}],8537)},81803,e=>{"use strict";e.i(72714),e.s([])},56719,e=>{"use strict";var t=e.i(62854);e.s(["FocusScope",0,t])},99348,17466,45811,e=>{"use strict";let t;var n=e.i(96871),r=e.i(16539),a=e.i(83428),o=e.i(30702),l=e.i(38573),i=e.i(17406),u=e.i(2828),s=e.i(2287),d=e.i(96976);let c=(0,d.createServerReference)("406bf7d9ad2991e419ee73c27075159c346426568d",d.callServer,void 0,d.findSourceMapURL,"getDeploymentLogs");function f({open:e,onOpenChange:t,targetId:a}){let{logs:o,isConnected:l}=function(e){let[t,n]=(0,r.useState)([]),[a,o]=(0,r.useState)(!1),l=(0,r.useRef)(null),i=(0,r.useCallback)(()=>{l.current&&(l.current.close(),l.current=null),o(!1)},[]);return(0,r.useEffect)(()=>{if(!e){n([]),o(!1);return}c(e).then(e=>{e&&n(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return l.current=t,t.onopen=()=>{o(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);n(e=>[...e,t])}),t.onerror=()=>{o(!1)},()=>{t.close(),l.current=null}},[e,i]),{logs:t,isConnected:a}}(e?a:null);return(0,n.jsx)(p,{open:e,onOpenChange:t,logs:o,isConnected:l})}function p({open:e,onOpenChange:t,logs:a,isConnected:o}){let i=(0,r.useRef)(null),u=(0,r.useRef)(!0),d=(0,r.useCallback)(()=>{let e=i.current;e&&(u.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{u.current&&i.current&&(i.current.scrollTop=i.current.scrollHeight)},[a]),(0,n.jsx)(s.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(s.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,n.jsxs)(s.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(l.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,n.jsx)(s.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,n.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${o?"bg-green-500":"bg-zinc-500"}`}),(0,n.jsx)("span",{className:"text-xs text-zinc-400",children:o?"Connected":"Disconnected"})]})]}),(0,n.jsxs)("div",{ref:i,onScroll:d,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,n.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,n.jsx)(m,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!o&&a.length>0&&(0,n.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function m({entry:e}){return(0,n.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,n.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let g="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";e.s(["DeploymentStatusBadge",0,function({status:e,url:t,targetId:s}){let[d,c]=(0,r.useState)(!1),p=s&&(e===i.DeploymentState.Booting||e===i.DeploymentState.Ready);switch(e){case i.DeploymentState.Booting:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,n.jsx)(a.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,n.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});case i.DeploymentState.Ready:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,n.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),t?(0,n.jsxs)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:e=>e.stopPropagation(),children:[t,(0,n.jsx)(o.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,n.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});default:return null}}],17466),e.s([],99348);var h=e.i(48249),v=e.i(94983);let w=r.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),y=()=>{let e=r.default.useContext(w);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function x(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function b(){return j(/^iPhone/)||j(/^iPad/)||j(/^Mac/)&&navigator.maxTouchPoints>1}function j(e){return"u">typeof window&&null!=window.navigator?e.test(window.navigator.platform):void 0}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let T="u">typeof window?r.useLayoutEffect:r.useEffect;function C(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let R="u">typeof document&&window.visualViewport;function D(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function E(e){for(D(e)&&(e=e.parentElement);e&&!D(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let S=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),k=0;function N(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function $(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=E(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+24&&(t.scrollTop+=r-n)}e=t.parentElement}}function P(e){return e instanceof HTMLInputElement&&!S.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function M(...e){return r.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let z=new WeakMap;function O(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{t.startsWith("--")?e.style.setProperty(t,n):(r[t]=e.style[t],e.style[t]=n)}),n||z.set(e,r)}let L=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function F(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[L(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[L(t)?5:4]):null}function B(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let A=[.32,.72,0,1],I="vaul-dragging";function H(e){let t=r.default.useRef(e);return r.default.useEffect(()=>{t.current=e}),r.default.useMemo(()=>(...e)=>null==t.current?void 0:t.current.call(t,...e),[])}function W({prop:e,defaultProp:t,onChange:n=()=>{}}){let[a,o]=function({defaultProp:e,onChange:t}){let n=r.default.useState(e),[a]=n,o=r.default.useRef(a),l=H(t);return r.default.useEffect(()=>{o.current!==a&&(l(a),o.current=a)},[a,o,l]),n}({defaultProp:t,onChange:n}),l=void 0!==e,i=l?e:a,u=H(n);return[i,r.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&u(n)}else o(t)},[l,e,o,u])]}let q=()=>()=>{},U=null;function Y({open:e,onOpenChange:n,children:a,onDrag:o,onRelease:l,snapPoints:i,shouldScaleBackground:u=!1,setBackgroundColorOnScale:s=!0,closeThreshold:d=.25,scrollLockTimeout:c=100,dismissible:f=!0,handleOnly:p=!1,fadeFromIndex:m=i&&i.length-1,activeSnapPoint:g,setActiveSnapPoint:h,fixed:y,modal:j=!0,onClose:D,nested:S,noBodyStyles:M=!1,direction:B="bottom",defaultOpen:H=!1,disablePreventScroll:q=!0,snapToSequentialPoint:X=!1,preventScrollRestoration:V=!1,repositionInputs:K=!0,onAnimationEnd:J,container:_,autoFocus:G=!1}){var Q,Z;let[ee=!1,et]=W({defaultProp:H,prop:e,onChange:e=>{null==n||n(e),e||S||eP(),setTimeout(()=>{null==J||J(e)},500),e&&!j&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[en,er]=r.default.useState(!1),[ea,eo]=r.default.useState(!1),[el,ei]=r.default.useState(!1),eu=r.default.useRef(null),es=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(null),ep=r.default.useRef(!1),em=r.default.useRef(null),eg=r.default.useRef(0),eh=r.default.useRef(!1),ev=r.default.useRef(!H),ew=r.default.useRef(0),ey=r.default.useRef(null),ex=r.default.useRef((null==(Q=ey.current)?void 0:Q.getBoundingClientRect().height)||0),eb=r.default.useRef((null==(Z=ey.current)?void 0:Z.getBoundingClientRect().width)||0),ej=r.default.useRef(0),eT=r.default.useCallback(e=>{i&&e===eS.length-1&&(es.current=new Date)},[]),{activeSnapPoint:eC,activeSnapPointIndex:eR,setActiveSnapPoint:eD,onRelease:eE,snapPointsOffset:eS,onDrag:ek,shouldFade:eN,getPercentageDragged:e$}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:a,overlayRef:o,fadeFromIndex:l,onSnapPointChange:i,direction:u="bottom",container:s,snapToSequentialPoint:d}){let[c,f]=W({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[p,m]=r.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.default.useEffect(()=>{function e(){m({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let g=r.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),h=r.default.useMemo(()=>{var e;return null!=(e=null==n?void 0:n.findIndex(e=>e===c))?e:null},[n,c]),v=n&&n.length>0&&(l||0===l)&&!Number.isNaN(l)&&n[l]===c||!n,w=r.default.useMemo(()=>{var e;let t=s?{width:s.getBoundingClientRect().width,height:s.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(e=null==n?void 0:n.map(e=>{let n="string"==typeof e,r=0;if(n&&(r=parseInt(e,10)),L(u)){let a=n?r:p?e*t.height:0;return p?"bottom"===u?t.height-a:-t.height+a:a}let a=n?r:p?e*t.width:0;return p?"right"===u?t.width-a:-t.width+a:a}))?e:[]},[n,p,s]),y=r.default.useMemo(()=>null!==h?null==w?void 0:w[h]:null,[w,h]),x=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),O(a.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(u)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&r!==w.length-1&&void 0!==l&&r!==l&&r<l?O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"0"}):O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(r,0)])},[a.current,n,w,l,o,f]);return r.default.useEffect(()=>{if(c||e){var t;let r=null!=(t=null==n?void 0:n.findIndex(t=>t===e||t===c))?t:-1;w&&-1!==r&&"number"==typeof w[r]&&x(w[r])}},[c,e,n,w,x]),{isLastSnapPoint:g,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof h||!w||void 0===l)return null;let r=h===l-1;if(h>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?h+1:h-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:h,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:a}){if(void 0===l)return;let i="bottom"===u||"right"===u?(null!=y?y:0)-e:(null!=y?y:0)+e,s=h===l-1,c=0===h,f=e>0;if(s&&O(o.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`}),!d&&r>2&&!f)return void(a?t():x(w[0]));if(!d&&r>2&&f&&w&&n)return void x(w[n.length-1]);let p=null==w?void 0:w.reduce((e,t)=>"number"!=typeof e||"number"!=typeof t?e:Math.abs(t-i)<Math.abs(e-i)?t:e),m=L(u)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*m){let e=f?1:-1;return e>0&&g&&n?void x(w[n.length-1]):void(c&&e<0&&a&&t(),null===h||x(w[h+e]))}x(p)},onDrag:function({draggedDistance:e}){if(null===y)return;let t="bottom"===u||"right"===u?y-e:y+e;("bottom"===u||"right"===u)&&t<w[w.length-1]||("top"===u||"left"===u)&&t>w[w.length-1]||O(a.current,{transform:L(u)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:g,setActiveSnapPointProp:h,drawerRef:ey,fadeFromIndex:m,overlayRef:eu,onSnapPointChange:eT,direction:B,container:_,snapToSequentialPoint:X});!function(e={}){let{isDisabled:n}=e;T(()=>{if(!n){var e,r,a;let n,o,l,i,u,s,d;return 1==++k&&b()&&(l=0,i=window.pageXOffset,u=window.pageYOffset,s=C((e=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=e.style[r],e.style[r]=a,()=>{e.style[r]=n})),window.scrollTo(0,0),d=C(N(document,"touchstart",e=>{((o=E(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),N(document,"touchmove",e=>{if(!o||o===document.documentElement||o===document.body)return void e.preventDefault();let t=e.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&t>l||n>=r&&t<l)&&e.preventDefault(),l=t)},{passive:!1,capture:!0}),N(document,"touchend",e=>{let t=e.target;P(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),N(document,"focus",e=>{let t=e.target;P(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",R&&(R.height<window.innerHeight?requestAnimationFrame(()=>{$(t)}):R.addEventListener("resize",()=>$(t),{once:!0}))}))},!0),N(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{s(),d(),window.scrollTo(i,u)}),()=>{0==--k&&(null==t||t())}}},[n])}({isDisabled:!ee||ea||!j||el||!en||!K||!q});let{restorePositionSetting:eP}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:a,preventScrollRestoration:o,noBodyStyles:l}){let[i,u]=r.default.useState(()=>"u">typeof window?window.location.href:""),s=r.default.useRef(0),d=r.default.useCallback(()=>{if(x()&&null===U&&e&&!l){U={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-s.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&s.current>=t&&(document.body.style.top=`${-(s.current+e)}px`)}),300)}},[e]),c=r.default.useCallback(()=>{if(x()&&null!==U&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,U),window.requestAnimationFrame(()=>{o&&i!==window.location.href?u(window.location.href):window.scrollTo(t,e)}),U=null}},[i]);return r.default.useEffect(()=>{function e(){s.current=window.scrollY}return e(),window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),r.default.useEffect(()=>{if(t)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||c()}},[t,c]),r.default.useEffect(()=>{!n&&a&&(e?(window.matchMedia("(display-mode: standalone)").matches||d(),t||window.setTimeout(()=>{c()},500)):c())},[e,a,i,t,n,d,c]),{restorePositionSetting:c}}({isOpen:ee,modal:j,nested:null!=S&&S,hasBeenOpened:en,preventScrollRestoration:V,noBodyStyles:M});function eM(){return(window.innerWidth-26)/window.innerWidth}function ez(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ey.current?F(ey.current,B):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===B||"left"===B)return!0;if(es.current&&l.getTime()-es.current.getTime()<500)return!1;if(null!==o&&("bottom"===B?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ef.current&&l.getTime()-ef.current.getTime()<c&&0===o||t)return ef.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ef.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eO(e){ea&&ey.current&&(ey.current.classList.remove(I),ep.current=!1,eo(!1),ec.current=new Date),null==D||D(),e||et(!1),setTimeout(()=>{i&&eD(i[0])},500)}function eL(){if(!ey.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=F(ey.current,B);O(ey.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${A.join(",")})`}),O(eu.current,{transition:`opacity 0.5s cubic-bezier(${A.join(",")})`,opacity:"1"}),u&&t&&t>0&&ee&&O(e,{borderRadius:"8px",overflow:"hidden",...L(B)?{transform:`scale(${eM()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eM()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${A.join(",")})`},!0)}return r.default.useEffect(()=>{window.requestAnimationFrame(()=>{ev.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ey.current&&K&&(P(document.activeElement)||eh.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ey.current.getBoundingClientRect().height||0;ej.current||(ej.current=a);let o=ey.current.getBoundingClientRect().top;if(Math.abs(ew.current-r)>60&&(eh.current=!eh.current),i&&i.length>0&&eS&&eR&&(r+=eS[eR]||0),ew.current=r,a>t||eh.current){let e=ey.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),y?ey.current.style.height=`${e-Math.max(r,0)}px`:ey.current.style.height=`${Math.max(l,t-o)}px`}else{let e;e=navigator.userAgent,"u">typeof window&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))||(ey.current.style.height=`${ej.current}px`)}i&&i.length>0&&!eh.current?ey.current.style.bottom="0px":ey.current.style.bottom=`${Math.max(r,0)}px`}}return null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;return null==(e=window.visualViewport)?void 0:e.removeEventListener("resize",t)}},[eR,i,eS]),r.default.useEffect(()=>(ee&&(O(document.documentElement,{scrollBehavior:"auto"}),es.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=z.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[ee]),r.default.useEffect(()=>{j||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[j]),r.default.createElement(v.Root,{defaultOpen:H,onOpenChange:e=>{(f||e)&&(e?er(!0):eO(!0),et(e))},open:ee},r.default.createElement(w.Provider,{value:{activeSnapPoint:eC,snapPoints:i,setActiveSnapPoint:eD,drawerRef:ey,overlayRef:eu,onOpenChange:n,onPress:function(e){var t,n;!f&&!i||(!ey.current||ey.current.contains(e.target))&&(ex.current=(null==(t=ey.current)?void 0:t.getBoundingClientRect().height)||0,eb.current=(null==(n=ey.current)?void 0:n.getBoundingClientRect().width)||0,eo(!0),ed.current=new Date,b()&&window.addEventListener("touchend",()=>ep.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),eg.current=L(B)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!ea||!ey.current)return;ey.current.classList.remove(I),ep.current=!1,eo(!1),ec.current=new Date;let r=F(ey.current,B);if(!e||!ez(e.target,!1)||!r||Number.isNaN(r)||null===ed.current)return;let a=ec.current.getTime()-ed.current.getTime(),o=eg.current-(L(B)?e.pageY:e.pageX),u=Math.abs(o)/a;if(u>.05&&(ei(!0),setTimeout(()=>{ei(!1)},200)),i){eE({draggedDistance:o*("bottom"===B||"right"===B?1:-1),closeDrawer:eO,velocity:u,dismissible:f}),null==l||l(e,!0);return}if("bottom"===B||"right"===B?o>0:o<0){eL(),null==l||l(e,!0);return}if(u>.4){eO(),null==l||l(e,!1);return}let s=Math.min(null!=(t=ey.current.getBoundingClientRect().height)?t:0,window.innerHeight),c=Math.min(null!=(n=ey.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===B||"right"===B?c:s)*d){eO(),null==l||l(e,!1);return}null==l||l(e,!0),eL()},onDrag:function(e){if(ey.current&&ea){let t="bottom"===B||"right"===B?1:-1,n=(eg.current-(L(B)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===eR)return;let l=Math.abs(n),s=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===B||"top"===B?ex.current:eb.current),c=e$(l,r);if(null!==c&&(d=c),a&&d>=1||!ep.current&&!ez(e.target,r))return;if(ey.current.classList.add(I),ep.current=!0,O(ey.current,{transition:"none"}),O(eu.current,{transition:"none"}),i&&ek({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;O(ey.current,{transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let p=1-d;if((eN||m&&eR===m-1)&&(null==o||o(e,d),O(eu.current,{opacity:`${p}`,transition:"none"},!0)),s&&eu.current&&u){let e=Math.min(eM()+d*(1-eM()),1),t=8-8*d,n=Math.max(0,14-14*d);O(s,{borderRadius:`${t}px`,transform:L(B)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;O(ey.current,{transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:ev,handleOnly:p,isOpen:ee,isDragging:ea,shouldFade:eN,closeDrawer:eO,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;O(ey.current,{transform:L(B)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(e){let t=e?(window.innerWidth-16)/window.innerWidth:1,n=e?-16:0;em.current&&window.clearTimeout(em.current),O(ey.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(B)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ey.current&&(em.current=setTimeout(()=>{let e=F(ey.current,B);O(ey.current,{transition:"none",transform:L(B)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=L(B)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&O(ey.current,{transition:`transform 0.5s cubic-bezier(${A.join(",")})`,transform:L(B)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eh,modal:j,snapPointsOffset:eS,activeSnapPointIndex:eR,direction:B,shouldScaleBackground:u,setBackgroundColorOnScale:s,noBodyStyles:M,container:_,autoFocus:G}},a))}let X=r.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:l,isOpen:i,modal:u,shouldAnimate:s}=y(),d=M(t,n),c=a&&a.length>0;if(!u)return null;let f=r.default.useCallback(e=>o(e),[o]);return r.default.createElement(v.Overlay,{onMouseUp:f,ref:d,"data-vaul-overlay":"","data-vaul-snap-points":i&&c?"true":"false","data-vaul-snap-points-overlay":i&&l?"true":"false","data-vaul-animate":(null==s?void 0:s.current)?"true":"false",...e})});X.displayName="Drawer.Overlay";let V=r.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:l,onPress:i,onRelease:u,onDrag:s,keyboardIsOpen:d,snapPointsOffset:c,activeSnapPointIndex:f,modal:p,isOpen:m,direction:g,snapPoints:h,container:w,handleOnly:x,shouldAnimate:b,autoFocus:j}=y(),[T,C]=r.default.useState(!1),R=M(o,l),D=r.default.useRef(null),E=r.default.useRef(null),S=r.default.useRef(!1),k=h&&h.length>0;function N(e){D.current=null,S.current=!1,u(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:a,noBodyStyles:o}=y(),l=r.default.useRef(null),i=(0,r.useMemo)(()=>document.body.style.backgroundColor,[]);function u(){return(window.innerWidth-26)/window.innerWidth}r.default.useEffect(()=>{if(t&&n){l.current&&clearTimeout(l.current);let t=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!t)return;!function(...e){}(a&&!o?B(document.body,{background:"black"}):q,B(t,{transformOrigin:L(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${A.join(",")})`}));let n=B(t,{borderRadius:"8px",overflow:"hidden",...L(e)?{transform:`scale(${u()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${u()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),l.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[t,n,i])}(),r.default.useEffect(()=>{k&&window.requestAnimationFrame(()=>{C(!0)})},[]),r.default.createElement(v.Content,{"data-vaul-drawer-direction":g,"data-vaul-drawer":"","data-vaul-delayed-snap-points":T?"true":"false","data-vaul-snap-points":m&&k?"true":"false","data-vaul-custom-container":w?"true":"false","data-vaul-animate":(null==b?void 0:b.current)?"true":"false",...a,ref:R,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{x||(null==a.onPointerDown||a.onPointerDown.call(a,e),D.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),j||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!p||t.defaultPrevented)?t.preventDefault():d.current&&(d.current=!1)},onFocusOutside:e=>{if(!p)return void e.preventDefault()},onPointerMove:e=>{if(E.current=e,x||(null==a.onPointerMove||a.onPointerMove.call(a,e),!D.current))return;let t=e.pageY-D.current.y,n=e.pageX-D.current.x,r="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(S.current)return!0;let r=Math.abs(e.y),a=Math.abs(e.x),o=a>r,l=["bottom","right"].includes(t)?1:-1;if("left"===t||"right"===t){if(!(e.x*l<0)&&a>=0&&a<=n)return o}else if(!(e.y*l<0)&&r>=0&&r<=n)return!o;return S.current=!0,!0})({x:n,y:t},g,r)?s(e):(Math.abs(n)>r||Math.abs(t)>r)&&(D.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),D.current=null,S.current=!1,u(e)},onPointerOut:e=>{null==a.onPointerOut||a.onPointerOut.call(a,e),N(E.current)},onContextMenu:e=>{null==a.onContextMenu||a.onContextMenu.call(a,e),E.current&&N(E.current)}})});V.displayName="Drawer.Content";let K=r.default.forwardRef(function({preventCycle:e=!1,children:t,...n},a){let{closeDrawer:o,isDragging:l,snapPoints:i,activeSnapPoint:u,setActiveSnapPoint:s,dismissible:d,handleOnly:c,isOpen:f,onPress:p,onDrag:m}=y(),g=r.default.useRef(null),h=r.default.useRef(!1);function v(){g.current&&window.clearTimeout(g.current),h.current=!1}return r.default.createElement("div",{onClick:function(){h.current?v():window.setTimeout(()=>{!function(){if(l||e||h.current)return v();if(v(),!i||0===i.length){d||o();return}if(u===i[i.length-1]&&d)return o();let t=i.findIndex(e=>e===u);-1===t||s(i[t+1])}()},120)},onPointerCancel:v,onPointerDown:e=>{c&&p(e),g.current=window.setTimeout(()=>{h.current=!0},250)},onPointerMove:e=>{c&&m(e)},ref:a,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},r.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});K.displayName="Drawer.Handle";let J={Root:Y,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...a}){let{onNestedDrag:o,onNestedOpenChange:l,onNestedRelease:i}=y();if(!o)throw Error("Drawer.NestedRoot must be placed in another drawer");return r.default.createElement(Y,{nested:!0,open:n,onClose:()=>{l(!1)},onDrag:(t,n)=>{o(t,n),null==e||e(t,n)},onOpenChange:e=>{e&&l(e),null==t||t(e)},onRelease:i,...a})},Content:V,Overlay:X,Trigger:v.Trigger,Portal:function(e){let t=y(),{container:n=t.container,...a}=e;return r.default.createElement(v.Portal,{container:n,...a})},Handle:K,Close:v.Close,Title:v.Title,Description:v.Description};var _=e.i(31777);function G({...e}){return(0,n.jsx)(J.Portal,{"data-slot":"drawer-portal",...e})}e.s(["Drawer",0,function({...e}){return(0,n.jsx)(J.Root,{"data-slot":"drawer",...e})},"DrawerContent",0,function({className:e,children:t,direction:r="bottom",showCloseButton:a=!0,...o}){return(0,n.jsx)(G,{children:(0,n.jsxs)(J.Content,{"data-slot":"drawer-content",className:(0,_.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===r&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===r&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===r&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===r&&"inset-y-0 left-0 h-full w-3/4 border-r",e),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...o.style??{}},...o,children:[t,a?(0,n.jsxs)(J.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(h.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})},"DrawerDescription",0,function({className:e,...t}){return(0,n.jsx)(J.Description,{"data-slot":"drawer-description",className:(0,_.cn)("text-muted-foreground text-sm",e),...t})},"DrawerFooter",0,function({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,_.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})},"DrawerHeader",0,function({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,_.cn)("flex flex-col gap-1.5 p-4",e),...t})},"DrawerOverlay",0,function({className:e,...t}){return(0,n.jsx)(J.Overlay,{"data-slot":"drawer-overlay",className:(0,_.cn)("fixed inset-0 z-50 bg-black/50",e),...t})},"DrawerTitle",0,function({className:e,...t}){return(0,n.jsx)(J.Title,{"data-slot":"drawer-title",className:(0,_.cn)("text-foreground font-semibold",e),...t})}],45811)},11495,e=>{"use strict";var t=e.i(96871),n=e.i(16539),r=e.i(48249),a=e.i(24042),o=e.i(64970),l=e.i(94237),i=e.i(56719),u=e.i(31777);e.i(81803);var s=e.i(72714);e.i(99348);var d=e.i(17466),c=e.i(45811),f=e.i(25235),p=e.i(2828);e.i(98026);var m=e.i(50728),g=e.i(8537),h=e.i(75921);let v=(0,l.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function w({deployTarget:e}){let n=(0,g.useDeployAction)(e),r="Booting"===n.status||"Ready"===n.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,t.jsx)(p.TooltipProvider,{children:(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(s.ActionButton,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?n.stop:n.deploy,loading:n.deployLoading||n.stopLoading,error:!!n.deployError,icon:r?o.Square:a.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(p.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,t.jsx)(d.DeploymentStatusBadge,{status:n.status,url:n.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",0,function({open:e,onClose:a,modal:o=!1,dismissOnOutsideClick:l=!1,title:s="Drawer",size:d,header:p,children:g,footer:y,className:x,"data-testid":b,deployTarget:j}){let{i18n:T}=(0,m.useTranslation)(),C=(0,h.useFeatureFlags)(),R=(0,n.useRef)(null),D=(0,n.useRef)(null),E="rtl"===T.dir()?"left":"right",S=(0,n.useCallback)(()=>{D.current=document.activeElement},[]),k=(0,n.useCallback)(e=>{D.current&&"function"==typeof D.current.focus&&(e.preventDefault(),D.current.focus(),D.current=null)},[]);return(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{"Escape"===e.key&&(e.stopPropagation(),a())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,o,a]),(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{let t=e.target;!document.body.contains(t)||R.current?.contains(t)||t.closest(l?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||a()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,o,a,l]),(0,t.jsxs)(c.Drawer,{direction:E,modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[o?(0,t.jsx)(c.DrawerOverlay,{}):null,(0,t.jsxs)(c.DrawerContent,{ref:R,direction:E,showCloseButton:!1,className:(0,u.cn)(v({size:d}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",x),"data-testid":b,onInteractOutside:o?void 0:e=>e.preventDefault(),...!o?{"aria-modal":!0}:{},children:[(0,t.jsx)(c.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:s})}),(0,t.jsx)(c.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:s})}),(0,t.jsx)(i.FocusScope.Root,{trapped:!o,loop:!o,asChild:!0,onMountAutoFocus:S,onUnmountAutoFocus:k,children:(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":b?`${b}-close-button`:void 0,children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),p?(0,t.jsx)(c.DrawerHeader,{className:"shrink-0",children:p}):null,p?(0,t.jsx)(f.Separator,{}):null,C.envDeploy&&j?(0,t.jsx)(w,{deployTarget:j}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:g}),y?(0,t.jsx)(c.DrawerFooter,{className:"shrink-0",children:y}):null]})})]})]})}])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/16~vw9ce~pa0c.js","static/chunks/0xrbak95onw-v.js","static/chunks/07lrq10rx0tp1.js","static/chunks/17op3~2jku4g7.js","static/chunks/0rfd5i_uq~-36.js"],runtimeModuleIds:[31749]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)f(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?f(e,n,{get:o,set:t[r++],enumerable:!0}):f(e,n,{get:o,enumerable:!0})}Object.seal(e)}function m(e,t){(null!=t?p(this.c,t):this.m).exports=e}u.s=function(e,t){let r,n;null!=t?n=(r=p(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,d(n,e)},u.j=function(e,t){var r,n;let o,i,s;null!=t?i=(o=p(this.c,t)).exports:(o=this.m,i=this.e);let u=(r=o,n=i,(s=l.get(r))||(l.set(r,s=[]),r.exports=r.namespaceObject=new Proxy(n,{get(e,t){if(a.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of s){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of s)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),s);"object"==typeof e&&null!==e&&u.push(e)},u.v=m,u.n=function(e,t){let r;(r=null!=t?p(this.c,t):this.m).exports=r.namespaceObject=e};let b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function w(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function O(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function k(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=w,u.A=function(e){return this.r(e)(w.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=O(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=O(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let j=Symbol("turbopack queues"),v=Symbol("turbopack exports"),U=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=k(),u=Object.assign(s,{[v]:r.exports,[j]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[v]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(j in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[v]:{},[j]:e=>e(t)};return e.then(e=>{r[v]=e,C(t)},e=>{r[U]=e,C(t)}),r}}return{[v]:e,[j]:()=>{}}}),r=()=>t.map(e=>{if(e[U])throw e[U];return e[v]}),{promise:i,resolve:l}=k(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[j](u)),s.queueCount?i:r()},function(e){e?l(u[U]=e):i(u[v]),C(n)}),n&&-1===n.status&&(n.status=0)};let P=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}P.prototype=URL.prototype,u.U=P,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,$=new Map;u.M=$;let _=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,q(r));let o=r.included||[],i=o.map(e=>!!$.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>E.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,q(n));E.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,q(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let A=Promise.resolve(void 0),x=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=x.get(o);if(void 0===l){let e=x.set.bind(x,o,A);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),x.set(o,l)}return l}function q(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,s=[o.map(e=>q(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(q(t),location.origin),a=JSON.stringify(s);return l?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,i?{...i,type:void 0}:void 0)};let N=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return K.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=$.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new s(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let i=e[o];for(let i=r;i<o;i++){let r=e[i],o=t.get(r);if(o){n=o;break}}let l=n??i,s=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(s||(l===i&&Object.defineProperty(i,"name",{value:"module evaluation"}),s=!0),t.set(r,l))}r=o+1}}(t,$)),e.registerChunk(n,r)}let X=new Map;function D(e){let t=X.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?q(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(q("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(N.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(N.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(q(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(q(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})();
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/16~vw9ce~pa0c.js","static/chunks/0xrbak95onw-v.js","static/chunks/0~er~22zwvx0i.js","static/chunks/17op3~2jku4g7.js","static/chunks/0rfd5i_uq~-36.js"],runtimeModuleIds:[31749]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)f(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?f(e,n,{get:o,set:t[r++],enumerable:!0}):f(e,n,{get:o,enumerable:!0})}Object.seal(e)}function m(e,t){(null!=t?p(this.c,t):this.m).exports=e}u.s=function(e,t){let r,n;null!=t?n=(r=p(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,d(n,e)},u.j=function(e,t){var r,n;let o,i,s;null!=t?i=(o=p(this.c,t)).exports:(o=this.m,i=this.e);let u=(r=o,n=i,(s=l.get(r))||(l.set(r,s=[]),r.exports=r.namespaceObject=new Proxy(n,{get(e,t){if(a.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of s){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of s)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),s);"object"==typeof e&&null!==e&&u.push(e)},u.v=m,u.n=function(e,t){let r;(r=null!=t?p(this.c,t):this.m).exports=r.namespaceObject=e};let b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function w(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function O(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function k(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=w,u.A=function(e){return this.r(e)(w.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=O(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=O(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let j=Symbol("turbopack queues"),v=Symbol("turbopack exports"),U=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=k(),u=Object.assign(s,{[v]:r.exports,[j]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[v]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(j in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[v]:{},[j]:e=>e(t)};return e.then(e=>{r[v]=e,C(t)},e=>{r[U]=e,C(t)}),r}}return{[v]:e,[j]:()=>{}}}),r=()=>t.map(e=>{if(e[U])throw e[U];return e[v]}),{promise:i,resolve:l}=k(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[j](u)),s.queueCount?i:r()},function(e){e?l(u[U]=e):i(u[v]),C(n)}),n&&-1===n.status&&(n.status=0)};let P=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}P.prototype=URL.prototype,u.U=P,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,$=new Map;u.M=$;let _=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,N(r));let o=r.included||[],i=o.map(e=>!!$.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>E.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,N(n));E.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,N(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let A=Promise.resolve(void 0),x=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=x.get(o);if(void 0===l){let e=x.set.bind(x,o,A);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),x.set(o,l)}return l}function N(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,s=[o.map(e=>N(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(N(t),location.origin),a=JSON.stringify(s);return l?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,i?{...i,type:void 0}:void 0)};let q=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return K.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=$.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new s(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let i=e[o];for(let i=r;i<o;i++){let r=e[i],o=t.get(r);if(o){n=o;break}}let l=n??i,s=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(s||(l===i&&Object.defineProperty(i,"name",{value:"module evaluation"}),s=!0),t.set(r,l))}r=o+1}}(t,$)),e.registerChunk(n,r)}let X=new Map;function D(e){let t=X.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?N(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(N("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(q.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(q.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(N(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(N(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})();
@@ -1,6 +1,6 @@
1
1
  self.__MIDDLEWARE_MATCHERS = [
2
2
  {
3
- "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?\\/api(?:\\/((?:[^\\/#\\?]+?)(?:\\/(?:[^\\/#\\?]+?))*))?(\\\\.json)?[\\/#\\?]?$",
3
+ "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?\\/api(?:\\/((?:[^\\/#\\?]+?)(?:\\/(?:[^\\/#\\?]+?))*))?(\\.json)?[\\/#\\?]?$",
4
4
  "originalSource": "/api/:path*"
5
5
  }
6
6
  ];self.__MIDDLEWARE_MATCHERS_CB && self.__MIDDLEWARE_MATCHERS_CB()
Binary file
Binary file
Binary file
Binary file
@@ -1,3 +1,3 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#10a37f">
2
2
  <path d="M22.282 9.821a5.985 5.985 0 0 0-.516-4.91 6.046 6.046 0 0 0-6.51-2.9A6.065 6.065 0 0 0 4.981 4.18a5.985 5.985 0 0 0-3.998 2.9 6.046 6.046 0 0 0 .743 7.097 5.98 5.98 0 0 0 .51 4.911 6.051 6.051 0 0 0 6.515 2.9A5.985 5.985 0 0 0 13.26 24a6.056 6.056 0 0 0 5.772-4.206 5.99 5.99 0 0 0 3.997-2.9 6.056 6.056 0 0 0-.747-7.073zM13.26 22.43a4.476 4.476 0 0 1-2.876-1.04l.141-.081 4.779-2.758a.795.795 0 0 0 .392-.681v-6.737l2.02 1.168a.071.071 0 0 1 .038.052v5.583a4.504 4.504 0 0 1-4.494 4.494zM3.6 18.304a4.47 4.47 0 0 1-.535-3.014l.142.085 4.783 2.759a.771.771 0 0 0 .78 0l5.843-3.369v2.332a.08.08 0 0 1-.033.062L9.74 19.95a4.5 4.5 0 0 1-6.14-1.646zM2.34 7.896a4.485 4.485 0 0 1 2.366-1.973V11.6a.766.766 0 0 0 .388.676l5.815 3.355-2.02 1.168a.076.076 0 0 1-.071 0l-4.83-2.786A4.504 4.504 0 0 1 2.34 7.872zm16.597 3.855l-5.833-3.387L15.119 7.2a.076.076 0 0 1 .071 0l4.83 2.791a4.494 4.494 0 0 1-.676 8.105v-5.678a.79.79 0 0 0-.407-.667zm2.01-3.023l-.141-.085-4.774-2.782a.776.776 0 0 0-.785 0L9.409 9.23V6.897a.066.066 0 0 1 .028-.061l4.83-2.787a4.5 4.5 0 0 1 6.68 4.66zm-12.64 4.135l-2.02-1.164a.08.08 0 0 1-.038-.057V6.075a4.5 4.5 0 0 1 7.375-3.453l-.142.08L8.704 5.46a.795.795 0 0 0-.393.681zm1.097-2.365l2.602-1.5 2.607 1.5v2.999l-2.597 1.5-2.607-1.5z"/>
3
3
  </svg>
Binary file
@@ -0,0 +1,68 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" fill="none">
2
+ <defs>
3
+ <linearGradient id="brain-grad" x1="10" y1="50" x2="54" y2="10" gradientUnits="userSpaceOnUse">
4
+ <stop offset="0%" stop-color="#7C3AED"/>
5
+ <stop offset="50%" stop-color="#22D3EE"/>
6
+ <stop offset="100%" stop-color="#06B6D4"/>
7
+ </linearGradient>
8
+ <linearGradient id="circuit-grad" x1="0" y1="64" x2="64" y2="0" gradientUnits="userSpaceOnUse">
9
+ <stop offset="0%" stop-color="#7C3AED"/>
10
+ <stop offset="100%" stop-color="#22D3EE"/>
11
+ </linearGradient>
12
+ </defs>
13
+
14
+ <!-- Circuit traces radiating outward -->
15
+ <g stroke="url(#circuit-grad)" stroke-width="1.5" stroke-linecap="round" opacity="0.7">
16
+ <!-- Top -->
17
+ <line x1="32" y1="14" x2="32" y2="6"/>
18
+ <circle cx="32" cy="5" r="1.5" fill="url(#circuit-grad)"/>
19
+ <line x1="26" y1="15" x2="22" y2="7"/>
20
+ <circle cx="21.5" cy="6.5" r="1.5" fill="url(#circuit-grad)"/>
21
+ <line x1="38" y1="15" x2="42" y2="7"/>
22
+ <circle cx="42.5" cy="6.5" r="1.5" fill="url(#circuit-grad)"/>
23
+ <!-- Top-left -->
24
+ <line x1="20" y1="18" x2="13" y2="12"/>
25
+ <circle cx="12.5" cy="11.5" r="1.5" fill="url(#circuit-grad)"/>
26
+ <!-- Top-right -->
27
+ <line x1="44" y1="18" x2="51" y2="12"/>
28
+ <circle cx="51.5" cy="11.5" r="1.5" fill="url(#circuit-grad)"/>
29
+ <!-- Left -->
30
+ <line x1="16" y1="28" x2="8" y2="26"/>
31
+ <circle cx="7" cy="25.5" r="1.5" fill="url(#circuit-grad)"/>
32
+ <line x1="16" y1="34" x2="8" y2="36"/>
33
+ <circle cx="7" cy="36.5" r="1.5" fill="url(#circuit-grad)"/>
34
+ <!-- Right -->
35
+ <line x1="48" y1="28" x2="56" y2="26"/>
36
+ <circle cx="57" cy="25.5" r="1.5" fill="url(#circuit-grad)"/>
37
+ <line x1="48" y1="34" x2="56" y2="36"/>
38
+ <circle cx="57" cy="36.5" r="1.5" fill="url(#circuit-grad)"/>
39
+ </g>
40
+
41
+ <!-- Brain shape -->
42
+ <g transform="translate(14, 12)">
43
+ <!-- Left hemisphere -->
44
+ <path d="M18 2C12 2 6 6 4 12C2 18 3 24 5 28C7 32 10 35 14 36L16 36C16 36 15 32 14 28C13 24 14 18 18 14"
45
+ fill="url(#brain-grad)" opacity="0.85"/>
46
+ <!-- Right hemisphere -->
47
+ <path d="M18 2C24 2 30 6 32 12C34 18 33 24 31 28C29 32 26 35 22 36L20 36C20 36 21 32 22 28C23 24 22 18 18 14"
48
+ fill="url(#brain-grad)" opacity="0.95"/>
49
+ <!-- Central fissure -->
50
+ <path d="M18 4C18 4 16 10 17 16C18 22 18 28 17 36"
51
+ stroke="#E0F2FE" stroke-width="1" fill="none" opacity="0.5"/>
52
+ <!-- Brain folds - left -->
53
+ <path d="M8 14C10 13 13 14 14 16" stroke="#E0F2FE" stroke-width="0.8" fill="none" opacity="0.4"/>
54
+ <path d="M6 20C9 19 12 20 14 22" stroke="#E0F2FE" stroke-width="0.8" fill="none" opacity="0.4"/>
55
+ <path d="M7 26C9 25 12 26 14 28" stroke="#E0F2FE" stroke-width="0.8" fill="none" opacity="0.4"/>
56
+ <!-- Brain folds - right -->
57
+ <path d="M28 14C26 13 23 14 22 16" stroke="#E0F2FE" stroke-width="0.8" fill="none" opacity="0.4"/>
58
+ <path d="M30 20C27 19 24 20 22 22" stroke="#E0F2FE" stroke-width="0.8" fill="none" opacity="0.4"/>
59
+ <path d="M29 26C27 25 24 26 22 28" stroke="#E0F2FE" stroke-width="0.8" fill="none" opacity="0.4"/>
60
+ </g>
61
+
62
+ <!-- Brain stem / flowing lines at bottom -->
63
+ <g stroke="url(#circuit-grad)" stroke-width="1.5" fill="none" stroke-linecap="round" opacity="0.6">
64
+ <path d="M28 48C26 52 24 56 20 60"/>
65
+ <path d="M32 48C32 52 32 56 32 60"/>
66
+ <path d="M36 48C38 52 40 56 44 60"/>
67
+ </g>
68
+ </svg>
Binary file
@@ -1 +0,0 @@
1
- {"version":3,"file":"shep-logo.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/shipit-ai-logo/shep-logo.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,OAAmB,EAAE,EAAE,iBAAiB,2CAkB5F"}
@@ -1,5 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '../../../lib/utils.js';
3
- export function ShipitAiLogo({ className, size = 24, variant = 'default' }) {
4
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 194 200", width: size, height: size, className: cn('shrink-0', variant === 'dev' && 'text-cyan-400', className), "aria-hidden": "true", children: _jsx("g", { transform: "matrix(1, 0, 0, 1, -111, -208)", children: _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" }) }) }));
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"shep-logo.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/shipit-ai-logo/shep-logo.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAOnC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/presentation/web/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,CAqBzE;AAED,eAAO,MAAM,MAAM;;CAElB,CAAC"}
@@ -1,4 +0,0 @@
1
- module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},1442,83771,29918,63128,a=>{"use strict";var b=a.i(66680),c=a.i(50227);a.i(12714);var d=a.i(60526);function e(){return process.env.SHIPIT_AI_HOME??(0,c.join)((0,d.homedir)(),".shipit-ai")}a.i(2157),a.s(["getShipitAiHomeDir",0,e],83771),a.s(["computeWorktreePath",0,function(a,d){let f=a.replace(/\\/g,"/"),g=(0,b.createHash)("sha256").update(f).digest("hex").slice(0,16),h=d.replace(/\//g,"-");return(0,c.join)(e(),"repos",g,"wt",h).replace(/\\/g,"/")}],29918);var f=a.i(74533);let g={platform:process.platform,exec:(a,b)=>(0,f.execSync)(a,b)},h={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};a.s(["FolderDialogService",0,class{deps;constructor(a={}){this.deps={...g,...a}}getCommand(){return h[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}],63128),process.platform,a.s([],1442)},2211,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28446)},50961,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},23504,33244,27900,12513,73101,54775,65324,a=>{"use strict";var b=a.i(2211),c=a.i(96380);let d={"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"}},e={displayName:"",description:""};function f(a){let b=d[a];return b||{...e,displayName:a.replace(/^claude-/,"").replace(/^gemini-/,"Gemini ").replace(/^gpt-/,"GPT-").replace(/-/g," ").replace(/\b\w/g,a=>a.toUpperCase())}}var g=a.i(50961);let h={"claude-code":"Claude Code","codex-cli":"Codex CLI",cursor:"Cursor CLI","gemini-cli":"Gemini CLI",dev:"Demo"},i={"claude-code":0,"codex-cli":1,cursor:2,"gemini-cli":3,dev:99};async function j(){try{let a=(0,c.resolve)("IAgentExecutorFactory");return a.getSupportedAgents().map(b=>({agentType:b,label:h[b]??b,models:a.getSupportedModels(b).map(a=>({id:a,...f(a)}))})).map(a=>"dev"===a.agentType&&0===a.models.length?{...a,models:[{id:"gpt-8",...f("gpt-8")},{id:"opus-7",...f("opus-7")}]}:a).filter(a=>a.models.length>0).sort((a,b)=>(i[a.agentType]??50)-(i[b.agentType]??50))}catch{return[]}}(0,g.ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"00f27141d9c3b03810d9d8c43e96fd96f3b6c2ceff",null),a.s(["getAllAgentModels",0,j],23504);let k="__shipitAiSettings";function l(){let a=globalThis[k];if(null!=a)return a;let b=process[k];return null!=b?b:null}function m(a){globalThis[k]=a,process[k]=a}function n(a){if(null!==l())throw Error("Settings already initialized. Cannot re-initialize.");m(a)}function o(){m(null)}async function p(a,b){if(!a.trim())return{ok:!1,error:"agent type is required"};try{let d=(0,c.resolve)("CompleteWebOnboardingUseCase"),e=await d.execute({agentType:a.trim(),model:b});return o(),n(e),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"Failed to update agent and model"}}}a.s(["initializeSettings",0,n,"resetSettings",0,o,"updateSettings",0,function(a){if(null===l())throw Error("Settings not initialized. Cannot update before initialization.");m(a)}],33244),(0,g.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"60c466cbd905414f8124a775092823fe34bab42f80",null),a.s(["updateAgentAndModel",0,p],27900),a.i(1442);var q=a.i(63128);async function r(){let a=new q.FolderDialogService;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,g.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"009f3ac88ce9b697a0f0b32459f90c9fea6b6be4ea",null),a.s(["pickFolder",0,r],12513);class s extends Error{constructor(a,b){super(a),this.name="GitHubAuthError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class t extends Error{constructor(a,b){super(a),this.name="GitHubCloneError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class u extends Error{constructor(a,b){super(a),this.name="GitHubUrlParseError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}async function v(a){try{let b=(0,c.resolve)("ListGitHubRepositoriesUseCase");return{repos:await b.execute(a)}}catch(a){if(a instanceof s)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list repositories"}}}async function w(){try{let a=(0,c.resolve)("ListGitHubOrganizationsUseCase");return{orgs:await a.execute()}}catch(a){if(a instanceof s)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list organizations"}}}async function x(a){let{url:b,dest:d}=a;if(!b?.trim())return{error:"GitHub URL is required"};try{let a=(0,c.resolve)("ImportGitHubRepositoryUseCase");return{repository:await a.execute({url:b,dest:d})}}catch(a){if(a instanceof s)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};if(a instanceof u)return{error:`Invalid GitHub URL: ${a.message}`};if(a instanceof t)return{error:`Clone failed: ${a.message}`};return{error:a instanceof Error?a.message:"Failed to import repository"}}}(0,g.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"40266b974b99f777528f4cdfee9e3d062f1f5cea0f",null),a.s(["listGitHubRepositories",0,v],73101),(0,g.ensureServerEntryExports)([w]),(0,b.registerServerReference)(w,"00d20ef7d46686b34c607d735c8ecd5113e9562bc5",null),a.s(["listGitHubOrganizations",0,w],54775),(0,g.ensureServerEntryExports)([x]),(0,b.registerServerReference)(x,"4030117a7a444f4b8b1a07ce52d9b42e3f18cb5e6a",null),a.s(["importGitHubRepository",0,x],65324)},94691,a=>{"use strict";var b=a.i(2211),c=a.i(96380);async function d(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,a.i(50961).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"404dbc60e25db58c76ea61f668fed8f0640ffd02d7",null),a.s(["getDeploymentLogs",0,d])},33841,46646,68670,85321,a=>{"use strict";var b=a.i(2211),c=a.i(2157),d=a.i(96380);a.i(1442);let e=()=>void 0;function f(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):e,debug:b?(...b)=>console.debug(a,...b):e,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var g=a.i(29918),h=a.i(81719),i=a.i(50227);function j(a){try{let b=(0,c.realpathSync)((0,i.resolve)(a)).replace(/\\/g,"/"),d=(0,c.realpathSync)((0,i.resolve)("/Users/jason/dev/shipit/src/presentation/web")).replace(/\\/g,"/");return b===d}catch{return!1}}var k=a.i(50961);let l=f("[deployFeature]");async function m(a){if(l.info(`called — featureId="${a}"`),!a?.trim())return l.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,d.resolve)("IFeatureRepository"),e=await b.findById(a);if(!e)return l.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};l.info(`feature found — repositoryPath="${e.repositoryPath}", branch="${e.branch}"`);let f=(0,g.computeWorktreePath)(e.repositoryPath,e.branch);if(l.info(`computed worktreePath="${f}"`),!(0,c.existsSync)(f))return l.warn(`worktree path does not exist on disk: "${f}"`),{success:!1,error:`Worktree path does not exist: ${f}`};if(j(e.repositoryPath))return l.warn("rejected — feature belongs to the running shep instance"),{success:!1,error:"Cannot start a dev server for features of the repository Shep is running from"};return l.info("worktree path exists, calling deploymentService.start()"),(0,d.resolve)("IDeploymentService").start(a,f,"feature"),l.info("start() returned successfully — state=Booting"),{success:!0,state:h.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return l.error(`error: ${a}`,b),{success:!1,error:a}}}(0,k.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"4089bcf292895686df4f89fb2535a996988c138d33",null),a.s(["deployFeature",0,m],33841);let n=f("[deployRepository]");async function o(a){if(n.info(`called — repositoryPath="${a}"`),!a||!(0,i.isAbsolute)(a))return n.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,c.existsSync)(a))return n.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};if(j(a))return n.warn("rejected — target is the running shep instance"),{success:!1,error:"Cannot start a dev server for the repository Shep is running from"};return n.info("directory exists, calling deploymentService.start()"),(0,d.resolve)("IDeploymentService").start(a,a,"repository"),n.info("start() returned successfully — state=Booting"),{success:!0,state:h.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return n.error(`error: ${a}`,b),{success:!1,error:a}}}async function p(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,d.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function q(a){return a?.trim()?(0,d.resolve)("IDeploymentService").getStatus(a):null}(0,k.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"4011a943b42adddcfb1d48d7235a515691d6135db0",null),a.s(["deployRepository",0,o],46646),(0,k.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"402febc07939d7aaf3830a99f1e7e7c2516b8c6dd2",null),a.s(["stopDeployment",0,p],68670),(0,k.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40a093325d0315ab450f1e2e2b1f4699cf8470c03a",null),a.s(["getDeploymentStatus",0,q],85321)}];
3
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__0.j0ktf._.js.map