tower-studio 0.1.1 → 0.1.3

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 (873) hide show
  1. package/components.json +25 -0
  2. package/next.config.ts +1 -1
  3. package/package.json +10 -11
  4. package/postcss.config.mjs +7 -0
  5. package/prisma/dev.db +0 -0
  6. package/prisma/prisma/dev.db +0 -0
  7. package/prisma/seed.ts +50 -0
  8. package/scripts/init-tower.ts +10 -0
  9. package/scripts/post-tool-hook.js +188 -0
  10. package/scripts/session-start-hook.js +79 -0
  11. package/scripts/stop-hook.js +78 -0
  12. package/skills/tower/SKILL.md +375 -0
  13. package/src/actions/__tests__/agent-actions-username.test.ts +30 -0
  14. package/src/actions/__tests__/asset-actions.test.ts +251 -0
  15. package/src/actions/__tests__/assistant-actions.test.ts +20 -0
  16. package/src/actions/__tests__/cli-profile-actions.test.ts +243 -0
  17. package/src/actions/__tests__/label-actions.test.ts +187 -0
  18. package/src/actions/__tests__/note-actions.test.ts +237 -0
  19. package/src/actions/__tests__/onboarding-actions.test.ts +265 -0
  20. package/src/actions/__tests__/project-actions.test.ts +179 -0
  21. package/src/actions/__tests__/prompt-actions.test.ts +213 -0
  22. package/src/actions/__tests__/report-actions.test.ts +246 -0
  23. package/src/actions/__tests__/search-code-actions.test.ts +308 -0
  24. package/src/actions/__tests__/task-actions-overview.test.ts +58 -0
  25. package/src/actions/__tests__/task-actions-pin.test.ts +79 -0
  26. package/src/actions/__tests__/workspace-actions.test.ts +256 -0
  27. package/src/actions/agent-actions.ts +741 -0
  28. package/src/actions/agent-config-actions.ts +44 -0
  29. package/src/actions/ai-config-actions.ts +51 -0
  30. package/src/actions/asset-actions.ts +131 -0
  31. package/src/actions/assistant-actions.ts +107 -0
  32. package/src/actions/cli-profile-actions.ts +98 -0
  33. package/src/actions/config-actions.ts +84 -0
  34. package/src/actions/file-actions.ts +262 -0
  35. package/src/actions/git-actions.ts +90 -0
  36. package/src/actions/label-actions.ts +67 -0
  37. package/src/actions/note-actions.ts +87 -0
  38. package/src/actions/onboarding-actions.ts +103 -0
  39. package/src/actions/preview-actions.ts +76 -0
  40. package/src/actions/project-actions.ts +222 -0
  41. package/src/actions/prompt-actions.ts +73 -0
  42. package/src/actions/report-actions.ts +141 -0
  43. package/src/actions/search-actions.ts +21 -0
  44. package/src/actions/search-code-actions.ts +185 -0
  45. package/src/actions/task-actions.ts +350 -0
  46. package/src/actions/workspace-actions.ts +224 -0
  47. package/src/app/api/adapters/test/route.ts +52 -0
  48. package/src/app/api/browse-fs/route.ts +90 -0
  49. package/src/app/api/files/assets/[projectId]/[filename]/route.ts +38 -0
  50. package/src/app/api/git/route.ts +367 -0
  51. package/src/app/api/internal/assets/[projectId]/[filename]/route.ts +51 -0
  52. package/src/app/api/internal/assets/reveal/route.ts +71 -0
  53. package/src/app/api/internal/assistant/chat/route.ts +217 -0
  54. package/src/app/api/internal/assistant/images/route.ts +51 -0
  55. package/src/app/api/internal/assistant/route.ts +50 -0
  56. package/src/app/api/internal/assistant/sessions/route.ts +44 -0
  57. package/src/app/api/internal/cache/[...segments]/route.ts +59 -0
  58. package/src/app/api/internal/hooks/install/route.ts +41 -0
  59. package/src/app/api/internal/hooks/session/route.ts +60 -0
  60. package/src/app/api/internal/hooks/stop/route.ts +61 -0
  61. package/src/app/api/internal/hooks/upload/route.ts +173 -0
  62. package/src/app/api/internal/notifications/pending/route.ts +20 -0
  63. package/src/app/api/internal/terminal/[taskId]/buffer/route.ts +48 -0
  64. package/src/app/api/internal/terminal/[taskId]/input/route.ts +64 -0
  65. package/src/app/api/internal/terminal/[taskId]/start/route.ts +37 -0
  66. package/src/app/api/tasks/[taskId]/diff/route.ts +224 -0
  67. package/src/app/api/tasks/[taskId]/merge/route.ts +159 -0
  68. package/src/app/globals.css +247 -0
  69. package/src/app/layout.tsx +63 -0
  70. package/src/app/missions/missions-client.tsx +338 -0
  71. package/src/app/missions/page.tsx +10 -0
  72. package/src/app/onboarding/page.tsx +619 -0
  73. package/src/app/page.tsx +5 -0
  74. package/src/app/settings/page.tsx +7 -0
  75. package/src/app/workspaces/[workspaceId]/archive/archive-page-client.tsx +258 -0
  76. package/src/app/workspaces/[workspaceId]/archive/page.tsx +36 -0
  77. package/src/app/workspaces/[workspaceId]/assets/assets-page-client.tsx +232 -0
  78. package/src/app/workspaces/[workspaceId]/assets/page.tsx +36 -0
  79. package/src/app/workspaces/[workspaceId]/board-page-client.tsx +257 -0
  80. package/src/app/workspaces/[workspaceId]/notes/notes-page-client.tsx +337 -0
  81. package/src/app/workspaces/[workspaceId]/notes/page.tsx +39 -0
  82. package/src/app/workspaces/[workspaceId]/page.tsx +81 -0
  83. package/src/app/workspaces/[workspaceId]/projects/[projectId]/page.tsx +30 -0
  84. package/src/app/workspaces/[workspaceId]/tasks/[taskId]/page.tsx +97 -0
  85. package/src/app/workspaces/[workspaceId]/tasks/[taskId]/task-page-client.tsx +601 -0
  86. package/src/app/workspaces/page.tsx +13 -0
  87. package/src/components/assets/asset-item.tsx +128 -0
  88. package/src/components/assets/asset-list.tsx +31 -0
  89. package/src/components/assets/asset-upload.tsx +216 -0
  90. package/src/components/assets/image-lightbox.tsx +72 -0
  91. package/src/components/assets/text-preview-dialog.tsx +135 -0
  92. package/src/components/assistant/assistant-chat-bubble.tsx +308 -0
  93. package/src/components/assistant/assistant-chat.tsx +215 -0
  94. package/src/components/assistant/assistant-panel.tsx +149 -0
  95. package/src/components/assistant/assistant-provider.tsx +512 -0
  96. package/src/components/assistant/image-preview-modal.tsx +60 -0
  97. package/src/components/assistant/image-thumbnail-strip.tsx +94 -0
  98. package/src/components/board/board-column.tsx +115 -0
  99. package/src/components/board/board-filters.tsx +42 -0
  100. package/src/components/board/board-stats.tsx +52 -0
  101. package/src/components/board/column-tasks-dialog.tsx +100 -0
  102. package/src/components/board/create-task-dialog.tsx +362 -0
  103. package/src/components/board/kanban-board.tsx +169 -0
  104. package/src/components/board/project-tabs.tsx +93 -0
  105. package/src/components/board/task-card-context-menu.tsx +121 -0
  106. package/src/components/board/task-card.tsx +135 -0
  107. package/src/components/layout/__tests__/top-bar-username.test.tsx +24 -0
  108. package/src/components/layout/app-sidebar.tsx +662 -0
  109. package/src/components/layout/folder-browser-dialog.tsx +273 -0
  110. package/src/components/layout/layout-client.tsx +198 -0
  111. package/src/components/layout/search-dialog.tsx +196 -0
  112. package/src/components/layout/sub-page-nav.tsx +54 -0
  113. package/src/components/layout/top-bar.tsx +265 -0
  114. package/src/components/missions/grid-layout-presets.ts +19 -0
  115. package/src/components/missions/grid-preset-picker.tsx +209 -0
  116. package/src/components/missions/merge-missions.ts +30 -0
  117. package/src/components/missions/mission-card.tsx +203 -0
  118. package/src/components/missions/task-picker-dialog.tsx +415 -0
  119. package/src/components/notes/category-filter.tsx +44 -0
  120. package/src/components/notes/note-card.tsx +67 -0
  121. package/src/components/notes/note-editor.tsx +28 -0
  122. package/src/components/notes/note-list.tsx +30 -0
  123. package/src/components/notifications/notification-permission-banner.tsx +49 -0
  124. package/src/components/notifications/use-notification-listener.ts +114 -0
  125. package/src/components/onboarding/__tests__/onboarding-wizard.test.tsx +185 -0
  126. package/src/components/onboarding/guided-tour.tsx +255 -0
  127. package/src/components/onboarding/onboarding-wizard.tsx +84 -0
  128. package/src/components/onboarding/wizard-step-cli.tsx +53 -0
  129. package/src/components/onboarding/wizard-step-username.tsx +59 -0
  130. package/src/components/project/create-project-dialog.tsx +310 -0
  131. package/src/components/project/import-project-dialog.tsx +414 -0
  132. package/src/components/providers/theme-provider.tsx +8 -0
  133. package/src/components/repository/create-branch-dialog.tsx +165 -0
  134. package/src/components/repository/git-changes-panel.tsx +294 -0
  135. package/src/components/repository/git-log-panel.tsx +83 -0
  136. package/src/components/repository/git-stash-panel.tsx +158 -0
  137. package/src/components/repository/repo-sidebar.tsx +855 -0
  138. package/src/components/settings/cli-adapter-tester.tsx +144 -0
  139. package/src/components/settings/settings-page.tsx +2111 -0
  140. package/src/components/task/code-editor.tsx +376 -0
  141. package/src/components/task/code-search.tsx +219 -0
  142. package/src/components/task/diff-editor.tsx +97 -0
  143. package/src/components/task/editor-git-panel.tsx +792 -0
  144. package/src/components/task/editor-tabs.tsx +68 -0
  145. package/src/components/task/execution-timeline.tsx +258 -0
  146. package/src/components/task/file-tree-context-menu.tsx +113 -0
  147. package/src/components/task/file-tree-node.tsx +269 -0
  148. package/src/components/task/file-tree.tsx +575 -0
  149. package/src/components/task/preview-panel.tsx +281 -0
  150. package/src/components/task/task-detail-panel.tsx +455 -0
  151. package/src/components/task/task-diff-view.tsx +207 -0
  152. package/src/components/task/task-file-changes.tsx +19 -0
  153. package/src/components/task/task-merge-confirm-dialog.tsx +152 -0
  154. package/src/components/task/task-metadata.tsx +74 -0
  155. package/src/components/task/task-notes-panel.tsx +219 -0
  156. package/src/components/task/task-overview-drawer.tsx +172 -0
  157. package/src/components/task/task-terminal.tsx +294 -0
  158. package/src/components/task/terminal-portal.tsx +156 -0
  159. package/src/components/task/types.ts +6 -0
  160. package/src/components/ui/avatar.tsx +109 -0
  161. package/src/components/ui/badge.tsx +52 -0
  162. package/src/components/ui/button.tsx +58 -0
  163. package/src/components/ui/card.tsx +103 -0
  164. package/src/components/ui/command.tsx +196 -0
  165. package/src/components/ui/dialog.tsx +160 -0
  166. package/src/components/ui/dropdown-menu.tsx +268 -0
  167. package/src/components/ui/empty-state.tsx +26 -0
  168. package/src/components/ui/error-boundary.tsx +58 -0
  169. package/src/components/ui/input-group.tsx +158 -0
  170. package/src/components/ui/input.tsx +20 -0
  171. package/src/components/ui/label.tsx +20 -0
  172. package/src/components/ui/popover.tsx +90 -0
  173. package/src/components/ui/scroll-area.tsx +55 -0
  174. package/src/components/ui/segmented-control.tsx +42 -0
  175. package/src/components/ui/select.tsx +207 -0
  176. package/src/components/ui/separator.tsx +25 -0
  177. package/src/components/ui/sheet.tsx +138 -0
  178. package/src/components/ui/sonner.tsx +49 -0
  179. package/src/components/ui/switch.tsx +32 -0
  180. package/src/components/ui/tabs.tsx +82 -0
  181. package/src/components/ui/textarea.tsx +18 -0
  182. package/src/components/ui/toast.tsx +86 -0
  183. package/src/components/ui/tooltip.tsx +66 -0
  184. package/src/hooks/__tests__/sse-event-reducer.test.ts +263 -0
  185. package/src/hooks/__tests__/use-assistant-chat.test.ts +34 -0
  186. package/src/hooks/__tests__/use-image-upload.test.ts +443 -0
  187. package/src/hooks/sse-event-reducer.ts +144 -0
  188. package/src/hooks/use-assistant-chat.ts +190 -0
  189. package/src/hooks/use-image-upload.ts +140 -0
  190. package/src/instrumentation.ts +18 -0
  191. package/src/lib/__tests__/assistant-message-converter.test.ts +162 -0
  192. package/src/lib/__tests__/assistant-sessions.test.ts +253 -0
  193. package/src/lib/__tests__/build-multimodal-prompt.test.ts +173 -0
  194. package/src/lib/__tests__/config-reader.test.ts +75 -0
  195. package/src/lib/__tests__/diff-parser.test.ts +212 -0
  196. package/src/lib/__tests__/execution-summary.test.ts +237 -0
  197. package/src/lib/__tests__/file-serve.test.ts +178 -0
  198. package/src/lib/__tests__/file-utils.test.ts +177 -0
  199. package/src/lib/__tests__/internal-api-guard.test.ts +151 -0
  200. package/src/lib/__tests__/logger.test.ts +181 -0
  201. package/src/lib/__tests__/platform.test.ts +566 -0
  202. package/src/lib/__tests__/reveal-route-security.test.ts +65 -0
  203. package/src/lib/__tests__/schemas.test.ts +377 -0
  204. package/src/lib/__tests__/terminal-link-provider.test.ts +160 -0
  205. package/src/lib/__tests__/upload-route-security.test.ts +120 -0
  206. package/src/lib/ai/__tests__/capability-resolver.test.ts +71 -0
  207. package/src/lib/ai/__tests__/claude-cli-adapter.test.ts +103 -0
  208. package/src/lib/ai/__tests__/provider-registry.test.ts +74 -0
  209. package/src/lib/ai/adapters/cli/claude-cli-adapter.ts +166 -0
  210. package/src/lib/ai/capability-resolver.ts +81 -0
  211. package/src/lib/ai/provider-registry.ts +54 -0
  212. package/src/lib/ai/providers/claude.ts +19 -0
  213. package/src/lib/ai/providers/index.ts +12 -0
  214. package/src/lib/ai/types.ts +151 -0
  215. package/src/lib/assistant-constants.ts +2 -0
  216. package/src/lib/assistant-message-converter.ts +131 -0
  217. package/src/lib/assistant-sessions.ts +75 -0
  218. package/src/lib/build-multimodal-prompt.ts +53 -0
  219. package/src/lib/claude-session.ts +156 -0
  220. package/src/lib/cli-test.ts +476 -0
  221. package/src/lib/config-defaults.ts +121 -0
  222. package/src/lib/config-reader.ts +16 -0
  223. package/src/lib/constants.ts +26 -0
  224. package/src/lib/db.ts +28 -0
  225. package/src/lib/diff-parser.ts +132 -0
  226. package/src/lib/execution-summary.ts +287 -0
  227. package/src/lib/file-serve-client.ts +13 -0
  228. package/src/lib/file-serve.ts +32 -0
  229. package/src/lib/file-utils.ts +108 -0
  230. package/src/lib/fs-security.ts +22 -0
  231. package/src/lib/fts.ts +83 -0
  232. package/src/lib/git-api.ts +19 -0
  233. package/src/lib/git-url.ts +244 -0
  234. package/src/lib/i18n/en.ts +754 -0
  235. package/src/lib/i18n/types.ts +4 -0
  236. package/src/lib/i18n/zh.ts +769 -0
  237. package/src/lib/i18n.tsx +64 -0
  238. package/src/lib/init-tower.ts +129 -0
  239. package/src/lib/instrumentation-tasks.ts +116 -0
  240. package/src/lib/internal-api-guard.ts +63 -0
  241. package/src/lib/logger.ts +46 -0
  242. package/src/lib/mime-magic.ts +67 -0
  243. package/src/lib/platform.ts +518 -0
  244. package/src/lib/preview-process.ts +40 -0
  245. package/src/lib/pty/__tests__/ws-server-assistant.test.ts +7 -0
  246. package/src/lib/pty/pty-session.ts +157 -0
  247. package/src/lib/pty/session-store.ts +67 -0
  248. package/src/lib/pty/ws-server.ts +335 -0
  249. package/src/lib/schemas.ts +67 -0
  250. package/src/lib/search.ts +225 -0
  251. package/src/lib/terminal-link-provider.ts +90 -0
  252. package/src/lib/tower-dir.ts +69 -0
  253. package/src/lib/utils.ts +20 -0
  254. package/src/lib/worktree.ts +184 -0
  255. package/src/stores/board-store.ts +46 -0
  256. package/src/stores/task-execution-store.ts +41 -0
  257. package/src/types/index.ts +36 -0
  258. package/.next/BUILD_ID +0 -1
  259. package/.next/app-path-routes-manifest.json +0 -41
  260. package/.next/build/chunks/0kjx__pnpm_05m.mc_._.js +0 -6681
  261. package/.next/build/chunks/[root-of-the-server]__0a5dngl._.js +0 -206
  262. package/.next/build/chunks/[root-of-the-server]__13e2v6w._.js +0 -500
  263. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0y_r.ay._.js +0 -13
  264. package/.next/build/chunks/[turbopack]_runtime.js +0 -890
  265. package/.next/build/package.json +0 -1
  266. package/.next/build/postcss.js +0 -6
  267. package/.next/build-manifest.json +0 -22
  268. package/.next/cache/.previewinfo +0 -1
  269. package/.next/cache/.rscinfo +0 -1
  270. package/.next/cache/.tsbuildinfo +0 -1
  271. package/.next/diagnostics/build-diagnostics.json +0 -6
  272. package/.next/diagnostics/framework.json +0 -1
  273. package/.next/diagnostics/route-bundle-stats.json +0 -299
  274. package/.next/export-marker.json +0 -6
  275. package/.next/fallback-build-manifest.json +0 -13
  276. package/.next/images-manifest.json +0 -68
  277. package/.next/next-minimal-server.js.nft.json +0 -1
  278. package/.next/next-server.js.nft.json +0 -1
  279. package/.next/package.json +0 -1
  280. package/.next/prerender-manifest.json +0 -278
  281. package/.next/required-server-files.js +0 -338
  282. package/.next/required-server-files.json +0 -338
  283. package/.next/routes-manifest.json +0 -312
  284. package/.next/server/app/_global-error/page/app-paths-manifest.json +0 -3
  285. package/.next/server/app/_global-error/page/build-manifest.json +0 -18
  286. package/.next/server/app/_global-error/page/next-font-manifest.json +0 -6
  287. package/.next/server/app/_global-error/page/react-loadable-manifest.json +0 -1
  288. package/.next/server/app/_global-error/page/server-reference-manifest.json +0 -4
  289. package/.next/server/app/_global-error/page.js +0 -12
  290. package/.next/server/app/_global-error/page.js.nft.json +0 -1
  291. package/.next/server/app/_global-error/page_client-reference-manifest.js +0 -3
  292. package/.next/server/app/_global-error.html +0 -1
  293. package/.next/server/app/_global-error.meta +0 -15
  294. package/.next/server/app/_global-error.rsc +0 -15
  295. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +0 -5
  296. package/.next/server/app/_global-error.segments/_full.segment.rsc +0 -15
  297. package/.next/server/app/_global-error.segments/_head.segment.rsc +0 -6
  298. package/.next/server/app/_global-error.segments/_index.segment.rsc +0 -5
  299. package/.next/server/app/_global-error.segments/_tree.segment.rsc +0 -1
  300. package/.next/server/app/_not-found/page/app-paths-manifest.json +0 -3
  301. package/.next/server/app/_not-found/page/build-manifest.json +0 -18
  302. package/.next/server/app/_not-found/page/next-font-manifest.json +0 -11
  303. package/.next/server/app/_not-found/page/react-loadable-manifest.json +0 -16
  304. package/.next/server/app/_not-found/page/server-reference-manifest.json +0 -233
  305. package/.next/server/app/_not-found/page.js +0 -20
  306. package/.next/server/app/_not-found/page.js.nft.json +0 -1
  307. package/.next/server/app/_not-found/page_client-reference-manifest.js +0 -3
  308. package/.next/server/app/_not-found.html +0 -1
  309. package/.next/server/app/_not-found.meta +0 -16
  310. package/.next/server/app/_not-found.rsc +0 -24
  311. package/.next/server/app/_not-found.segments/_full.segment.rsc +0 -24
  312. package/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
  313. package/.next/server/app/_not-found.segments/_index.segment.rsc +0 -12
  314. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +0 -5
  315. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -5
  316. package/.next/server/app/_not-found.segments/_tree.segment.rsc +0 -4
  317. package/.next/server/app/api/adapters/test/route/app-paths-manifest.json +0 -3
  318. package/.next/server/app/api/adapters/test/route/build-manifest.json +0 -9
  319. package/.next/server/app/api/adapters/test/route/server-reference-manifest.json +0 -4
  320. package/.next/server/app/api/adapters/test/route.js +0 -9
  321. package/.next/server/app/api/adapters/test/route.js.nft.json +0 -1
  322. package/.next/server/app/api/adapters/test/route_client-reference-manifest.js +0 -3
  323. package/.next/server/app/api/browse-fs/route/app-paths-manifest.json +0 -3
  324. package/.next/server/app/api/browse-fs/route/build-manifest.json +0 -9
  325. package/.next/server/app/api/browse-fs/route/server-reference-manifest.json +0 -4
  326. package/.next/server/app/api/browse-fs/route.js +0 -7
  327. package/.next/server/app/api/browse-fs/route.js.nft.json +0 -1
  328. package/.next/server/app/api/browse-fs/route_client-reference-manifest.js +0 -3
  329. package/.next/server/app/api/files/assets/[projectId]/[filename]/route/app-paths-manifest.json +0 -3
  330. package/.next/server/app/api/files/assets/[projectId]/[filename]/route/build-manifest.json +0 -9
  331. package/.next/server/app/api/files/assets/[projectId]/[filename]/route/server-reference-manifest.json +0 -4
  332. package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js +0 -7
  333. package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +0 -1
  334. package/.next/server/app/api/files/assets/[projectId]/[filename]/route_client-reference-manifest.js +0 -3
  335. package/.next/server/app/api/git/route/app-paths-manifest.json +0 -3
  336. package/.next/server/app/api/git/route/build-manifest.json +0 -9
  337. package/.next/server/app/api/git/route/server-reference-manifest.json +0 -4
  338. package/.next/server/app/api/git/route.js +0 -8
  339. package/.next/server/app/api/git/route.js.nft.json +0 -1
  340. package/.next/server/app/api/git/route_client-reference-manifest.js +0 -3
  341. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route/app-paths-manifest.json +0 -3
  342. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route/build-manifest.json +0 -9
  343. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route/server-reference-manifest.json +0 -4
  344. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js +0 -7
  345. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +0 -1
  346. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route_client-reference-manifest.js +0 -3
  347. package/.next/server/app/api/internal/assets/reveal/route/app-paths-manifest.json +0 -3
  348. package/.next/server/app/api/internal/assets/reveal/route/build-manifest.json +0 -9
  349. package/.next/server/app/api/internal/assets/reveal/route/server-reference-manifest.json +0 -4
  350. package/.next/server/app/api/internal/assets/reveal/route.js +0 -7
  351. package/.next/server/app/api/internal/assets/reveal/route.js.nft.json +0 -1
  352. package/.next/server/app/api/internal/assets/reveal/route_client-reference-manifest.js +0 -3
  353. package/.next/server/app/api/internal/assistant/chat/route/app-paths-manifest.json +0 -3
  354. package/.next/server/app/api/internal/assistant/chat/route/build-manifest.json +0 -9
  355. package/.next/server/app/api/internal/assistant/chat/route/server-reference-manifest.json +0 -4
  356. package/.next/server/app/api/internal/assistant/chat/route.js +0 -7
  357. package/.next/server/app/api/internal/assistant/chat/route.js.nft.json +0 -1
  358. package/.next/server/app/api/internal/assistant/chat/route_client-reference-manifest.js +0 -3
  359. package/.next/server/app/api/internal/assistant/images/route/app-paths-manifest.json +0 -3
  360. package/.next/server/app/api/internal/assistant/images/route/build-manifest.json +0 -9
  361. package/.next/server/app/api/internal/assistant/images/route/server-reference-manifest.json +0 -4
  362. package/.next/server/app/api/internal/assistant/images/route.js +0 -9
  363. package/.next/server/app/api/internal/assistant/images/route.js.nft.json +0 -1
  364. package/.next/server/app/api/internal/assistant/images/route_client-reference-manifest.js +0 -3
  365. package/.next/server/app/api/internal/assistant/route/app-paths-manifest.json +0 -3
  366. package/.next/server/app/api/internal/assistant/route/build-manifest.json +0 -9
  367. package/.next/server/app/api/internal/assistant/route/server-reference-manifest.json +0 -4
  368. package/.next/server/app/api/internal/assistant/route.js +0 -7
  369. package/.next/server/app/api/internal/assistant/route.js.nft.json +0 -1
  370. package/.next/server/app/api/internal/assistant/route_client-reference-manifest.js +0 -3
  371. package/.next/server/app/api/internal/assistant/sessions/route/app-paths-manifest.json +0 -3
  372. package/.next/server/app/api/internal/assistant/sessions/route/build-manifest.json +0 -9
  373. package/.next/server/app/api/internal/assistant/sessions/route/server-reference-manifest.json +0 -4
  374. package/.next/server/app/api/internal/assistant/sessions/route.js +0 -7
  375. package/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +0 -1
  376. package/.next/server/app/api/internal/assistant/sessions/route_client-reference-manifest.js +0 -3
  377. package/.next/server/app/api/internal/cache/[...segments]/route/app-paths-manifest.json +0 -3
  378. package/.next/server/app/api/internal/cache/[...segments]/route/build-manifest.json +0 -9
  379. package/.next/server/app/api/internal/cache/[...segments]/route/server-reference-manifest.json +0 -4
  380. package/.next/server/app/api/internal/cache/[...segments]/route.js +0 -7
  381. package/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +0 -1
  382. package/.next/server/app/api/internal/cache/[...segments]/route_client-reference-manifest.js +0 -3
  383. package/.next/server/app/api/internal/hooks/install/route/app-paths-manifest.json +0 -3
  384. package/.next/server/app/api/internal/hooks/install/route/build-manifest.json +0 -9
  385. package/.next/server/app/api/internal/hooks/install/route/server-reference-manifest.json +0 -4
  386. package/.next/server/app/api/internal/hooks/install/route.js +0 -7
  387. package/.next/server/app/api/internal/hooks/install/route.js.nft.json +0 -1
  388. package/.next/server/app/api/internal/hooks/install/route_client-reference-manifest.js +0 -3
  389. package/.next/server/app/api/internal/hooks/session/route/app-paths-manifest.json +0 -3
  390. package/.next/server/app/api/internal/hooks/session/route/build-manifest.json +0 -9
  391. package/.next/server/app/api/internal/hooks/session/route/server-reference-manifest.json +0 -4
  392. package/.next/server/app/api/internal/hooks/session/route.js +0 -7
  393. package/.next/server/app/api/internal/hooks/session/route.js.nft.json +0 -1
  394. package/.next/server/app/api/internal/hooks/session/route_client-reference-manifest.js +0 -3
  395. package/.next/server/app/api/internal/hooks/stop/route/app-paths-manifest.json +0 -3
  396. package/.next/server/app/api/internal/hooks/stop/route/build-manifest.json +0 -9
  397. package/.next/server/app/api/internal/hooks/stop/route/server-reference-manifest.json +0 -4
  398. package/.next/server/app/api/internal/hooks/stop/route.js +0 -8
  399. package/.next/server/app/api/internal/hooks/stop/route.js.nft.json +0 -1
  400. package/.next/server/app/api/internal/hooks/stop/route_client-reference-manifest.js +0 -3
  401. package/.next/server/app/api/internal/hooks/upload/route/app-paths-manifest.json +0 -3
  402. package/.next/server/app/api/internal/hooks/upload/route/build-manifest.json +0 -9
  403. package/.next/server/app/api/internal/hooks/upload/route/server-reference-manifest.json +0 -4
  404. package/.next/server/app/api/internal/hooks/upload/route.js +0 -7
  405. package/.next/server/app/api/internal/hooks/upload/route.js.nft.json +0 -1
  406. package/.next/server/app/api/internal/hooks/upload/route_client-reference-manifest.js +0 -3
  407. package/.next/server/app/api/internal/notifications/pending/route/app-paths-manifest.json +0 -3
  408. package/.next/server/app/api/internal/notifications/pending/route/build-manifest.json +0 -9
  409. package/.next/server/app/api/internal/notifications/pending/route/server-reference-manifest.json +0 -4
  410. package/.next/server/app/api/internal/notifications/pending/route.js +0 -7
  411. package/.next/server/app/api/internal/notifications/pending/route.js.nft.json +0 -1
  412. package/.next/server/app/api/internal/notifications/pending/route_client-reference-manifest.js +0 -3
  413. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route/app-paths-manifest.json +0 -3
  414. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route/build-manifest.json +0 -9
  415. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route/server-reference-manifest.json +0 -4
  416. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +0 -8
  417. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +0 -1
  418. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route_client-reference-manifest.js +0 -3
  419. package/.next/server/app/api/internal/terminal/[taskId]/input/route/app-paths-manifest.json +0 -3
  420. package/.next/server/app/api/internal/terminal/[taskId]/input/route/build-manifest.json +0 -9
  421. package/.next/server/app/api/internal/terminal/[taskId]/input/route/server-reference-manifest.json +0 -4
  422. package/.next/server/app/api/internal/terminal/[taskId]/input/route.js +0 -8
  423. package/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +0 -1
  424. package/.next/server/app/api/internal/terminal/[taskId]/input/route_client-reference-manifest.js +0 -3
  425. package/.next/server/app/api/internal/terminal/[taskId]/start/route/app-paths-manifest.json +0 -3
  426. package/.next/server/app/api/internal/terminal/[taskId]/start/route/build-manifest.json +0 -9
  427. package/.next/server/app/api/internal/terminal/[taskId]/start/route/server-reference-manifest.json +0 -4
  428. package/.next/server/app/api/internal/terminal/[taskId]/start/route.js +0 -10
  429. package/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +0 -1
  430. package/.next/server/app/api/internal/terminal/[taskId]/start/route_client-reference-manifest.js +0 -3
  431. package/.next/server/app/api/tasks/[taskId]/diff/route/app-paths-manifest.json +0 -3
  432. package/.next/server/app/api/tasks/[taskId]/diff/route/build-manifest.json +0 -9
  433. package/.next/server/app/api/tasks/[taskId]/diff/route/server-reference-manifest.json +0 -4
  434. package/.next/server/app/api/tasks/[taskId]/diff/route.js +0 -8
  435. package/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +0 -1
  436. package/.next/server/app/api/tasks/[taskId]/diff/route_client-reference-manifest.js +0 -3
  437. package/.next/server/app/api/tasks/[taskId]/merge/route/app-paths-manifest.json +0 -3
  438. package/.next/server/app/api/tasks/[taskId]/merge/route/build-manifest.json +0 -9
  439. package/.next/server/app/api/tasks/[taskId]/merge/route/server-reference-manifest.json +0 -4
  440. package/.next/server/app/api/tasks/[taskId]/merge/route.js +0 -9
  441. package/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +0 -1
  442. package/.next/server/app/api/tasks/[taskId]/merge/route_client-reference-manifest.js +0 -3
  443. package/.next/server/app/apple-icon.png/route/app-paths-manifest.json +0 -3
  444. package/.next/server/app/apple-icon.png/route/build-manifest.json +0 -9
  445. package/.next/server/app/apple-icon.png/route.js +0 -8
  446. package/.next/server/app/apple-icon.png/route.js.nft.json +0 -1
  447. package/.next/server/app/apple-icon.png.meta +0 -1
  448. package/.next/server/app/favicon.ico/route/app-paths-manifest.json +0 -3
  449. package/.next/server/app/favicon.ico/route/build-manifest.json +0 -9
  450. package/.next/server/app/favicon.ico/route.js +0 -8
  451. package/.next/server/app/favicon.ico/route.js.nft.json +0 -1
  452. package/.next/server/app/favicon.ico.meta +0 -1
  453. package/.next/server/app/icon0.svg/route/app-paths-manifest.json +0 -3
  454. package/.next/server/app/icon0.svg/route/build-manifest.json +0 -9
  455. package/.next/server/app/icon0.svg/route.js +0 -8
  456. package/.next/server/app/icon0.svg/route.js.nft.json +0 -1
  457. package/.next/server/app/icon0.svg.meta +0 -1
  458. package/.next/server/app/icon1.png/route/app-paths-manifest.json +0 -3
  459. package/.next/server/app/icon1.png/route/build-manifest.json +0 -9
  460. package/.next/server/app/icon1.png/route.js +0 -8
  461. package/.next/server/app/icon1.png/route.js.nft.json +0 -1
  462. package/.next/server/app/icon1.png.meta +0 -1
  463. package/.next/server/app/index.html +0 -1
  464. package/.next/server/app/index.meta +0 -16
  465. package/.next/server/app/index.rsc +0 -25
  466. package/.next/server/app/index.segments/__PAGE__.segment.rsc +0 -6
  467. package/.next/server/app/index.segments/_full.segment.rsc +0 -25
  468. package/.next/server/app/index.segments/_head.segment.rsc +0 -6
  469. package/.next/server/app/index.segments/_index.segment.rsc +0 -12
  470. package/.next/server/app/index.segments/_tree.segment.rsc +0 -6
  471. package/.next/server/app/manifest.json/route/app-paths-manifest.json +0 -3
  472. package/.next/server/app/manifest.json/route/build-manifest.json +0 -9
  473. package/.next/server/app/manifest.json/route.js +0 -7
  474. package/.next/server/app/manifest.json/route.js.nft.json +0 -1
  475. package/.next/server/app/manifest.json.meta +0 -1
  476. package/.next/server/app/missions/page/app-paths-manifest.json +0 -3
  477. package/.next/server/app/missions/page/build-manifest.json +0 -18
  478. package/.next/server/app/missions/page/next-font-manifest.json +0 -11
  479. package/.next/server/app/missions/page/react-loadable-manifest.json +0 -16
  480. package/.next/server/app/missions/page/server-reference-manifest.json +0 -401
  481. package/.next/server/app/missions/page.js +0 -22
  482. package/.next/server/app/missions/page.js.nft.json +0 -1
  483. package/.next/server/app/missions/page_client-reference-manifest.js +0 -3
  484. package/.next/server/app/onboarding/page/app-paths-manifest.json +0 -3
  485. package/.next/server/app/onboarding/page/build-manifest.json +0 -18
  486. package/.next/server/app/onboarding/page/next-font-manifest.json +0 -11
  487. package/.next/server/app/onboarding/page/react-loadable-manifest.json +0 -16
  488. package/.next/server/app/onboarding/page/server-reference-manifest.json +0 -233
  489. package/.next/server/app/onboarding/page.js +0 -21
  490. package/.next/server/app/onboarding/page.js.nft.json +0 -1
  491. package/.next/server/app/onboarding/page_client-reference-manifest.js +0 -3
  492. package/.next/server/app/onboarding.html +0 -1
  493. package/.next/server/app/onboarding.meta +0 -15
  494. package/.next/server/app/onboarding.rsc +0 -30
  495. package/.next/server/app/onboarding.segments/_full.segment.rsc +0 -30
  496. package/.next/server/app/onboarding.segments/_head.segment.rsc +0 -6
  497. package/.next/server/app/onboarding.segments/_index.segment.rsc +0 -12
  498. package/.next/server/app/onboarding.segments/_tree.segment.rsc +0 -6
  499. package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +0 -9
  500. package/.next/server/app/onboarding.segments/onboarding.segment.rsc +0 -5
  501. package/.next/server/app/page/app-paths-manifest.json +0 -3
  502. package/.next/server/app/page/build-manifest.json +0 -18
  503. package/.next/server/app/page/next-font-manifest.json +0 -11
  504. package/.next/server/app/page/react-loadable-manifest.json +0 -16
  505. package/.next/server/app/page/server-reference-manifest.json +0 -233
  506. package/.next/server/app/page.js +0 -21
  507. package/.next/server/app/page.js.nft.json +0 -1
  508. package/.next/server/app/page_client-reference-manifest.js +0 -3
  509. package/.next/server/app/settings/page/app-paths-manifest.json +0 -3
  510. package/.next/server/app/settings/page/build-manifest.json +0 -18
  511. package/.next/server/app/settings/page/next-font-manifest.json +0 -11
  512. package/.next/server/app/settings/page/react-loadable-manifest.json +0 -16
  513. package/.next/server/app/settings/page/server-reference-manifest.json +0 -341
  514. package/.next/server/app/settings/page.js +0 -21
  515. package/.next/server/app/settings/page.js.nft.json +0 -1
  516. package/.next/server/app/settings/page_client-reference-manifest.js +0 -3
  517. package/.next/server/app/settings.html +0 -1
  518. package/.next/server/app/settings.meta +0 -15
  519. package/.next/server/app/settings.rsc +0 -30
  520. package/.next/server/app/settings.segments/_full.segment.rsc +0 -30
  521. package/.next/server/app/settings.segments/_head.segment.rsc +0 -6
  522. package/.next/server/app/settings.segments/_index.segment.rsc +0 -12
  523. package/.next/server/app/settings.segments/_tree.segment.rsc +0 -6
  524. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +0 -9
  525. package/.next/server/app/settings.segments/settings.segment.rsc +0 -5
  526. package/.next/server/app/workspaces/[workspaceId]/archive/page/app-paths-manifest.json +0 -3
  527. package/.next/server/app/workspaces/[workspaceId]/archive/page/build-manifest.json +0 -18
  528. package/.next/server/app/workspaces/[workspaceId]/archive/page/next-font-manifest.json +0 -11
  529. package/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +0 -16
  530. package/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +0 -497
  531. package/.next/server/app/workspaces/[workspaceId]/archive/page.js +0 -21
  532. package/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +0 -1
  533. package/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +0 -3
  534. package/.next/server/app/workspaces/[workspaceId]/assets/page/app-paths-manifest.json +0 -3
  535. package/.next/server/app/workspaces/[workspaceId]/assets/page/build-manifest.json +0 -18
  536. package/.next/server/app/workspaces/[workspaceId]/assets/page/next-font-manifest.json +0 -11
  537. package/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +0 -16
  538. package/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +0 -461
  539. package/.next/server/app/workspaces/[workspaceId]/assets/page.js +0 -21
  540. package/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +0 -1
  541. package/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +0 -3
  542. package/.next/server/app/workspaces/[workspaceId]/notes/page/app-paths-manifest.json +0 -3
  543. package/.next/server/app/workspaces/[workspaceId]/notes/page/build-manifest.json +0 -18
  544. package/.next/server/app/workspaces/[workspaceId]/notes/page/next-font-manifest.json +0 -11
  545. package/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +0 -16
  546. package/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +0 -401
  547. package/.next/server/app/workspaces/[workspaceId]/notes/page.js +0 -21
  548. package/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +0 -1
  549. package/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +0 -3
  550. package/.next/server/app/workspaces/[workspaceId]/page/app-paths-manifest.json +0 -3
  551. package/.next/server/app/workspaces/[workspaceId]/page/build-manifest.json +0 -18
  552. package/.next/server/app/workspaces/[workspaceId]/page/next-font-manifest.json +0 -11
  553. package/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +0 -16
  554. package/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +0 -569
  555. package/.next/server/app/workspaces/[workspaceId]/page.js +0 -22
  556. package/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +0 -1
  557. package/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +0 -3
  558. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/app-paths-manifest.json +0 -3
  559. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/build-manifest.json +0 -18
  560. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/next-font-manifest.json +0 -11
  561. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +0 -16
  562. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +0 -233
  563. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +0 -21
  564. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +0 -1
  565. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +0 -3
  566. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/app-paths-manifest.json +0 -3
  567. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/build-manifest.json +0 -18
  568. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/next-font-manifest.json +0 -11
  569. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +0 -22
  570. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +0 -581
  571. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +0 -23
  572. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +0 -1
  573. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +0 -3
  574. package/.next/server/app/workspaces/page/app-paths-manifest.json +0 -3
  575. package/.next/server/app/workspaces/page/build-manifest.json +0 -18
  576. package/.next/server/app/workspaces/page/next-font-manifest.json +0 -11
  577. package/.next/server/app/workspaces/page/react-loadable-manifest.json +0 -16
  578. package/.next/server/app/workspaces/page/server-reference-manifest.json +0 -329
  579. package/.next/server/app/workspaces/page.js +0 -21
  580. package/.next/server/app/workspaces/page.js.nft.json +0 -1
  581. package/.next/server/app/workspaces/page_client-reference-manifest.js +0 -3
  582. package/.next/server/app-paths-manifest.json +0 -41
  583. package/.next/server/chunks/03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_04597t~._.js +0 -85
  584. package/.next/server/chunks/0cve_next-internal_server_app_api_internal_cache_[___segments]_route_actions_09n1sa3.js +0 -3
  585. package/.next/server/chunks/0tp-_server_app_api_files_assets_[projectId]_[filename]_route_actions_02i2urs.js +0 -3
  586. package/.next/server/chunks/0tp-_server_app_api_internal_assets_[projectId]_[filename]_route_actions_0kjz576.js +0 -3
  587. package/.next/server/chunks/0tp-_server_app_api_internal_notifications_pending_route_actions_08bx38r.js +0 -3
  588. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_buffer_route_actions_0bpyf5x.js +0 -3
  589. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_input_route_actions_0alu32r.js +0 -3
  590. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_start_route_actions_0swqog2.js +0 -3
  591. package/.next/server/chunks/0w1v_zod_v4_classic_external_0m-7hz_.js +0 -39
  592. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_chat_route_actions_0x-qbrh.js +0 -3
  593. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_images_route_actions_0vws40t.js +0 -3
  594. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_sessions_route_actions_0p09rcp.js +0 -3
  595. package/.next/server/chunks/10ge_next_dist_08.3req._.js +0 -13
  596. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_00gmiw_.js +0 -3
  597. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_0jwpolf.js +0 -3
  598. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_0liabcf.js +0 -3
  599. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_0z9_0_i.js +0 -3
  600. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13w3ubu.js +0 -3
  601. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13~vb_i.js +0 -4
  602. package/.next/server/chunks/[externals]__02xkqim._.js +0 -3
  603. package/.next/server/chunks/[externals]__09oeovy._.js +0 -3
  604. package/.next/server/chunks/[externals]__0~rg.xo._.js +0 -3
  605. package/.next/server/chunks/[externals]__11rejr-._.js +0 -3
  606. package/.next/server/chunks/[externals]_child_process_0pwkpv9._.js +0 -3
  607. package/.next/server/chunks/[externals]_next_dist_0g2nsos._.js +0 -3
  608. package/.next/server/chunks/[externals]_util_0wtvqkc._.js +0 -3
  609. package/.next/server/chunks/[root-of-the-server]__02p-gd5._.js +0 -3
  610. package/.next/server/chunks/[root-of-the-server]__0319djr._.js +0 -3
  611. package/.next/server/chunks/[root-of-the-server]__043lk8~._.js +0 -4
  612. package/.next/server/chunks/[root-of-the-server]__053y9tf._.js +0 -3
  613. package/.next/server/chunks/[root-of-the-server]__05pxb~w._.js +0 -20
  614. package/.next/server/chunks/[root-of-the-server]__07-am_7._.js +0 -20
  615. package/.next/server/chunks/[root-of-the-server]__09gjz6h._.js +0 -3
  616. package/.next/server/chunks/[root-of-the-server]__0_irb2s._.js +0 -3
  617. package/.next/server/chunks/[root-of-the-server]__0c4edwt._.js +0 -3
  618. package/.next/server/chunks/[root-of-the-server]__0c7y1r0._.js +0 -3
  619. package/.next/server/chunks/[root-of-the-server]__0dj34zn._.js +0 -3
  620. package/.next/server/chunks/[root-of-the-server]__0dqta7g._.js +0 -3
  621. package/.next/server/chunks/[root-of-the-server]__0j3gbp7._.js +0 -3
  622. package/.next/server/chunks/[root-of-the-server]__0ko_rm_._.js +0 -3
  623. package/.next/server/chunks/[root-of-the-server]__0miy2g.._.js +0 -3
  624. package/.next/server/chunks/[root-of-the-server]__0mt-eeb._.js +0 -3
  625. package/.next/server/chunks/[root-of-the-server]__0n-6-hc._.js +0 -3
  626. package/.next/server/chunks/[root-of-the-server]__0nur_ir._.js +0 -3
  627. package/.next/server/chunks/[root-of-the-server]__0pz60q-._.js +0 -20
  628. package/.next/server/chunks/[root-of-the-server]__0q~5ya5._.js +0 -3
  629. package/.next/server/chunks/[root-of-the-server]__0rpqx55._.js +0 -3
  630. package/.next/server/chunks/[root-of-the-server]__0sjsc63._.js +0 -4
  631. package/.next/server/chunks/[root-of-the-server]__0th.w7w._.js +0 -3
  632. package/.next/server/chunks/[root-of-the-server]__0u..agy._.js +0 -11
  633. package/.next/server/chunks/[root-of-the-server]__0umzekq._.js +0 -3
  634. package/.next/server/chunks/[root-of-the-server]__0wu61w.._.js +0 -3
  635. package/.next/server/chunks/[root-of-the-server]__11v.yk_._.js +0 -4
  636. package/.next/server/chunks/[root-of-the-server]__12._zd-._.js +0 -3
  637. package/.next/server/chunks/[root-of-the-server]__130shf~._.js +0 -3
  638. package/.next/server/chunks/[turbopack]_runtime.js +0 -903
  639. package/.next/server/chunks/ssr/03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_0kr2_y.._.js +0 -84
  640. package/.next/server/chunks/ssr/040e_@monaco-editor_react_dist_index_mjs_0t4i-ho._.js +0 -3
  641. package/.next/server/chunks/ssr/040e_@monaco-editor_react_dist_index_mjs_0z6t1fr._.js +0 -3
  642. package/.next/server/chunks/ssr/0kjx__pnpm_0g9g8h6._.js +0 -3
  643. package/.next/server/chunks/ssr/0kjx__pnpm_0l.5ii.._.js +0 -3
  644. package/.next/server/chunks/ssr/0kjx__pnpm_0wrn.h9._.js +0 -14
  645. package/.next/server/chunks/ssr/0rik_@dnd-kit_core_dist_core_esm_11giptg.js +0 -3
  646. package/.next/server/chunks/ssr/0~.g_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_0bbseig._.js +0 -3
  647. package/.next/server/chunks/ssr/10ge_next_00.-vj.._.js +0 -18
  648. package/.next/server/chunks/ssr/10ge_next_dist_01n~t8z._.js +0 -6
  649. package/.next/server/chunks/ssr/10ge_next_dist_06_-w96._.js +0 -19
  650. package/.next/server/chunks/ssr/10ge_next_dist_0pw4my6._.js +0 -6
  651. package/.next/server/chunks/ssr/10ge_next_dist_0wjbiu9._.js +0 -3
  652. package/.next/server/chunks/ssr/10ge_next_dist_0~ti7jc._.js +0 -3
  653. package/.next/server/chunks/ssr/10ge_next_dist_10.ihny._.js +0 -3
  654. package/.next/server/chunks/ssr/10ge_next_dist_client_components_0--gzcy._.js +0 -3
  655. package/.next/server/chunks/ssr/10ge_next_dist_client_components_0eil7-a._.js +0 -33
  656. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_forbidden_0nzsnb2.js +0 -3
  657. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_global-error_125sopd.js +0 -3
  658. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_unauthorized_0z93cpe.js +0 -3
  659. package/.next/server/chunks/ssr/10ge_next_dist_compiled_0g45ze2._.js +0 -3
  660. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_080g02v.js +0 -4
  661. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_08khzah.js +0 -4
  662. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_09~o5q0.js +0 -4
  663. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0_rj_f4.js +0 -4
  664. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0c-wmj1.js +0 -4
  665. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0fjd2ua.js +0 -4
  666. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0hpuyf0.js +0 -4
  667. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0knnyic.js +0 -4
  668. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0oi86k6.js +0 -4
  669. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0rmwdra.js +0 -4
  670. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0zgisbd.js +0 -4
  671. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_11pz1fw.js +0 -4
  672. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_12reczc.js +0 -4
  673. package/.next/server/chunks/ssr/119e_lucide-react_dist_esm_icons_0636jyq._.js +0 -3
  674. package/.next/server/chunks/ssr/[externals]__0of4r_r._.js +0 -3
  675. package/.next/server/chunks/ssr/[externals]__0z1ffhu._.js +0 -3
  676. package/.next/server/chunks/ssr/[externals]_child_process_0pwkpv9._.js +0 -3
  677. package/.next/server/chunks/ssr/[root-of-the-server]__0-0j_z3._.js +0 -3
  678. package/.next/server/chunks/ssr/[root-of-the-server]__0.8y0n9._.js +0 -3
  679. package/.next/server/chunks/ssr/[root-of-the-server]__0.uoh7q._.js +0 -3
  680. package/.next/server/chunks/ssr/[root-of-the-server]__01ws4-7._.js +0 -3
  681. package/.next/server/chunks/ssr/[root-of-the-server]__024-5kd._.js +0 -3
  682. package/.next/server/chunks/ssr/[root-of-the-server]__02ipahf._.js +0 -3
  683. package/.next/server/chunks/ssr/[root-of-the-server]__03.14vw._.js +0 -3
  684. package/.next/server/chunks/ssr/[root-of-the-server]__03swpls._.js +0 -3
  685. package/.next/server/chunks/ssr/[root-of-the-server]__04xn50b._.js +0 -30
  686. package/.next/server/chunks/ssr/[root-of-the-server]__05452ke._.js +0 -30
  687. package/.next/server/chunks/ssr/[root-of-the-server]__06o5v8i._.js +0 -30
  688. package/.next/server/chunks/ssr/[root-of-the-server]__06sm5cw._.js +0 -3
  689. package/.next/server/chunks/ssr/[root-of-the-server]__09m32ch._.js +0 -3
  690. package/.next/server/chunks/ssr/[root-of-the-server]__0_0kxz4._.js +0 -3
  691. package/.next/server/chunks/ssr/[root-of-the-server]__0adx8p4._.js +0 -30
  692. package/.next/server/chunks/ssr/[root-of-the-server]__0bk3s4l._.js +0 -3
  693. package/.next/server/chunks/ssr/[root-of-the-server]__0d5p5d.._.js +0 -30
  694. package/.next/server/chunks/ssr/[root-of-the-server]__0d7u1lw._.js +0 -3
  695. package/.next/server/chunks/ssr/[root-of-the-server]__0fg8.hp._.js +0 -3
  696. package/.next/server/chunks/ssr/[root-of-the-server]__0gsj3~.._.js +0 -30
  697. package/.next/server/chunks/ssr/[root-of-the-server]__0i6glcp._.js +0 -30
  698. package/.next/server/chunks/ssr/[root-of-the-server]__0ibsor_._.js +0 -3
  699. package/.next/server/chunks/ssr/[root-of-the-server]__0j5~a_o._.js +0 -3
  700. package/.next/server/chunks/ssr/[root-of-the-server]__0jgbj6l._.js +0 -3
  701. package/.next/server/chunks/ssr/[root-of-the-server]__0jux8~h._.js +0 -33
  702. package/.next/server/chunks/ssr/[root-of-the-server]__0l~dc3x._.js +0 -3
  703. package/.next/server/chunks/ssr/[root-of-the-server]__0n32nv5._.js +0 -30
  704. package/.next/server/chunks/ssr/[root-of-the-server]__0n8qufu._.js +0 -3
  705. package/.next/server/chunks/ssr/[root-of-the-server]__0ndt9h3._.js +0 -3
  706. package/.next/server/chunks/ssr/[root-of-the-server]__0p~u4y6._.js +0 -3
  707. package/.next/server/chunks/ssr/[root-of-the-server]__0q.du4s._.js +0 -3
  708. package/.next/server/chunks/ssr/[root-of-the-server]__0rs7pkn._.js +0 -3
  709. package/.next/server/chunks/ssr/[root-of-the-server]__0sysz2q._.js +0 -47
  710. package/.next/server/chunks/ssr/[root-of-the-server]__0t25~v8._.js +0 -3
  711. package/.next/server/chunks/ssr/[root-of-the-server]__0ti70do._.js +0 -3
  712. package/.next/server/chunks/ssr/[root-of-the-server]__0uevudp._.js +0 -30
  713. package/.next/server/chunks/ssr/[root-of-the-server]__0v0dk_o._.js +0 -3
  714. package/.next/server/chunks/ssr/[root-of-the-server]__0vpgotk._.js +0 -3
  715. package/.next/server/chunks/ssr/[root-of-the-server]__0wwqzmm._.js +0 -3
  716. package/.next/server/chunks/ssr/[root-of-the-server]__0xt3-qb._.js +0 -3
  717. package/.next/server/chunks/ssr/[root-of-the-server]__0y-lkvf._.js +0 -3
  718. package/.next/server/chunks/ssr/[root-of-the-server]__0zvf.ro._.js +0 -3
  719. package/.next/server/chunks/ssr/[root-of-the-server]__11m7m-q._.js +0 -3
  720. package/.next/server/chunks/ssr/[root-of-the-server]__1223b0_._.js +0 -30
  721. package/.next/server/chunks/ssr/[root-of-the-server]__12f810l._.js +0 -3
  722. package/.next/server/chunks/ssr/[root-of-the-server]__13-by9r._.js +0 -33
  723. package/.next/server/chunks/ssr/[root-of-the-server]__13-egel._.js +0 -3
  724. package/.next/server/chunks/ssr/[turbopack]_runtime.js +0 -903
  725. package/.next/server/chunks/ssr/tower_0-nwtka._.js +0 -3
  726. package/.next/server/chunks/ssr/tower_0-omr_b._.js +0 -30
  727. package/.next/server/chunks/ssr/tower_01szasw._.js +0 -3
  728. package/.next/server/chunks/ssr/tower_035l~qv._.js +0 -3
  729. package/.next/server/chunks/ssr/tower_03jazku._.js +0 -3
  730. package/.next/server/chunks/ssr/tower_0_i~57x._.js +0 -3
  731. package/.next/server/chunks/ssr/tower_0agzi_m._.js +0 -3
  732. package/.next/server/chunks/ssr/tower_0d.car1._.js +0 -30
  733. package/.next/server/chunks/ssr/tower_0egtw-7._.js +0 -30
  734. package/.next/server/chunks/ssr/tower_0h3r32m._.js +0 -30
  735. package/.next/server/chunks/ssr/tower_0kl_bfy._.js +0 -7
  736. package/.next/server/chunks/ssr/tower_0le1h0h._.js +0 -3
  737. package/.next/server/chunks/ssr/tower_0mz4ut.._.js +0 -3
  738. package/.next/server/chunks/ssr/tower_0nuj.0p._.js +0 -39
  739. package/.next/server/chunks/ssr/tower_0pcqezm._.js +0 -3
  740. package/.next/server/chunks/ssr/tower_0r7uuim._.js +0 -30
  741. package/.next/server/chunks/ssr/tower_0rdk81e._.js +0 -3
  742. package/.next/server/chunks/ssr/tower_0sojjnu._.js +0 -3
  743. package/.next/server/chunks/ssr/tower_0tc~.xl._.js +0 -30
  744. package/.next/server/chunks/ssr/tower_0tuq2iz._.js +0 -30
  745. package/.next/server/chunks/ssr/tower_0wvk~r.._.js +0 -3
  746. package/.next/server/chunks/ssr/tower_0xg_zeq._.js +0 -3
  747. package/.next/server/chunks/ssr/tower_0~oir9k._.js +0 -3
  748. package/.next/server/chunks/ssr/tower_10p15te._.js +0 -3
  749. package/.next/server/chunks/ssr/tower_10t13p4._.js +0 -6
  750. package/.next/server/chunks/ssr/tower_117pzh8._.js +0 -3
  751. package/.next/server/chunks/ssr/tower_11q5_.m._.js +0 -3
  752. package/.next/server/chunks/ssr/tower_138qlx5._.js +0 -3
  753. package/.next/server/chunks/ssr/tower__next-internal_server_app__global-error_page_actions_13t5~qk.js +0 -3
  754. package/.next/server/chunks/ssr/tower_src_0puzd-6._.js +0 -3
  755. package/.next/server/chunks/ssr/tower_src_actions_agent-actions_ts_0j.e1tn._.js +0 -4
  756. package/.next/server/chunks/ssr/tower_src_actions_file-actions_ts_0424lna._.js +0 -3
  757. package/.next/server/chunks/ssr/tower_src_app_missions_missions-client_tsx_0a9vjyr._.js +0 -3
  758. package/.next/server/chunks/ssr/tower_src_app_onboarding_page_tsx_0_3krz1._.js +0 -3
  759. package/.next/server/chunks/ssr/tower_src_app_settings_page_tsx_0vo5e-o._.js +0 -3
  760. package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0zfgzhi._.js +0 -3
  761. package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0kjp1u0._.js +0 -7
  762. package/.next/server/chunks/ssr/tower_src_components_ui_select_tsx_10ajx~2._.js +0 -3
  763. package/.next/server/chunks/ssr/tower_src_lib_01420_4._.js +0 -3
  764. package/.next/server/chunks/ssr/tower_src_lib_0i-zjpa._.js +0 -3
  765. package/.next/server/chunks/ssr/tower_src_lib_0ja~kdb._.js +0 -3
  766. package/.next/server/chunks/ssr/tower_src_lib_0obw2r8._.js +0 -3
  767. package/.next/server/chunks/ssr/tower_src_lib_0rgfsuf._.js +0 -3
  768. package/.next/server/chunks/ssr/tower_src_lib_constants_ts_0o218_c._.js +0 -3
  769. package/.next/server/chunks/tower_03g~ktv._.js +0 -7
  770. package/.next/server/chunks/tower_05du07.._.js +0 -10
  771. package/.next/server/chunks/tower_0a-x6m.._.js +0 -3
  772. package/.next/server/chunks/tower__next-internal_server_app_api_adapters_test_route_actions_13jw~9b.js +0 -3
  773. package/.next/server/chunks/tower__next-internal_server_app_api_browse-fs_route_actions_0k5p2xy.js +0 -3
  774. package/.next/server/chunks/tower__next-internal_server_app_api_git_route_actions_0rvpodb.js +0 -3
  775. package/.next/server/chunks/tower__next-internal_server_app_api_internal_assets_reveal_route_actions_0idwm6j.js +0 -3
  776. package/.next/server/chunks/tower__next-internal_server_app_api_internal_assistant_route_actions_0rdz1d..js +0 -3
  777. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_install_route_actions_06dxleu.js +0 -3
  778. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_session_route_actions_0wlv4lf.js +0 -3
  779. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_stop_route_actions_101_oub.js +0 -3
  780. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_upload_route_actions_0439qz_.js +0 -3
  781. package/.next/server/chunks/tower__next-internal_server_app_api_tasks_[taskId]_diff_route_actions_0nthc84.js +0 -3
  782. package/.next/server/chunks/tower__next-internal_server_app_api_tasks_[taskId]_merge_route_actions_0g.x0nb.js +0 -3
  783. package/.next/server/chunks/tower__next-internal_server_app_apple-icon_png_route_actions_0bni-sb.js +0 -3
  784. package/.next/server/chunks/tower__next-internal_server_app_favicon_ico_route_actions_0kw~xj2.js +0 -3
  785. package/.next/server/chunks/tower__next-internal_server_app_icon0_svg_route_actions_0nww9-e.js +0 -3
  786. package/.next/server/chunks/tower__next-internal_server_app_icon1_png_route_actions_09h.ywu.js +0 -3
  787. package/.next/server/chunks/tower__next-internal_server_app_manifest_json_route_actions_080ob~r.js +0 -3
  788. package/.next/server/chunks/tower_src_0..vg-t._.js +0 -3
  789. package/.next/server/chunks/tower_src_05rqj.1._.js +0 -3
  790. package/.next/server/chunks/tower_src_lib_0uok6j3._.js +0 -3
  791. package/.next/server/chunks/tower_src_lib_0w8qt4s._.js +0 -3
  792. package/.next/server/chunks/tower_src_lib_constants_ts_0cxd4.p._.js +0 -3
  793. package/.next/server/edge/chunks/0y9m_next_dist_esm_build_templates_edge-wrapper_0cx_eo..js +0 -3
  794. package/.next/server/edge/chunks/tower_0wvfs38._.js +0 -3
  795. package/.next/server/functions-config-manifest.json +0 -22
  796. package/.next/server/instrumentation/middleware-manifest.json +0 -12
  797. package/.next/server/instrumentation.js +0 -4
  798. package/.next/server/instrumentation.js.nft.json +0 -1
  799. package/.next/server/interception-route-rewrite-manifest.js +0 -1
  800. package/.next/server/middleware-build-manifest.js +0 -22
  801. package/.next/server/middleware-manifest.json +0 -6
  802. package/.next/server/next-font-manifest.js +0 -1
  803. package/.next/server/next-font-manifest.json +0 -55
  804. package/.next/server/pages/404.html +0 -1
  805. package/.next/server/pages/500.html +0 -1
  806. package/.next/server/pages-manifest.json +0 -4
  807. package/.next/server/prefetch-hints.json +0 -1
  808. package/.next/server/server-reference-manifest.js +0 -1
  809. package/.next/server/server-reference-manifest.json +0 -2778
  810. package/.next/static/chunks/0.uav~g39w7rr.js +0 -1
  811. package/.next/static/chunks/00z-g3x93ngvn.js +0 -1
  812. package/.next/static/chunks/02f8le_y~6gnd.js +0 -1
  813. package/.next/static/chunks/03e.4ymu.j5wl.js +0 -1
  814. package/.next/static/chunks/03~yq9q893hmn.js +0 -1
  815. package/.next/static/chunks/05-b9qqm3av9~.js +0 -1
  816. package/.next/static/chunks/05~v02mkan5z..js +0 -1
  817. package/.next/static/chunks/06-mw~zl.diaf.js +0 -1
  818. package/.next/static/chunks/06fsp5nfga486.js +0 -1
  819. package/.next/static/chunks/07~c.vc82_c1-.js +0 -1
  820. package/.next/static/chunks/0abtpeymj-58i.js +0 -1
  821. package/.next/static/chunks/0amhu3hs4zxxw.js +0 -1
  822. package/.next/static/chunks/0drgc-oztq6o-.css +0 -1
  823. package/.next/static/chunks/0eaa2lmymh2fx.js +0 -1
  824. package/.next/static/chunks/0j9qriqni_r1..js +0 -2
  825. package/.next/static/chunks/0k.u8sxy~e469.js +0 -4
  826. package/.next/static/chunks/0k_9.73yz~q10.js +0 -1
  827. package/.next/static/chunks/0ltsz~s~e4wzu.js +0 -1
  828. package/.next/static/chunks/0lvd52mjiit6s.js +0 -1
  829. package/.next/static/chunks/0mf7~j7tvqr46.js +0 -1
  830. package/.next/static/chunks/0mq0uqbbbb1~2.js +0 -1
  831. package/.next/static/chunks/0neevhl_o1ozu.css +0 -2
  832. package/.next/static/chunks/0omj~p3uxkic-.js +0 -1
  833. package/.next/static/chunks/0qe.8bmmwuucu.js +0 -5
  834. package/.next/static/chunks/0qpq1~6v-eql7.js +0 -1
  835. package/.next/static/chunks/0t-gr6j-c65qb.js +0 -1
  836. package/.next/static/chunks/0tcl81ybuob5i.js +0 -1
  837. package/.next/static/chunks/0uqimvsni_op~.js +0 -1
  838. package/.next/static/chunks/0uxf0jd91e-0r.js +0 -1
  839. package/.next/static/chunks/0vn2y~4w7u3ui.js +0 -83
  840. package/.next/static/chunks/0wt3kws~_yr8z.js +0 -1
  841. package/.next/static/chunks/0z2bzovqhl2f5.js +0 -1
  842. package/.next/static/chunks/0z7bwntvfhxzi.js +0 -12
  843. package/.next/static/chunks/10n23t.1hpb-1.js +0 -1
  844. package/.next/static/chunks/14xzmrt5ly6gq.js +0 -31
  845. package/.next/static/chunks/151wr~6x8aclx.js +0 -1
  846. package/.next/static/chunks/15gjy.xhhriy8.js +0 -5
  847. package/.next/static/chunks/16ft9mdv3zwse.js +0 -1
  848. package/.next/static/chunks/16w-ap~msrwpj.js +0 -1
  849. package/.next/static/chunks/17oc2l.ekcs8b.css +0 -1
  850. package/.next/static/chunks/turbopack-0wjmrsi.z32s0.js +0 -1
  851. package/.next/static/dwsGxWRLV_FPRJyEkai5s/_buildManifest.js +0 -11
  852. package/.next/static/dwsGxWRLV_FPRJyEkai5s/_clientMiddlewareManifest.js +0 -1
  853. package/.next/static/dwsGxWRLV_FPRJyEkai5s/_ssgManifest.js +0 -1
  854. package/.next/static/media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2 +0 -0
  855. package/.next/static/media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2 +0 -0
  856. package/.next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2 +0 -0
  857. package/.next/static/media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2 +0 -0
  858. package/.next/static/media/apple-icon.16aocl-s-v2qz.png +0 -0
  859. package/.next/static/media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2 +0 -0
  860. package/.next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2 +0 -0
  861. package/.next/static/media/favicon.0y2d6j9cou~8p.ico +0 -0
  862. package/.next/static/media/icon0.0a6mkq6meyird.svg +0 -1
  863. package/.next/static/media/icon1.04ux133882seb.png +0 -0
  864. package/.next/trace +0 -2
  865. package/.next/trace-build +0 -1
  866. package/.next/turbopack +0 -0
  867. package/.next/types/routes.d.ts +0 -103
  868. package/.next/types/validator.ts +0 -349
  869. /package/{.next/server/app/apple-icon.png.body → src/app/apple-icon.png} +0 -0
  870. /package/{.next/server/app/favicon.ico.body → src/app/favicon.ico} +0 -0
  871. /package/{.next/server/app/icon0.svg.body → src/app/icon0.svg} +0 -0
  872. /package/{.next/server/app/icon1.png.body → src/app/icon1.png} +0 -0
  873. /package/{.next/server/app/manifest.json.body → src/app/manifest.json} +0 -0
@@ -1,5 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,82341,e=>{"use strict";let t,r,n;var a,s,o,i,l,c,d,u,m,p,f=e.i(430989),h=e.i(641338),x=e.i(347880),g=e.i(86630),v=e.i(258114);let b=(0,v.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);var y=e.i(586211),j=e.i(349369);function N({totalTasks:e,runningTasks:t}){let{t:r}=(0,j.useI18n)();return(0,f.jsxs)("div",{className:"grid grid-cols-3 gap-3 px-6 py-4",children:[(0,f.jsx)("div",{className:"rounded-xl border border-border bg-card p-4",children:(0,f.jsxs)("div",{className:"flex items-center gap-3",children:[(0,f.jsx)("div",{className:"rounded-lg bg-sky-500/10 p-2 ring-1 ring-sky-500/20",children:(0,f.jsx)(g.ClipboardList,{className:"h-4 w-4 text-sky-400"})}),(0,f.jsxs)("div",{children:[(0,f.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:r("board.overview")}),(0,f.jsx)("p",{className:"text-2xl font-bold font-mono tracking-tight text-foreground",children:e})]})]})}),(0,f.jsx)("div",{className:"rounded-xl border border-border bg-card p-4",children:(0,f.jsxs)("div",{className:"flex items-center gap-3",children:[(0,f.jsx)("div",{className:"rounded-lg bg-primary/10 p-2 ring-1 ring-primary/20",children:(0,f.jsx)(b,{className:"h-4 w-4 text-primary"})}),(0,f.jsxs)("div",{children:[(0,f.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:r("board.running")}),(0,f.jsx)("p",{className:"text-2xl font-bold font-mono tracking-tight text-foreground",children:t})]})]})}),(0,f.jsx)("div",{className:"rounded-xl border border-border bg-card p-4",children:(0,f.jsxs)("div",{className:"flex items-center gap-3",children:[(0,f.jsx)("div",{className:"rounded-lg bg-emerald-500/10 p-2 ring-1 ring-emerald-500/20",children:(0,f.jsx)(y.Lightbulb,{className:"h-4 w-4 text-emerald-400"})}),(0,f.jsxs)("div",{children:[(0,f.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:r("board.tip")}),(0,f.jsx)("p",{className:"text-xs font-medium text-foreground/80",children:r("board.tipText")})]})]})})]})}var w=e.i(304275),k=e.i(811163),C=e.i(744838);function S({searchQuery:e,onSearchChange:t,onCreateTask:r}){let{t:n}=(0,j.useI18n)();return(0,f.jsxs)("div",{className:"flex items-center gap-2 px-6 py-2",children:[(0,f.jsxs)("div",{className:"relative flex-1 max-w-xs",children:[(0,f.jsx)(k.Search,{className:"absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),(0,f.jsx)("input",{type:"text",value:e,onChange:e=>t(e.target.value),placeholder:n("board.searchPlaceholder"),className:"h-8 w-full rounded-lg border border-border bg-background pl-8 pr-3 text-xs text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary"})]}),(0,f.jsxs)(C.Button,{"data-tour":"create-task",variant:"outline",className:"ml-auto gap-1.5 border-border text-xs text-muted-foreground hover:border-primary/30 hover:text-primary",onClick:r,children:[(0,f.jsx)(w.Plus,{className:"h-3.5 w-3.5"}),n("board.newTask")]})]})}var E=e.i(905234),R=e.i(698300),I=e.i(107414);function P({x:e,y:t,taskId:r,currentStatus:n,hasExecutions:a,workspaceId:s,onClose:o,onStatusChange:i,onLaunch:l}){let{t:c}=(0,j.useI18n)(),d=(0,x.useRouter)(),u=(0,h.useRef)(null);(0,h.useEffect)(()=>{let e=e=>{u.current&&!u.current.contains(e.target)&&o()},t=e=>{"Escape"===e.key&&o()};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[o]);let m="flex items-center px-3 py-1.5 text-xs cursor-pointer hover:bg-accent rounded-sm w-full text-left",p=(0,f.jsxs)("div",{ref:u,style:{position:"fixed",top:t,left:e,zIndex:9999},className:"bg-popover border border-border rounded-md shadow-md py-1 min-w-[180px]",children:[(0,f.jsx)("div",{className:"px-3 py-1 text-[10px] text-muted-foreground uppercase tracking-wider",children:c("board.contextMenu.changeStatus")}),I.BOARD_COLUMNS.map(e=>(0,f.jsxs)("button",{type:"button",className:m,onClick:()=>{i(r,e.id),o()},children:[n===e.id?(0,f.jsx)(R.Check,{className:"h-3 w-3 mr-2 flex-shrink-0"}):(0,f.jsx)("span",{className:"w-5 flex-shrink-0"}),e.label]},e.id)),(0,f.jsx)("hr",{className:"my-1 border-border"}),(0,f.jsx)("button",{type:"button",className:`${m} ${a?"opacity-50 cursor-not-allowed":""}`,disabled:a,onClick:()=>{a||(l(r),o())},children:c("board.contextMenu.launch")}),"DONE"!==n&&"CANCELLED"!==n&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("hr",{className:"my-1 border-border"}),(0,f.jsx)("button",{type:"button",className:m,onClick:()=>{d.push(`/workspaces/${s}/tasks/${r}`),o()},children:c("board.contextMenu.goToDetail")})]})]});return"u"<typeof document?null:(0,E.createPortal)(p,document.body)}var T=e.i(852665),O=e.i(883759);let D=(0,v.default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);var M=e.i(565686),A=e.i(935792),L=e.i(894362),F=e.i(584451);let B=(0,v.default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);var $=e.i(174145),_=e.i(690287);function z({task:e,onClick:t,onEdit:r,onDelete:n,onTogglePin:a,onContextMenu:s}){let{t:o}=(0,j.useI18n)(),{attributes:i,listeners:l,setNodeRef:c,transform:d,transition:u,isDragging:m}=(0,O.useSortable)({id:e.id,data:{type:"task",task:e}}),p={transform:M.CSS.Transform.toString(d),transition:u,opacity:m?.4:1},h=I.PRIORITY_CONFIG[e.priority];return(0,f.jsxs)("div",{ref:c,style:p,...i,...l,className:"group cursor-grab rounded-lg border border-border bg-card p-3 transition-all hover:border-primary/20 hover:bg-accent/50 active:cursor-grabbing",onClick:t,onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),s?.(e,t.clientX,t.clientY)},"data-testid":"task-card",children:[(0,f.jsxs)("div",{className:"flex items-start justify-between",children:[(0,f.jsx)("h4",{className:"text-sm font-medium text-foreground",children:e.title}),(0,f.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[(0,f.jsx)(C.Button,{variant:"ghost",size:"icon-xs",className:`transition-all ${e.pinned?"text-primary opacity-100":"text-muted-foreground opacity-0 group-hover:opacity-100"}`,onClick:t=>{t.stopPropagation(),a?.(e.id)},"aria-label":o(e.pinned?"board.unpin":"board.pin"),children:(0,f.jsx)(B,{className:`h-3.5 w-3.5 ${e.pinned?"-rotate-45":""}`})}),(0,f.jsxs)(_.DropdownMenu,{children:[(0,f.jsx)(_.DropdownMenuTrigger,{render:(0,f.jsx)("button",{className:"rounded-md p-0.5 text-muted-foreground opacity-0 transition-all hover:bg-background hover:text-foreground group-hover:opacity-100",onClick:e=>e.stopPropagation()}),children:(0,f.jsx)(A.MoreHorizontal,{className:"h-4 w-4"})}),(0,f.jsxs)(_.DropdownMenuContent,{align:"end",children:[(0,f.jsxs)(_.DropdownMenuItem,{onClick:t=>{t.stopPropagation(),r?.(e)},children:[(0,f.jsx)(L.Pencil,{className:"mr-2 h-3.5 w-3.5"}),o("common.edit")]}),(0,f.jsxs)(_.DropdownMenuItem,{className:"text-rose-400",onClick:t=>{t.stopPropagation(),n?.(e.id)},children:[(0,f.jsx)(F.Trash2,{className:"mr-2 h-3.5 w-3.5"}),o("common.delete")]})]})]})]})]}),e.description&&(0,f.jsx)("p",{className:"mt-1.5 line-clamp-3 text-xs leading-relaxed text-muted-foreground",children:e.description}),(0,f.jsx)("div",{className:"mt-2.5",children:(0,f.jsx)($.Badge,{variant:"secondary",className:`text-[10px] font-semibold ${h.color}`,children:h.label})}),e.labels&&e.labels.length>0&&(0,f.jsx)("div",{className:"mt-1.5 flex flex-wrap gap-1",children:e.labels.map(e=>(0,f.jsx)("span",{className:"rounded-full px-1.5 py-0.5 text-[10px] font-medium",style:{backgroundColor:e.label.color+"20",color:e.label.color},children:e.label.name},e.label.id))})]})}var U=e.i(331548),W=e.i(24887);function H({open:e,onOpenChange:t,columnLabel:r,columnColor:n,tasks:a,onTaskClick:s}){let{t:o}=(0,j.useI18n)();return(0,f.jsx)(U.Dialog,{open:e,onOpenChange:t,children:(0,f.jsxs)(U.DialogContent,{className:"max-w-4xl max-h-[80vh]",children:[(0,f.jsx)(U.DialogHeader,{children:(0,f.jsxs)(U.DialogTitle,{className:"flex items-center gap-2",children:[(0,f.jsx)("div",{className:`h-2.5 w-2.5 rounded-full ${n}`}),(0,f.jsx)("span",{children:r}),(0,f.jsx)("span",{className:"rounded-md bg-muted px-1.5 py-0.5 text-xs font-mono font-medium text-muted-foreground",children:a.length})]})}),(0,f.jsx)(W.ScrollArea,{className:"max-h-[calc(80vh-80px)]",children:(0,f.jsxs)("div",{className:"grid grid-cols-3 gap-3 pr-3",children:[a.map(e=>{let r=I.PRIORITY_CONFIG[e.priority];return(0,f.jsxs)("div",{className:"cursor-pointer rounded-lg border border-border bg-card p-3 transition-all hover:border-primary/20 hover:bg-accent/50",onClick:()=>{s?.(e),t(!1)},children:[(0,f.jsx)("h4",{className:"text-sm font-medium text-foreground line-clamp-2",children:e.title}),e.description&&(0,f.jsx)("p",{className:"mt-1.5 line-clamp-2 text-xs leading-relaxed text-muted-foreground",children:e.description}),(0,f.jsxs)("div",{className:"mt-2 flex items-center gap-1.5 flex-wrap",children:[(0,f.jsx)($.Badge,{variant:"secondary",className:`text-[10px] font-semibold ${r.color}`,children:r.label}),e.labels?.map(e=>(0,f.jsx)("span",{className:"rounded-full px-1.5 py-0.5 text-[10px] font-medium",style:{backgroundColor:e.label.color+"20",color:e.label.color},children:e.label.name},e.label.id))]})]},e.id)}),0===a.length&&(0,f.jsx)("div",{className:"col-span-3 py-8 text-center text-sm text-muted-foreground",children:o("board.noTasks")})]})})]})})}function G({id:e,label:t,color:r,tasks:n,onTaskClick:a,onEditTask:s,onAddTask:o,onDeleteTask:i,onTogglePin:l,onContextMenu:c}){let{setNodeRef:d,isOver:u}=(0,T.useDroppable)({id:e}),[m,p]=(0,h.useState)(!1),{t:x}=(0,j.useI18n)();return(0,f.jsxs)("div",{className:`flex w-0 min-w-[220px] flex-1 flex-col min-h-0 border-r border-border/50 last:border-r-0 transition-colors ${u?"bg-primary/[0.06]":""}`,children:[(0,f.jsxs)("div",{className:"flex items-center justify-between px-3 py-2.5 border-b border-border/30",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)("div",{className:`h-2 w-2 rounded-full ${r}`}),(0,f.jsx)("span",{className:"text-xs font-semibold tracking-wide text-secondary-foreground",children:t}),(0,f.jsx)("span",{className:"rounded-md bg-muted px-1.5 py-0.5 text-[10px] font-mono font-medium text-muted-foreground",children:n.length})]}),(0,f.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,f.jsx)(C.Button,{variant:"ghost",size:"icon-xs",onClick:()=>p(!0),className:"text-muted-foreground","aria-label":x("board.viewAll"),children:(0,f.jsx)(D,{className:"h-3.5 w-3.5"})}),(0,f.jsx)(C.Button,{variant:"ghost",size:"icon-xs",onClick:o,className:"text-muted-foreground","aria-label":"add",children:(0,f.jsx)(w.Plus,{className:"h-3.5 w-3.5"})})]})]}),(0,f.jsx)(H,{open:m,onOpenChange:p,columnLabel:t,columnColor:r,tasks:n,onTaskClick:a}),(0,f.jsx)(W.ScrollArea,{className:"flex-1 min-h-0",children:(0,f.jsx)("div",{ref:d,className:"flex flex-col gap-2 p-2",children:(0,f.jsx)(O.SortableContext,{items:n.map(e=>e.id),strategy:O.verticalListSortingStrategy,children:n.map(e=>(0,f.jsx)(z,{task:e,onClick:()=>a?.(e),onEdit:s,onDelete:i,onTogglePin:l,onContextMenu:c},e.id))})})})]})}function V({initialTasks:e,onTaskMove:t,onTaskClick:r,onEditTask:n,onAddTask:a,onDeleteTask:s,onTogglePin:o,onContextMenuStatusChange:i,onContextMenuLaunch:l,workspaceId:c}){let[d,u]=(0,h.useState)(e),[m,p]=(0,h.useState)(null),[x,g]=(0,h.useState)(null);(0,h.useEffect)(()=>{u(e)},[e]);let v=(0,T.useSensors)((0,T.useSensor)(T.PointerSensor,{activationConstraint:{distance:8}})),b=(0,h.useCallback)((e,t,r)=>{g({task:e,x:t,y:r})},[]),y=(0,h.useCallback)(e=>{let t=d.find(t=>t.id===e.active.id);t&&p(t)},[d]),j=(0,h.useCallback)(e=>{let r,{active:n,over:a}=e;if(p(null),!a)return;let s=n.id,o=a.id;if(I.BOARD_COLUMNS.some(e=>e.id===o))r=o;else{let e=d.find(e=>e.id===o);r=e?.status}r&&(u(e=>e.map(e=>e.id===s?{...e,status:r}:e)),t?.(s,r))},[d,t]);return(0,f.jsxs)(T.DndContext,{id:"kanban-board",sensors:v,collisionDetection:T.closestCorners,onDragStart:y,onDragEnd:j,children:[(0,f.jsx)("div",{className:"mx-2 flex h-full overflow-x-auto rounded-xl border border-border bg-card/50",children:I.BOARD_COLUMNS.map(e=>(0,f.jsx)(G,{id:e.id,label:e.label,color:e.color,tasks:d.filter(t=>t.status===e.id),onTaskClick:r,onEditTask:n,onAddTask:()=>a?.(e.id),onDeleteTask:s,onTogglePin:o,onContextMenu:b},e.id))}),(0,f.jsx)(T.DragOverlay,{children:m?(0,f.jsx)("div",{className:"rotate-3 scale-105",children:(0,f.jsx)(z,{task:m})}):null}),x&&(0,f.jsx)(P,{x:x.x,y:x.y,taskId:x.task.id,currentStatus:x.task.status,hasExecutions:(x.task._count?.executions??0)>0,workspaceId:c??"",onClose:()=>g(null),onStatusChange:(e,t)=>{i?.(e,t),g(null)},onLaunch:e=>{l?.(e),g(null)}})]})}var K=e.i(745943),q=e.i(779574),Y=e.i(993623),X=e.i(259104);let Z=(0,v.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);e.s([],48749),e.i(48749);var J=e.i(458028),Q=e.i(920380),ee=e.i(964559),et=e.i(680),er=e.i(865960),en=e.i(258144),ea=e.i(893799);e.i(905022);var es=e.i(855604);let eo=h.createContext(void 0);function ei(e){let t=h.useContext(eo);if(void 0===t&&!e)throw Error((0,es.default)(47));return t}var el=e.i(985477),ec=e.i(339576),ed=e.i(109792),eu=e.i(266586),em=e.i(484397),ep=e.i(842923),ef=e.i(970463),eh=e.i(806875),ex=e.i(620085);let eg={...ef.popupStoreSelectors,disabled:(0,ec.createSelector)(e=>e.disabled),instantType:(0,ec.createSelector)(e=>e.instantType),openMethod:(0,ec.createSelector)(e=>e.openMethod),openChangeReason:(0,ec.createSelector)(e=>e.openChangeReason),modal:(0,ec.createSelector)(e=>e.modal),stickIfOpen:(0,ec.createSelector)(e=>e.stickIfOpen),titleElementId:(0,ec.createSelector)(e=>e.titleElementId),descriptionElementId:(0,ec.createSelector)(e=>e.descriptionElementId),openOnHover:(0,ec.createSelector)(e=>e.openOnHover),closeDelay:(0,ec.createSelector)(e=>e.closeDelay),hasViewport:(0,ec.createSelector)(e=>e.hasViewport)};class ev extends el.ReactStore{constructor(e){const t={...(0,ef.createInitialPopupStoreState)(),disabled:!1,modal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,nested:!1,openOnHover:!1,closeDelay:0,hasViewport:!1,...e};t.open&&e?.mounted===void 0&&(t.mounted=!0),super(t,{popupRef:h.createRef(),backdropRef:h.createRef(),internalBackdropRef:h.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:h.createRef(),beforeContentFocusGuardRef:h.createRef(),stickIfOpenTimeout:new ed.Timeout,triggerElements:new eh.PopupTriggerMap},eg)}setOpen=(e,t)=>{let r=t.reason===ep.REASONS.triggerHover,n=t.reason===ep.REASONS.triggerPress&&0===t.event.detail,a=!e&&(t.reason===ep.REASONS.escapeKey||null==t.reason);if(t.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},this.context.onOpenChange?.(e,t),t.isCanceled)return;let s={open:e,nativeEvent:t.event,reason:t.reason,nested:this.state.nested,triggerElement:t.trigger},o=this.state.floatingRootContext.context.events;o?.emit("openchange",s);let i=()=>{let r={open:e,openChangeReason:t.reason},n=t.trigger?.id??null;(n||e)&&(r.activeTriggerId=n,r.activeTriggerElement=t.trigger??null),this.update(r)};r?(this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(ex.PATIENT_CLICK_THRESHOLD,()=>{this.set("stickIfOpen",!1)}),E.flushSync(i)):i(),n||a?this.set("instantType",n?"click":"dismiss"):t.reason===ep.REASONS.focusOut?this.set("instantType","focus"):this.set("instantType",void 0)};static useStore(e,t){let r=(0,eu.useRefWithInit)(()=>new ev(t)).current,n=e??r;return(0,em.useOnMount)(r.disposeEffect),n}disposeEffect=()=>this.context.stickIfOpenTimeout.disposeEffect()}var eb=e.i(229305),ey=e.i(82652),ej=e.i(492062);function eN({props:e}){let{children:t,open:r,defaultOpen:n=!1,onOpenChange:a,onOpenChangeComplete:s,modal:o=!1,handle:i,triggerId:l,defaultTriggerId:c=null}=e,d=ev.useStore(i?.store,{modal:o,open:n,openProp:r,activeTriggerId:c,triggerIdProp:l});(0,Q.useOnFirstRender)(()=>{void 0===r&&!1===d.state.open&&!0===n&&d.update({open:!0,activeTriggerId:c})}),d.useControlledProp("openProp",r),d.useControlledProp("triggerIdProp",l);let u=d.useState("open"),m=d.useState("positionerElement"),p=d.useState("payload"),x=d.useState("openChangeReason");d.useContextCallback("onOpenChange",a),d.useContextCallback("onOpenChangeComplete",s);let{openMethod:g,triggerProps:v}=(0,ej.useOpenInteractionType)(u);(0,ey.useImplicitActiveTrigger)(d);let{forceUnmount:b}=(0,ey.useOpenStateTransitions)(u,d,()=>{d.update({stickIfOpen:!0,openChangeReason:null})});(0,J.useScrollLock)(u&&!0===o&&x!==ep.REASONS.triggerHover&&"touch"!==g,m),h.useEffect(()=>{u||d.context.stickIfOpenTimeout.clear()},[d,u]);let y=h.useCallback(e=>{let t=(0,eb.createChangeEventDetails)(e);return t.preventUnmountOnClose=()=>{d.set("preventUnmountingOnClose",!0)},t},[d]),j=h.useCallback(()=>{d.setOpen(!1,y(ep.REASONS.imperativeAction))},[d,y]);h.useImperativeHandle(e.actionsRef,()=>({unmount:b,close:j}),[b,j]);let N=(0,ea.useSyncedFloatingRootContext)({popupStore:d,onOpenChange:d.setOpen}),w=(0,ee.useDismiss)(N,{outsidePressEvent:{mouse:"trap-focus"===o?"sloppy":"intentional",touch:"sloppy"}}),k=(0,er.useRole)(N),{getReferenceProps:C,getFloatingProps:S,getTriggerProps:E}=(0,et.useInteractions)([w,k]),R=h.useMemo(()=>C(v),[C,v]),I=h.useMemo(()=>E(v),[E,v]),P=h.useMemo(()=>S(),[S]);d.useSyncedValues({modal:o,openMethod:g,activeTriggerProps:R,inactiveTriggerProps:I,popupProps:P,floatingRootContext:N,nested:null!=(0,en.useFloatingParentNodeId)()});let T=h.useMemo(()=>({store:d}),[d]);return(0,f.jsx)(eo.Provider,{value:T,children:"function"==typeof t?t({payload:p}):t})}var ew=e.i(288782),ek=e.i(419851),eC=e.i(139797),eS=e.i(703995),eE=e.i(721222),eR=e.i(601623),eI=e.i(224858),eP=e.i(718226),eT=e.i(13653),eO=e.i(24620),eD=e.i(331763);let eM=h.forwardRef(function(e,t){let{render:r,className:n,disabled:a=!1,nativeButton:s=!0,handle:o,payload:i,openOnHover:l=!1,delay:c=300,closeDelay:d=0,id:u,...m}=e,p=ei(!0),x=o?.store??p?.store;if(!x)throw Error((0,es.default)(74));let g=(0,eP.useBaseUiId)(u),v=x.useState("isTriggerActive",g),b=x.useState("floatingRootContext"),y=x.useState("isOpenedByTrigger",g),j=h.useRef(null),{registerTrigger:N,isMountedByThisTrigger:w}=(0,ey.useTriggerDataForwarding)(g,j,x,{payload:i,disabled:a,openOnHover:l,closeDelay:d}),k=x.useState("openChangeReason"),C=x.useState("stickIfOpen"),S=x.useState("openMethod"),R=(0,eI.useHoverReferenceInteraction)(b,{enabled:null!=b&&l&&("touch"!==S||k!==ep.REASONS.triggerPress),mouseOnly:!0,move:!1,handleClose:(0,eE.safePolygon)(),restMs:c,delay:{close:d},triggerElementRef:j,isActiveTrigger:v}),I=(0,eR.useClick)(b,{enabled:null!=b,stickIfOpen:C}),P=(0,et.useInteractions)([I]),T=x.useState("triggerProps",w),{getButtonProps:O,buttonRef:D}=(0,ek.useButton)({disabled:a,native:s}),M=h.useMemo(()=>({open:e=>e&&k===ep.REASONS.triggerPress?eC.pressableTriggerOpenStateMapping.open(e):eC.triggerOpenStateMapping.open(e)}),[k]),A=(0,eS.useRenderElement)("button",e,{state:{disabled:a,open:y},ref:[D,t,N,j],props:[P.getReferenceProps(),R,T,{[ex.CLICK_TRIGGER_IDENTIFIER]:"",id:g},m,O],stateAttributesMapping:M}),L=h.useRef(null),F=(0,ew.useStableCallback)(e=>{E.flushSync(()=>{x.setOpen(!1,(0,eb.createChangeEventDetails)(ep.REASONS.focusOut,e.nativeEvent,e.currentTarget))});let t=(0,eD.getTabbableBeforeElement)(L.current);t?.focus()}),B=(0,ew.useStableCallback)(e=>{let t=x.select("positionerElement");if(t&&(0,eD.isOutsideEvent)(e,t))x.context.beforeContentFocusGuardRef.current?.focus();else{E.flushSync(()=>{x.setOpen(!1,(0,eb.createChangeEventDetails)(ep.REASONS.focusOut,e.nativeEvent,e.currentTarget))});let r=(0,eD.getTabbableAfterElement)(x.context.triggerFocusTargetRef.current||j.current);for(;null!==r&&(0,eO.contains)(t,r);){let e=r;if((r=(0,eD.getNextTabbable)(r))===e)break}r?.focus()}});return v?(0,f.jsxs)(h.Fragment,{children:[(0,f.jsx)(eT.FocusGuard,{ref:L,onFocus:F}),(0,f.jsx)(h.Fragment,{children:A},g),(0,f.jsx)(eT.FocusGuard,{ref:x.context.triggerFocusTargetRef,onFocus:B})]}):(0,f.jsx)(h.Fragment,{children:A},g)});var eA=e.i(944910);let eL=h.createContext(void 0),eF=h.forwardRef(function(e,t){let{keepMounted:r=!1,...n}=e,{store:a}=ei();return a.useState("mounted")||r?(0,f.jsx)(eL.Provider,{value:r,children:(0,f.jsx)(eA.FloatingPortal,{ref:t,...n})}):null});var eB=e.i(593328),e$=e.i(239917);let e_=h.createContext(void 0);function ez(){let e=h.useContext(e_);if(!e)throw Error((0,es.default)(46));return e}var eU=e.i(973255),eW=e.i(821367),eH=e.i(56279),eG=e.i(487634),eV=e.i(908577);let eK=h.forwardRef(function(e,t){let{render:r,className:n,anchor:a,positionMethod:s="absolute",side:o="bottom",align:i="center",sideOffset:l=0,alignOffset:c=0,collisionBoundary:d="clipping-ancestors",collisionPadding:u=5,arrowPadding:m=5,sticky:p=!1,disableAnchorTracking:x=!1,collisionAvoidance:g=ex.POPUP_COLLISION_AVOIDANCE,...v}=e,{store:b}=ei(),y=function(){let e=h.useContext(eL);if(void 0===e)throw Error((0,es.default)(45));return e}(),j=(0,en.useFloatingNodeId)(),N=b.useState("floatingRootContext"),w=b.useState("mounted"),k=b.useState("open"),C=b.useState("openChangeReason"),S=b.useState("activeTriggerElement"),E=b.useState("modal"),R=b.useState("positionerElement"),I=b.useState("instantType"),P=b.useState("transitionStatus"),T=b.useState("hasViewport"),O=h.useRef(null),D=(0,eH.useAnimationsFinished)(R,!1,!1),M=(0,eU.useAnchorPositioning)({anchor:a,floatingRootContext:N,positionMethod:s,mounted:w,side:o,sideOffset:l,align:i,alignOffset:c,arrowPadding:m,collisionBoundary:d,collisionPadding:u,sticky:p,disableAnchorTracking:x,keepMounted:y,nodeId:j,collisionAvoidance:g,adaptiveOrigin:T?eG.adaptiveOrigin:void 0}),A=h.useMemo(()=>{let e={};return k||(e.pointerEvents="none"),{role:"presentation",hidden:!w,style:{...M.positionerStyles,...e}}},[k,w,M.positionerStyles]),L=h.useMemo(()=>({props:A,...M}),[A,M]),F=N.useState("domReferenceElement");(0,e$.useIsoLayoutEffect)(()=>{let e=O.current;if(F&&(O.current=F),e&&F&&F!==e){b.set("instantType",void 0);let e=new AbortController;return D(()=>{b.set("instantType","trigger-change")},e.signal),()=>{e.abort()}}},[F,D,b]);let B={open:k,side:L.side,align:L.align,anchorHidden:L.anchorHidden,instant:I},$=h.useCallback(e=>{b.set("positionerElement",e)},[b]),_=(0,eS.useRenderElement)("div",e,{state:B,props:[L.props,(0,eV.getDisabledMountTransitionStyles)(P),v],ref:[t,$],stateAttributesMapping:eC.popupStateMapping});return(0,f.jsxs)(e_.Provider,{value:L,children:[w&&!0===E&&C!==ep.REASONS.triggerHover&&(0,f.jsx)(eW.InternalBackdrop,{ref:b.context.internalBackdropRef,inert:(0,eB.inertValue)(!k),cutout:S}),(0,f.jsx)(en.FloatingNode,{id:j,children:_})]})});var eq=e.i(307030),eY=e.i(431783),eX=e.i(158691),eZ=e.i(963195),eJ=e.i(762879),eQ=e.i(773753),e0=e.i(413276);let e1=h.createContext(void 0);function e2(e){let{value:t,children:r}=e;return(0,f.jsx)(e1.Provider,{value:t,children:r})}let e3={...eC.popupStateMapping,...eZ.transitionStatusMapping},e5=h.forwardRef(function(e,t){let{className:r,render:n,initialFocus:a,finalFocus:s,...o}=e,{store:i}=ei(),l=ez(),c=null!=(0,e0.useToolbarRootContext)(!0),{context:d,hasClosePart:u}=function(){let[e,t]=h.useState(0),r=(0,ew.useStableCallback)(()=>(t(e=>e+1),()=>{t(e=>Math.max(0,e-1))}));return{context:h.useMemo(()=>({register:r}),[r]),hasClosePart:e>0}}(),m=i.useState("open"),p=i.useState("openMethod"),x=i.useState("instantType"),g=i.useState("transitionStatus"),v=i.useState("popupProps"),b=i.useState("titleElementId"),y=i.useState("descriptionElementId"),j=i.useState("modal"),N=i.useState("mounted"),w=i.useState("openChangeReason"),k=i.useState("activeTriggerElement"),C=i.useState("floatingRootContext");(0,eJ.useOpenChangeComplete)({open:m,ref:i.context.popupRef,onComplete(){m&&i.context.onOpenChangeComplete?.(!0)}});let S=i.useState("disabled"),E=i.useState("openOnHover"),R=i.useState("closeDelay");(0,eX.useHoverFloatingInteraction)(C,{enabled:E&&!S,closeDelay:R});let I=void 0===a?function(e){return"touch"!==e||i.context.popupRef.current}:a,P={open:m,side:l.side,align:l.align,instant:x,transitionStatus:g},T=h.useCallback(e=>{i.set("popupElement",e)},[i]),O=(0,eS.useRenderElement)("div",e,{state:P,ref:[t,i.context.popupRef,T],props:[v,{"aria-labelledby":b,"aria-describedby":y,onKeyDown(e){c&&eQ.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()}},(0,eV.getDisabledMountTransitionStyles)(g),o],stateAttributesMapping:e3});return(0,f.jsx)(eY.FloatingFocusManager,{context:C,openInteractionType:p,modal:!1!==j&&u,disabled:!N||w===ep.REASONS.triggerHover,initialFocus:I,returnFocus:s,restoreFocus:"popup",previousFocusableElement:(0,eq.isHTMLElement)(k)?k:void 0,nextFocusableElement:i.context.triggerFocusTargetRef,beforeContentFocusGuardRef:i.context.beforeContentFocusGuardRef,children:(0,f.jsx)(e2,{value:d,children:O})})}),e4=h.forwardRef(function(e,t){let{className:r,render:n,...a}=e,{store:s}=ei(),o=s.useState("open"),{arrowRef:i,side:l,align:c,arrowUncentered:d,arrowStyles:u}=ez();return(0,eS.useRenderElement)("div",e,{state:{open:o,side:l,align:c,uncentered:d},ref:[t,i],props:[{style:u,"aria-hidden":!0},a],stateAttributesMapping:eC.popupStateMapping})}),e9={...eC.popupStateMapping,...eZ.transitionStatusMapping},e8=h.forwardRef(function(e,t){let{className:r,render:n,...a}=e,{store:s}=ei(),o=s.useState("open"),i=s.useState("mounted"),l=s.useState("transitionStatus"),c=s.useState("openChangeReason");return(0,eS.useRenderElement)("div",e,{state:{open:o,transitionStatus:l},ref:[s.context.backdropRef,t],props:[{role:"presentation",hidden:!i,style:{pointerEvents:c===ep.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},a],stateAttributesMapping:e9})}),e6=h.forwardRef(function(e,t){let{render:r,className:n,...a}=e,{store:s}=ei(),o=(0,eP.useBaseUiId)(a.id);return(0,e$.useIsoLayoutEffect)(()=>(s.set("titleElementId",o),()=>{s.set("titleElementId",void 0)}),[s,o]),(0,eS.useRenderElement)("h2",e,{ref:t,props:[{id:o},a]})}),e7=h.forwardRef(function(e,t){let{render:r,className:n,...a}=e,{store:s}=ei(),o=(0,eP.useBaseUiId)(a.id);return(0,e$.useIsoLayoutEffect)(()=>(s.set("descriptionElementId",o),()=>{s.set("descriptionElementId",void 0)}),[s,o]),(0,eS.useRenderElement)("p",e,{ref:t,props:[{id:o},a]})}),te=h.forwardRef(function(e,t){let r,{render:n,className:a,disabled:s=!1,nativeButton:o=!0,...i}=e,{buttonRef:l,getButtonProps:c}=(0,ek.useButton)({disabled:s,focusableWhenDisabled:!1,native:o}),{store:d}=ei();return r=h.useContext(e1),(0,e$.useIsoLayoutEffect)(()=>r?.register(),[r]),(0,eS.useRenderElement)("button",e,{ref:[t,l],props:[{onClick(e){d.setOpen(!1,(0,eb.createChangeEventDetails)(ep.REASONS.closePress,e.nativeEvent,e.currentTarget))}},i,c]})}),tt=((a={}).popupWidth="--popup-width",a.popupHeight="--popup-height",a);var tr=e.i(606987);let tn={activationDirection:e=>e?{"data-activation-direction":e}:null},ta=h.forwardRef(function(e,t){let{render:r,className:n,children:a,...s}=e,{store:o}=ei(),{side:i}=ez(),l=o.useState("instantType"),{children:c,state:d}=(0,tr.usePopupViewport)({store:o,side:i,cssVars:tt,children:a}),u={activationDirection:d.activationDirection,transitioning:d.transitioning,instant:l};return(0,eS.useRenderElement)("div",e,{state:u,ref:t,props:[s,{children:c}],stateAttributesMapping:tn})});class ts{constructor(){this.store=new ev}open(e){let t=e?this.store.context.triggerElements.getById(e)??void 0:void 0;if(e&&!t)throw Error((0,es.default)(80,e));this.store.setOpen(!0,(0,eb.createChangeEventDetails)(ep.REASONS.imperativeAction,void 0,t))}close(){this.store.setOpen(!1,(0,eb.createChangeEventDetails)(ep.REASONS.imperativeAction,void 0,void 0))}get isOpen(){return this.store.state.open}}e.s(["Arrow",0,e4,"Backdrop",0,e8,"Close",0,te,"Description",0,e7,"Handle",0,ts,"Popup",0,e5,"Portal",0,eF,"Positioner",0,eK,"Root",0,function(e){return ei(!0)?(0,f.jsx)(eN,{props:e}):(0,f.jsx)(en.FloatingTree,{children:(0,f.jsx)(eN,{props:e})})},"Title",0,e6,"Trigger",0,eM,"Viewport",0,ta,"createHandle",0,function(){return new ts}],201794);var to=e.i(201794),to=to,ti=e.i(47816);function tl({...e}){return(0,f.jsx)(to.Root,{"data-slot":"popover",...e})}function tc({...e}){return(0,f.jsx)(to.Trigger,{"data-slot":"popover-trigger",...e})}function td({className:e,align:t="center",alignOffset:r=0,side:n="bottom",sideOffset:a=4,...s}){return(0,f.jsx)(to.Portal,{children:(0,f.jsx)(to.Positioner,{align:t,alignOffset:r,side:n,sideOffset:a,className:"isolate z-50",children:(0,f.jsx)(to.Popup,{"data-slot":"popover-content",className:(0,ti.cn)("z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...s})})})}var tu=/[\\\/_+.#"@\[\(\{&]/,tm=/[\\\/_+.#"@\[\(\{&]/g,tp=/[\s-]/,tf=/[\s-]/g;function th(e){return e.toLowerCase().replace(tf," ")}function tx(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}function tg(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function tv(...e){return t=>{let r=!1,n=e.map(e=>{let n=tg(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():tg(e[t],null)}}}}function tb(...e){return h.useCallback(tv(...e),e)}"u">typeof window&&window.document&&window.document.createElement;var ty=globalThis?.document?h.useLayoutEffect:()=>{},tj=h[" useId ".trim().toString()]||(()=>void 0),tN=0;function tw(e){let[t,r]=h.useState(tj());return ty(()=>{e||r(e=>e??String(tN++))},[e]),e||(t?`radix-${t}`:"")}h[" useEffectEvent ".trim().toString()],h[" useInsertionEffect ".trim().toString()];var tk=h[" useInsertionEffect ".trim().toString()]||ty;function tC(e){var t;let r,n=(t=e,(r=h.forwardRef((e,t)=>{let{children:r,...n}=e;if(h.isValidElement(r)){var a;let e,s,o=(a=r,(s=(e=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.ref:(s=(e=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.props.ref:a.props.ref||a.ref),i=function(e,t){let r={...t};for(let n in t){let a=e[n],s=t[n];/^on[A-Z]/.test(n)?a&&s?r[n]=(...e)=>{let t=s(...e);return a(...e),t}:a&&(r[n]=a):"style"===n?r[n]={...a,...s}:"className"===n&&(r[n]=[a,s].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==h.Fragment&&(i.ref=t?tv(t,o):o),h.cloneElement(r,i)}return h.Children.count(r)>1?h.Children.only(null):null})).displayName=`${t}.SlotClone`,r),a=h.forwardRef((e,t)=>{let{children:r,...a}=e,s=h.Children.toArray(r),o=s.find(tE);if(o){let e=o.props.children,r=s.map(t=>t!==o?t:h.Children.count(e)>1?h.Children.only(null):h.isValidElement(e)?e.props.children:null);return(0,f.jsx)(n,{...a,ref:t,children:h.isValidElement(e)?h.cloneElement(e,void 0,r):null})}return(0,f.jsx)(n,{...a,ref:t,children:r})});return a.displayName=`${e}.Slot`,a}Symbol("RADIX:SYNC_STATE");var tS=Symbol("radix.slottable");function tE(e){return h.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===tS}var tR=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=tC(`Primitive.${t}`),n=h.forwardRef((e,n)=>{let{asChild:a,...s}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,f.jsx)(a?r:t,{...s,ref:n})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function tI(e){let t=h.useRef(e);return h.useEffect(()=>{t.current=e}),h.useMemo(()=>(...e)=>t.current?.(...e),[])}var tP="dismissableLayer.update",tT=h.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),tO=h.forwardRef((e,t)=>{let{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:a,onFocusOutside:s,onInteractOutside:o,onDismiss:i,...l}=e,c=h.useContext(tT),[d,u]=h.useState(null),p=d?.ownerDocument??globalThis?.document,[,x]=h.useState({}),g=tb(t,e=>u(e)),v=Array.from(c.layers),[b]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),y=v.indexOf(b),j=d?v.indexOf(d):-1,N=c.layersWithOutsidePointerEventsDisabled.size>0,w=j>=y,k=function(e,t=globalThis?.document){let r=tI(e),n=h.useRef(!1),a=h.useRef(()=>{});return h.useEffect(()=>{let e=e=>{if(e.target&&!n.current){let n=function(){tM("dismissableLayer.pointerDownOutside",r,s,{discrete:!0})},s={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",a.current),a.current=n,t.addEventListener("click",a.current,{once:!0})):n()}else t.removeEventListener("click",a.current);n.current=!1},s=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(s),t.removeEventListener("pointerdown",e),t.removeEventListener("click",a.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}(e=>{let t=e.target,r=[...c.branches].some(e=>e.contains(t));w&&!r&&(a?.(e),o?.(e),e.defaultPrevented||i?.())},p),C=function(e,t=globalThis?.document){let r=tI(e),n=h.useRef(!1);return h.useEffect(()=>{let e=e=>{e.target&&!n.current&&tM("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}(e=>{let t=e.target;![...c.branches].some(e=>e.contains(t))&&(s?.(e),o?.(e),e.defaultPrevented||i?.())},p);return!function(e,t=globalThis?.document){let r=tI(e);h.useEffect(()=>{let e=e=>{"Escape"===e.key&&r(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[r,t])}(e=>{j===c.layers.size-1&&(n?.(e),!e.defaultPrevented&&i&&(e.preventDefault(),i()))},p),h.useEffect(()=>{if(d)return r&&(0===c.layersWithOutsidePointerEventsDisabled.size&&(m=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),tD(),()=>{r&&1===c.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=m)}},[d,p,r,c]),h.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),tD())},[d,c]),h.useEffect(()=>{let e=()=>x({});return document.addEventListener(tP,e),()=>document.removeEventListener(tP,e)},[]),(0,f.jsx)(tR.div,{...l,ref:g,style:{pointerEvents:N?w?"auto":"none":void 0,...e.style},onFocusCapture:tx(e.onFocusCapture,C.onFocusCapture),onBlurCapture:tx(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:tx(e.onPointerDownCapture,k.onPointerDownCapture)})});function tD(){let e=new CustomEvent(tP);document.dispatchEvent(e)}function tM(e,t,r,{discrete:n}){let a=r.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});if(t&&a.addEventListener(e,t,{once:!0}),n)a&&E.flushSync(()=>a.dispatchEvent(s));else a.dispatchEvent(s)}tO.displayName="DismissableLayer",h.forwardRef((e,t)=>{let r=h.useContext(tT),n=h.useRef(null),a=tb(t,n);return h.useEffect(()=>{let e=n.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,f.jsx)(tR.div,{...e,ref:a})}).displayName="DismissableLayerBranch";var tA="focusScope.autoFocusOnMount",tL="focusScope.autoFocusOnUnmount",tF={bubbles:!1,cancelable:!0},tB=h.forwardRef((e,t)=>{let{loop:r=!1,trapped:n=!1,onMountAutoFocus:a,onUnmountAutoFocus:s,...o}=e,[i,l]=h.useState(null),c=tI(a),d=tI(s),u=h.useRef(null),m=tb(t,e=>l(e)),p=h.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;h.useEffect(()=>{if(n){let e=function(e){if(p.paused||!i)return;let t=e.target;i.contains(t)?u.current=t:tz(u.current,{select:!0})},t=function(e){if(p.paused||!i)return;let t=e.relatedTarget;null!==t&&(i.contains(t)||tz(u.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&tz(i)});return i&&r.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[n,i,p.paused]),h.useEffect(()=>{if(i){tU.add(p);let e=document.activeElement;if(!i.contains(e)){let t=new CustomEvent(tA,tF);i.addEventListener(tA,c),i.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let r=document.activeElement;for(let n of e)if(tz(n,{select:t}),document.activeElement!==r)return}(t$(i).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&tz(i))}return()=>{i.removeEventListener(tA,c),setTimeout(()=>{let t=new CustomEvent(tL,tF);i.addEventListener(tL,d),i.dispatchEvent(t),t.defaultPrevented||tz(e??document.body,{select:!0}),i.removeEventListener(tL,d),tU.remove(p)},0)}}},[i,c,d,p]);let x=h.useCallback(e=>{if(!r&&!n||p.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,a=document.activeElement;if(t&&a){var s;let t,n=e.currentTarget,[o,i]=[t_(t=t$(s=n),s),t_(t.reverse(),s)];o&&i?e.shiftKey||a!==i?e.shiftKey&&a===o&&(e.preventDefault(),r&&tz(i,{select:!0})):(e.preventDefault(),r&&tz(o,{select:!0})):a===n&&e.preventDefault()}},[r,n,p.paused]);return(0,f.jsx)(tR.div,{tabIndex:-1,...o,ref:m,onKeyDown:x})});function t$(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function t_(e,t){for(let r of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t}))return r}function tz(e,{select:t=!1}={}){if(e&&e.focus){var r;let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&(r=e)instanceof HTMLInputElement&&"select"in r&&t&&e.select()}}tB.displayName="FocusScope";var tU=(n=[],{add(e){let t=n[0];e!==t&&t?.pause(),(n=tW(n,e)).unshift(e)},remove(e){n=tW(n,e),n[0]?.resume()}});function tW(e,t){let r=[...e],n=r.indexOf(t);return -1!==n&&r.splice(n,1),r}var tH=h.forwardRef((e,t)=>{let{container:r,...n}=e,[a,s]=h.useState(!1);ty(()=>s(!0),[]);let o=r||a&&globalThis?.document?.body;return o?E.default.createPortal((0,f.jsx)(tR.div,{...n,ref:t}),o):null});tH.displayName="Portal";var tG=e=>{var t;let r,n,{present:a,children:s}=e,o=function(e){var t,r;let[n,a]=h.useState(),s=h.useRef(null),o=h.useRef(e),i=h.useRef("none"),[l,c]=(t=e?"mounted":"unmounted",r={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},h.useReducer((e,t)=>r[e][t]??e,t));return h.useEffect(()=>{let e=tV(s.current);i.current="mounted"===l?e:"none"},[l]),ty(()=>{let t=s.current,r=o.current;if(r!==e){let n=i.current,a=tV(t);e?c("MOUNT"):"none"===a||t?.display==="none"?c("UNMOUNT"):r&&n!==a?c("ANIMATION_OUT"):c("UNMOUNT"),o.current=e}},[e,c]),ty(()=>{if(n){let e,t=n.ownerDocument.defaultView??window,r=r=>{let a=tV(s.current).includes(CSS.escape(r.animationName));if(r.target===n&&a&&(c("ANIMATION_END"),!o.current)){let r=n.style.animationFillMode;n.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===n.style.animationFillMode&&(n.style.animationFillMode=r)})}},a=e=>{e.target===n&&(i.current=tV(s.current))};return n.addEventListener("animationstart",a),n.addEventListener("animationcancel",r),n.addEventListener("animationend",r),()=>{t.clearTimeout(e),n.removeEventListener("animationstart",a),n.removeEventListener("animationcancel",r),n.removeEventListener("animationend",r)}}c("ANIMATION_END")},[n,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:h.useCallback(e=>{s.current=e?getComputedStyle(e):null,a(e)},[])}}(a),i="function"==typeof s?s({present:o.isPresent}):h.Children.only(s),l=tb(o.ref,(t=i,(n=(r=Object.getOwnPropertyDescriptor(t.props,"ref")?.get)&&"isReactWarning"in r&&r.isReactWarning)?t.ref:(n=(r=Object.getOwnPropertyDescriptor(t,"ref")?.get)&&"isReactWarning"in r&&r.isReactWarning)?t.props.ref:t.props.ref||t.ref));return"function"==typeof s||o.isPresent?h.cloneElement(i,{ref:l}):null};function tV(e){return e?.animationName||"none"}tG.displayName="Presence";var tK=0;function tq(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var tY=function(){return(tY=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function tX(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)0>t.indexOf(n[a])&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r}var tZ=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),tJ="width-before-scroll-bar";function tQ(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var t0="u">typeof window?h.useLayoutEffect:h.useEffect,t1=new WeakMap,t2=(void 0===s&&(s={}),(void 0===o&&(o=function(e){return e}),i=[],l=!1,c={read:function(){if(l)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return i.length?i[i.length-1]:null},useMedium:function(e){var t=o(e,l);return i.push(t),function(){i=i.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(l=!0;i.length;){var t=i;i=[],t.forEach(e)}i={push:function(t){return e(t)},filter:function(){return i}}},assignMedium:function(e){l=!0;var t=[];if(i.length){var r=i;i=[],r.forEach(e),t=i}var n=function(){var r=t;t=[],r.forEach(e)},a=function(){return Promise.resolve().then(n)};a(),i={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),i}}}}).options=tY({async:!0,ssr:!1},s),c),t3=function(){},t5=h.forwardRef(function(e,t){var r,n,a,s,o=h.useRef(null),i=h.useState({onScrollCapture:t3,onWheelCapture:t3,onTouchMoveCapture:t3}),l=i[0],c=i[1],d=e.forwardProps,u=e.children,m=e.className,p=e.removeScrollBar,f=e.enabled,x=e.shards,g=e.sideCar,v=e.noRelative,b=e.noIsolation,y=e.inert,j=e.allowPinchZoom,N=e.as,w=e.gapMode,k=tX(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),C=(r=[o,t],n=function(e){return r.forEach(function(t){return tQ(t,e)})},(a=(0,h.useState)(function(){return{value:null,callback:n,facade:{get current(){return a.value},set current(value){var e=a.value;e!==value&&(a.value=value,a.callback(value,e))}}}})[0]).callback=n,s=a.facade,t0(function(){var e=t1.get(s);if(e){var t=new Set(e),n=new Set(r),a=s.current;t.forEach(function(e){n.has(e)||tQ(e,null)}),n.forEach(function(e){t.has(e)||tQ(e,a)})}t1.set(s,r)},[r]),s),S=tY(tY({},k),l);return h.createElement(h.Fragment,null,f&&h.createElement(g,{sideCar:t2,removeScrollBar:p,shards:x,noRelative:v,noIsolation:b,inert:y,setCallbacks:c,allowPinchZoom:!!j,lockRef:o,gapMode:w}),d?h.cloneElement(h.Children.only(u),tY(tY({},S),{ref:C})):h.createElement(void 0===N?"div":N,tY({},S,{className:m,ref:C}),u))});t5.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},t5.classNames={fullWidth:tJ,zeroRight:tZ};var t4=function(e){var t=e.sideCar,r=tX(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw Error("Sidecar medium not found");return h.createElement(n,tY({},r))};t4.isSideCarExport=!0;var t9=function(){var e=0,t=null;return{add:function(r){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=p||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return t&&e.setAttribute("nonce",t),e}())){var n,a;(n=t).styleSheet?n.styleSheet.cssText=r:n.appendChild(document.createTextNode(r)),a=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(a)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},t8=function(){var e=t9();return function(t,r){h.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},t6=function(){var e=t8();return function(t){return e(t.styles,t.dynamic),null}},t7={left:0,top:0,right:0,gap:0},re=function(e){return parseInt(e||"",10)||0},rt=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],a=t["padding"===e?"paddingRight":"marginRight"];return[re(r),re(n),re(a)]},rr=function(e){if(void 0===e&&(e="margin"),"u"<typeof window)return t7;var t=rt(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},rn=t6(),ra="data-scroll-locked",rs=function(e,t,r,n){var a=e.left,s=e.top,o=e.right,i=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(i,"px ").concat(n,";\n }\n body[").concat(ra,"] {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(a,"px;\n padding-top: ").concat(s,"px;\n padding-right: ").concat(o,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(i,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(i,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(tZ," {\n right: ").concat(i,"px ").concat(n,";\n }\n \n .").concat(tJ," {\n margin-right: ").concat(i,"px ").concat(n,";\n }\n \n .").concat(tZ," .").concat(tZ," {\n right: 0 ").concat(n,";\n }\n \n .").concat(tJ," .").concat(tJ," {\n margin-right: 0 ").concat(n,";\n }\n \n body[").concat(ra,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(i,"px;\n }\n")},ro=function(){var e=parseInt(document.body.getAttribute(ra)||"0",10);return isFinite(e)?e:0},ri=function(){h.useEffect(function(){return document.body.setAttribute(ra,(ro()+1).toString()),function(){var e=ro()-1;e<=0?document.body.removeAttribute(ra):document.body.setAttribute(ra,e.toString())}},[])},rl=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,a=void 0===n?"margin":n;ri();var s=h.useMemo(function(){return rr(a)},[a]);return h.createElement(rn,{styles:rs(s,!t,a,r?"":"!important")})},rc=!1;if("u">typeof window)try{var rd=Object.defineProperty({},"passive",{get:function(){return rc=!0,!0}});window.addEventListener("test",rd,rd),window.removeEventListener("test",rd,rd)}catch(e){rc=!1}var ru=!!rc&&{passive:!1},rm=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&(r.overflowY!==r.overflowX||"TEXTAREA"===e.tagName||"visible"!==r[t])},rp=function(e,t){var r=t.ownerDocument,n=t;do{if("u">typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),rf(e,n)){var a=rh(e,n);if(a[1]>a[2])return!0}n=n.parentNode}while(n&&n!==r.body)return!1},rf=function(e,t){return"v"===e?rm(t,"overflowY"):rm(t,"overflowX")},rh=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},rx=function(e,t,r,n,a){var s,o=(s=window.getComputedStyle(t).direction,"h"===e&&"rtl"===s?-1:1),i=o*n,l=r.target,c=t.contains(l),d=!1,u=i>0,m=0,p=0;do{if(!l)break;var f=rh(e,l),h=f[0],x=f[1]-f[2]-o*h;(h||x)&&rf(e,l)&&(m+=x,p+=h);var g=l.parentNode;l=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&l!==document.body||c&&(t.contains(l)||t===l))return u&&(a&&1>Math.abs(m)||!a&&i>m)?d=!0:!u&&(a&&1>Math.abs(p)||!a&&-i>p)&&(d=!0),d},rg=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},rv=function(e){return[e.deltaX,e.deltaY]},rb=function(e){return e&&"current"in e?e.current:e},ry=0,rj=[];let rN=(d=function(e){var t=h.useRef([]),r=h.useRef([0,0]),n=h.useRef(),a=h.useState(ry++)[0],s=h.useState(t6)[0],o=h.useRef(e);h.useEffect(function(){o.current=e},[e]),h.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var t=(function(e,t,r){if(r||2==arguments.length)for(var n,a=0,s=t.length;a<s;a++)!n&&a in t||(n||(n=Array.prototype.slice.call(t,0,a)),n[a]=t[a]);return e.concat(n||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(rb),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var i=h.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!o.current.allowPinchZoom;var a,s=rg(e),i=r.current,l="deltaX"in e?e.deltaX:i[0]-s[0],c="deltaY"in e?e.deltaY:i[1]-s[1],d=e.target,u=Math.abs(l)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===u&&"range"===d.type)return!1;var m=window.getSelection(),p=m&&m.anchorNode;if(p&&(p===d||p.contains(d)))return!1;var f=rp(u,d);if(!f)return!0;if(f?a=u:(a="v"===u?"h":"v",f=rp(u,d)),!f)return!1;if(!n.current&&"changedTouches"in e&&(l||c)&&(n.current=a),!a)return!0;var h=n.current||a;return rx(h,t,e,"h"===h?l:c,!0)},[]),l=h.useCallback(function(e){if(rj.length&&rj[rj.length-1]===s){var r="deltaY"in e?rv(e):rg(e),n=t.current.filter(function(t){var n;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(n=t.delta,n[0]===r[0]&&n[1]===r[1])})[0];if(n&&n.should){e.cancelable&&e.preventDefault();return}if(!n){var a=(o.current.shards||[]).map(rb).filter(Boolean).filter(function(t){return t.contains(e.target)});(a.length>0?i(e,a[0]):!o.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),c=h.useCallback(function(e,r,n,a){var s={name:e,delta:r,target:n,should:a,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(n)};t.current.push(s),setTimeout(function(){t.current=t.current.filter(function(e){return e!==s})},1)},[]),d=h.useCallback(function(e){r.current=rg(e),n.current=void 0},[]),u=h.useCallback(function(t){c(t.type,rv(t),t.target,i(t,e.lockRef.current))},[]),m=h.useCallback(function(t){c(t.type,rg(t),t.target,i(t,e.lockRef.current))},[]);h.useEffect(function(){return rj.push(s),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:m}),document.addEventListener("wheel",l,ru),document.addEventListener("touchmove",l,ru),document.addEventListener("touchstart",d,ru),function(){rj=rj.filter(function(e){return e!==s}),document.removeEventListener("wheel",l,ru),document.removeEventListener("touchmove",l,ru),document.removeEventListener("touchstart",d,ru)}},[]);var p=e.removeScrollBar,f=e.inert;return h.createElement(h.Fragment,null,f?h.createElement(s,{styles:"\n .block-interactivity-".concat(a," {pointer-events: none;}\n .allow-interactivity-").concat(a," {pointer-events: all;}\n")}):null,p?h.createElement(rl,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},t2.useMedium(d),t4);var rw=h.forwardRef(function(e,t){return h.createElement(t5,tY({},e,{ref:t,sideCar:rN}))});rw.classNames=t5.classNames;var rk=new WeakMap,rC=new WeakMap,rS={},rE=0,rR=function(e){return e&&(e.host||rR(e.parentNode))},rI=function(e,t,r,n){var a=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var r=rR(e);return r&&t.contains(r)?r:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});rS[r]||(rS[r]=new WeakMap);var s=rS[r],o=[],i=new Set,l=new Set(a),c=function(e){!e||i.has(e)||(i.add(e),c(e.parentNode))};a.forEach(c);var d=function(e){!e||l.has(e)||Array.prototype.forEach.call(e.children,function(e){if(i.has(e))d(e);else try{var t=e.getAttribute(n),a=null!==t&&"false"!==t,l=(rk.get(e)||0)+1,c=(s.get(e)||0)+1;rk.set(e,l),s.set(e,c),o.push(e),1===l&&a&&rC.set(e,!0),1===c&&e.setAttribute(r,"true"),a||e.setAttribute(n,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return d(t),i.clear(),rE++,function(){o.forEach(function(e){var t=rk.get(e)-1,a=s.get(e)-1;rk.set(e,t),s.set(e,a),t||(rC.has(e)||e.removeAttribute(n),rC.delete(e)),a||e.removeAttribute(r)}),--rE||(rk=new WeakMap,rk=new WeakMap,rC=new WeakMap,rS={})}},rP=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),a=t||("u"<typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return a?(n.push.apply(n,Array.from(a.querySelectorAll("[aria-live], script"))),rI(n,a,r,"aria-hidden")):function(){return null}},rT="Dialog",[rO,rD]=function(e,t=[]){let r=[],n=()=>{let t=r.map(e=>h.createContext(e));return function(r){let n=r?.[e]||t;return h.useMemo(()=>({[`__scope${e}`]:{...r,[e]:n}}),[r,n])}};return n.scopeName=e,[function(t,n){let a=h.createContext(n),s=r.length;r=[...r,n];let o=t=>{let{scope:r,children:n,...o}=t,i=r?.[e]?.[s]||a,l=h.useMemo(()=>o,Object.values(o));return(0,f.jsx)(i.Provider,{value:l,children:n})};return o.displayName=t+"Provider",[o,function(r,o){let i=o?.[e]?.[s]||a,l=h.useContext(i);if(l)return l;if(void 0!==n)return n;throw Error(`\`${r}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let r=()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=r.reduce((t,{useScope:r,scopeName:n})=>{let a=r(e)[`__scope${n}`];return{...t,...a}},{});return h.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return r.scopeName=t.scopeName,r}(n,...t)]}(rT),[rM,rA]=rO(rT),rL=e=>{let{__scopeDialog:t,children:r,open:n,defaultOpen:a,onOpenChange:s,modal:o=!0}=e,i=h.useRef(null),l=h.useRef(null),[c,d]=function({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[a,s,o]=function({defaultProp:e,onChange:t}){let[r,n]=h.useState(e),a=h.useRef(r),s=h.useRef(t);return tk(()=>{s.current=t},[t]),h.useEffect(()=>{a.current!==r&&(s.current?.(r),a.current=r)},[r,a]),[r,n,s]}({defaultProp:t,onChange:r}),i=void 0!==e,l=i?e:a;{let t=h.useRef(void 0!==e);h.useEffect(()=>{let e=t.current;if(e!==i){let t=i?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=i},[i,n])}return[l,h.useCallback(t=>{if(i){let r="function"==typeof t?t(e):t;r!==e&&o.current?.(r)}else s(t)},[i,e,s,o])]}({prop:n,defaultProp:a??!1,onChange:s,caller:rT});return(0,f.jsx)(rM,{scope:t,triggerRef:i,contentRef:l,contentId:tw(),titleId:tw(),descriptionId:tw(),open:c,onOpenChange:d,onOpenToggle:h.useCallback(()=>d(e=>!e),[d]),modal:o,children:r})};rL.displayName=rT;var rF="DialogTrigger";h.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=rA(rF,r),s=tb(t,a.triggerRef);return(0,f.jsx)(tR.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":r0(a.open),...n,ref:s,onClick:tx(e.onClick,a.onOpenToggle)})}).displayName=rF;var rB="DialogPortal",[r$,r_]=rO(rB,{forceMount:void 0}),rz=e=>{let{__scopeDialog:t,forceMount:r,children:n,container:a}=e,s=rA(rB,t);return(0,f.jsx)(r$,{scope:t,forceMount:r,children:h.Children.map(n,e=>(0,f.jsx)(tG,{present:r||s.open,children:(0,f.jsx)(tH,{asChild:!0,container:a,children:e})}))})};rz.displayName=rB;var rU="DialogOverlay",rW=h.forwardRef((e,t)=>{let r=r_(rU,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,s=rA(rU,e.__scopeDialog);return s.modal?(0,f.jsx)(tG,{present:n||s.open,children:(0,f.jsx)(rG,{...a,ref:t})}):null});rW.displayName=rU;var rH=tC("DialogOverlay.RemoveScroll"),rG=h.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=rA(rU,r);return(0,f.jsx)(rw,{as:rH,allowPinchZoom:!0,shards:[a.contentRef],children:(0,f.jsx)(tR.div,{"data-state":r0(a.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),rV="DialogContent",rK=h.forwardRef((e,t)=>{let r=r_(rV,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,s=rA(rV,e.__scopeDialog);return(0,f.jsx)(tG,{present:n||s.open,children:s.modal?(0,f.jsx)(rq,{...a,ref:t}):(0,f.jsx)(rY,{...a,ref:t})})});rK.displayName=rV;var rq=h.forwardRef((e,t)=>{let r=rA(rV,e.__scopeDialog),n=h.useRef(null),a=tb(t,r.contentRef,n);return h.useEffect(()=>{let e=n.current;if(e)return rP(e)},[]),(0,f.jsx)(rX,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:tx(e.onCloseAutoFocus,e=>{e.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:tx(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:tx(e.onFocusOutside,e=>e.preventDefault())})}),rY=h.forwardRef((e,t)=>{let r=rA(rV,e.__scopeDialog),n=h.useRef(!1),a=h.useRef(!1);return(0,f.jsx)(rX,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||r.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let s=t.target;r.triggerRef.current?.contains(s)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),rX=h.forwardRef((e,t)=>{let{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:a,onCloseAutoFocus:s,...o}=e,i=rA(rV,r),l=h.useRef(null),c=tb(t,l);return h.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??tq()),document.body.insertAdjacentElement("beforeend",e[1]??tq()),tK++,()=>{1===tK&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),tK--}},[]),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(tB,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:a,onUnmountAutoFocus:s,children:(0,f.jsx)(tO,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":r0(i.open),...o,ref:c,onDismiss:()=>i.onOpenChange(!1)})}),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(r5,{titleId:i.titleId}),(0,f.jsx)(r4,{contentRef:l,descriptionId:i.descriptionId})]})]})}),rZ="DialogTitle";h.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=rA(rZ,r);return(0,f.jsx)(tR.h2,{id:a.titleId,...n,ref:t})}).displayName=rZ;var rJ="DialogDescription";h.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=rA(rJ,r);return(0,f.jsx)(tR.p,{id:a.descriptionId,...n,ref:t})}).displayName=rJ;var rQ="DialogClose";function r0(e){return e?"open":"closed"}h.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=rA(rQ,r);return(0,f.jsx)(tR.button,{type:"button",...n,ref:t,onClick:tx(e.onClick,()=>a.onOpenChange(!1))})}).displayName=rQ;var r1="DialogTitleWarning",[r2,r3]=(u={contentName:rV,titleName:rZ,docsSlug:"dialog"},t=h.createContext(u),(r=e=>{let{children:r,...n}=e,a=h.useMemo(()=>n,Object.values(n));return(0,f.jsx)(t.Provider,{value:a,children:r})}).displayName=r1+"Provider",[r,function(e){let r=h.useContext(t);if(r)return r;if(void 0!==u)return u;throw Error(`\`${e}\` must be used within \`${r1}\``)}]),r5=({titleId:e})=>{let t=r3(r1),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
2
-
3
- If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
4
-
5
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return h.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},r4=({contentRef:e,descriptionId:t})=>{let r=r3("DialogDescriptionWarning"),n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${r.contentName}}.`;return h.useEffect(()=>{let r=e.current?.getAttribute("aria-describedby");t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},r9=Symbol.for("react.lazy"),r8=h[" use ".trim().toString()];function r6(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===r9&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var r7=Symbol("radix.slottable");function ne(e){return h.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===r7}var nt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{var r,n;let a,s,o,i=(n=r=`Primitive.${t}`,(a=h.forwardRef((e,t)=>{let{children:r,...n}=e;if(r6(r)&&"function"==typeof r8&&(r=r8(r._payload)),h.isValidElement(r)){var a;let e,s,o=(a=r,(s=(e=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.ref:(s=(e=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.props.ref:a.props.ref||a.ref),i=function(e,t){let r={...t};for(let n in t){let a=e[n],s=t[n];/^on[A-Z]/.test(n)?a&&s?r[n]=(...e)=>{let t=s(...e);return a(...e),t}:a&&(r[n]=a):"style"===n?r[n]={...a,...s}:"className"===n&&(r[n]=[a,s].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==h.Fragment&&(i.ref=t?tv(t,o):o),h.cloneElement(r,i)}return h.Children.count(r)>1?h.Children.only(null):null})).displayName=`${n}.SlotClone`,s=a,(o=h.forwardRef((e,t)=>{let{children:r,...n}=e;r6(r)&&"function"==typeof r8&&(r=r8(r._payload));let a=h.Children.toArray(r),o=a.find(ne);if(o){let e=o.props.children,r=a.map(t=>t!==o?t:h.Children.count(e)>1?h.Children.only(null):h.isValidElement(e)?e.props.children:null);return(0,f.jsx)(s,{...n,ref:t,children:h.isValidElement(e)?h.cloneElement(e,void 0,r):null})}return(0,f.jsx)(s,{...n,ref:t,children:r})})).displayName=`${r}.Slot`,o),l=h.forwardRef((e,r)=>{let{asChild:n,...a}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,f.jsx)(n?i:t,{...a,ref:r})});return l.displayName=`Primitive.${t}`,{...e,[t]:l}},{}),nr='[cmdk-group=""]',nn='[cmdk-group-items=""]',na='[cmdk-item=""]',ns=`${na}:not([aria-disabled="true"])`,no="cmdk-item-select",ni="data-value",nl=(e,t,r)=>{var n;return n=e,function e(t,r,n,a,s,o,i){if(o===r.length)return s===t.length?1:.99;var l=`${s},${o}`;if(void 0!==i[l])return i[l];for(var c,d,u,m,p=a.charAt(o),f=n.indexOf(p,s),h=0;f>=0;)(c=e(t,r,n,a,f+1,o+1,i))>h&&(f===s?c*=1:tu.test(t.charAt(f-1))?(c*=.8,(u=t.slice(s,f-1).match(tm))&&s>0&&(c*=Math.pow(.999,u.length))):tp.test(t.charAt(f-1))?(c*=.9,(m=t.slice(s,f-1).match(tf))&&s>0&&(c*=Math.pow(.999,m.length))):(c*=.17,s>0&&(c*=Math.pow(.999,f-s))),t.charAt(f)!==r.charAt(o)&&(c*=.9999)),(c<.1&&n.charAt(f-1)===a.charAt(o+1)||a.charAt(o+1)===a.charAt(o)&&n.charAt(f-1)!==a.charAt(o))&&.1*(d=e(t,r,n,a,f+1,o+2,i))>c&&(c=.1*d),c>h&&(h=c),f=n.indexOf(p,f+1);return i[l]=h,h}(n=r&&r.length>0?`${n+" "+r.join(" ")}`:n,t,th(n),th(t),0,0,{})},nc=h.createContext(void 0),nd=h.createContext(void 0),nu=h.createContext(void 0),nm=h.forwardRef((e,t)=>{let r=nN(()=>{var t,r;return{search:"",value:null!=(r=null!=(t=e.value)?t:e.defaultValue)?r:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),n=nN(()=>new Set),a=nN(()=>new Map),s=nN(()=>new Map),o=nN(()=>new Set),i=ny(e),{label:l,children:c,value:d,onValueChange:u,filter:m,shouldFilter:p,loop:f,disablePointerSelection:x=!1,vimBindings:g=!0,...v}=e,b=tw(),y=tw(),j=tw(),N=h.useRef(null),w=nC();nj(()=>{if(void 0!==d){let e=d.trim();r.current.value=e,k.emit()}},[d]),nj(()=>{w(6,P)},[]);let k=h.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>r.current,setState:(e,t,n)=>{var a,s,o,l;if(!Object.is(r.current[e],t)){if(r.current[e]=t,"search"===e)I(),E(),w(1,R);else if("value"===e){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let e=document.getElementById(j);e?e.focus():null==(a=document.getElementById(b))||a.focus()}if(w(7,()=>{var e;r.current.selectedItemId=null==(e=T())?void 0:e.id,k.emit()}),n||w(5,P),(null==(s=i.current)?void 0:s.value)!==void 0){null==(l=(o=i.current).onValueChange)||l.call(o,null!=t?t:"");return}}k.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),C=h.useMemo(()=>({value:(e,t,n)=>{var a;t!==(null==(a=s.current.get(e))?void 0:a.value)&&(s.current.set(e,{value:t,keywords:n}),r.current.filtered.items.set(e,S(t,n)),w(2,()=>{E(),k.emit()}))},item:(e,t)=>(n.current.add(e),t&&(a.current.has(t)?a.current.get(t).add(e):a.current.set(t,new Set([e]))),w(3,()=>{I(),E(),r.current.value||R(),k.emit()}),()=>{s.current.delete(e),n.current.delete(e),r.current.filtered.items.delete(e);let t=T();w(4,()=>{I(),(null==t?void 0:t.getAttribute("id"))===e&&R(),k.emit()})}),group:e=>(a.current.has(e)||a.current.set(e,new Set),()=>{s.current.delete(e),a.current.delete(e)}),filter:()=>i.current.shouldFilter,label:l||e["aria-label"],getDisablePointerSelection:()=>i.current.disablePointerSelection,listId:b,inputId:j,labelId:y,listInnerRef:N}),[]);function S(e,t){var n,a;let s=null!=(a=null==(n=i.current)?void 0:n.filter)?a:nl;return e?s(e,r.current.search,t):0}function E(){if(!r.current.search||!1===i.current.shouldFilter)return;let e=r.current.filtered.items,t=[];r.current.filtered.groups.forEach(r=>{let n=a.current.get(r),s=0;n.forEach(t=>{s=Math.max(e.get(t),s)}),t.push([r,s])});let n=N.current;O().sort((t,r)=>{var n,a;let s=t.getAttribute("id"),o=r.getAttribute("id");return(null!=(n=e.get(o))?n:0)-(null!=(a=e.get(s))?a:0)}).forEach(e=>{let t=e.closest(nn);t?t.appendChild(e.parentElement===t?e:e.closest(`${nn} > *`)):n.appendChild(e.parentElement===n?e:e.closest(`${nn} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{var t;let r=null==(t=N.current)?void 0:t.querySelector(`${nr}[${ni}="${encodeURIComponent(e[0])}"]`);null==r||r.parentElement.appendChild(r)})}function R(){let e=O().find(e=>"true"!==e.getAttribute("aria-disabled")),t=null==e?void 0:e.getAttribute(ni);k.setState("value",t||void 0)}function I(){var e,t,o,l;if(!r.current.search||!1===i.current.shouldFilter){r.current.filtered.count=n.current.size;return}r.current.filtered.groups=new Set;let c=0;for(let a of n.current){let n=S(null!=(t=null==(e=s.current.get(a))?void 0:e.value)?t:"",null!=(l=null==(o=s.current.get(a))?void 0:o.keywords)?l:[]);r.current.filtered.items.set(a,n),n>0&&c++}for(let[e,t]of a.current)for(let n of t)if(r.current.filtered.items.get(n)>0){r.current.filtered.groups.add(e);break}r.current.filtered.count=c}function P(){var e,t,r;let n=T();n&&((null==(e=n.parentElement)?void 0:e.firstChild)===n&&(null==(r=null==(t=n.closest(nr))?void 0:t.querySelector('[cmdk-group-heading=""]'))||r.scrollIntoView({block:"nearest"})),n.scrollIntoView({block:"nearest"}))}function T(){var e;return null==(e=N.current)?void 0:e.querySelector(`${na}[aria-selected="true"]`)}function O(){var e;return Array.from((null==(e=N.current)?void 0:e.querySelectorAll(ns))||[])}function D(e){let t=O()[e];t&&k.setState("value",t.getAttribute(ni))}function M(e){var t;let r=T(),n=O(),a=n.findIndex(e=>e===r),s=n[a+e];null!=(t=i.current)&&t.loop&&(s=a+e<0?n[n.length-1]:a+e===n.length?n[0]:n[a+e]),s&&k.setState("value",s.getAttribute(ni))}function A(e){let t=T(),r=null==t?void 0:t.closest(nr),n;for(;r&&!n;)n=null==(r=e>0?function(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}(r,nr):function(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}(r,nr))?void 0:r.querySelector(ns);n?k.setState("value",n.getAttribute(ni)):M(e)}let L=()=>D(O().length-1),F=e=>{e.preventDefault(),e.metaKey?L():e.altKey?A(1):M(1)},B=e=>{e.preventDefault(),e.metaKey?D(0):e.altKey?A(-1):M(-1)};return h.createElement(nt.div,{ref:t,tabIndex:-1,...v,"cmdk-root":"",onKeyDown:e=>{var t;null==(t=v.onKeyDown)||t.call(v,e);let r=e.nativeEvent.isComposing||229===e.keyCode;if(!(e.defaultPrevented||r))switch(e.key){case"n":case"j":g&&e.ctrlKey&&F(e);break;case"ArrowDown":F(e);break;case"p":case"k":g&&e.ctrlKey&&B(e);break;case"ArrowUp":B(e);break;case"Home":e.preventDefault(),D(0);break;case"End":e.preventDefault(),L();break;case"Enter":{e.preventDefault();let t=T();if(t){let e=new Event(no);t.dispatchEvent(e)}}}}},h.createElement("label",{"cmdk-label":"",htmlFor:C.inputId,id:C.labelId,style:nE},l),nS(e,e=>h.createElement(nd.Provider,{value:k},h.createElement(nc.Provider,{value:C},e))))}),np=h.forwardRef((e,t)=>{var r,n;let a=tw(),s=h.useRef(null),o=h.useContext(nu),i=h.useContext(nc),l=ny(e),c=null!=(n=null==(r=l.current)?void 0:r.forceMount)?n:null==o?void 0:o.forceMount;nj(()=>{if(!c)return i.item(a,null==o?void 0:o.id)},[c]);let d=nk(a,s,[e.value,e.children,s],e.keywords),u=h.useContext(nd),m=nw(e=>e.value&&e.value===d.current),p=nw(e=>!!c||!1===i.filter()||!e.search||e.filtered.items.get(a)>0);function f(){var e,t;x(),null==(t=(e=l.current).onSelect)||t.call(e,d.current)}function x(){u.setState("value",d.current,!0)}if(h.useEffect(()=>{let t=s.current;if(!(!t||e.disabled))return t.addEventListener(no,f),()=>t.removeEventListener(no,f)},[p,e.onSelect,e.disabled]),!p)return null;let{disabled:g,value:v,onSelect:b,forceMount:y,keywords:j,...N}=e;return h.createElement(nt.div,{ref:tv(s,t),...N,id:a,"cmdk-item":"",role:"option","aria-disabled":!!g,"aria-selected":!!m,"data-disabled":!!g,"data-selected":!!m,onPointerMove:g||i.getDisablePointerSelection()?void 0:x,onClick:g?void 0:f},e.children)}),nf=h.forwardRef((e,t)=>{let{heading:r,children:n,forceMount:a,...s}=e,o=tw(),i=h.useRef(null),l=h.useRef(null),c=tw(),d=h.useContext(nc),u=nw(e=>!!a||!1===d.filter()||!e.search||e.filtered.groups.has(o));nj(()=>d.group(o),[]),nk(o,i,[e.value,e.heading,l]);let m=h.useMemo(()=>({id:o,forceMount:a}),[a]);return h.createElement(nt.div,{ref:tv(i,t),...s,"cmdk-group":"",role:"presentation",hidden:!u||void 0},r&&h.createElement("div",{ref:l,"cmdk-group-heading":"","aria-hidden":!0,id:c},r),nS(e,e=>h.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?c:void 0},h.createElement(nu.Provider,{value:m},e))))}),nh=h.forwardRef((e,t)=>{let{alwaysRender:r,...n}=e,a=h.useRef(null),s=nw(e=>!e.search);return r||s?h.createElement(nt.div,{ref:tv(a,t),...n,"cmdk-separator":"",role:"separator"}):null}),nx=h.forwardRef((e,t)=>{let{onValueChange:r,...n}=e,a=null!=e.value,s=h.useContext(nd),o=nw(e=>e.search),i=nw(e=>e.selectedItemId),l=h.useContext(nc);return h.useEffect(()=>{null!=e.value&&s.setState("search",e.value)},[e.value]),h.createElement(nt.input,{ref:t,...n,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":i,id:l.inputId,type:"text",value:a?e.value:o,onChange:e=>{a||s.setState("search",e.target.value),null==r||r(e.target.value)}})}),ng=h.forwardRef((e,t)=>{let{children:r,label:n="Suggestions",...a}=e,s=h.useRef(null),o=h.useRef(null),i=nw(e=>e.selectedItemId),l=h.useContext(nc);return h.useEffect(()=>{if(o.current&&s.current){let e=o.current,t=s.current,r,n=new ResizeObserver(()=>{r=requestAnimationFrame(()=>{let r=e.offsetHeight;t.style.setProperty("--cmdk-list-height",r.toFixed(1)+"px")})});return n.observe(e),()=>{cancelAnimationFrame(r),n.unobserve(e)}}},[]),h.createElement(nt.div,{ref:tv(s,t),...a,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":i,"aria-label":n,id:l.listId},nS(e,e=>h.createElement("div",{ref:tv(o,l.listInnerRef),"cmdk-list-sizer":""},e)))}),nv=h.forwardRef((e,t)=>{let{open:r,onOpenChange:n,overlayClassName:a,contentClassName:s,container:o,...i}=e;return h.createElement(rL,{open:r,onOpenChange:n},h.createElement(rz,{container:o},h.createElement(rW,{"cmdk-overlay":"",className:a}),h.createElement(rK,{"aria-label":e.label,"cmdk-dialog":"",className:s},h.createElement(nm,{ref:t,...i}))))}),nb=Object.assign(nm,{List:ng,Item:np,Input:nx,Group:nf,Separator:nh,Dialog:nv,Empty:h.forwardRef((e,t)=>nw(e=>0===e.filtered.count)?h.createElement(nt.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Loading:h.forwardRef((e,t)=>{let{progress:r,children:n,label:a="Loading...",...s}=e;return h.createElement(nt.div,{ref:t,...s,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},nS(e,e=>h.createElement("div",{"aria-hidden":!0},e)))})});function ny(e){let t=h.useRef(e);return nj(()=>{t.current=e}),t}var nj="u"<typeof window?h.useEffect:h.useLayoutEffect;function nN(e){let t=h.useRef();return void 0===t.current&&(t.current=e()),t}function nw(e){let t=h.useContext(nd),r=()=>e(t.snapshot());return h.useSyncExternalStore(t.subscribe,r,r)}function nk(e,t,r,n=[]){let a=h.useRef(),s=h.useContext(nc);return nj(()=>{var o;let i=(()=>{var e;for(let t of r){if("string"==typeof t)return t.trim();if("object"==typeof t&&"current"in t)return t.current?null==(e=t.current.textContent)?void 0:e.trim():a.current}})(),l=n.map(e=>e.trim());s.value(e,i,l),null==(o=t.current)||o.setAttribute(ni,i),a.current=i}),a}var nC=()=>{let[e,t]=h.useState(),r=nN(()=>new Map);return nj(()=>{r.current.forEach(e=>e()),r.current=new Map},[e]),(e,n)=>{r.current.set(e,n),t({})}};function nS({asChild:e,children:t},r){let n;return e&&h.isValidElement(t)?h.cloneElement("function"==typeof(n=t.type)?n(t.props):"render"in n?n.render(t.props):t,{ref:t.ref},r(t.props.children)):r(t)}var nE={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},nR=e.i(555138);function nI({className:e,...t}){return(0,f.jsx)("div",{"data-slot":"input-group",role:"group",className:(0,ti.cn)("group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5",e),...t})}let nP=(0,nR.cva)("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4",{variants:{align:{"inline-start":"order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]","inline-end":"order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]","block-start":"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2","block-end":"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"}},defaultVariants:{align:"inline-start"}});function nT({className:e,align:t="inline-start",...r}){return(0,f.jsx)("div",{role:"group","data-slot":"input-group-addon","data-align":t,className:(0,ti.cn)(nP({align:t}),e),onClick:e=>{e.target.closest("button")||e.currentTarget.parentElement?.querySelector("input")?.focus()},...r})}(0,nR.cva)("flex items-center gap-2 text-sm shadow-none",{variants:{size:{xs:"h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",sm:"","icon-xs":"size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});var nO=e.i(5312),nO=nO,nD=e.i(706079);function nM({className:e,...t}){return(0,f.jsx)(nb,{"data-slot":"command",className:(0,ti.cn)("flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground",e),...t})}function nA({className:e,...t}){return(0,f.jsx)("div",{"data-slot":"command-input-wrapper",className:"p-1 pb-0",children:(0,f.jsxs)(nI,{className:"h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!",children:[(0,f.jsx)(nb.Input,{"data-slot":"command-input",className:(0,ti.cn)("w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",e),...t}),(0,f.jsx)(nT,{children:(0,f.jsx)(nO.default,{className:"size-4 shrink-0 opacity-50"})})]})})}function nL({className:e,...t}){return(0,f.jsx)(nb.List,{"data-slot":"command-list",className:(0,ti.cn)("no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none",e),...t})}function nF({className:e,...t}){return(0,f.jsx)(nb.Empty,{"data-slot":"command-empty",className:(0,ti.cn)("py-6 text-center text-sm",e),...t})}function nB({className:e,...t}){return(0,f.jsx)(nb.Group,{"data-slot":"command-group",className:(0,ti.cn)("overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",e),...t})}function n$({className:e,children:t,...r}){return(0,f.jsxs)(nb.Item,{"data-slot":"command-item",className:(0,ti.cn)("group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground",e),...r,children:[t,(0,f.jsx)(nD.CheckIcon,{className:"ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100"})]})}var n_=e.i(755683);let nz=(0,n_.createServerReference)("403ded79744c70329e4e6e3ae984f0616404ade6b8",n_.callServer,void 0,n_.findSourceMapURL,"getProjectBranches"),nU=(0,n_.createServerReference)("40236efe288980d661eb28b517ba65a78dfcfbaf9c",n_.callServer,void 0,n_.findSourceMapURL,"fetchRemoteBranches"),nW=(0,n_.createServerReference)("40763b49365979664b4cad64c6e65aa906c5724509",n_.callServer,void 0,n_.findSourceMapURL,"getCurrentBranch");function nH({open:e,onOpenChange:t,onSubmit:r,onUpdate:n,defaultStatus:a="TODO",editTask:s,editTaskLabelIds:o,labels:i,projectType:l,projectLocalPath:c}){let[d,u]=(0,h.useState)(""),[m,p]=(0,h.useState)(""),[x,g]=(0,h.useState)("MEDIUM"),[v,b]=(0,h.useState)(""),[y,N]=(0,h.useState)([]),[w,k]=(0,h.useState)([]),[S,E]=(0,h.useState)(!1),[I,P]=(0,h.useState)(""),[T,O]=(0,h.useState)(!1),[D,M]=(0,h.useState)(!0),{t:A}=(0,j.useI18n)(),L=!!s,F=!!c;return(0,h.useEffect)(()=>{s?(u(s.title),p(s.description??""),g(s.priority),b(s.subPath??""),N(o??[])):(u(""),p(""),g("MEDIUM"),b(""),N([]))},[s,o]),(0,h.useEffect)(()=>{e||s||(u(""),p(""),g("MEDIUM"),b(""),N([]),k([]),P(""),O(!1))},[e,s]),(0,h.useEffect)(()=>{e&&F&&!s&&(E(!0),Promise.all([nz(c),nW(c)]).then(([e,t])=>{k(e),P(t&&e.includes(t)?t:e[0]??""),E(!1),nU(c).then(()=>{setTimeout(()=>{nz(c).then(e=>{k(e),P(t=>e.includes(t)?t:e[0]??"")}).catch(()=>{})},3e3)})}).catch(()=>{k([]),P(""),E(!1)}))},[e,F,c,s]),(0,f.jsx)(U.Dialog,{open:e,onOpenChange:t,disablePointerDismissal:!0,children:(0,f.jsxs)(U.DialogContent,{className:"sm:max-w-md",children:[(0,f.jsx)(U.DialogHeader,{children:(0,f.jsx)(U.DialogTitle,{children:L?A("task.edit"):A("task.create")})}),(0,f.jsxs)("div",{className:"space-y-4 py-2",children:[(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)(Y.Label,{htmlFor:"title",children:A("task.title")}),(0,f.jsx)(K.Input,{id:"title","data-testid":"task-title",placeholder:A("task.titlePlaceholder"),value:d,onChange:e=>u(e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault()})]}),(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)(Y.Label,{htmlFor:"description",children:A("task.description")}),(0,f.jsx)(q.Textarea,{id:"description",placeholder:A("task.descPlaceholder"),rows:4,value:m,onChange:e=>p(e.target.value),className:"max-h-[200px] overflow-y-auto"})]}),(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)(Y.Label,{htmlFor:"subPath",children:A("task.subPath")}),(0,f.jsx)(K.Input,{id:"subPath",placeholder:A("task.subPathPlaceholder"),value:v,onChange:e=>b(e.target.value)}),(0,f.jsx)("p",{className:"text-xs text-muted-foreground",children:A("task.subPathHint")})]}),(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)(Y.Label,{children:A("task.priority")}),(0,f.jsx)("div",{className:"flex gap-1.5",children:["LOW","MEDIUM","HIGH","CRITICAL"].map(e=>{let t={LOW:{label:A("task.priorityLow"),style:"text-slate-300 border-slate-500/30 bg-slate-500/10"},MEDIUM:{label:A("task.priorityMedium"),style:"text-amber-300 border-amber-500/30 bg-amber-500/10"},HIGH:{label:A("task.priorityHigh"),style:"text-orange-300 border-orange-500/30 bg-orange-500/10"},CRITICAL:{label:A("task.priorityCritical"),style:"text-rose-300 border-rose-500/30 bg-rose-500/10"}}[e];return(0,f.jsx)("button",{type:"button",onClick:()=>g(e),className:`rounded-lg border px-3 py-1.5 text-xs font-medium transition-all ${x===e?`${t.style} ring-1 ring-current/20`:"border-border text-muted-foreground hover:bg-accent"}`,children:t.label},e)})})]}),F&&!L&&(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)(Y.Label,{children:A("task.baseBranch")}),S?(0,f.jsx)("div",{className:"text-sm text-muted-foreground",children:A("task.branchLoading")}):w.length>0?(0,f.jsxs)(tl,{open:T,onOpenChange:O,children:[(0,f.jsxs)(tc,{className:"flex w-full items-center gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm font-mono transition-colors hover:bg-accent focus:outline-none focus:ring-1 focus:ring-ring","data-testid":"branch-selector",children:[(0,f.jsx)(X.GitBranch,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),(0,f.jsx)("span",{className:"flex-1 truncate text-left text-xs",children:I||A("task.branchNone")}),(0,f.jsx)(Z,{className:"h-3.5 w-3.5 shrink-0 opacity-50"})]}),(0,f.jsx)(td,{className:"p-0",align:"start",children:(0,f.jsxs)(nM,{children:[(0,f.jsx)(nA,{placeholder:A("task.branchSearch")}),(0,f.jsxs)(nL,{children:[(0,f.jsx)(nF,{children:A("task.branchNone")}),(0,f.jsx)(nB,{children:w.map(e=>(0,f.jsxs)(n$,{value:e,onSelect:()=>{P(e),O(!1)},children:[(0,f.jsx)(X.GitBranch,{className:"h-3 w-3 text-muted-foreground shrink-0 mr-2"}),(0,f.jsx)("span",{className:"flex-1 truncate font-mono",children:e}),e===I&&(0,f.jsx)(R.Check,{className:"h-3 w-3 text-primary shrink-0 ml-auto"})]},e))})]})]})})]}):(0,f.jsx)("div",{className:"text-sm text-muted-foreground",children:A("task.branchNone")}),(0,f.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,f.jsx)(Y.Label,{className:"text-xs text-muted-foreground",children:A("task.worktreeLabel")}),(0,f.jsx)("div",{className:"flex gap-1",children:[!0,!1].map(e=>(0,f.jsx)("button",{type:"button",onClick:()=>M(e),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${D===e?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:e?A("task.worktreeYes"):A("task.worktreeNo")},String(e)))})]})]}),i.length>0&&(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)(Y.Label,{children:A("task.labels")}),(0,f.jsx)("div",{className:"flex flex-wrap gap-1.5",children:i.map(e=>{let t=y.includes(e.id);return(0,f.jsx)("button",{type:"button",onClick:()=>{N(r=>t?r.filter(t=>t!==e.id):[...r,e.id])},className:`rounded-full px-2.5 py-1 text-xs font-medium transition-all ${t?"ring-1 ring-current/30":"opacity-50 hover:opacity-80"}`,style:{backgroundColor:e.color+"20",color:e.color,borderColor:t?e.color+"40":"transparent",borderWidth:"1px"},children:e.name},e.id)})})]})]}),(0,f.jsxs)(U.DialogFooter,{children:[(0,f.jsx)(C.Button,{variant:"outline",onClick:()=>t(!1),children:A("common.cancel")}),(0,f.jsx)(C.Button,{onClick:()=>{d.trim()&&(L&&n?n(s.id,{title:d,description:m,priority:x,labelIds:y,subPath:v.trim()||""}):r({title:d,description:m,priority:x,status:a,labelIds:y,...F&&D&&I?{baseBranch:I}:{},...v.trim()?{subPath:v.trim()}:{}}),u(""),p(""),g("MEDIUM"),b(""),N([]),k([]),P(""),M(!0),t(!1))},className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:L?A("common.save"):A("common.create")})]})]})})}var nG=e.i(260949),nV=e.i(597736),nK=e.i(514183),nq=e.i(652459),nY=e.i(819614);let nX=(0,v.default)("git-commit-vertical",[["path",{d:"M12 3v6",key:"1holv5"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"M12 15v6",key:"a9ows0"}]]);var nZ=e.i(993453),nJ=e.i(924609),nQ=e.i(510291),n0=e.i(232478),n1=e.i(352125),n2=e.i(296571);let n3=(0,n_.createServerReference)("404206c6060c3322641729ddce3abb89d38576e15c",n_.callServer,void 0,n_.findSourceMapURL,"deleteProject"),n5=(0,n_.createServerReference)("40d15c9bded9be00ce540df2d7b7f052445490bfd9",n_.callServer,void 0,n_.findSourceMapURL,"getRecentLocalProjects"),n4=(0,n_.createServerReference)("4070f38bc997ea067370eed4b14f25482cd6fc16e8",n_.callServer,void 0,n_.findSourceMapURL,"getOrCreateTowerTaskId");var n9=e.i(632548),n8=e.i(151201),n6=e.i(378399),n7=e.i(696668),ae=e.i(775899),at=e.i(622622);function ar({commits:e}){let{t}=(0,j.useI18n)(),[r,n]=(0,h.useState)(!1);return 0===e.length?null:(0,f.jsxs)("div",{children:[(0,f.jsxs)("button",{onClick:()=>n(!r),className:"flex w-full items-center justify-between py-1",children:[(0,f.jsx)("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:t("git.commitLog")}),r?(0,f.jsx)(nG.ChevronDown,{className:"h-3 w-3 text-muted-foreground"}):(0,f.jsx)(nV.ChevronRight,{className:"h-3 w-3 text-muted-foreground"})]}),r&&(0,f.jsx)("div",{className:"mt-1.5 space-y-0.5 max-h-64 overflow-y-auto",children:e.map(e=>(0,f.jsxs)("div",{className:"group flex items-start gap-2 rounded-md px-2 py-1.5 hover:bg-accent transition-colors",children:[(0,f.jsx)(nX,{className:"h-3 w-3 shrink-0 text-muted-foreground mt-0.5"}),(0,f.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,f.jsx)("p",{className:"text-xs text-foreground line-clamp-1",children:e.message}),(0,f.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,f.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(e.shortHash),n8.toast.success(`Copied ${e.shortHash}`)},className:"flex items-center gap-0.5 font-mono text-[10px] text-primary/70 hover:text-primary transition-colors",children:[e.shortHash,(0,f.jsx)(at.Copy,{className:"h-2.5 w-2.5 opacity-0 group-hover:opacity-100 transition-opacity"})]}),(0,f.jsx)("span",{className:"text-[10px] text-muted-foreground",children:e.author}),(0,f.jsx)("span",{className:"text-[10px] text-muted-foreground",children:function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t}m`;let r=Math.floor(t/60);if(r<24)return`${r}h`;let n=Math.floor(r/24);return n<30?`${n}d`:`${Math.floor(n/30)}mo`}(e.date)})]})]})]},e.hash))})]})}var an=e.i(306308),aa=e.i(121505),as=e.i(426175);function ao({localPath:e,stashes:t,hasChanges:r,onRefresh:n}){let{t:a}=(0,j.useI18n)(),[s,o]=(0,h.useState)(!1),[i,l]=(0,h.useState)(!1),[c,d]=(0,h.useState)(""),[u,m]=(0,h.useState)(null),p=async()=>{l(!0);try{await (0,as.gitAction)(e,"stash-save",{message:c}),d(""),n8.toast.success(a("git.stashSaved")),await n()}catch(e){n8.toast.error(e instanceof Error?e.message:String(e))}finally{l(!1)}},x=async t=>{m(t);try{await (0,as.gitAction)(e,"stash-pop",{index:t}),n8.toast.success(a("git.stashApplied")),await n()}catch(e){n8.toast.error(e instanceof Error?e.message:String(e))}finally{m(null)}},g=async t=>{m(t);try{await (0,as.gitAction)(e,"stash-drop",{index:t}),n8.toast.success(a("git.stashDropped")),await n()}catch(e){n8.toast.error(e instanceof Error?e.message:String(e))}finally{m(null)}};return r||0!==t.length?(0,f.jsxs)("div",{children:[(0,f.jsxs)("button",{onClick:()=>o(!s),className:"flex w-full items-center justify-between py-1",children:[(0,f.jsxs)("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:[a("git.stash")," ",t.length>0&&`(${t.length})`]}),s?(0,f.jsx)(nG.ChevronDown,{className:"h-3 w-3 text-muted-foreground"}):(0,f.jsx)(nV.ChevronRight,{className:"h-3 w-3 text-muted-foreground"})]}),s&&(0,f.jsxs)("div",{className:"mt-1.5 space-y-2",children:[r&&(0,f.jsxs)("div",{className:"flex gap-1.5",children:[(0,f.jsx)(K.Input,{value:c,onChange:e=>d(e.target.value),placeholder:a("git.stashMsgPlaceholder"),className:"h-7 text-xs flex-1",onKeyDown:e=>"Enter"===e.key&&p()}),(0,f.jsx)(C.Button,{variant:"outline",size:"icon-sm",onClick:p,disabled:i,className:"shrink-0",children:i?(0,f.jsx)(nJ.Loader2,{className:"h-3 w-3 animate-spin"}):(0,f.jsx)(an.Archive,{className:"h-3 w-3"})})]}),t.length>0&&(0,f.jsx)("div",{className:"space-y-0.5",children:t.map(e=>(0,f.jsxs)("div",{className:"group flex items-center gap-2 rounded-md px-2 py-1.5 hover:bg-accent transition-colors",children:[(0,f.jsx)(an.Archive,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),(0,f.jsx)("span",{className:"flex-1 min-w-0 truncate text-xs text-foreground",children:e.message||`stash@{${e.index}}`}),(0,f.jsxs)("div",{className:"flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,f.jsx)(C.Button,{variant:"ghost",size:"icon-xs",onClick:()=>x(e.index),disabled:u===e.index,className:"text-muted-foreground","aria-label":a("git.stashApply"),children:u===e.index?(0,f.jsx)(nJ.Loader2,{className:"h-3 w-3 animate-spin"}):(0,f.jsx)(aa.ArrowUpFromLine,{className:"h-3 w-3"})}),(0,f.jsx)(C.Button,{variant:"ghost",size:"icon-xs",onClick:()=>g(e.index),disabled:u===e.index,className:"text-rose-400","aria-label":a("git.stashDrop"),children:(0,f.jsx)(F.Trash2,{className:"h-3 w-3"})})]})]},e.index))})]})]}):null}function ai({project:e,workspaceId:t}){let{t:r,locale:n}=(0,j.useI18n)(),a=(0,x.useRouter)(),[s,o]=(0,h.useState)(!0),[i,l]=(0,h.useState)(!0),[c,d]=(0,h.useState)(!1),[u,m]=(0,h.useState)(!1),[p,g]=(0,h.useState)(""),[v,b]=(0,h.useState)(!1),[y,N]=(0,h.useState)(!1),[w,k]=(0,h.useState)(!1),[S,E]=(0,h.useState)(e.name),[R,I]=(0,h.useState)(e.alias??""),[P,T]=(0,h.useState)(e.description??""),[O,D]=(0,h.useState)(e.localPath??""),[M,A]=(0,h.useState)(e.projectType??"FRONTEND"),[B,$]=(0,h.useState)([]);(0,h.useEffect)(()=>{n5(100).then($)},[]);let[_,z]=(0,h.useState)(!1),[W,H]=(0,h.useState)(""),[G,V]=(0,h.useState)(""),[Y,Z]=(0,h.useState)(""),[J,Q]=(0,h.useState)(""),[ee,et]=(0,h.useState)("FRONTEND"),[er,en]=(0,h.useState)(!1),[ea,es]=(0,h.useState)(!1),[eo,ei]=(0,h.useState)(null),[el,ec]=(0,h.useState)(!1),[ed,eu]=(0,h.useState)(!1),[em,ep]=(0,h.useState)(!1),ef=e=>{n8.toast.info(e)},eh=(0,h.useCallback)(async()=>{if(e.localPath){ec(!0);try{let t=await fetch(`/api/git?path=${encodeURIComponent(e.localPath)}`);t.ok&&ei(await t.json())}catch{}finally{ec(!1)}}},[e.localPath]);(0,h.useEffect)(()=>{eh()},[eh]);let ex=async()=>{if(e.localPath){eu(!0);try{(await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"init",path:e.localPath})})).ok?(ef(r("git.initSuccess")),await eh()):ef(r("git.initFailed"))}catch{ef(r("git.initFailed"))}finally{eu(!1)}}},eg=async t=>{if(e.localPath)try{let n=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"checkout",path:e.localPath,branch:t})});if(n.ok)ef(`${r("git.switchSuccess")} ${t}`),await eh();else{let e=await n.json();ef(`${r("git.switchFailed")}: ${e.error}`)}}catch{ef(r("git.switchFailed"))}},ev=(e,t)=>{a.push(`/workspaces/${e}?projectId=${t}`,{scroll:!1}),a.refresh()},eb=async()=>{if(G.trim()){en(!0);try{let e=await (0,n2.createProject)({name:G.trim(),alias:Y.trim()||void 0,description:J.trim()||void 0,localPath:W,projectType:ee,workspaceId:t});z(!1),ev(t,e.id)}catch(e){n8.toast.error(e instanceof Error?e.message:String(e))}finally{en(!1)}}},ey=async()=>{if(O&&!ea){es(!0);try{let e=await (0,n9.analyzeProjectDirectory)(O.trim(),n);T(e)}catch{n8.toast.error(r("project.analyzeError"))}finally{es(!1)}}},ej=async()=>{try{await (0,n1.updateProject)(e.id,{name:S.trim(),alias:R.trim()||void 0,description:P.trim()||void 0,localPath:O.trim()||void 0,projectType:M}),a.refresh(),d(!1)}catch(e){n8.toast.error(e instanceof Error?e.message:String(e))}};return(0,f.jsxs)("aside",{className:"relative w-72 flex-shrink-0 overflow-y-auto border-l border-border bg-sidebar",children:[(0,f.jsxs)("div",{className:"border-b border-border p-4",children:[(0,f.jsxs)("div",{className:"flex items-start justify-between",children:[(0,f.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,f.jsx)("h2",{className:"text-base font-semibold text-foreground",children:e.name}),e.alias&&(0,f.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:e.alias})]}),(0,f.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,f.jsx)(C.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{E(e.name),I(e.alias??""),T(e.description??""),D(e.localPath??""),d(!0)},className:"text-muted-foreground",children:(0,f.jsx)(L.Pencil,{className:"h-3.5 w-3.5"})}),(0,f.jsx)(C.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{g(""),m(!0)},className:"text-muted-foreground hover:text-rose-400",children:(0,f.jsx)(F.Trash2,{className:"h-3.5 w-3.5"})})]})]}),e.description&&(0,f.jsx)("p",{className:"mt-2 text-sm text-secondary-foreground leading-relaxed line-clamp-4",children:e.description}),(0,f.jsx)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:(0,f.jsx)("span",{className:`inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[11px] font-medium ${"GIT"===e.type?"bg-sky-500/15 text-sky-300 ring-1 ring-sky-500/20":"bg-muted text-muted-foreground ring-1 ring-border"}`,children:"GIT"===e.type?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(X.GitBranch,{className:"h-3 w-3"}),r("sidebar.right.gitType")]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(nq.FileText,{className:"h-3 w-3"}),r("sidebar.right.normalType")]})})}),e.localPath&&(0,f.jsxs)("div",{className:"mt-3 flex items-start gap-2 rounded-md bg-muted/50 px-2.5 py-2 text-xs",children:[(0,f.jsx)(nY.FolderOpen,{className:"mt-0.5 h-3 w-3 shrink-0 text-muted-foreground"}),(0,f.jsx)("span",{className:"break-all font-mono text-secondary-foreground",children:e.localPath})]}),e.gitUrl&&(0,f.jsxs)("div",{className:"mt-2 flex items-start gap-2 rounded-md bg-muted/50 px-2.5 py-2 text-xs",children:[(0,f.jsx)(nK.Globe,{className:"mt-0.5 h-3 w-3 shrink-0 text-muted-foreground"}),(0,f.jsx)("span",{className:"break-all text-secondary-foreground",children:e.gitUrl})]}),e.localPath&&(0,f.jsxs)(C.Button,{variant:"outline",className:"mt-3 w-full h-8 gap-1.5 text-xs",disabled:y,onClick:async()=>{N(!0);try{let r=await n4(e.id);a.push(`/workspaces/${t}/tasks/${r}`)}catch{n8.toast.error(r("git.openStudioFailed"))}finally{N(!1)}},children:[y?(0,f.jsx)(nJ.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,f.jsx)(nY.FolderOpen,{className:"h-3.5 w-3.5"}),r("git.openStudio")]})]}),(0,f.jsxs)("div",{className:"border-b border-border p-4",children:[(0,f.jsxs)(C.Button,{variant:"ghost",onClick:()=>o(!s),className:"flex w-full cursor-pointer justify-between px-2 py-2",children:[(0,f.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:r("git.section")}),s?(0,f.jsx)(nG.ChevronDown,{className:"h-3.5 w-3.5 text-muted-foreground"}):(0,f.jsx)(nV.ChevronRight,{className:"h-3.5 w-3.5 text-muted-foreground"})]}),s&&(0,f.jsx)("div",{className:"mt-3",children:e.localPath?el?(0,f.jsxs)("div",{className:"flex items-center justify-center py-4 text-muted-foreground",children:[(0,f.jsx)(nJ.Loader2,{className:"h-4 w-4 animate-spin"}),(0,f.jsx)("span",{className:"ml-2 text-xs",children:r("git.loading")})]}):eo&&!eo.isGit?(0,f.jsxs)("div",{className:"rounded-lg border border-border bg-muted/50 p-3",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,f.jsx)(nZ.AlertCircle,{className:"h-3.5 w-3.5"}),(0,f.jsx)("p",{className:"text-xs",children:r("git.notInitialized")})]}),(0,f.jsxs)(C.Button,{className:"mt-3 h-7 w-full gap-1.5 bg-primary/10 text-xs text-primary ring-1 ring-primary/20 hover:bg-primary/15",onClick:ex,disabled:ed,children:[ed?(0,f.jsx)(nJ.Loader2,{className:"h-3 w-3 animate-spin"}):(0,f.jsx)(nX,{className:"h-3 w-3"}),r("git.initRepo")]})]}):eo?.isGit?(0,f.jsxs)("div",{className:"space-y-3",children:[(0,f.jsx)(al,{localBranches:eo.branches??[],remoteBranches:(eo.remoteBranches??[]).filter(e=>!eo.branches?.includes(e)),currentBranch:eo.currentBranch??"",onSwitch:eg,onFetch:async()=>{e.localPath&&(await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"fetch",path:e.localPath})}),await eh())},onCreateBranch:()=>ep(!0)}),(0,f.jsx)(ar,{commits:eo.commits??[]}),(0,f.jsx)(ao,{localPath:e.localPath,stashes:eo.stashes??[],hasChanges:(eo.changedFiles??[]).length>0,onRefresh:eh})]}):null:(0,f.jsx)("div",{className:"rounded-lg border border-border bg-muted/50 p-3",children:(0,f.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,f.jsx)(nZ.AlertCircle,{className:"h-3.5 w-3.5"}),(0,f.jsx)("p",{className:"text-xs",children:r("git.noLocalPath")})]})})})]}),(0,f.jsxs)("div",{className:"p-4",children:[(0,f.jsxs)(C.Button,{variant:"ghost",onClick:()=>l(!i),className:"flex w-full cursor-pointer justify-between px-2 py-2",children:[(0,f.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:r("sidebar.right.browseRepo")}),i?(0,f.jsx)(nG.ChevronDown,{className:"h-3.5 w-3.5 text-muted-foreground"}):(0,f.jsx)(nV.ChevronRight,{className:"h-3.5 w-3.5 text-muted-foreground"})]}),i&&(0,f.jsxs)("div",{className:"mt-3 space-y-3",children:[(0,f.jsxs)(C.Button,{variant:"outline",className:"w-full h-8 gap-1.5 text-xs",onClick:()=>k(!0),children:[(0,f.jsx)(nY.FolderOpen,{className:"h-3.5 w-3.5"}),r("sidebar.right.browseRepo")]}),B.length>0&&(0,f.jsxs)("div",{children:[(0,f.jsx)("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5 px-1",children:r("sidebar.right.recent")}),(0,f.jsx)("div",{className:"space-y-0.5",children:B.map(t=>(0,f.jsxs)("button",{onClick:()=>{t.id!==e.id&&ev(t.workspaceId,t.id)},className:`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left transition-colors ${t.id===e.id?"bg-primary/10 text-primary cursor-default":"hover:bg-accent cursor-pointer"}`,children:["GIT"===t.type?(0,f.jsx)(X.GitBranch,{className:"h-3 w-3 shrink-0 text-emerald-400"}):(0,f.jsx)(nY.FolderOpen,{className:"h-3 w-3 shrink-0 text-primary/70"}),(0,f.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,f.jsx)("p",{className:"truncate text-xs font-medium text-foreground",children:t.name}),t.localPath&&(0,f.jsx)("p",{className:"truncate text-[10px] font-mono text-muted-foreground",children:t.localPath})]})]},t.id))})]})]})]}),(0,f.jsx)(U.Dialog,{open:c,onOpenChange:d,children:(0,f.jsxs)(U.DialogContent,{style:{maxWidth:"32rem"},children:[(0,f.jsx)(U.DialogHeader,{children:(0,f.jsx)(U.DialogTitle,{children:r("project.edit")})}),(0,f.jsxs)("div",{className:"space-y-3 py-2",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:r("project.name")}),(0,f.jsx)(K.Input,{value:S,onChange:e=>E(e.target.value),className:"mt-1.5"})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:r("project.type.label")}),(0,f.jsx)("div",{className:"mt-1.5",children:(0,f.jsx)(n7.SegmentedControl,{options:[{value:"FRONTEND",label:r("project.type.frontend")},{value:"BACKEND",label:r("project.type.backend")}],value:M,onChange:A})})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:r("project.alias")}),(0,f.jsx)(K.Input,{value:R,onChange:e=>I(e.target.value),className:"mt-1.5"})]}),(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:r("project.description")}),(0,f.jsxs)(C.Button,{type:"button",variant:"ghost",onClick:ey,className:`h-6 gap-1 px-2 text-[11px] text-muted-foreground hover:text-foreground ${!O||ea?"opacity-50":""}`,children:[ea?(0,f.jsx)(nJ.Loader2,{className:"h-3 w-3 animate-spin"}):(0,f.jsx)(nQ.Sparkles,{className:"h-3 w-3"}),ea?r("project.analyzing"):r("project.genDesc")]})]}),(0,f.jsx)(q.Textarea,{value:P,onChange:e=>T(e.target.value),rows:2,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none max-h-[200px] overflow-y-auto"})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:r("project.localPath")}),(0,f.jsxs)("div",{className:"mt-1.5 flex gap-2",children:[(0,f.jsx)(K.Input,{value:O,onChange:e=>D(e.target.value),placeholder:r("project.localPathPlaceholder"),className:"flex-1 font-mono text-xs"}),(0,f.jsx)(C.Button,{variant:"outline",onClick:()=>k(!0),className:"h-8 shrink-0",children:r("folder.browse")})]})]})]}),(0,f.jsxs)(U.DialogFooter,{children:[(0,f.jsx)(C.Button,{variant:"outline",onClick:()=>d(!1),children:r("common.cancel")}),(0,f.jsx)(C.Button,{onClick:ej,disabled:!S.trim()||ea,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:r("common.save")})]})]})}),(0,f.jsx)(n6.FolderBrowserDialog,{open:w,onOpenChange:k,onSelect:e=>{c?D(e):(e=>{let t=B.find(t=>t.localPath===e);if(t)return ev(t.workspaceId,t.id);let r=e.split("/").filter(Boolean).pop()??"";H(e),V(r),Z(""),Q(""),z(!0)})(e)}}),(0,f.jsx)(U.Dialog,{open:_,onOpenChange:z,children:(0,f.jsxs)(U.DialogContent,{className:"sm:max-w-md",children:[(0,f.jsx)(U.DialogHeader,{children:(0,f.jsx)(U.DialogTitle,{children:r("topbar.newProject")})}),(0,f.jsxs)("div",{className:"space-y-3 py-2",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:r("project.localPath")}),(0,f.jsx)("div",{className:"mt-1.5 rounded-md border border-border bg-muted/50 px-3 py-2 font-mono text-xs text-muted-foreground",children:W})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:r("project.name")}),(0,f.jsx)(K.Input,{value:G,onChange:e=>V(e.target.value),placeholder:r("project.namePlaceholder"),className:"mt-1.5"})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:r("project.type.label")}),(0,f.jsx)("div",{className:"mt-1.5",children:(0,f.jsx)(n7.SegmentedControl,{options:[{value:"FRONTEND",label:r("project.type.frontend")},{value:"BACKEND",label:r("project.type.backend")}],value:ee,onChange:et})})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:r("project.alias")}),(0,f.jsx)(K.Input,{value:Y,onChange:e=>Z(e.target.value),placeholder:r("project.aliasPlaceholder"),className:"mt-1.5"})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:r("project.description")}),(0,f.jsx)(q.Textarea,{value:J,onChange:e=>Q(e.target.value),placeholder:r("project.descPlaceholder"),rows:2,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,f.jsxs)(U.DialogFooter,{children:[(0,f.jsx)(C.Button,{variant:"outline",onClick:()=>z(!1),children:r("common.cancel")}),(0,f.jsxs)(C.Button,{onClick:eb,disabled:!G.trim()||er,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[er?(0,f.jsx)(nJ.Loader2,{className:"h-3 w-3 animate-spin mr-1"}):null,r("common.create")]})]})]})}),eo?.isGit&&(0,f.jsx)(ae.CreateBranchDialog,{open:em,onOpenChange:ep,branches:eo.branches??[],currentBranch:eo.currentBranch??"",localPath:e.localPath,onCreated:async()=>{await eh(),ef(r("git.createSuccess"))},onError:e=>ef(`${r("git.createFailed")}: ${e}`)}),(0,f.jsx)(U.Dialog,{open:u,onOpenChange:e=>{m(e),e||g("")},children:(0,f.jsxs)(U.DialogContent,{className:"sm:max-w-md",children:[(0,f.jsx)(U.DialogHeader,{children:(0,f.jsx)(U.DialogTitle,{className:"text-rose-400",children:r("project.deleteTitle")})}),(0,f.jsxs)("div",{className:"space-y-3 py-2",children:[(0,f.jsx)("p",{className:"text-sm text-muted-foreground",children:r("project.deleteWarning",{name:e.name})}),(0,f.jsx)("p",{className:"text-sm text-muted-foreground",children:r("project.deleteIrreversible")}),(0,f.jsxs)("div",{children:[(0,f.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:r("project.deleteConfirmLabel")}),(0,f.jsx)(K.Input,{value:p,onChange:e=>g(e.target.value),placeholder:r("project.deleteConfirmPlaceholder"),className:"mt-1.5",autoFocus:!0})]})]}),(0,f.jsxs)(U.DialogFooter,{children:[(0,f.jsx)(C.Button,{variant:"outline",onClick:()=>m(!1),children:r("common.cancel")}),(0,f.jsxs)(C.Button,{variant:"destructive",disabled:p!==r("project.deleteConfirmText")||v,onClick:async()=>{b(!0);try{await n3(e.id),n8.toast.success(r("project.deleteSuccess")),a.push(`/workspaces/${t}`)}catch{n8.toast.error(r("project.deleteFailed"))}finally{b(!1),m(!1)}},children:[v&&(0,f.jsx)(nJ.Loader2,{className:"h-3 w-3 animate-spin mr-1"}),r("project.deleteButton")]})]})]})})]})}function al({localBranches:e,remoteBranches:t,currentBranch:r,onSwitch:n,onFetch:a,onCreateBranch:s}){let{t:o}=(0,j.useI18n)(),[i,l]=(0,h.useState)(!1),[c,d]=(0,h.useState)(""),[u,m]=(0,h.useState)(!1),p=(0,h.useRef)(null);(0,h.useEffect)(()=>{if(i)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){p.current&&!p.current.contains(e.target)&&l(!1)}},[i]);let x=c.toLowerCase(),g=e.filter(e=>e.toLowerCase().includes(x)),v=t.filter(e=>e.toLowerCase().includes(x)),b=g.length>0||v.length>0,y=async()=>{m(!0);try{await a()}finally{m(!1)}};return(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,f.jsx)("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:o("git.currentBranch")}),(0,f.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,f.jsx)(C.Button,{variant:"ghost",size:"icon-xs",onClick:y,disabled:u,className:"text-muted-foreground","aria-label":"Fetch",children:(0,f.jsx)(n0.RefreshCw,{className:`h-3 w-3 ${u?"animate-spin":""}`})}),(0,f.jsx)(C.Button,{variant:"ghost",size:"icon-xs",onClick:s,className:"text-muted-foreground","aria-label":o("git.createBranch"),children:(0,f.jsx)(w.Plus,{className:"h-3 w-3"})})]})]}),(0,f.jsxs)("div",{className:"relative",ref:p,children:[(0,f.jsxs)("button",{onClick:()=>{l(!i),d("")},className:"flex w-full items-center justify-between rounded-lg border border-border bg-muted/50 px-3 py-2 text-left transition-colors hover:bg-accent",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,f.jsx)(X.GitBranch,{className:"h-3 w-3 shrink-0 text-emerald-400"}),(0,f.jsx)("span",{className:"truncate font-mono text-xs text-foreground",children:r||"—"})]}),(0,f.jsx)(nG.ChevronDown,{className:`h-3 w-3 shrink-0 text-muted-foreground transition-transform ${i?"rotate-180":""}`})]}),i&&(0,f.jsxs)("div",{className:"absolute left-0 right-0 top-full z-20 mt-1 rounded-lg border border-border bg-popover shadow-xl",children:[(0,f.jsx)("div",{className:"border-b border-border p-1.5",children:(0,f.jsxs)("div",{className:"relative",children:[(0,f.jsx)(k.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"}),(0,f.jsx)("input",{value:c,onChange:e=>d(e.target.value),placeholder:"Filter...",autoFocus:!0,className:"h-7 w-full rounded-md bg-muted/50 pl-7 pr-2 text-xs text-foreground placeholder-muted-foreground outline-none focus:ring-1 focus:ring-ring"})]})}),(0,f.jsxs)("div",{className:"max-h-60 overflow-auto py-1",children:[!b&&(0,f.jsx)("p",{className:"px-3 py-2 text-xs text-muted-foreground",children:"No branches found"}),g.length>0&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("p",{className:"px-3 pt-1.5 pb-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:o("git.localBranches")}),g.map(e=>{let t=e===r;return(0,f.jsxs)("button",{onClick:()=>{t||n(e),l(!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors ${t?"bg-emerald-500/10 text-emerald-400":"text-secondary-foreground hover:bg-accent"}`,children:[(0,f.jsx)(X.GitBranch,{className:"h-3 w-3 shrink-0"}),(0,f.jsx)("span",{className:"truncate font-mono text-xs",children:e}),t&&(0,f.jsx)(R.Check,{className:"h-3 w-3 ml-auto shrink-0"})]},`local-${e}`)})]}),v.length>0&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("p",{className:"px-3 pt-2.5 pb-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:o("git.remoteBranches")}),v.map(e=>(0,f.jsxs)("button",{onClick:()=>{n(e),l(!1)},className:"flex w-full items-center gap-2 px-3 py-1.5 text-left text-secondary-foreground transition-colors hover:bg-accent",children:[(0,f.jsx)(nK.Globe,{className:"h-3 w-3 shrink-0 text-sky-400"}),(0,f.jsx)("span",{className:"truncate font-mono text-xs",children:e})]},`remote-${e}`))]})]})]})]})]})}let ac=(0,v.default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);var ad=e.i(678978),au=e.i(986633),am=e.i(170528),ap=e.i(702431),af=e.i(814329),ah=e.i(583315);function ax({title:e,description:t,branch:r,baseBranch:n,hasConversation:a,updatedAt:s,onBack:o}){let{t:i}=(0,j.useI18n)();return(0,f.jsxs)("div",{className:"border-b border-border px-4 py-3",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("div",{className:"flex items-center gap-2",children:[(0,f.jsx)(nQ.Sparkles,{className:"h-3.5 w-3.5 text-primary"}),(0,f.jsx)("span",{className:"text-xs font-semibold text-primary",children:i("taskDetail.title")})]}),(0,f.jsxs)(C.Button,{variant:"ghost",onClick:o,className:"flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground h-auto px-2 py-1",children:[(0,f.jsx)(ah.ArrowLeft,{className:"h-3.5 w-3.5"}),i("taskDetail.back")]})]}),(0,f.jsx)("h2",{className:"mt-2.5 text-lg font-bold tracking-tight text-foreground",children:e}),t&&(0,f.jsx)("p",{className:"mt-1 text-xs text-muted-foreground line-clamp-2",children:t}),(0,f.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[n?(0,f.jsxs)($.Badge,{variant:"secondary",className:"bg-muted text-muted-foreground text-[10px] font-mono border border-border",children:[(0,f.jsx)(X.GitBranch,{className:"mr-1 h-3 w-3"}),n," · worktree"]}):r?(0,f.jsx)($.Badge,{variant:"secondary",className:"bg-muted text-muted-foreground text-[10px] font-mono border border-border",children:i("taskDetail.directMode")}):null,a&&(0,f.jsx)($.Badge,{variant:"secondary",className:"bg-emerald-500/10 text-emerald-400 text-[10px] border border-emerald-500/20",children:i("taskDetail.hasConversation")}),(0,f.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:[i("taskDetail.updatedAt")," ",(0,ti.formatRelativeTime)(s)]})]})]})}var ag=e.i(246762),av=e.i(960732),ab=e.i(709545),ay=e.i(660289),aj=e.i(232093),aN=e.i(806952),aw=e.i(302629),ak=e.i(829107),aC=e.i(348045),aS=e.i(727594),aE=e.i(930432),aR=e.i(751049),aI=e.i(711958),aP=e.i(512839);let aT=(0,v.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);var aO=e.i(621994),aD=e.i(800631);let aM=(0,n_.createServerReference)("40be27dbc99e12a464b7d90d7b729a73146b918978",n_.callServer,void 0,n_.findSourceMapURL,"getTaskNotes");var aA=e.i(412618);let aL=(0,n_.createServerReference)("400d3b603056b52e2d9287c8b4694de6b3ac1f24f9",n_.callServer,void 0,n_.findSourceMapURL,"getTaskAssets");var aF=e.i(619770),aB=e.i(132471);function a$({taskId:e,projectId:t}){let{t:r}=(0,j.useI18n)(),n=(0,h.useRef)(null),[a,s]=(0,h.useState)([]),[o,i]=(0,h.useState)([]),[l,c]=(0,h.useState)(!1),[d,u]=(0,h.useState)(""),[m,p]=(0,h.useState)(""),[x,g]=(0,h.useState)(!1);async function v(){d.trim()&&(await (0,aD.createNote)({title:d.trim(),content:m.trim(),projectId:t,taskId:e,category:"task"}),u(""),p(""),c(!1),aM(e).then(s))}async function b(e){await (0,aA.deleteNote)(e),s(t=>t.filter(t=>t.id!==e))}async function y(r){let a=r.target.files?.[0];if(a){g(!0);try{let r=new FormData;r.set("file",a),r.set("projectId",t),r.set("taskId",e),await (0,aF.uploadAsset)(r),aL(e).then(i)}finally{g(!1),n.current&&(n.current.value="")}}}async function N(e){await (0,aB.deleteAsset)(e),i(t=>t.filter(t=>t.id!==e))}return(0,h.useEffect)(()=>{aM(e).then(s),aL(e).then(i)},[e]),(0,f.jsx)(W.ScrollArea,{className:"h-full",children:(0,f.jsxs)("div",{className:"flex flex-col",children:[(0,f.jsxs)("div",{className:"border-b border-border px-4 py-3",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("h3",{className:"flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:[(0,f.jsx)(nq.FileText,{className:"h-3.5 w-3.5"}),r("taskPage.notes")]}),(0,f.jsxs)(C.Button,{variant:"ghost",className:"h-6 gap-1 px-2 text-xs",onClick:()=>c(!l),children:[l?(0,f.jsx)(aO.X,{className:"h-3 w-3"}):(0,f.jsx)(w.Plus,{className:"h-3 w-3"}),l?"":r("taskPage.addNote")]})]}),l&&(0,f.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,f.jsx)("input",{type:"text",value:d,onChange:e=>u(e.target.value),placeholder:r("taskPage.noteTitle"),className:"h-8 w-full rounded-md border border-border bg-background px-3 text-sm focus:outline-none focus:ring-1 focus:ring-primary",autoFocus:!0}),(0,f.jsx)("textarea",{value:m,onChange:e=>p(e.target.value),placeholder:r("taskPage.noteContent"),rows:3,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-primary resize-none"}),(0,f.jsx)(C.Button,{className:"text-xs",onClick:v,disabled:!d.trim(),children:r("taskPage.addNote")})]}),(0,f.jsxs)("div",{className:"mt-2 space-y-2",children:[0===a.length&&!l&&(0,f.jsx)("p",{className:"text-xs text-muted-foreground py-2",children:r("taskPage.noNotes")}),a.map(e=>(0,f.jsx)("div",{className:"group rounded-md border border-border bg-card p-3",children:(0,f.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,f.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,f.jsx)("h4",{className:"text-sm font-medium truncate",children:e.title}),e.content&&(0,f.jsx)("p",{className:"mt-1 text-xs text-muted-foreground line-clamp-3 whitespace-pre-wrap",children:e.content}),(0,f.jsx)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:new Date(e.createdAt).toLocaleString()})]}),(0,f.jsx)(C.Button,{variant:"ghost",size:"icon-xs",onClick:()=>b(e.id),className:"shrink-0 text-muted-foreground opacity-0 hover:bg-destructive/10 hover:text-destructive group-hover:opacity-100",title:r("taskPage.deleteNote"),children:(0,f.jsx)(F.Trash2,{className:"h-3.5 w-3.5"})})]})},e.id))]})]}),(0,f.jsxs)("div",{className:"px-4 py-3",children:[(0,f.jsxs)("div",{className:"flex items-center justify-between",children:[(0,f.jsxs)("h3",{className:"flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:[(0,f.jsx)(aT,{className:"h-3.5 w-3.5"}),r("taskPage.attachments")]}),(0,f.jsxs)(C.Button,{variant:"ghost",className:"h-6 gap-1 px-2 text-xs",onClick:()=>n.current?.click(),disabled:x,children:[(0,f.jsx)(aP.Upload,{className:"h-3 w-3"}),r("taskPage.uploadFile")]}),(0,f.jsx)("input",{ref:n,type:"file",className:"hidden",onChange:y})]}),(0,f.jsxs)("div",{className:"mt-2 space-y-1.5",children:[0===o.length&&(0,f.jsx)("p",{className:"text-xs text-muted-foreground py-2",children:r("taskPage.noAttachments")}),o.map(e=>{var t;return(0,f.jsxs)("div",{className:"group flex items-center gap-2 rounded-md border border-border bg-card px-3 py-2",children:[(0,f.jsx)(aT,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,f.jsx)("span",{className:"flex-1 truncate text-sm",children:e.filename}),(0,f.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:(t=e.size)?t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KB`:`${(t/1024/1024).toFixed(1)} MB`:""}),(0,f.jsx)(C.Button,{variant:"ghost",size:"icon-xs",onClick:()=>N(e.id),className:"shrink-0 text-muted-foreground opacity-0 hover:bg-destructive/10 hover:text-destructive group-hover:opacity-100",title:r("taskPage.deleteAttachment"),children:(0,f.jsx)(F.Trash2,{className:"h-3 w-3"})})]},e.id)})]})]})]})})}function a_({task:e,workspaceId:t,projectLocalPath:r,onClose:n}){let{t:a}=(0,j.useI18n)(),s=(0,x.useRouter)(),{removePortal:o}=(0,ab.useTerminalPortal)(),[i,l]=(0,h.useState)("terminal"),[c,d]=(0,h.useState)(null),[u,m]=(0,h.useState)(!1),[p,g]=(0,h.useState)(e.status);(0,h.useEffect)(()=>{g(e.status)},[e.status]);let[v,b]=(0,h.useState)(null),[y,N]=(0,h.useState)(!1),[w,k]=(0,h.useState)(!1),[S,E]=(0,h.useState)([]);(0,h.useEffect)(()=>{b(null),N(!1),k(!1),E([]),d(null),l("terminal")},[e.id]);let[R,I]=(0,h.useState)([]),[P,T]=(0,h.useState)(null);(0,h.useEffect)(()=>{let e=!1;return(0,aR.getPrompts)().then(t=>{if(e)return;I(t.map(e=>({id:e.id,name:e.name,isDefault:e.isDefault})));let r=t.find(e=>e.isDefault);r&&T(r.id)}),()=>{e=!0}},[]),(0,h.useEffect)(()=>{b(null),k(!1);let t=!1;return(0,ay.getTaskExecutions)(e.id).then(e=>{if(t)return;let n=e[0];if(n?.status==="RUNNING"){let e=n.worktreePath||r||null;e&&b(e)}E(e.filter(e=>"RUNNING"!==e.status)),k(!0)}),()=>{t=!0}},[e.id]),(0,h.useEffect)(()=>{if("changes"!==i||"TODO"===p||"CANCELLED"===p)return;let t=!1;return m(!0),fetch(`/api/tasks/${e.id}/diff`).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}).then(e=>{t||d(e?.files||e?.branchDeleted?e:null)}).catch(()=>{t||d(null)}).finally(()=>{t||m(!1)}),()=>{t=!0}},[i,p,e.id]);let O=(0,h.useCallback)(async()=>{if(!y){N(!0);try{let{worktreePath:t}=await (0,aj.startPtyExecution)(e.id,"",P);b(t),g("IN_PROGRESS")}catch(e){N(!1),n8.toast.error(e instanceof Error?e.message:String(e))}}},[e.id,y,P]),D=(0,h.useCallback)(t=>{N(!1),b(null),o(e.id),0===t&&g("IN_REVIEW"),(0,ay.getTaskExecutions)(e.id).then(e=>{E(e.filter(e=>"RUNNING"!==e.status))}),s.refresh()},[s,e.id]),M=(0,h.useCallback)(async()=>{await (0,aN.stopPtyExecution)(e.id),N(!1),b(null),g("IN_REVIEW"),(0,ay.getTaskExecutions)(e.id).then(e=>{E(e.filter(e=>"RUNNING"!==e.status))}),s.refresh()},[e.id,s]),A=(0,h.useCallback)(async t=>{N(!0),o(e.id),b(null);try{let{worktreePath:r}=await (0,aw.resumePtyExecution)(e.id,t);b(r),g("IN_PROGRESS")}catch{N(!1)}},[e.id,o]),L=(0,h.useCallback)(async()=>{N(!0),o(e.id),b(null);try{let{worktreePath:t}=await (0,ak.continueLatestPtyExecution)(e.id);b(t),g("IN_PROGRESS")}catch(e){N(!1),n8.toast.error(e instanceof Error?e.message:String(e))}},[e.id,o]),[F,B]=(0,h.useState)(!1),[$,_]=(0,h.useState)([]),z=(0,h.useCallback)(async()=>{try{let t=await (0,aS.checkWorktreeClean)(e.id);if(t.hasWorktree&&!t.clean)return void n8.toast.error(a("taskPage.uncommittedChanges",{count:String(t.files.length)}));if(t.hasWorktree&&t.clean&&!t.hasCommits)return void n8.toast.error(a("taskPage.noChangesToComplete"));if(t.hasWorktree&&t.hasCommits){_(t.commitLog),B(!0);return}await (0,aC.updateTaskStatus)(e.id,"DONE"),g("DONE"),n8.toast.success(a("taskPage.taskCompleted")),s.refresh()}catch{n8.toast.error("Failed to complete task")}},[e.id,s,a]),U=(0,h.useCallback)(()=>{g("DONE"),B(!1),n8.toast.success(a("taskPage.taskCompleted")),s.refresh()},[s,a]),H=(0,h.useCallback)(async t=>{try{let{hash:r}=await (0,aE.commitWorktreeChanges)(e.id,t);n8.toast.success(a("diff.commitSuccess",{hash:r})),s.refresh();let n=await fetch(`/api/tasks/${e.id}/diff`);if(n.ok){let e=await n.json();d(e?.files?e:null)}}catch(e){n8.toast.error(e instanceof Error?e.message:"Commit failed")}},[e.id,s,a]);return(0,f.jsxs)("div",{className:"flex h-full w-[600px] flex-shrink-0 flex-col border-l border-border bg-sidebar","data-testid":"task-detail-panel",children:[(0,f.jsx)(ax,{title:e.title,description:a("taskDetail.panelDescription"),branch:`task/${e.id}`,baseBranch:e.baseBranch,hasConversation:!1,updatedAt:e.updatedAt,onBack:n}),(0,f.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2",children:[(0,f.jsxs)("div",{className:"flex gap-1",children:[(0,f.jsxs)("button",{onClick:()=>l("terminal"),className:`flex items-center gap-1.5 px-3 py-1 text-xs font-medium rounded-md ${"terminal"===i?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,f.jsx)(ad.Terminal,{className:"h-3 w-3"}),a("terminal.execute")]}),(0,f.jsx)("button",{onClick:()=>l("changes"),className:`px-3 py-1 text-xs font-medium rounded-md ${"changes"===i?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"}`,children:a("taskPage.changes")}),(0,f.jsxs)("button",{onClick:()=>l("notes"),className:`flex items-center gap-1.5 px-3 py-1 text-xs font-medium rounded-md ${"notes"===i?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,f.jsx)(nq.FileText,{className:"h-3 w-3"}),a("taskPage.notes")]})]}),(0,f.jsxs)("div",{className:"flex items-center gap-2",children:["IN_REVIEW"===p&&(0,f.jsxs)(C.Button,{size:"sm",onClick:z,className:"bg-emerald-500/15 text-emerald-400 ring-1 ring-emerald-500/20 hover:bg-emerald-500/25",children:[(0,f.jsx)(am.CheckCircle2,{className:"h-3 w-3"}),a("taskPage.completeTask")]}),"DONE"!==p&&"CANCELLED"!==p&&(0,f.jsxs)(C.Button,{variant:"ghost",size:"sm",onClick:()=>s.push(`/workspaces/${t}/tasks/${e.id}`),className:"text-muted-foreground",children:[(0,f.jsx)(ac,{className:"h-3 w-3"}),a("taskPage.viewDetails")]})]})]}),"terminal"===i?(0,f.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:w?v?(0,f.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,f.jsxs)("div",{className:"shrink-0 flex items-center justify-between border-b border-neutral-800 px-3 py-2 bg-[#0f1419]",children:[(0,f.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-emerald-400",children:[(0,f.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"}),a("execution.running")]}),(0,f.jsxs)(af.Tooltip,{children:[(0,f.jsxs)(af.TooltipTrigger,{onClick:M,className:"flex items-center gap-1.5 rounded-md bg-red-500/15 px-3 py-1 text-xs font-medium text-red-400 hover:bg-red-500/25 transition-colors",children:[(0,f.jsx)(au.Square,{className:"h-3 w-3"}),a("terminal.stopExecution")]}),(0,f.jsx)(af.TooltipContent,{side:"bottom",children:a("terminal.stopHint")})]})]}),(0,f.jsx)("div",{className:"flex-1 min-h-0",children:(0,f.jsx)(ab.TerminalOutlet,{taskId:e.id,worktreePath:v,onSessionEnd:D})})]}):"DONE"===p||"CANCELLED"===p?(0,f.jsx)("div",{className:"flex h-full flex-col overflow-hidden",children:(0,f.jsx)(W.ScrollArea,{className:"flex-1 min-h-0",children:(0,f.jsx)(aI.ExecutionTimeline,{executions:S})})}):(0,f.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,f.jsxs)("div",{className:"shrink-0 flex items-center gap-2 border-b border-border px-4 py-3",children:[R.length>0&&(0,f.jsxs)(ap.Select,{defaultValue:P??"none",onValueChange:e=>T("none"===e?null:e),children:[(0,f.jsx)(ap.SelectTrigger,{size:"sm",className:"min-w-[120px]",children:(0,f.jsx)("span",{className:"text-left truncate",children:P?R.find(e=>e.id===P)?.name??a("terminal.noPrompt"):a("terminal.noPrompt")})}),(0,f.jsxs)(ap.SelectContent,{className:"min-w-[200px]",children:[(0,f.jsx)(ap.SelectItem,{value:"none",children:a("terminal.noPrompt")}),R.map(e=>(0,f.jsxs)(ap.SelectItem,{value:e.id,children:[e.name,e.isDefault?" ★":""]},e.id))]})]},`prompt-${R.length}`),(0,f.jsxs)(C.Button,{onClick:O,disabled:y,size:"sm",className:"gap-2 px-4",children:[y?(0,f.jsx)(nJ.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,f.jsx)(ad.Terminal,{className:"h-3.5 w-3.5"}),y?a("terminal.executing"):a("terminal.launch")]})]}),(0,f.jsx)(W.ScrollArea,{className:"flex-1 min-h-0",children:(0,f.jsx)(aI.ExecutionTimeline,{executions:S,onResume:A,onContinueLatest:L})})]}):(0,f.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 bg-[#0f1419]",children:[(0,f.jsx)(nJ.Loader2,{className:"size-5 animate-spin text-neutral-500"}),(0,f.jsx)("span",{className:"text-xs text-neutral-500",children:a("execution.loading")})]})}):"changes"===i?(0,f.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:u?(0,f.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,f.jsx)("p",{className:"text-sm text-muted-foreground",children:a("taskPage.loadingDiff")})}):c?.branchDeleted?(0,f.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,f.jsx)("p",{className:"text-sm text-muted-foreground",children:a("taskPage.branchDeleted")})}):c?(0,f.jsx)(ag.TaskDiffView,{files:c.files,totalAdded:c.totalAdded,totalRemoved:c.totalRemoved,hasConflicts:c.hasConflicts,conflictFiles:c.conflictFiles,onCommit:H,hasUncommitted:c.hasUncommitted}):(0,f.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,f.jsx)("p",{className:"text-sm text-muted-foreground",children:a("taskPage.noChanges")})})}):"notes"===i?(0,f.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,f.jsx)(a$,{taskId:e.id,projectId:e.projectId})}):null,(0,f.jsx)(av.TaskMergeConfirmDialog,{open:F,onOpenChange:B,taskId:e.id,taskTitle:e.title,baseBranch:e.baseBranch??"main",fileCount:c?.files?.length??0,commitCount:c?.commitCount??0,commitLog:$,onMergeComplete:U})]})}let az=(0,n_.createServerReference)("401d99cb9570cdaa0e5921a5e6e4b6d88d5069e72e",n_.callServer,void 0,n_.findSourceMapURL,"createTask"),aU=(0,n_.createServerReference)("60fc14c737e7affbcdac5bcad5b602ff46710ee717",n_.callServer,void 0,n_.findSourceMapURL,"updateTask"),aW=(0,n_.createServerReference)("40bfe502f8d134b32e4fc087ce719739c82a56109f",n_.callServer,void 0,n_.findSourceMapURL,"deleteTask"),aH=(0,n_.createServerReference)("408b5b009a2ee7ab3eb33f122519d7663c525c7479",n_.callServer,void 0,n_.findSourceMapURL,"toggleTaskPinned");var aG=e.i(494094);function aV({projects:e,activeProjectId:t,onSelect:r}){let n=(0,h.useRef)(null),[a,s]=(0,h.useState)(!1),[o,i]=(0,h.useState)(!1),l=()=>{let e=n.current;e&&(s(e.scrollLeft>0),i(e.scrollLeft<e.scrollWidth-e.clientWidth-1))};(0,h.useEffect)(()=>{l();let e=n.current;if(e){e.addEventListener("scroll",l);let t=new ResizeObserver(l);return t.observe(e),()=>{e.removeEventListener("scroll",l),t.disconnect()}}},[e]);let c=e=>{let t=n.current;t&&t.scrollBy({left:"left"===e?-150:150,behavior:"smooth"})};return(0,f.jsxs)("div",{className:"relative flex items-center",children:[a&&(0,f.jsx)("button",{onClick:()=>c("left"),className:"absolute left-0 z-10 flex h-8 w-8 items-center justify-center rounded-md bg-background/90 text-muted-foreground shadow-sm ring-1 ring-border backdrop-blur-sm transition-colors hover:text-foreground",children:(0,f.jsx)(aG.ChevronLeft,{className:"h-4 w-4"})}),(0,f.jsx)("div",{ref:n,className:"flex items-center gap-1.5 overflow-x-auto scrollbar-none px-1 py-1",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:e.map(e=>{let n=t===e.id;return(0,f.jsxs)("button",{onClick:()=>{n||r(e.id)},className:`shrink-0 rounded-lg border-b-2 px-4 py-2 text-sm font-medium transition-colors ${n?"border-primary bg-primary/10 text-primary ring-1 ring-primary/20 cursor-default":"border-transparent text-muted-foreground hover:bg-accent hover:text-foreground cursor-pointer"}`,children:[(0,f.jsx)("span",{children:e.name}),e.alias&&(0,f.jsx)("span",{className:"ml-1.5 text-xs text-muted-foreground font-normal",children:e.alias})]},e.id)})}),o&&(0,f.jsx)("button",{onClick:()=>c("right"),className:"absolute right-0 z-10 flex h-8 w-8 items-center justify-center rounded-md bg-background/90 text-muted-foreground shadow-sm ring-1 ring-border backdrop-blur-sm transition-colors hover:text-foreground",children:(0,f.jsx)(nV.ChevronRight,{className:"h-4 w-4"})})]})}e.s(["BoardPageClient",0,function({workspaceId:e,projectId:t,project:r,projects:n,initialTasks:a,labels:s,openTaskId:o}){let i=(0,x.useRouter)(),[,l]=(0,h.useTransition)(),[c,d]=(0,h.useState)(""),[u,m]=(0,h.useState)(!1),[p,g]=(0,h.useState)("TODO"),[v,b]=(0,h.useState)(o?a.find(e=>e.id===o)??null:null),[y,j]=(0,h.useState)(null),w=(0,h.useCallback)(()=>{l(()=>{i.refresh()})},[i]);(0,h.useEffect)(()=>{if(u)return;let e=setInterval(()=>{l(()=>{i.refresh()})},5e3);return()=>clearInterval(e)},[i,u]);let k=(0,h.useCallback)(e=>{d(e)},[]),C=(0,h.useCallback)(async(e,t)=>{await (0,aC.updateTaskStatus)(e,t),v?.id===e&&b({...v,status:t}),w()},[w,v]),E=(0,h.useCallback)(async e=>{await az({title:e.title,description:e.description,projectId:t,priority:e.priority,status:e.status,labelIds:e.labelIds,baseBranch:e.baseBranch,subPath:e.subPath}),w()},[t,w]),R=(0,h.useCallback)(async(e,t)=>{await aU(e,{...t,labelIds:t.labelIds}),j(null),w()},[w]),P=(0,h.useCallback)(async e=>{await aW(e),v?.id===e&&b(null),w()},[w,v]),T=(0,h.useCallback)(async e=>{await aH(e),w()},[w]),O=(0,h.useCallback)(async t=>{try{await (0,aj.startPtyExecution)(t,"")}catch(e){n8.toast.error(e instanceof Error?e.message:String(e))}i.push(`/workspaces/${e}/tasks/${t}`)},[i,e]),D=(0,h.useCallback)(async(e,t)=>{await (0,aC.updateTaskStatus)(e,t),v?.id===e&&b({...v,status:t}),w()},[w,v]),M=(0,h.useCallback)(e=>{g(e),j(null),m(!0)},[]),A=(0,h.useCallback)(e=>{j(e),m(!0)},[]),L=a.filter(e=>!e.labels?.some(e=>e.label.name===I.TOWER_LABEL_NAME&&e.label.isBuiltin)),F=c.trim()?L.filter(e=>{let t=c.toLowerCase();return e.title.toLowerCase().includes(t)||(e.description?.toLowerCase().includes(t)??!1)}):L;return(0,f.jsxs)("div",{className:"flex h-full",children:[(0,f.jsxs)("div",{className:"flex flex-1 flex-col overflow-hidden",children:[(0,f.jsx)("div",{className:"px-6 pt-3 pb-1",children:(0,f.jsx)(aV,{projects:n,activeProjectId:t,onSelect:t=>i.push(`/workspaces/${e}?projectId=${t}`,{scroll:!1})})}),(0,f.jsx)(N,{totalTasks:L.length,runningTasks:L.filter(e=>"IN_PROGRESS"===e.status).length}),(0,f.jsx)(S,{searchQuery:c,onSearchChange:k,onCreateTask:()=>{j(null),m(!0)}}),(0,f.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden p-4",children:(0,f.jsx)(V,{initialTasks:F,onTaskMove:C,onTaskClick:e=>{b(e)},onEditTask:A,onAddTask:M,onDeleteTask:P,onTogglePin:T,workspaceId:e,onContextMenuStatusChange:D,onContextMenuLaunch:O})}),(0,f.jsx)(nH,{open:u,onOpenChange:e=>{m(e),e||j(null)},onSubmit:E,onUpdate:R,defaultStatus:p,editTask:y,editTaskLabelIds:y?.labels?y.labels.map(e=>e.labelId):[],labels:s.filter(e=>!(e.name===I.TOWER_LABEL_NAME&&e.isBuiltin)),projectType:r.type,projectLocalPath:r.localPath})]}),v?(0,f.jsx)(a_,{task:v,workspaceId:e,projectLocalPath:r.localPath,onClose:()=>b(null)}):(0,f.jsx)(ai,{project:r,workspaceId:e})]})}],82341)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,103297,e=>{"use strict";var t=e.i(755683);let s=(0,t.createServerReference)("400bf7f06635db00f1075ca25bbac9a060a36589af",t.callServer,void 0,t.findSourceMapURL,"getConfigValues");e.s(["getConfigValues",0,s])},113205,e=>{"use strict";var t=e.i(430989),s=e.i(47816);e.s(["EmptyState",0,function({icon:e,title:r,description:a,action:i,className:n}){return(0,t.jsxs)("div",{className:(0,s.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",n),children:[e&&(0,t.jsx)(e,{className:"h-10 w-10 text-muted-foreground/40"}),(0,t.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:r}),a&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60",children:a}),i&&(0,t.jsx)("div",{className:"mt-2",children:i})]})}])},174145,e=>{"use strict";var t=e.i(228202),s=e.i(703995),r=e.i(555138),a=e.i(47816);let i=(0,r.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:r="default",render:n,...l}){var o;return o={defaultTagName:"span",props:(0,t.mergeProps)({className:(0,a.cn)(i({variant:r}),e)},l),render:n,state:{slot:"badge",variant:r}},(0,s.useRenderElement)(o.defaultTagName??"div",o,o)}],174145)},806952,e=>{"use strict";var t=e.i(755683);let s=(0,t.createServerReference)("4012c0bc23424605056e6aae4956aa7718060ca459",t.callServer,void 0,t.findSourceMapURL,"stopPtyExecution");e.s(["stopPtyExecution",0,s])},232093,e=>{"use strict";var t=e.i(755683);let s=(0,t.createServerReference)("7886ea6863d0931282634b87c57a3551c22c488c3b",t.callServer,void 0,t.findSourceMapURL,"startPtyExecution");e.s(["startPtyExecution",0,s])},302629,545315,e=>{"use strict";var t=e.i(755683);let s=(0,t.createServerReference)("60ff3af7bd9fbc86b8e4acf2805e6b108b1c083d61",t.callServer,void 0,t.findSourceMapURL,"resumePtyExecution");e.s(["resumePtyExecution",0,s],302629);let r=(0,e.i(258114).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,r],545315)},689795,e=>{"use strict";var t=e.i(755683);let s=(0,t.createServerReference)("406ace73fa66f80c83acaaec980439ec83b119040f",t.callServer,void 0,t.findSourceMapURL,"openInTerminal");e.s(["openInTerminal",0,s])},869308,e=>{"use strict";var t=e.i(430989),s=e.i(641338),r=e.i(349369),a=e.i(755683);let i=(0,a.createServerReference)("007d2549a6289f05294d74bc2e40423a85bc1f2d56",a.callServer,void 0,a.findSourceMapURL,"getActiveExecutionsAcrossWorkspaces");var n=e.i(806952);let l=[{id:"1x1",label:"1×1",cols:1,rows:1,minHeight:"480px",desc:"Focus mode"},{id:"2x1",label:"2×1",cols:2,rows:1,minHeight:"480px",desc:"Side by side"},{id:"3x2",label:"3×2",cols:3,rows:2,minHeight:"300px",desc:"Default"},{id:"2x2",label:"2×2",cols:2,rows:2,minHeight:"300px",desc:"Balanced"},{id:"4x2",label:"4×2",cols:4,rows:2,minHeight:"240px",desc:"Wide monitor"},{id:"3x3",label:"3×3",cols:3,rows:3,minHeight:"240px",desc:"Max overview"}];var o=e.i(702431),c=e.i(744838),d=e.i(113205),u=e.i(258114);let m=(0,u.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);var x=e.i(103297);function h({cols:e,rows:s,active:r}){let a=Array.from({length:e*s});return(0,t.jsx)("div",{className:`grid gap-[1px] w-7 h-5 p-[3px] rounded-sm border shrink-0 ${r?"border-primary bg-primary/10":"border-border bg-muted"}`,style:{gridTemplateColumns:`repeat(${e}, 1fr)`,gridTemplateRows:`repeat(${s}, 1fr)`},children:a.map((e,s)=>(0,t.jsx)("div",{className:`rounded-[1px] min-w-0 min-h-0 ${r?"bg-primary":"bg-muted-foreground/40"}`},s))})}let p="custom";function f({value:e,customValue:a,onChange:i}){let{t:n}=(0,r.useI18n)(),[o,d]=(0,s.useState)(!1),u=(0,s.useRef)(null),m=e===p,g=m?null:l.find(t=>t.id===e)??l[2],[v,b]=(0,s.useState)(a?.cols??2),[j,w]=(0,s.useState)(a?.rows??2),[y,k]=(0,s.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5});(0,s.useEffect)(()=>{(0,x.getConfigValues)(["missions.grid.minCols","missions.grid.maxCols","missions.grid.minRows","missions.grid.maxRows"]).then(e=>{k({minCols:e["missions.grid.minCols"]??1,maxCols:e["missions.grid.maxCols"]??5,minRows:e["missions.grid.minRows"]??1,maxRows:e["missions.grid.maxRows"]??5})})},[]),(0,s.useEffect)(()=>{a&&(b(a.cols),w(a.rows))},[a?.cols,a?.rows]),(0,s.useEffect)(()=>{if(o)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){u.current&&!u.current.contains(e.target)&&d(!1)}},[o]);let N=(e,t,s)=>Math.max(t,Math.min(s,e)),S=m?v:g?.cols??2,I=m?j:g?.rows??2,C=m?`${v}\xd7${j}`:g?.label??"";return(0,t.jsxs)("div",{ref:u,className:"relative",children:[(0,t.jsxs)(c.Button,{variant:"outline",onClick:()=>d(e=>!e),className:"gap-2",children:[(0,t.jsx)(h,{cols:S,rows:I,active:!1}),(0,t.jsx)("span",{children:C}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"▼"})]}),o&&(0,t.jsxs)("div",{className:"absolute right-0 z-50 mt-1 w-72 rounded-lg border border-border bg-popover shadow-xl p-3",children:[(0,t.jsx)("h5",{className:"text-sm font-semibold text-foreground mb-3",children:n("missions.gridPreset")}),(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[l.map(s=>{let r=s.id===e;return(0,t.jsxs)("button",{onClick:()=>{i(s.id),d(!1)},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors ${r?"bg-primary/10":"hover:bg-accent"}`,children:[(0,t.jsx)(h,{cols:s.cols,rows:s.rows,active:r}),(0,t.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${r?"text-primary":"text-foreground"}`,children:s.label}),(0,t.jsx)("span",{className:`text-xs ${r?"text-primary/60":"text-muted-foreground"}`,children:s.desc})]},s.id)}),(0,t.jsxs)("div",{className:"mt-1 border-t border-border pt-2",children:[(0,t.jsxs)("button",{onClick:()=>{m||i(p,{cols:v,rows:j})},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors w-full ${m?"bg-primary/10":"hover:bg-accent"}`,children:[(0,t.jsx)(h,{cols:v,rows:j,active:m}),(0,t.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${m?"text-primary":"text-foreground"}`,children:n("missions.gridCustom")}),(0,t.jsxs)("span",{className:`text-xs ${m?"text-primary/60":"text-muted-foreground"}`,children:[v,"×",j]})]}),m&&(0,t.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("label",{className:"text-xs text-muted-foreground",children:n("missions.gridCols")}),(0,t.jsx)("input",{type:"number",min:y.minCols,max:y.maxCols,value:v,onChange:e=>{let t;b(t=N(Number(e.target.value),y.minCols,y.maxCols)),i(p,{cols:t,rows:j})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]}),(0,t.jsx)("span",{className:"text-muted-foreground",children:"×"}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("label",{className:"text-xs text-muted-foreground",children:n("missions.gridRows")}),(0,t.jsx)("input",{type:"number",min:y.minRows,max:y.maxRows,value:j,onChange:e=>{let t;w(t=N(Number(e.target.value),y.minRows,y.maxRows)),i(p,{cols:v,rows:t})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]})]})]})]})]})]})}var g=e.i(852665),v=e.i(883759),b=e.i(673898),j=e.i(347880),w=e.i(565686);let y=(0,u.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),k=(0,u.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var N=e.i(621994);let S=(0,u.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);var I=e.i(814329),C=e.i(174145),R=e.i(689795),T=e.i(151201);let E=(0,b.default)(()=>e.A(324987).then(e=>e.TaskTerminal),{loadableGenerated:{modules:[7468]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"h-full w-full bg-[#0a0a0a] animate-pulse"})});function M({execution:e,isRemoving:a,removeReason:i,onStop:n,onSessionEnd:l}){let{t:o}=(0,r.useI18n)(),d=(0,j.useRouter)(),{attributes:u,listeners:m,setNodeRef:x,transform:h,transition:p}=(0,v.useSortable)({id:e.executionId}),f={transform:w.CSS.Transform.toString(h),transition:p,opacity:+!a},[g,b]=(0,s.useState)(()=>e.startedAt?Math.floor((Date.now()-new Date(e.startedAt).getTime())/1e3):0);(0,s.useEffect)(()=>{if(a)return;let t=setInterval(()=>{b(e.startedAt?Math.floor((Date.now()-new Date(e.startedAt).getTime())/1e3):0)},1e3);return()=>clearInterval(t)},[e.startedAt,a]);let L=Math.floor(g/60),P=`${L}m ${g%60}s`;async function A(){if(e.projectLocalPath)try{await (0,R.openInTerminal)(e.projectLocalPath)}catch{T.toast.error(o("preview.terminalError"))}}return(0,t.jsxs)("div",{ref:x,style:f,className:"border border-border rounded-lg overflow-hidden flex flex-col transition-opacity duration-300",...u,children:[(0,t.jsxs)("div",{className:"h-10 px-3 flex items-center gap-1 border-b border-border bg-card shrink-0",children:[(0,t.jsx)("button",{...m,"aria-label":o("missions.dragHandle"),"aria-roledescription":"sortable",className:"cursor-grab text-muted-foreground hover:text-foreground mr-1",children:(0,t.jsx)(y,{className:"h-3.5 w-3.5"})}),(0,t.jsxs)("span",{className:"text-[11px] text-muted-foreground truncate flex-1",children:[e.workspaceName," ›"," ",e.projectAlias||e.projectName," ›"," ",(0,t.jsx)("span",{className:"text-foreground font-semibold",children:e.taskTitle})]}),a?(0,t.jsx)(C.Badge,{variant:"outline",className:"text-[11px] text-muted-foreground bg-muted ml-1 shrink-0",children:"stopped"===i?o("missions.statusStopped"):o("missions.statusCompleted")}):(0,t.jsx)(C.Badge,{variant:"outline",className:"text-[11px] text-primary border-primary/30 bg-primary/10 ml-1 shrink-0",children:o("missions.statusRunning")}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground ml-1 shrink-0",children:P}),e.projectLocalPath&&(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(c.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:A}),children:(0,t.jsx)(S,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(I.TooltipContent,{children:o("missions.openInTerminal")})]}),(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(c.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:()=>d.push(`/workspaces/${e.workspaceId}/tasks/${e.taskId}`)}),children:(0,t.jsx)(k,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(I.TooltipContent,{children:o("missions.openFullView")})]}),(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(c.Button,{variant:"destructive",size:"icon",className:"ml-1 shrink-0",onClick:()=>n(e.taskId),disabled:a}),children:(0,t.jsx)(N.X,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(I.TooltipContent,{children:o("missions.stopTask")})]})]}),(0,t.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,t.jsx)(E,{taskId:e.taskId,worktreePath:e.worktreePath??e.projectLocalPath,onSessionEnd:t=>l?.(e.taskId,t),useCanvasRenderer:!0})})]})}let L=(0,a.createServerReference)("40275ae914558cbf323b3f33269e46948537c6e7c1",a.callServer,void 0,a.findSourceMapURL,"getWorkspacesWithRecentTasks"),P=(0,a.createServerReference)("40135613f92147bd38bf30615005c52f9aeadf11d3",a.callServer,void 0,a.findSourceMapURL,"getProjectTasks");var A=e.i(232093),O=e.i(302629),$=e.i(331548);let D=(0,u.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"}]]);var B=e.i(545315),H=e.i(24887);let z={TODO:"TODO",IN_PROGRESS:"Running",IN_REVIEW:"Review"},V={LOW:"Low",MEDIUM:"Med",HIGH:"High",CRITICAL:"Crit"};function U({status:e}){return(0,t.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${{TODO:"bg-slate-100 text-slate-600 dark:bg-slate-800 dark:text-slate-400",IN_PROGRESS:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",IN_REVIEW:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400"}[e]??"bg-slate-100 text-slate-600"}`,children:z[e]??e})}function F({task:e,isRunning:s,launchingId:r,onLaunchNew:a,onResume:i,t:n}){let l=e.executions?.[0]?.sessionId,o=r===e.id;return(0,t.jsxs)("div",{className:"group/task flex items-center gap-2 px-3 py-1.5 hover:bg-accent/50 cursor-default",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:`text-sm truncate ${s?"italic text-muted-foreground":""}`,children:e.title}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 mt-0.5",children:[(0,t.jsx)(U,{status:e.status}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:V[e.priority]??e.priority})]})]}),s?(0,t.jsx)("span",{className:"text-[10px] italic text-muted-foreground shrink-0",children:n("missions.alreadyMonitored")}):(0,t.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/task:opacity-100 transition-opacity shrink-0",children:[l&&(0,t.jsxs)(c.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>i(e.id,l),disabled:o,title:n("missions.continueSession"),children:[(0,t.jsx)(B.RotateCcw,{className:"h-3 w-3 mr-1"}),n("missions.continueLabel")]}),(0,t.jsxs)(c.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>a(e.id),disabled:o,title:n("missions.launchNew"),children:[(0,t.jsx)(D,{className:"h-3 w-3 mr-1"}),o?"...":n("missions.launchNewLabel")]})]})]})}function W({open:e,onOpenChange:a,onLaunchNew:i,onResume:n,runningTaskIds:l,launchingId:c}){let{t:d}=(0,r.useI18n)(),[u,m]=(0,s.useState)([]),[x,h]=(0,s.useState)(""),[p,f]=(0,s.useState)(""),[g,v]=(0,s.useState)([]);(0,s.useEffect)(()=>{e&&(h(""),f(""),v([]),L(100).then(m).catch(()=>T.toast.error(d("missions.error.launchFailed"))))},[e,d]),(0,s.useEffect)(()=>{p?P(p).then(e=>{v(e.filter(e=>"TODO"===e.status||"IN_PROGRESS"===e.status||"IN_REVIEW"===e.status))}).catch(()=>T.toast.error(d("missions.error.launchFailed"))):v([])},[p,d]);let b=u.find(e=>e.id===x),j=b?.projects??[];return(0,t.jsx)($.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)($.DialogContent,{className:"max-w-lg max-h-[70vh] flex flex-col",children:[(0,t.jsx)($.DialogHeader,{children:(0,t.jsx)($.DialogTitle,{children:d("missions.fullPickerTitle")})}),(0,t.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,t.jsxs)(o.Select,{value:x,onValueChange:e=>{h(e??""),f("")},children:[(0,t.jsx)(o.SelectTrigger,{id:"full-picker-ws",className:"w-48 h-8",children:(0,t.jsx)("span",{className:"truncate",children:u.find(e=>e.id===x)?.name??d("missions.launcher.selectWorkspace")})}),(0,t.jsx)(o.SelectContent,{children:u.map(e=>(0,t.jsx)(o.SelectItem,{value:e.id,children:e.name},e.id))})]}),(0,t.jsxs)(o.Select,{value:p,onValueChange:e=>f(e??""),disabled:!x,children:[(0,t.jsx)(o.SelectTrigger,{id:"full-picker-proj",className:"w-48 h-8",children:(0,t.jsx)("span",{className:"truncate",children:j.find(e=>e.id===p)?.name??d("missions.launcher.selectProject")})}),(0,t.jsx)(o.SelectContent,{children:j.map(e=>(0,t.jsx)(o.SelectItem,{value:e.id,children:e.alias??e.name},e.id))})]})]}),(0,t.jsx)(H.ScrollArea,{className:"flex-1 min-h-0 -mx-2",children:0===g.length&&p?(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:d("missions.launcher.noTasks")}):0===g.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:d("missions.fullPickerHint")}):g.map(e=>(0,t.jsx)(F,{task:e,isRunning:l.has(e.id),launchingId:c,onLaunchNew:i,onResume:n,t:d},e.id))})]})})}function _({open:e,onOpenChange:a,onLaunched:i,runningTaskIds:n=new Set,anchorRef:l}){let{t:o}=(0,r.useI18n)(),d=(0,s.useRef)(null),[u,m]=(0,s.useState)([]),[x,h]=(0,s.useState)(!1),[p,f]=(0,s.useState)(null),[g,v]=(0,s.useState)(!1);(0,s.useEffect)(()=>{e&&(h(!0),L(3).then(m).catch(()=>T.toast.error(o("missions.error.launchFailed"))).finally(()=>h(!1)))},[e,o]),(0,s.useEffect)(()=>{if(e)return document.addEventListener("mousedown",t),()=>document.removeEventListener("mousedown",t);function t(e){let t=e.target;if(d.current&&!d.current.contains(t)){if(l?.current&&l.current.contains(t))return;a(!1)}}},[e,a,l]);let b=(0,s.useCallback)(async e=>{try{f(e),await (0,A.startPtyExecution)(e,""),i(e),a(!1),v(!1)}catch{T.toast.error(o("missions.error.launchFailed"))}finally{f(null)}},[i,a,o]),j=(0,s.useCallback)(async(e,t)=>{try{f(e),await (0,O.resumePtyExecution)(e,t),i(e),a(!1),v(!1)}catch{T.toast.error(o("missions.error.launchFailed"))}finally{f(null)}},[i,a,o]),w=(0,s.useCallback)(()=>{a(!1),v(!0)},[a]);return e||g?(0,t.jsxs)(t.Fragment,{children:[e&&(0,t.jsxs)("div",{ref:d,className:"absolute right-0 z-50 mt-1 w-96 rounded-lg border border-border bg-popover shadow-xl flex flex-col overflow-hidden",style:{maxHeight:"480px"},children:[(0,t.jsx)("div",{className:"px-3 py-2 border-b border-border shrink-0",children:(0,t.jsx)("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:o("missions.pickerTitle")})}),(0,t.jsx)(H.ScrollArea,{className:"flex-1 min-h-0",children:x?(0,t.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"Loading..."}):0===u.length?(0,t.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:o("missions.noAvailableTasks")}):u.map(e=>(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"sticky top-0 z-10 px-3 py-1.5 bg-popover border-b border-border/50",children:(0,t.jsx)("span",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:e.name})}),e.projects.map(e=>0===e._count.tasks?null:(0,t.jsxs)("div",{className:"mb-1",children:[(0,t.jsx)("div",{className:"px-3 pt-2 pb-0.5",children:(0,t.jsx)("span",{className:"text-xs font-medium text-foreground",children:e.alias??e.name})}),e.tasks.map(e=>(0,t.jsx)(F,{task:e,isRunning:n.has(e.id),launchingId:p,onLaunchNew:b,onResume:j,t:o},e.id))]},e.id))]},e.id))}),(0,t.jsx)("div",{className:"shrink-0 border-t border-border",children:(0,t.jsx)(c.Button,{variant:"ghost",className:"w-full rounded-none text-xs text-primary font-medium",onClick:w,children:o("missions.showMoreTasks")})})]}),(0,t.jsx)(W,{open:g,onOpenChange:v,onLaunchNew:b,onResume:j,runningTaskIds:n,launchingId:p})]}):null}e.s(["MissionsClient",0,function({initialExecutions:e}){let{t:a}=(0,r.useI18n)(),[u,x]=(0,s.useState)(e),[h,p]=(0,s.useState)(()=>localStorage.getItem("missions-grid-preset")??"3x2"),[b,j]=(0,s.useState)(()=>{try{let e=localStorage.getItem("missions-grid-custom");if(e){let t=JSON.parse(e);if("number"==typeof t?.cols&&"number"==typeof t?.rows)return{cols:Math.max(1,Math.min(10,t.cols)),rows:Math.max(1,Math.min(10,t.rows))}}}catch{}return{cols:2,rows:2}}),[w,y]=(0,s.useState)(!1),[k,N]=(0,s.useState)(""),S=(0,s.useRef)(null),[I,C]=(0,s.useState)(new Map),R=(0,s.useRef)(I);(0,s.useEffect)(()=>{R.current=I},[I]);let E=(0,s.useRef)(new Map),L=l.find(e=>e.id===h)??l[2],P="custom"===h?b.cols:L.cols,A="custom"===h?b.rows:L.rows,O=(0,s.useRef)(null),[$,D]=(0,s.useState)("480px");(0,s.useEffect)(()=>{let e=O.current;if(!e)return;let t=()=>{let t=(e.clientHeight-32-16*(A-1))/A;D(`${Math.max(t,200)}px`)};t();let s=new ResizeObserver(t);return s.observe(e),()=>s.disconnect()},[A]);let B=(0,s.useCallback)((e,t)=>{e&&(p(e),localStorage.setItem("missions-grid-preset",e),"custom"===e&&t&&(j(t),localStorage.setItem("missions-grid-custom",JSON.stringify(t))))},[]),H=(0,g.useSensors)((0,g.useSensor)(g.PointerSensor,{activationConstraint:{distance:8}})),z=(0,s.useCallback)(e=>{let{active:t,over:s}=e;s&&t.id!==s.id&&x(e=>{let r=e.findIndex(e=>e.executionId===t.id),a=e.findIndex(e=>e.executionId===s.id);return(0,v.arrayMove)(e,r,a)})},[]),V=(0,s.useCallback)((e,t)=>{if(R.current.has(e))return;C(s=>new Map([...s,[e,t]]));let s=setTimeout(()=>{x(t=>t.filter(t=>t.executionId!==e)),C(t=>{let s=new Map(t);return s.delete(e),s}),E.current.delete(e)},500);E.current.set(e,s)},[]);(0,s.useEffect)(()=>{let e=setInterval(async()=>{try{let e=await i();x(t=>{let s=R.current,{merged:r,goneIds:a}=function({prev:e,fresh:t,removingIds:s}){let r=new Set(t.map(e=>e.executionId)),a=[];e.forEach(e=>{r.has(e.executionId)||s.has(e.executionId)||a.push(e.executionId)});let i=e.filter(e=>r.has(e.executionId)||s.has(e.executionId)),n=new Set(e.map(e=>e.executionId));return{merged:[...i,...t.filter(e=>!n.has(e.executionId))],goneIds:a}}({prev:t,fresh:e,removingIds:new Set(s.keys())});return a.forEach(e=>V(e,"completed")),r})}catch{}},4e3);return()=>clearInterval(e)},[V]),(0,s.useEffect)(()=>{let e=E.current;return()=>{e.forEach(e=>clearTimeout(e))}},[]);let U=(0,s.useCallback)(async e=>{try{await (0,n.stopPtyExecution)(e),x(t=>{let s=t.find(t=>t.taskId===e);return s&&V(s.executionId,"stopped"),t})}catch{T.toast.error(a("missions.error.stopFailed"))}},[V,a]),F=(0,s.useCallback)((e,t)=>{x(t=>{let s=t.find(t=>t.taskId===e);return s&&V(s.executionId,"completed"),t})},[V]),W=(0,s.useCallback)(e=>{i().then(e=>{x(t=>{let s=new Set(t.map(e=>e.executionId));return[...t,...e.filter(e=>!s.has(e.executionId))]})}).catch(()=>{})},[]),G=Array.from(new Map(u.map(e=>[e.workspaceId,e.workspaceName])).entries()).map(([e,t])=>({id:e,name:t})),q=k?u.filter(e=>e.workspaceId===k):u,J=new Set(u.map(e=>e.taskId));return(0,t.jsxs)("div",{className:"flex h-full flex-col",children:[(0,t.jsxs)("div",{className:"header-sm shrink-0 px-4 flex items-center gap-3",children:[(0,t.jsx)("h1",{className:"text-base font-semibold",children:a("missions.pageTitle")}),(0,t.jsxs)(o.Select,{value:k,onValueChange:e=>N(e??""),children:[(0,t.jsx)(o.SelectTrigger,{className:"w-36 h-8",children:(0,t.jsx)("span",{className:"truncate",children:k?G.find(e=>e.id===k)?.name??a("missions.filterAll"):a("missions.filterAll")})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:"",children:a("missions.filterAll")}),G.map(e=>(0,t.jsx)(o.SelectItem,{value:e.id,children:e.name},e.id))]})]}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(f,{value:h,customValue:b,onChange:B}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(c.Button,{ref:S,onClick:()=>y(e=>!e),children:a("missions.launchTask")}),(0,t.jsx)(_,{open:w,onOpenChange:y,onLaunched:W,runningTaskIds:J,anchorRef:S})]})]}),(0,t.jsx)("div",{ref:O,className:"flex-1 overflow-auto min-h-0 p-4",children:0===q.length&&0===I.size?(0,t.jsx)(d.EmptyState,{icon:m,title:a("missions.emptyTitle"),description:a("missions.emptyDesc"),className:"h-full",action:(0,t.jsx)(c.Button,{onClick:()=>y(!0),children:a("missions.launchTask")})}):(0,t.jsx)(g.DndContext,{id:"missions-dnd",sensors:H,collisionDetection:g.closestCenter,onDragEnd:z,children:(0,t.jsx)(v.SortableContext,{items:q.map(e=>e.executionId),strategy:v.rectSortingStrategy,children:(0,t.jsx)("div",{className:"grid gap-4",style:{gridTemplateColumns:`repeat(${P}, 1fr)`,gridAutoRows:$},children:q.map(e=>(0,t.jsx)(M,{execution:e,isRemoving:I.has(e.executionId),removeReason:I.get(e.executionId),onStop:U,onSessionEnd:F},e.executionId))})})})})]})}],869308)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,649318,o=>{"use strict";var t=o.i(251449),i=o.i(302320);o.s(["DiffEditor",()=>t.DiffEditor,"Editor",()=>t.Editor,"default",()=>t.default,"loader",()=>i.default,"useMonaco",()=>t.useMonaco])}]);
@@ -1 +0,0 @@
1
- .xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/14xzmrt5ly6gq.js","static/chunks/0omj~p3uxkic-.js","static/chunks/0j9qriqni_r1..js","static/chunks/10n23t.1hpb-1.js","static/chunks/0k.u8sxy~e469.js"],runtimeModuleIds:[652555]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=(self.TURBOPACK_ASSET_SUFFIX??document?.currentScript?.getAttribute?.("src")?.replace(/^(.*(?=\?)|^.*$)/,""))||"",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=W(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 j(){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 W(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 k=Symbol("turbopack queues"),v=Symbol("turbopack exports"),C=Symbol("turbopack error");function P(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}=j(),u=Object.assign(s,{[v]:r.exports,[k]: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(k 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]:{},[k]:e=>e(t)};return e.then(e=>{r[v]=e,P(t)},e=>{r[C]=e,P(t)}),r}}return{[v]:e,[k]:()=>{}}}),r=()=>t.map(e=>{if(e[C])throw e[C];return e[v]}),{promise:i,resolve:l}=j(),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[k](u)),s.queueCount?i:r()},function(e){e?l(u[C]=e):i(u[v]),P(n)}),n&&-1===n.status&&(n.status=0)};let U=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 $(e,t){throw Error(`Invariant: ${t(e)}`)}U.prototype=URL.prototype,u.U=U,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let R=s.prototype,S=new Map;u.M=S;let E=new Map,_=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=>!!S.has(e)||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=>_.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)_.has(e)||r.add(e);for(let n of r){let r=M(e,t,q(n));_.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,q(r.path)),l))_.has(o)||_.set(o,n)}for(let e of o)E.has(e)||E.set(e,n);await n}R.l=function(e){return T(i.Parent,this.m.id,e)};let x=Promise.resolve(void 0),A=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=A.get(o);if(void 0===l){let e=A.set.bind(A,o,x);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:$(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}),A.set(o,l)}return l}function q(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}R.L=function(e){return M(i.Parent,this.m.id,e)},R.R=function(e){let t=this.r(e);return t?.default??t},R.P=function(e){return`/ROOT/${e??""}`},R.q=function(e,t){m.call(this,`${e}${r}`,t)},R.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 W=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return B(e,i.Parent,t.id)};function B(e,t,r){let n=S.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:$(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,S)),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}B(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,11 +0,0 @@
1
- self.__BUILD_MANIFEST = {
2
- "__rewrites": {
3
- "afterFiles": [],
4
- "beforeFiles": [],
5
- "fallback": []
6
- },
7
- "sortedPages": [
8
- "/_app",
9
- "/_error"
10
- ]
11
- };self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
@@ -1 +0,0 @@
1
- self.__MIDDLEWARE_MATCHERS = [];self.__MIDDLEWARE_MATCHERS_CB && self.__MIDDLEWARE_MATCHERS_CB()
@@ -1 +0,0 @@
1
- self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()