tower-studio 0.1.9 → 0.1.11

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 (649) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build/chunks/{0kjx__pnpm_05m.mc_._.js → 0-yb__pnpm_0dykqwq._.js} +167 -167
  3. package/.next/build/chunks/{[root-of-the-server]__13e2v6w._.js → [root-of-the-server]__01h52~y._.js} +3 -3
  4. package/.next/build/chunks/{[root-of-the-server]__0a5dngl._.js → [root-of-the-server]__097_v8t._.js} +7 -7
  5. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0n5jxhz._.js +13 -0
  6. package/.next/build/chunks/[turbopack]_runtime.js +1 -1
  7. package/.next/build/postcss.js +4 -4
  8. package/.next/build-manifest.json +9 -9
  9. package/.next/cache/.previewinfo +1 -1
  10. package/.next/cache/.rscinfo +1 -1
  11. package/.next/cache/.tsbuildinfo +1 -1
  12. package/.next/diagnostics/route-bundle-stats.json +237 -237
  13. package/.next/fallback-build-manifest.json +3 -3
  14. package/.next/prerender-manifest.json +3 -3
  15. package/.next/required-server-files.js +3 -3
  16. package/.next/required-server-files.json +3 -3
  17. package/.next/server/app/_global-error/page/build-manifest.json +6 -6
  18. package/.next/server/app/_global-error/page.js +11 -11
  19. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  20. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/_global-error.html +1 -1
  22. package/.next/server/app/_global-error.rsc +8 -8
  23. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  24. package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
  25. package/.next/server/app/_global-error.segments/_head.segment.rsc +4 -4
  26. package/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  27. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  28. package/.next/server/app/_not-found/page/build-manifest.json +6 -6
  29. package/.next/server/app/_not-found/page/next-font-manifest.json +1 -1
  30. package/.next/server/app/_not-found/page/react-loadable-manifest.json +7 -7
  31. package/.next/server/app/_not-found/page/server-reference-manifest.json +76 -76
  32. package/.next/server/app/_not-found/page.js +19 -19
  33. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  34. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/_not-found.html +1 -1
  36. package/.next/server/app/_not-found.rsc +14 -14
  37. package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  38. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  39. package/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
  40. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  41. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  42. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  43. package/.next/server/app/api/adapters/test/route.js +8 -8
  44. package/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  45. package/.next/server/app/api/browse-fs/route.js +6 -6
  46. package/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  47. package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js +6 -6
  48. package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  49. package/.next/server/app/api/git/route.js +6 -6
  50. package/.next/server/app/api/git/route.js.nft.json +1 -1
  51. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js +6 -6
  52. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  53. package/.next/server/app/api/internal/assets/reveal/route.js +6 -6
  54. package/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  55. package/.next/server/app/api/internal/assistant/chat/route.js +6 -6
  56. package/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  57. package/.next/server/app/api/internal/assistant/images/route.js +8 -8
  58. package/.next/server/app/api/internal/assistant/images/route.js.nft.json +1 -1
  59. package/.next/server/app/api/internal/assistant/route.js +6 -6
  60. package/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  61. package/.next/server/app/api/internal/assistant/sessions/route.js +6 -6
  62. package/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  63. package/.next/server/app/api/internal/cache/[...segments]/route.js +6 -6
  64. package/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  65. package/.next/server/app/api/internal/hooks/install/route.js +6 -6
  66. package/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
  67. package/.next/server/app/api/internal/hooks/session/route.js +6 -6
  68. package/.next/server/app/api/internal/hooks/session/route.js.nft.json +1 -1
  69. package/.next/server/app/api/internal/hooks/stop/route.js +7 -7
  70. package/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  71. package/.next/server/app/api/internal/hooks/upload/route.js +6 -6
  72. package/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  73. package/.next/server/app/api/internal/notifications/pending/route.js +6 -6
  74. package/.next/server/app/api/internal/notifications/pending/route.js.nft.json +1 -1
  75. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +7 -7
  76. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  77. package/.next/server/app/api/internal/terminal/[taskId]/input/route.js +7 -7
  78. package/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  79. package/.next/server/app/api/internal/terminal/[taskId]/start/route.js +9 -9
  80. package/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  81. package/.next/server/app/api/tasks/[taskId]/diff/route.js +7 -7
  82. package/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  83. package/.next/server/app/api/tasks/[taskId]/merge/route.js +8 -8
  84. package/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  85. package/.next/server/app/apple-icon.png/route.js +6 -6
  86. package/.next/server/app/apple-icon.png/route.js.nft.json +1 -1
  87. package/.next/server/app/favicon.ico/route.js +6 -6
  88. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  89. package/.next/server/app/icon0.svg/route.js +6 -6
  90. package/.next/server/app/icon0.svg/route.js.nft.json +1 -1
  91. package/.next/server/app/icon1.png/route.js +6 -6
  92. package/.next/server/app/icon1.png/route.js.nft.json +1 -1
  93. package/.next/server/app/index.html +1 -1
  94. package/.next/server/app/index.rsc +14 -14
  95. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  96. package/.next/server/app/index.segments/_full.segment.rsc +14 -14
  97. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  98. package/.next/server/app/index.segments/_index.segment.rsc +9 -9
  99. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  100. package/.next/server/app/manifest.json/route.js +6 -6
  101. package/.next/server/app/manifest.json/route.js.nft.json +1 -1
  102. package/.next/server/app/missions/page/build-manifest.json +6 -6
  103. package/.next/server/app/missions/page/next-font-manifest.json +1 -1
  104. package/.next/server/app/missions/page/react-loadable-manifest.json +7 -7
  105. package/.next/server/app/missions/page/server-reference-manifest.json +144 -144
  106. package/.next/server/app/missions/page.js +21 -21
  107. package/.next/server/app/missions/page.js.nft.json +1 -1
  108. package/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  109. package/.next/server/app/onboarding/page/build-manifest.json +6 -6
  110. package/.next/server/app/onboarding/page/next-font-manifest.json +1 -1
  111. package/.next/server/app/onboarding/page/react-loadable-manifest.json +7 -7
  112. package/.next/server/app/onboarding/page/server-reference-manifest.json +76 -76
  113. package/.next/server/app/onboarding/page.js +20 -20
  114. package/.next/server/app/onboarding/page.js.nft.json +1 -1
  115. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  116. package/.next/server/app/onboarding.html +1 -1
  117. package/.next/server/app/onboarding.rsc +16 -16
  118. package/.next/server/app/onboarding.segments/_full.segment.rsc +16 -16
  119. package/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
  120. package/.next/server/app/onboarding.segments/_index.segment.rsc +9 -9
  121. package/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  122. package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  123. package/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
  124. package/.next/server/app/page/build-manifest.json +6 -6
  125. package/.next/server/app/page/next-font-manifest.json +1 -1
  126. package/.next/server/app/page/react-loadable-manifest.json +7 -7
  127. package/.next/server/app/page/server-reference-manifest.json +76 -76
  128. package/.next/server/app/page.js +20 -20
  129. package/.next/server/app/page.js.nft.json +1 -1
  130. package/.next/server/app/page_client-reference-manifest.js +1 -1
  131. package/.next/server/app/settings/page/build-manifest.json +6 -6
  132. package/.next/server/app/settings/page/next-font-manifest.json +1 -1
  133. package/.next/server/app/settings/page/react-loadable-manifest.json +7 -7
  134. package/.next/server/app/settings/page/server-reference-manifest.json +112 -112
  135. package/.next/server/app/settings/page.js +20 -20
  136. package/.next/server/app/settings/page.js.nft.json +1 -1
  137. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  138. package/.next/server/app/settings.html +1 -1
  139. package/.next/server/app/settings.rsc +16 -16
  140. package/.next/server/app/settings.segments/_full.segment.rsc +16 -16
  141. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  142. package/.next/server/app/settings.segments/_index.segment.rsc +9 -9
  143. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  144. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  145. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  146. package/.next/server/app/workspaces/[workspaceId]/archive/page/build-manifest.json +6 -6
  147. package/.next/server/app/workspaces/[workspaceId]/archive/page/next-font-manifest.json +1 -1
  148. package/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +7 -7
  149. package/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +186 -186
  150. package/.next/server/app/workspaces/[workspaceId]/archive/page.js +20 -20
  151. package/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  152. package/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  153. package/.next/server/app/workspaces/[workspaceId]/assets/page/build-manifest.json +6 -6
  154. package/.next/server/app/workspaces/[workspaceId]/assets/page/next-font-manifest.json +1 -1
  155. package/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +7 -7
  156. package/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +172 -172
  157. package/.next/server/app/workspaces/[workspaceId]/assets/page.js +20 -20
  158. package/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  159. package/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  160. package/.next/server/app/workspaces/[workspaceId]/notes/page/build-manifest.json +6 -6
  161. package/.next/server/app/workspaces/[workspaceId]/notes/page/next-font-manifest.json +1 -1
  162. package/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +7 -7
  163. package/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +146 -146
  164. package/.next/server/app/workspaces/[workspaceId]/notes/page.js +20 -20
  165. package/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  166. package/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  167. package/.next/server/app/workspaces/[workspaceId]/page/build-manifest.json +6 -6
  168. package/.next/server/app/workspaces/[workspaceId]/page/next-font-manifest.json +1 -1
  169. package/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +7 -7
  170. package/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +188 -188
  171. package/.next/server/app/workspaces/[workspaceId]/page.js +21 -21
  172. package/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  173. package/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  174. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/build-manifest.json +6 -6
  175. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/next-font-manifest.json +1 -1
  176. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +7 -7
  177. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +76 -76
  178. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +20 -20
  179. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  180. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  181. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/build-manifest.json +6 -6
  182. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/next-font-manifest.json +1 -1
  183. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +10 -10
  184. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +192 -192
  185. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +22 -22
  186. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  187. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  188. package/.next/server/app/workspaces/page/build-manifest.json +6 -6
  189. package/.next/server/app/workspaces/page/next-font-manifest.json +1 -1
  190. package/.next/server/app/workspaces/page/react-loadable-manifest.json +7 -7
  191. package/.next/server/app/workspaces/page/server-reference-manifest.json +112 -112
  192. package/.next/server/app/workspaces/page.js +20 -20
  193. package/.next/server/app/workspaces/page.js.nft.json +1 -1
  194. package/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  195. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assets_reveal_route_actions_0znebp..js +3 -0
  196. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assistant_chat_route_actions_00gjtz_.js +3 -0
  197. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assistant_images_route_actions_0.n5t~i.js +3 -0
  198. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assistant_sessions_route_actions_0-fm7rx.js +3 -0
  199. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_hooks_install_route_actions_0l972g~.js +3 -0
  200. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_hooks_session_route_actions_0.suzi1.js +3 -0
  201. package/.next/server/chunks/0afp_server_app_api_files_assets_[projectId]_[filename]_route_actions_0-awt9r.js +3 -0
  202. package/.next/server/chunks/0afp_server_app_api_internal_assets_[projectId]_[filename]_route_actions_0t6ek0w.js +3 -0
  203. package/.next/server/chunks/0afp_server_app_api_internal_notifications_pending_route_actions_0f-e1l..js +3 -0
  204. package/.next/server/chunks/0afp_server_app_api_internal_terminal_[taskId]_buffer_route_actions_0m0i0r_.js +3 -0
  205. package/.next/server/chunks/0afp_server_app_api_internal_terminal_[taskId]_input_route_actions_0w_hflw.js +3 -0
  206. package/.next/server/chunks/0afp_server_app_api_internal_terminal_[taskId]_start_route_actions_0tci.x0.js +3 -0
  207. package/.next/server/chunks/{03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_04597t~._.js → 0b0n_@anthropic-ai_claude-agent-sdk_sdk_mjs_0wzx_-c._.js} +2 -2
  208. package/.next/server/chunks/0l2w_next-internal_server_app_api_internal_cache_[___segments]_route_actions_0s95wfk.js +3 -0
  209. package/.next/server/chunks/0u0h_tower__next-internal_server_app_api_internal_hooks_upload_route_actions_10hulej.js +3 -0
  210. package/.next/server/chunks/0u0h_tower__next-internal_server_app_api_tasks_[taskId]_merge_route_actions_02facil.js +3 -0
  211. package/.next/server/chunks/{10ge_next_dist_08.3req._.js → 0uz~_next_dist_0auh~z2._.js} +3 -3
  212. package/.next/server/chunks/{10ge_next_dist_esm_build_templates_app-route_0liabcf.js → 0uz~_next_dist_esm_build_templates_app-route_0.k256s.js} +2 -2
  213. package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_05yec2y.js +4 -0
  214. package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_06vryvz.js +3 -0
  215. package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_0q64.kc.js +3 -0
  216. package/.next/server/chunks/{10ge_next_dist_esm_build_templates_app-route_0jwpolf.js → 0uz~_next_dist_esm_build_templates_app-route_0s-fzhv.js} +2 -2
  217. package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_12y4scn.js +3 -0
  218. package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_adapters_test_route_actions_0i51gzp.js +3 -0
  219. package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_internal_assistant_route_actions_0n4kn0g.js +3 -0
  220. package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_internal_hooks_stop_route_actions_0tddg8n.js +3 -0
  221. package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_tasks_[taskId]_diff_route_actions_0ric8cc.js +3 -0
  222. package/.next/server/chunks/121__zod_v4_classic_external_0~18d66.js +39 -0
  223. package/.next/server/chunks/[root-of-the-server]__0.9.bkp._.js +3 -0
  224. package/.next/server/chunks/[root-of-the-server]__003.cao._.js +3 -0
  225. package/.next/server/chunks/{[root-of-the-server]__11v.yk_._.js → [root-of-the-server]__02~bq0q._.js} +3 -3
  226. package/.next/server/chunks/[root-of-the-server]__05i_6jl._.js +3 -0
  227. package/.next/server/chunks/[root-of-the-server]__05mc_xk._.js +3 -0
  228. package/.next/server/chunks/[root-of-the-server]__06zd8x0._.js +3 -0
  229. package/.next/server/chunks/[root-of-the-server]__07_t6ha._.js +3 -0
  230. package/.next/server/chunks/{[root-of-the-server]__05pxb~w._.js → [root-of-the-server]__081dmfv._.js} +3 -3
  231. package/.next/server/chunks/[root-of-the-server]__0axwx7g._.js +20 -0
  232. package/.next/server/chunks/[root-of-the-server]__0bvqbq0._.js +3 -0
  233. package/.next/server/chunks/{[root-of-the-server]__12._zd-._.js → [root-of-the-server]__0hw3ulq._.js} +2 -2
  234. package/.next/server/chunks/{[root-of-the-server]__0sjsc63._.js → [root-of-the-server]__0i4isjs._.js} +3 -3
  235. package/.next/server/chunks/[root-of-the-server]__0il.3bc._.js +3 -0
  236. package/.next/server/chunks/{[root-of-the-server]__07-am_7._.js → [root-of-the-server]__0k6_.b8._.js} +2 -2
  237. package/.next/server/chunks/[root-of-the-server]__0lg6mol._.js +3 -0
  238. package/.next/server/chunks/[root-of-the-server]__0m31xle._.js +3 -0
  239. package/.next/server/chunks/[root-of-the-server]__0p-9erj._.js +3 -0
  240. package/.next/server/chunks/[root-of-the-server]__0p5iuez._.js +11 -0
  241. package/.next/server/chunks/[root-of-the-server]__0pe2bmo._.js +3 -0
  242. package/.next/server/chunks/[root-of-the-server]__0sgxys4._.js +3 -0
  243. package/.next/server/chunks/[root-of-the-server]__0t2ql2.._.js +3 -0
  244. package/.next/server/chunks/{[root-of-the-server]__0rpqx55._.js → [root-of-the-server]__0u4~z7h._.js} +2 -2
  245. package/.next/server/chunks/[root-of-the-server]__0uvjyz~._.js +3 -0
  246. package/.next/server/chunks/{[root-of-the-server]__0dqta7g._.js → [root-of-the-server]__0v.lagk._.js} +2 -2
  247. package/.next/server/chunks/[root-of-the-server]__0v6dx13._.js +3 -0
  248. package/.next/server/chunks/[root-of-the-server]__0ypx5xw._.js +3 -0
  249. package/.next/server/chunks/{[root-of-the-server]__0j3gbp7._.js → [root-of-the-server]__0ze75mm._.js} +2 -2
  250. package/.next/server/chunks/[root-of-the-server]__0~33o~m._.js +4 -0
  251. package/.next/server/chunks/[root-of-the-server]__0~_gk3k._.js +3 -0
  252. package/.next/server/chunks/[turbopack]_runtime.js +1 -1
  253. package/.next/server/chunks/project_f_tower_06227jx._.js +10 -0
  254. package/.next/server/chunks/{tower_03g~ktv._.js → project_f_tower_0ihrsvd._.js} +3 -3
  255. package/.next/server/chunks/project_f_tower_0n1s3ym._.js +3 -0
  256. package/.next/server/chunks/project_f_tower__next-internal_server_app_api_browse-fs_route_actions_0f1ms64.js +3 -0
  257. package/.next/server/chunks/project_f_tower__next-internal_server_app_api_git_route_actions_104q-kq.js +3 -0
  258. package/.next/server/chunks/project_f_tower__next-internal_server_app_apple-icon_png_route_actions_0bb5t_v.js +3 -0
  259. package/.next/server/chunks/project_f_tower__next-internal_server_app_favicon_ico_route_actions_0124g8-.js +3 -0
  260. package/.next/server/chunks/project_f_tower__next-internal_server_app_icon0_svg_route_actions_0kttj.d.js +3 -0
  261. package/.next/server/chunks/project_f_tower__next-internal_server_app_icon1_png_route_actions_12vfwry.js +3 -0
  262. package/.next/server/chunks/project_f_tower__next-internal_server_app_manifest_json_route_actions_0.~axx_.js +3 -0
  263. package/.next/server/chunks/project_f_tower_src_0er83xg._.js +3 -0
  264. package/.next/server/chunks/project_f_tower_src_11e.cv5._.js +3 -0
  265. package/.next/server/chunks/project_f_tower_src_lib_0p_b~77._.js +3 -0
  266. package/.next/server/chunks/{tower_src_lib_0uok6j3._.js → project_f_tower_src_lib_10p8sue._.js} +2 -2
  267. package/.next/server/chunks/project_f_tower_src_lib_constants_ts_020catz._.js +3 -0
  268. package/.next/server/chunks/ssr/0-yb__pnpm_072uqh4._.js +14 -0
  269. package/.next/server/chunks/ssr/0-yb__pnpm_0gui5y9._.js +3 -0
  270. package/.next/server/chunks/ssr/0-yb__pnpm_0qi3qqn._.js +3 -0
  271. package/.next/server/chunks/ssr/04uy_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_01.s1p0._.js +3 -0
  272. package/.next/server/chunks/ssr/{03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_0kr2_y.._.js → 0b0n_@anthropic-ai_claude-agent-sdk_sdk_mjs_123v~_z._.js} +2 -2
  273. package/.next/server/chunks/ssr/0j~t_@monaco-editor_react_dist_index_mjs_0m1qx-m._.js +3 -0
  274. package/.next/server/chunks/ssr/0j~t_@monaco-editor_react_dist_index_mjs_0ni7by_._.js +3 -0
  275. package/.next/server/chunks/ssr/0rvf_@dnd-kit_core_dist_core_esm_0qazy~h.js +3 -0
  276. package/.next/server/chunks/ssr/0uz~_next_0smzj1m._.js +18 -0
  277. package/.next/server/chunks/ssr/0uz~_next_dist_058ju5m._.js +3 -0
  278. package/.next/server/chunks/ssr/0uz~_next_dist_0ot5z96._.js +19 -0
  279. package/.next/server/chunks/ssr/{10ge_next_dist_0pw4my6._.js → 0uz~_next_dist_0tnc.0z._.js} +2 -2
  280. package/.next/server/chunks/ssr/0uz~_next_dist_0viyn-6._.js +6 -0
  281. package/.next/server/chunks/ssr/{10ge_next_dist_0wjbiu9._.js → 0uz~_next_dist_0xqqv-_._.js} +2 -2
  282. package/.next/server/chunks/ssr/0uz~_next_dist_11y31c8._.js +3 -0
  283. package/.next/server/chunks/ssr/{10ge_next_dist_client_components_0--gzcy._.js → 0uz~_next_dist_client_components_0m_m~4r._.js} +2 -2
  284. package/.next/server/chunks/ssr/{10ge_next_dist_client_components_0eil7-a._.js → 0uz~_next_dist_client_components_0neff21._.js} +3 -3
  285. package/.next/server/chunks/ssr/0uz~_next_dist_client_components_builtin_forbidden_0kvxu2~.js +3 -0
  286. package/.next/server/chunks/ssr/0uz~_next_dist_client_components_builtin_global-error_0377e9o.js +3 -0
  287. package/.next/server/chunks/ssr/0uz~_next_dist_client_components_builtin_unauthorized_0wz-f2j.js +3 -0
  288. package/.next/server/chunks/ssr/{10ge_next_dist_compiled_0g45ze2._.js → 0uz~_next_dist_compiled_0m~qqw~._.js} +2 -2
  289. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_01q4vlm.js +4 -0
  290. package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_0fjd2ua.js → 0uz~_next_dist_esm_build_templates_app-page_0553tiz.js} +3 -3
  291. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0as2amp.js +4 -0
  292. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0crer~s.js +4 -0
  293. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0cu4e.5.js +4 -0
  294. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0gn6gc1.js +4 -0
  295. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0h.vao6.js +4 -0
  296. package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_11pz1fw.js → 0uz~_next_dist_esm_build_templates_app-page_0k4fbs6.js} +3 -3
  297. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0n2032y.js +4 -0
  298. package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_080g02v.js → 0uz~_next_dist_esm_build_templates_app-page_0y10ld_.js} +3 -3
  299. package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_0zgisbd.js → 0uz~_next_dist_esm_build_templates_app-page_0ysuakv.js} +3 -3
  300. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_136sj3a.js +4 -0
  301. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_13jghu9.js +4 -0
  302. package/.next/server/chunks/ssr/0xjs_lucide-react_dist_esm_icons_0l6be37._.js +3 -0
  303. package/.next/server/chunks/ssr/{tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0zfgzhi._.js → 0y0r_f_tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0n4g3bn._.js} +2 -2
  304. package/.next/server/chunks/ssr/[root-of-the-server]__0.hh.2a._.js +3 -0
  305. package/.next/server/chunks/ssr/[root-of-the-server]__0.r38oo._.js +3 -0
  306. package/.next/server/chunks/ssr/{[root-of-the-server]__05452ke._.js → [root-of-the-server]__00.lowc._.js} +3 -3
  307. package/.next/server/chunks/ssr/{[root-of-the-server]__0d5p5d.._.js → [root-of-the-server]__007tg36._.js} +3 -3
  308. package/.next/server/chunks/ssr/[root-of-the-server]__012ko5_._.js +3 -0
  309. package/.next/server/chunks/ssr/{[root-of-the-server]__0i6glcp._.js → [root-of-the-server]__025.0xa._.js} +3 -3
  310. package/.next/server/chunks/ssr/{[root-of-the-server]__0gsj3~.._.js → [root-of-the-server]__04u4kb4._.js} +3 -3
  311. package/.next/server/chunks/ssr/[root-of-the-server]__055w_hn._.js +3 -0
  312. package/.next/server/chunks/ssr/{[root-of-the-server]__0adx8p4._.js → [root-of-the-server]__05a17ca._.js} +3 -3
  313. package/.next/server/chunks/ssr/[root-of-the-server]__06japut._.js +3 -0
  314. package/.next/server/chunks/ssr/[root-of-the-server]__06qzctf._.js +3 -0
  315. package/.next/server/chunks/ssr/[root-of-the-server]__09mr4e7._.js +3 -0
  316. package/.next/server/chunks/ssr/[root-of-the-server]__0c1i04u._.js +3 -0
  317. package/.next/server/chunks/ssr/[root-of-the-server]__0db_p8v._.js +3 -0
  318. package/.next/server/chunks/ssr/[root-of-the-server]__0ffdrwp._.js +3 -0
  319. package/.next/server/chunks/ssr/[root-of-the-server]__0fkkh9j._.js +3 -0
  320. package/.next/server/chunks/ssr/[root-of-the-server]__0fu82np._.js +3 -0
  321. package/.next/server/chunks/ssr/[root-of-the-server]__0fwuc5u._.js +3 -0
  322. package/.next/server/chunks/ssr/{[root-of-the-server]__06sm5cw._.js → [root-of-the-server]__0hiekzn._.js} +2 -2
  323. package/.next/server/chunks/ssr/[root-of-the-server]__0i4rk9v._.js +47 -0
  324. package/.next/server/chunks/ssr/[root-of-the-server]__0m28~~t._.js +3 -0
  325. package/.next/server/chunks/ssr/[root-of-the-server]__0mf.3xq._.js +3 -0
  326. package/.next/server/chunks/ssr/[root-of-the-server]__0nmyvwk._.js +3 -0
  327. package/.next/server/chunks/ssr/[root-of-the-server]__0np-y3i._.js +3 -0
  328. package/.next/server/chunks/ssr/{[root-of-the-server]__0jux8~h._.js → [root-of-the-server]__0p_hwna._.js} +3 -3
  329. package/.next/server/chunks/ssr/[root-of-the-server]__0qwr~nq._.js +3 -0
  330. package/.next/server/chunks/ssr/[root-of-the-server]__0r6gkos._.js +30 -0
  331. package/.next/server/chunks/ssr/{[root-of-the-server]__1223b0_._.js → [root-of-the-server]__0u26l~e._.js} +3 -3
  332. package/.next/server/chunks/ssr/{[root-of-the-server]__04xn50b._.js → [root-of-the-server]__0uca1bc._.js} +3 -3
  333. package/.next/server/chunks/ssr/[root-of-the-server]__0v7fjw6._.js +3 -0
  334. package/.next/server/chunks/ssr/[root-of-the-server]__0v94jfv._.js +3 -0
  335. package/.next/server/chunks/ssr/[root-of-the-server]__0vn5cvq._.js +3 -0
  336. package/.next/server/chunks/ssr/{[root-of-the-server]__13-by9r._.js → [root-of-the-server]__0w.hk6m._.js} +3 -3
  337. package/.next/server/chunks/ssr/[root-of-the-server]__0w7gbe7._.js +3 -0
  338. package/.next/server/chunks/ssr/[root-of-the-server]__0w8l-4s._.js +3 -0
  339. package/.next/server/chunks/ssr/[root-of-the-server]__0wkjslq._.js +3 -0
  340. package/.next/server/chunks/ssr/[root-of-the-server]__0wsvmkr._.js +3 -0
  341. package/.next/server/chunks/ssr/[root-of-the-server]__0xe-o3g._.js +30 -0
  342. package/.next/server/chunks/ssr/[root-of-the-server]__0xe9b6_._.js +3 -0
  343. package/.next/server/chunks/ssr/[root-of-the-server]__0zemnbk._.js +3 -0
  344. package/.next/server/chunks/ssr/[root-of-the-server]__0zugnux._.js +3 -0
  345. package/.next/server/chunks/ssr/[root-of-the-server]__105vrk3._.js +3 -0
  346. package/.next/server/chunks/ssr/[root-of-the-server]__112new_._.js +3 -0
  347. package/.next/server/chunks/ssr/[root-of-the-server]__11j4k9o._.js +3 -0
  348. package/.next/server/chunks/ssr/[root-of-the-server]__13cjs8r._.js +3 -0
  349. package/.next/server/chunks/ssr/[root-of-the-server]__13eo85g._.js +3 -0
  350. package/.next/server/chunks/ssr/[root-of-the-server]__13x5mmo._.js +30 -0
  351. package/.next/server/chunks/ssr/[turbopack]_runtime.js +1 -1
  352. package/.next/server/chunks/ssr/project_f_tower_0-0bopv._.js +30 -0
  353. package/.next/server/chunks/ssr/project_f_tower_0.txwd8._.js +3 -0
  354. package/.next/server/chunks/ssr/{tower_0d.car1._.js → project_f_tower_02411e5._.js} +3 -3
  355. package/.next/server/chunks/ssr/project_f_tower_02x5vbj._.js +3 -0
  356. package/.next/server/chunks/ssr/project_f_tower_03k0qr1._.js +3 -0
  357. package/.next/server/chunks/ssr/{tower_0egtw-7._.js → project_f_tower_04g3~44._.js} +3 -3
  358. package/.next/server/chunks/ssr/project_f_tower_0cjk_8x._.js +30 -0
  359. package/.next/server/chunks/ssr/project_f_tower_0d-6.rs._.js +39 -0
  360. package/.next/server/chunks/ssr/project_f_tower_0ea6ill._.js +3 -0
  361. package/.next/server/chunks/ssr/project_f_tower_0f0-wva._.js +3 -0
  362. package/.next/server/chunks/ssr/project_f_tower_0ghw~2t._.js +3 -0
  363. package/.next/server/chunks/ssr/{tower_0c8unc1._.js → project_f_tower_0h79vn0._.js} +2 -2
  364. package/.next/server/chunks/ssr/project_f_tower_0hgtev9._.js +7 -0
  365. package/.next/server/chunks/ssr/project_f_tower_0ivvjwd._.js +3 -0
  366. package/.next/server/chunks/ssr/project_f_tower_0jdkold._.js +3 -0
  367. package/.next/server/chunks/ssr/project_f_tower_0jy~1uf._.js +3 -0
  368. package/.next/server/chunks/ssr/{tower_0tuq2iz._.js → project_f_tower_0knz136._.js} +3 -3
  369. package/.next/server/chunks/ssr/project_f_tower_0l6ssf8._.js +3 -0
  370. package/.next/server/chunks/ssr/project_f_tower_0n6q9zh._.js +3 -0
  371. package/.next/server/chunks/ssr/project_f_tower_0ntkd-l._.js +6 -0
  372. package/.next/server/chunks/ssr/project_f_tower_0o5.y1e._.js +3 -0
  373. package/.next/server/chunks/ssr/project_f_tower_0p39h1r._.js +3 -0
  374. package/.next/server/chunks/ssr/project_f_tower_0sj3voe._.js +3 -0
  375. package/.next/server/chunks/ssr/project_f_tower_0u6dr5n._.js +3 -0
  376. package/.next/server/chunks/ssr/project_f_tower_0xkqjno._.js +3 -0
  377. package/.next/server/chunks/ssr/project_f_tower_0ym-aea._.js +3 -0
  378. package/.next/server/chunks/ssr/project_f_tower_10lk3gb._.js +30 -0
  379. package/.next/server/chunks/ssr/{tower_0h3r32m._.js → project_f_tower_10~x~zx._.js} +3 -3
  380. package/.next/server/chunks/ssr/project_f_tower__next-internal_server_app__global-error_page_actions_0r22s5i.js +3 -0
  381. package/.next/server/chunks/ssr/project_f_tower_src_0yr8rna._.js +3 -0
  382. package/.next/server/chunks/ssr/project_f_tower_src_actions_agent-actions_ts_0.s4~m-._.js +4 -0
  383. package/.next/server/chunks/ssr/project_f_tower_src_actions_file-actions_ts_02i742t._.js +3 -0
  384. package/.next/server/chunks/ssr/{tower_src_app_missions_missions-client_tsx_0a9vjyr._.js → project_f_tower_src_app_missions_missions-client_tsx_0ums4qx._.js} +2 -2
  385. package/.next/server/chunks/ssr/project_f_tower_src_app_onboarding_page_tsx_0_9_yoq._.js +3 -0
  386. package/.next/server/chunks/ssr/project_f_tower_src_app_settings_page_tsx_0oo06~d._.js +3 -0
  387. package/.next/server/chunks/ssr/project_f_tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0jmj1xz._.js +7 -0
  388. package/.next/server/chunks/ssr/project_f_tower_src_components_ui_select_tsx_07scqtg._.js +3 -0
  389. package/.next/server/chunks/ssr/project_f_tower_src_lib_0-pi47a._.js +3 -0
  390. package/.next/server/chunks/ssr/project_f_tower_src_lib_0._5zby._.js +3 -0
  391. package/.next/server/chunks/ssr/project_f_tower_src_lib_0kwu.w7._.js +3 -0
  392. package/.next/server/chunks/ssr/project_f_tower_src_lib_0q3t9-e._.js +3 -0
  393. package/.next/server/chunks/ssr/project_f_tower_src_lib_11g-ixh._.js +3 -0
  394. package/.next/server/chunks/ssr/project_f_tower_src_lib_constants_ts_0.qkxto._.js +3 -0
  395. package/.next/server/edge/chunks/0s6b_next_dist_esm_build_templates_edge-wrapper_0gir.8i.js +3 -0
  396. package/.next/server/edge/chunks/project_f_tower_0zwq2~l._.js +3 -0
  397. package/.next/server/instrumentation/middleware-manifest.json +2 -2
  398. package/.next/server/instrumentation.js +3 -3
  399. package/.next/server/instrumentation.js.nft.json +1 -1
  400. package/.next/server/middleware-build-manifest.js +9 -9
  401. package/.next/server/next-font-manifest.js +1 -1
  402. package/.next/server/next-font-manifest.json +12 -12
  403. package/.next/server/pages/404.html +1 -1
  404. package/.next/server/pages/500.html +1 -1
  405. package/.next/server/server-reference-manifest.js +1 -1
  406. package/.next/server/server-reference-manifest.json +987 -987
  407. package/.next/static/chunks/0-49z0i7n9z_u.js +31 -0
  408. package/.next/static/chunks/0.vq_m53d7t~7.js +1 -0
  409. package/.next/static/chunks/006_yes1e~uq-.js +1 -0
  410. package/.next/static/chunks/03~7u57dwxswo.js +1 -0
  411. package/.next/static/chunks/048wsx4_3dx7m.js +1 -0
  412. package/.next/static/chunks/{0drgc-oztq6o-.css → 04pjsuj.mivbh.css} +1 -1
  413. package/.next/static/chunks/04rm7wn4pu3v9.js +1 -0
  414. package/.next/static/chunks/054pu3m7e37gx.js +1 -0
  415. package/.next/static/chunks/05fge.5j9lnpa.js +1 -0
  416. package/.next/static/chunks/{03e.4ymu.j5wl.js → 05r51bf1-_-x4.js} +1 -1
  417. package/.next/static/chunks/{0465wja5wuj_t.js → 06hfc~t6~gtz9.js} +1 -1
  418. package/.next/static/chunks/{0_dgukndtuspa.js → 06xnbktd_jmb4.js} +2 -2
  419. package/.next/static/chunks/07_bc0h5~tysp.js +1 -0
  420. package/.next/static/chunks/09mkfd6kg8s2..js +1 -0
  421. package/.next/static/chunks/0afji0z13kos5.js +5 -0
  422. package/.next/static/chunks/0ayhcszr5.75h.js +1 -0
  423. package/.next/static/chunks/0azbwlqgcxx~9.js +1 -0
  424. package/.next/static/chunks/0c5h4.yuzpzs5.js +12 -0
  425. package/.next/static/chunks/0dlrmobwx~tvz.js +1 -0
  426. package/.next/static/chunks/0g-rx4evmd.pa.js +1 -0
  427. package/.next/static/chunks/0i5zk6woum~cm.js +1 -0
  428. package/.next/static/chunks/0kyb0fcxzykkx.js +1 -0
  429. package/.next/static/chunks/0odp5708u_28m.js +1 -0
  430. package/.next/static/chunks/0q6i_n.rkxpn0.js +1 -0
  431. package/.next/static/chunks/0qnz9q6uieuv8.js +1 -0
  432. package/.next/static/chunks/0qrp0pov94ecf.js +1 -0
  433. package/.next/static/chunks/0sa5eiyws1~n0.js +1 -0
  434. package/.next/static/chunks/0sdq_svi-w4cf.js +1 -0
  435. package/.next/static/chunks/0smj3ii_egywx.js +1 -0
  436. package/.next/static/chunks/0u6p4i4aoeb4m.js +1 -0
  437. package/.next/static/chunks/0upxmdjt9neoj.js +5 -0
  438. package/.next/static/chunks/0xvn7yrj70a9v.js +1 -0
  439. package/.next/static/chunks/0yjtd51nb081_.js +4 -0
  440. package/.next/static/chunks/10_azh3_hkhxj.js +1 -0
  441. package/.next/static/chunks/10xx474hrm.03.js +1 -0
  442. package/.next/static/chunks/116on53madp~2.js +2 -0
  443. package/.next/static/chunks/16ow8w3exqm6p.js +1 -0
  444. package/.next/static/chunks/{turbopack-0wjmrsi.z32s0.js → turbopack-12rg1oczocj42.js} +1 -1
  445. package/.next/trace +2 -2
  446. package/.next/trace-build +1 -1
  447. package/bin/tower.mjs +46 -8
  448. package/package.json +10 -4
  449. package/scripts/generate-prisma-client.js +43 -0
  450. package/scripts/link-prisma.js +144 -0
  451. package/scripts/post-tool-hook.js +188 -0
  452. package/scripts/session-start-hook.js +79 -0
  453. package/scripts/stop-hook.js +78 -0
  454. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0y_r.ay._.js +0 -13
  455. package/.next/server/chunks/0cve_next-internal_server_app_api_internal_cache_[___segments]_route_actions_09n1sa3.js +0 -3
  456. package/.next/server/chunks/0tp-_server_app_api_files_assets_[projectId]_[filename]_route_actions_02i2urs.js +0 -3
  457. package/.next/server/chunks/0tp-_server_app_api_internal_assets_[projectId]_[filename]_route_actions_0kjz576.js +0 -3
  458. package/.next/server/chunks/0tp-_server_app_api_internal_notifications_pending_route_actions_08bx38r.js +0 -3
  459. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_buffer_route_actions_0bpyf5x.js +0 -3
  460. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_input_route_actions_0alu32r.js +0 -3
  461. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_start_route_actions_0swqog2.js +0 -3
  462. package/.next/server/chunks/0w1v_zod_v4_classic_external_0m-7hz_.js +0 -39
  463. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_chat_route_actions_0x-qbrh.js +0 -3
  464. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_images_route_actions_0vws40t.js +0 -3
  465. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_sessions_route_actions_0p09rcp.js +0 -3
  466. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_00gmiw_.js +0 -3
  467. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_0z9_0_i.js +0 -3
  468. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13w3ubu.js +0 -3
  469. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13~vb_i.js +0 -4
  470. package/.next/server/chunks/[root-of-the-server]__02p-gd5._.js +0 -3
  471. package/.next/server/chunks/[root-of-the-server]__0319djr._.js +0 -3
  472. package/.next/server/chunks/[root-of-the-server]__043lk8~._.js +0 -4
  473. package/.next/server/chunks/[root-of-the-server]__053y9tf._.js +0 -3
  474. package/.next/server/chunks/[root-of-the-server]__09gjz6h._.js +0 -3
  475. package/.next/server/chunks/[root-of-the-server]__0_irb2s._.js +0 -3
  476. package/.next/server/chunks/[root-of-the-server]__0c4edwt._.js +0 -3
  477. package/.next/server/chunks/[root-of-the-server]__0c7y1r0._.js +0 -3
  478. package/.next/server/chunks/[root-of-the-server]__0dj34zn._.js +0 -3
  479. package/.next/server/chunks/[root-of-the-server]__0ko_rm_._.js +0 -3
  480. package/.next/server/chunks/[root-of-the-server]__0miy2g.._.js +0 -3
  481. package/.next/server/chunks/[root-of-the-server]__0mt-eeb._.js +0 -3
  482. package/.next/server/chunks/[root-of-the-server]__0n-6-hc._.js +0 -3
  483. package/.next/server/chunks/[root-of-the-server]__0nur_ir._.js +0 -3
  484. package/.next/server/chunks/[root-of-the-server]__0pz60q-._.js +0 -20
  485. package/.next/server/chunks/[root-of-the-server]__0q~5ya5._.js +0 -3
  486. package/.next/server/chunks/[root-of-the-server]__0th.w7w._.js +0 -3
  487. package/.next/server/chunks/[root-of-the-server]__0u..agy._.js +0 -11
  488. package/.next/server/chunks/[root-of-the-server]__0umzekq._.js +0 -3
  489. package/.next/server/chunks/[root-of-the-server]__0wu61w.._.js +0 -3
  490. package/.next/server/chunks/[root-of-the-server]__130shf~._.js +0 -3
  491. package/.next/server/chunks/ssr/040e_@monaco-editor_react_dist_index_mjs_0t4i-ho._.js +0 -3
  492. package/.next/server/chunks/ssr/040e_@monaco-editor_react_dist_index_mjs_0z6t1fr._.js +0 -3
  493. package/.next/server/chunks/ssr/0kjx__pnpm_0g9g8h6._.js +0 -3
  494. package/.next/server/chunks/ssr/0kjx__pnpm_0l.5ii.._.js +0 -3
  495. package/.next/server/chunks/ssr/0kjx__pnpm_0wrn.h9._.js +0 -14
  496. package/.next/server/chunks/ssr/0rik_@dnd-kit_core_dist_core_esm_11giptg.js +0 -3
  497. package/.next/server/chunks/ssr/0~.g_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_0bbseig._.js +0 -3
  498. package/.next/server/chunks/ssr/10ge_next_00.-vj.._.js +0 -18
  499. package/.next/server/chunks/ssr/10ge_next_dist_01n~t8z._.js +0 -6
  500. package/.next/server/chunks/ssr/10ge_next_dist_06_-w96._.js +0 -19
  501. package/.next/server/chunks/ssr/10ge_next_dist_0~ti7jc._.js +0 -3
  502. package/.next/server/chunks/ssr/10ge_next_dist_10.ihny._.js +0 -3
  503. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_forbidden_0nzsnb2.js +0 -3
  504. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_global-error_125sopd.js +0 -3
  505. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_unauthorized_0z93cpe.js +0 -3
  506. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_08khzah.js +0 -4
  507. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_09~o5q0.js +0 -4
  508. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0_rj_f4.js +0 -4
  509. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0c-wmj1.js +0 -4
  510. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0hpuyf0.js +0 -4
  511. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0knnyic.js +0 -4
  512. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0oi86k6.js +0 -4
  513. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0rmwdra.js +0 -4
  514. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_12reczc.js +0 -4
  515. package/.next/server/chunks/ssr/119e_lucide-react_dist_esm_icons_0636jyq._.js +0 -3
  516. package/.next/server/chunks/ssr/[root-of-the-server]__0-0j_z3._.js +0 -3
  517. package/.next/server/chunks/ssr/[root-of-the-server]__0.8y0n9._.js +0 -3
  518. package/.next/server/chunks/ssr/[root-of-the-server]__0.uoh7q._.js +0 -3
  519. package/.next/server/chunks/ssr/[root-of-the-server]__01ws4-7._.js +0 -3
  520. package/.next/server/chunks/ssr/[root-of-the-server]__024-5kd._.js +0 -3
  521. package/.next/server/chunks/ssr/[root-of-the-server]__02ipahf._.js +0 -3
  522. package/.next/server/chunks/ssr/[root-of-the-server]__03.14vw._.js +0 -3
  523. package/.next/server/chunks/ssr/[root-of-the-server]__06o5v8i._.js +0 -30
  524. package/.next/server/chunks/ssr/[root-of-the-server]__09m32ch._.js +0 -3
  525. package/.next/server/chunks/ssr/[root-of-the-server]__0_0kxz4._.js +0 -3
  526. package/.next/server/chunks/ssr/[root-of-the-server]__0bk3s4l._.js +0 -3
  527. package/.next/server/chunks/ssr/[root-of-the-server]__0d7u1lw._.js +0 -3
  528. package/.next/server/chunks/ssr/[root-of-the-server]__0fg8.hp._.js +0 -3
  529. package/.next/server/chunks/ssr/[root-of-the-server]__0i1tzvg._.js +0 -3
  530. package/.next/server/chunks/ssr/[root-of-the-server]__0i52qt7._.js +0 -3
  531. package/.next/server/chunks/ssr/[root-of-the-server]__0ibsor_._.js +0 -3
  532. package/.next/server/chunks/ssr/[root-of-the-server]__0j5~a_o._.js +0 -3
  533. package/.next/server/chunks/ssr/[root-of-the-server]__0jgbj6l._.js +0 -3
  534. package/.next/server/chunks/ssr/[root-of-the-server]__0l~dc3x._.js +0 -3
  535. package/.next/server/chunks/ssr/[root-of-the-server]__0n32nv5._.js +0 -30
  536. package/.next/server/chunks/ssr/[root-of-the-server]__0n8qufu._.js +0 -3
  537. package/.next/server/chunks/ssr/[root-of-the-server]__0ndt9h3._.js +0 -3
  538. package/.next/server/chunks/ssr/[root-of-the-server]__0p~u4y6._.js +0 -3
  539. package/.next/server/chunks/ssr/[root-of-the-server]__0q.du4s._.js +0 -3
  540. package/.next/server/chunks/ssr/[root-of-the-server]__0rs7pkn._.js +0 -3
  541. package/.next/server/chunks/ssr/[root-of-the-server]__0sysz2q._.js +0 -47
  542. package/.next/server/chunks/ssr/[root-of-the-server]__0t25~v8._.js +0 -3
  543. package/.next/server/chunks/ssr/[root-of-the-server]__0ti70do._.js +0 -3
  544. package/.next/server/chunks/ssr/[root-of-the-server]__0uevudp._.js +0 -30
  545. package/.next/server/chunks/ssr/[root-of-the-server]__0wwqzmm._.js +0 -3
  546. package/.next/server/chunks/ssr/[root-of-the-server]__0xt3-qb._.js +0 -3
  547. package/.next/server/chunks/ssr/[root-of-the-server]__0y-lkvf._.js +0 -3
  548. package/.next/server/chunks/ssr/[root-of-the-server]__0yuwh~5._.js +0 -3
  549. package/.next/server/chunks/ssr/[root-of-the-server]__0zvf.ro._.js +0 -3
  550. package/.next/server/chunks/ssr/[root-of-the-server]__11m7m-q._.js +0 -3
  551. package/.next/server/chunks/ssr/[root-of-the-server]__12f810l._.js +0 -3
  552. package/.next/server/chunks/ssr/[root-of-the-server]__13-egel._.js +0 -3
  553. package/.next/server/chunks/ssr/tower_0-nwtka._.js +0 -3
  554. package/.next/server/chunks/ssr/tower_0-omr_b._.js +0 -30
  555. package/.next/server/chunks/ssr/tower_0.csoof._.js +0 -3
  556. package/.next/server/chunks/ssr/tower_005_jvc._.js +0 -3
  557. package/.next/server/chunks/ssr/tower_01szasw._.js +0 -3
  558. package/.next/server/chunks/ssr/tower_035l~qv._.js +0 -3
  559. package/.next/server/chunks/ssr/tower_03jazku._.js +0 -3
  560. package/.next/server/chunks/ssr/tower_0cmuq4n._.js +0 -3
  561. package/.next/server/chunks/ssr/tower_0ih8lcc._.js +0 -3
  562. package/.next/server/chunks/ssr/tower_0kl_bfy._.js +0 -7
  563. package/.next/server/chunks/ssr/tower_0mz4ut.._.js +0 -3
  564. package/.next/server/chunks/ssr/tower_0nuj.0p._.js +0 -39
  565. package/.next/server/chunks/ssr/tower_0pcqezm._.js +0 -3
  566. package/.next/server/chunks/ssr/tower_0r7uuim._.js +0 -30
  567. package/.next/server/chunks/ssr/tower_0sojjnu._.js +0 -3
  568. package/.next/server/chunks/ssr/tower_0tc~.xl._.js +0 -30
  569. package/.next/server/chunks/ssr/tower_0tjo~2z._.js +0 -3
  570. package/.next/server/chunks/ssr/tower_0wvk~r.._.js +0 -3
  571. package/.next/server/chunks/ssr/tower_10p15te._.js +0 -3
  572. package/.next/server/chunks/ssr/tower_10t13p4._.js +0 -6
  573. package/.next/server/chunks/ssr/tower_117pzh8._.js +0 -3
  574. package/.next/server/chunks/ssr/tower_11q5_.m._.js +0 -3
  575. package/.next/server/chunks/ssr/tower_138qlx5._.js +0 -3
  576. package/.next/server/chunks/ssr/tower__next-internal_server_app__global-error_page_actions_13t5~qk.js +0 -3
  577. package/.next/server/chunks/ssr/tower_src_0lq.aoc._.js +0 -3
  578. package/.next/server/chunks/ssr/tower_src_actions_agent-actions_ts_0j.e1tn._.js +0 -4
  579. package/.next/server/chunks/ssr/tower_src_actions_file-actions_ts_0424lna._.js +0 -3
  580. package/.next/server/chunks/ssr/tower_src_app_onboarding_page_tsx_0_3krz1._.js +0 -3
  581. package/.next/server/chunks/ssr/tower_src_app_settings_page_tsx_0vo5e-o._.js +0 -3
  582. package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0kjp1u0._.js +0 -7
  583. package/.next/server/chunks/ssr/tower_src_components_ui_select_tsx_10ajx~2._.js +0 -3
  584. package/.next/server/chunks/ssr/tower_src_lib_01420_4._.js +0 -3
  585. package/.next/server/chunks/ssr/tower_src_lib_0i-zjpa._.js +0 -3
  586. package/.next/server/chunks/ssr/tower_src_lib_0ja~kdb._.js +0 -3
  587. package/.next/server/chunks/ssr/tower_src_lib_0obw2r8._.js +0 -3
  588. package/.next/server/chunks/ssr/tower_src_lib_0rgfsuf._.js +0 -3
  589. package/.next/server/chunks/ssr/tower_src_lib_constants_ts_0o218_c._.js +0 -3
  590. package/.next/server/chunks/tower_05du07.._.js +0 -10
  591. package/.next/server/chunks/tower_0a-x6m.._.js +0 -3
  592. package/.next/server/chunks/tower__next-internal_server_app_api_adapters_test_route_actions_13jw~9b.js +0 -3
  593. package/.next/server/chunks/tower__next-internal_server_app_api_browse-fs_route_actions_0k5p2xy.js +0 -3
  594. package/.next/server/chunks/tower__next-internal_server_app_api_git_route_actions_0rvpodb.js +0 -3
  595. package/.next/server/chunks/tower__next-internal_server_app_api_internal_assets_reveal_route_actions_0idwm6j.js +0 -3
  596. package/.next/server/chunks/tower__next-internal_server_app_api_internal_assistant_route_actions_0rdz1d..js +0 -3
  597. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_install_route_actions_06dxleu.js +0 -3
  598. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_session_route_actions_0wlv4lf.js +0 -3
  599. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_stop_route_actions_101_oub.js +0 -3
  600. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_upload_route_actions_0439qz_.js +0 -3
  601. package/.next/server/chunks/tower__next-internal_server_app_api_tasks_[taskId]_diff_route_actions_0nthc84.js +0 -3
  602. package/.next/server/chunks/tower__next-internal_server_app_api_tasks_[taskId]_merge_route_actions_0g.x0nb.js +0 -3
  603. package/.next/server/chunks/tower__next-internal_server_app_apple-icon_png_route_actions_0bni-sb.js +0 -3
  604. package/.next/server/chunks/tower__next-internal_server_app_favicon_ico_route_actions_0kw~xj2.js +0 -3
  605. package/.next/server/chunks/tower__next-internal_server_app_icon0_svg_route_actions_0nww9-e.js +0 -3
  606. package/.next/server/chunks/tower__next-internal_server_app_icon1_png_route_actions_09h.ywu.js +0 -3
  607. package/.next/server/chunks/tower__next-internal_server_app_manifest_json_route_actions_080ob~r.js +0 -3
  608. package/.next/server/chunks/tower_src_0..vg-t._.js +0 -3
  609. package/.next/server/chunks/tower_src_05rqj.1._.js +0 -3
  610. package/.next/server/chunks/tower_src_lib_0w8qt4s._.js +0 -3
  611. package/.next/server/chunks/tower_src_lib_constants_ts_0cxd4.p._.js +0 -3
  612. package/.next/server/edge/chunks/0y9m_next_dist_esm_build_templates_edge-wrapper_0cx_eo..js +0 -3
  613. package/.next/server/edge/chunks/tower_0wvfs38._.js +0 -3
  614. package/.next/static/chunks/00z-g3x93ngvn.js +0 -1
  615. package/.next/static/chunks/01499ombtjk9..js +0 -1
  616. package/.next/static/chunks/04zt_ewq9gd.f.js +0 -5
  617. package/.next/static/chunks/05-b9qqm3av9~.js +0 -1
  618. package/.next/static/chunks/05~v02mkan5z..js +0 -1
  619. package/.next/static/chunks/07ll8eylriw_..js +0 -5
  620. package/.next/static/chunks/08kdkf9zhbx5h.js +0 -1
  621. package/.next/static/chunks/0abtpeymj-58i.js +0 -1
  622. package/.next/static/chunks/0eaa2lmymh2fx.js +0 -1
  623. package/.next/static/chunks/0focg9l2pd5qe.js +0 -1
  624. package/.next/static/chunks/0j9qriqni_r1..js +0 -2
  625. package/.next/static/chunks/0jod832.e8dvp.js +0 -1
  626. package/.next/static/chunks/0k.u8sxy~e469.js +0 -4
  627. package/.next/static/chunks/0lvd52mjiit6s.js +0 -1
  628. package/.next/static/chunks/0mq0uqbbbb1~2.js +0 -1
  629. package/.next/static/chunks/0o0v~cegree8o.js +0 -1
  630. package/.next/static/chunks/0omj~p3uxkic-.js +0 -1
  631. package/.next/static/chunks/0t-gr6j-c65qb.js +0 -1
  632. package/.next/static/chunks/0tcl81ybuob5i.js +0 -1
  633. package/.next/static/chunks/0uqimvsni_op~.js +0 -1
  634. package/.next/static/chunks/0uukquowg_doj.js +0 -1
  635. package/.next/static/chunks/0v593lcts~8.5.js +0 -1
  636. package/.next/static/chunks/0wt3kws~_yr8z.js +0 -1
  637. package/.next/static/chunks/0yz33_rbgu2sz.js +0 -1
  638. package/.next/static/chunks/0z2bzovqhl2f5.js +0 -1
  639. package/.next/static/chunks/0z7bwntvfhxzi.js +0 -12
  640. package/.next/static/chunks/0~2w0fbj7o3fv.js +0 -1
  641. package/.next/static/chunks/10n23t.1hpb-1.js +0 -1
  642. package/.next/static/chunks/12p4plfwlovc5.js +0 -1
  643. package/.next/static/chunks/13juk.piouzom.js +0 -1
  644. package/.next/static/chunks/14xzmrt5ly6gq.js +0 -31
  645. package/.next/static/chunks/151wr~6x8aclx.js +0 -1
  646. package/.next/static/chunks/16w-ap~msrwpj.js +0 -1
  647. /package/.next/static/{uSvLXzMcHlsrWUxtSBOMM → qVmkMYUuxwdsiFTnn1wfK}/_buildManifest.js +0 -0
  648. /package/.next/static/{uSvLXzMcHlsrWUxtSBOMM → qVmkMYUuxwdsiFTnn1wfK}/_clientMiddlewareManifest.js +0 -0
  649. /package/.next/static/{uSvLXzMcHlsrWUxtSBOMM → qVmkMYUuxwdsiFTnn1wfK}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,625054,e=>{"use strict";var t=e.i(432377),s=e.i(85212);let i={zh:{"sidebar.workspace":"工作空间","sidebar.newWorkspace":"新建工作空间","sidebar.collapse":"折叠侧边栏","sidebar.expand":"展开侧边栏","sidebar.rename":"重命名","sidebar.delete":"删除","sidebar.archive":"归档","sidebar.manageLabels":"管理标签","sidebar.deleteConfirm":"确认删除工作空间「{name}」?所有项目和任务将被删除。","sidebar.lastWorkspaceError":"至少需要保留一个工作空间","sidebar.settings":"配置","workspace.create":"新建工作空间","workspace.edit":"编辑工作空间","workspace.name":"名称","workspace.namePlaceholder":"输入工作空间名称","workspace.icon":"图标","common.cancel":"取消","common.create":"创建","common.save":"保存","common.delete":"删除","common.add":"添加","common.edit":"编辑","common.search":"搜索","topbar.newProject":"新建项目","topbar.importProject":"导入项目","topbar.searchPlaceholder":"搜索任务、项目、仓库、笔记、资源...","project.name":"项目名称","project.alias":"项目别名","project.description":"项目描述","project.gitUrl":"Git 仓库地址","project.gitUrlHint":"可选,输入后自动推断本地路径","project.namePlaceholder":"输入项目名称","project.aliasPlaceholder":"可选,如:前端重构","project.descPlaceholder":"可选,项目简介","project.gitPlaceholder":"https://github.com/user/repo 或 git@github.com:user/repo.git","project.localPath":"本地路径","project.localPathPlaceholder":"/Users/you/projects/my-app","project.localPathHint":"项目在本地磁盘的文件夹路径,输入 Git 地址后自动填充","project.tildeWarning":"请输入绝对路径,不支持 ~ 别名","project.importHint":"选择本地已有项目文件夹","project.autoDetected":"已自动检测 Git 远程","project.edit":"编辑项目","git.clone":"克隆到本地","git.cloning":"正在克隆...","git.cloned":"已克隆","git.cloneSuccess":"仓库克隆成功","board.kanban":"任务看板","board.overview":"概览","board.running":"执行中","board.tip":"提示","board.newTask":"新建任务","board.allFilter":"全部","board.searchPlaceholder":"搜索任务...","board.inProgressFilter":"执行中","board.inReviewFilter":"待评审","board.contextMenu.changeStatus":"更改状态","board.contextMenu.launch":"启动任务","board.contextMenu.goToDetail":"查看详情","board.pin":"置顶","board.unpin":"取消置顶","board.viewAll":"查看全部","board.noTasks":"暂无任务","task.create":"新建任务","task.edit":"编辑任务","task.title":"任务标题","task.titlePlaceholder":"输入任务标题","task.description":"描述","task.descPlaceholder":"输入任务描述 (支持 Markdown)","task.priority":"优先级","task.labels":"标签","task.priorityLow":"低","task.priorityMedium":"中","task.priorityHigh":"高","task.priorityCritical":"紧急","task.baseBranch":"基础分支","task.branchLoading":"加载分支...","task.branchNone":"未找到分支","task.branchSearch":"搜索分支...","task.branchDirect":"不使用分支隔离(直接在主仓库工作)","task.worktreeLabel":"分支隔离","task.worktreeYes":"启用","task.worktreeNo":"不启用","task.subPath":"子路径","task.subPathPlaceholder":"例如: web、packages/api","task.subPathHint":"Mono-repo 子目录,任务将在此目录下执行","taskDetail.title":"任务对话","taskDetail.back":"返回任务列表","taskDetail.hasConversation":"已有会话","taskDetail.updatedAt":"更新于","taskDetail.directMode":"直接模式","taskDetail.send":"发送","taskDetail.sending":"处理中...","taskDetail.inputPlaceholder":"输入指令...","taskDetail.emptyState":"开始对话,让 AI 代理执行任务","taskDetail.emptyHint":"输入指令后按 Enter 发送","taskDetail.sendFailed":"发送失败,请重试","taskDetail.executionFailed":"执行失败","taskDetail.executionFailedRetry":"执行失败,请重试","taskDetail.panelDescription":"聚焦当前任务的执行对话","taskDetail.filesChanged":"个文件已更改","search.placeholder":"搜索任务、项目、仓库、笔记、资源...","search.task":"任务","search.project":"项目","search.repository":"仓库","search.all":"全部","search.note":"笔记","search.asset":"资源","search.noResults":"没有找到结果","search.typeToSearch":"输入关键词开始搜索","search.results":"搜索结果","sidebar.right.projectInfo":"项目信息","sidebar.right.repo":"仓库","sidebar.right.addRepo":"添加仓库","sidebar.right.noRepo":"暂无已关联仓库","sidebar.right.addRepoHint":"点击下方添加仓库","sidebar.right.browseRepo":"浏览磁盘上的仓库","sidebar.right.createRepo":"在磁盘上创建新仓库","sidebar.right.recent":"最近","sidebar.right.other":"其他","sidebar.right.browseWip":"浏览磁盘仓库功能开发中","sidebar.right.createWip":"创建仓库功能开发中","sidebar.right.linkWip":"关联仓库功能开发中","sidebar.right.normalType":"普通项目","sidebar.right.gitType":"Git 项目","sidebar.right.edit":"编辑项目","sidebar.right.name":"项目名称","sidebar.right.aliasLabel":"别名","sidebar.right.descLabel":"描述","sidebar.right.save":"保存","sidebar.right.cancel":"取消","sidebar.right.namePlaceholder":"输入项目名称","sidebar.right.aliasPlaceholder":"可选别名","sidebar.right.descPlaceholder":"项目描述","label.manage":"管理标签","label.name":"标签名称","label.color":"颜色","label.builtin":"内置","label.add":"添加标签","label.noLabels":"暂无标签","settings.title":"配置","settings.language":"语言","settings.languageDesc":"切换界面语言","settings.general":"通用","settings.generalDesc":"主题与语言偏好","settings.theme":"主题","settings.themeDesc":"选择界面主题","settings.themeLight":"浅色","settings.themeDark":"深色","settings.themeSystem":"跟随系统","settings.prompts":"提示词","settings.promptsDesc":"管理 AI 提示词模板","settings.prompts.title":"提示词管理","settings.prompts.newPrompt":"新建提示词","settings.prompts.editPrompt":"编辑提示词","settings.prompts.promptName":"名称","settings.prompts.promptNamePlaceholder":"输入提示词名称","settings.prompts.promptDescription":"描述","settings.prompts.promptDescriptionPlaceholder":"可选,简要描述用途","settings.prompts.promptContent":"内容","settings.prompts.promptContentPlaceholder":"输入提示词内容...","settings.prompts.deleteConfirmTitle":"确认删除","settings.prompts.deleteConfirmMessage":"删除后无法恢复。","settings.prompts.setDefault":"设为默认","settings.prompts.default":"默认","settings.prompts.empty":"暂无提示词","settings.prompts.emptyHint":"点击上方按钮创建第一个提示词","settings.prompts.save":"保存","settings.prompts.cancel":"取消","settings.prompts.delete":"删除","settings.aiTools.title":"AI 工具","settings.aiTools.cliVerification":"CLI 验证","settings.aiTools.cliVerificationDesc":"验证 AI 工具命令行是否已正确安装","settings.aiTools.testConnection":"测试连接","settings.aiTools.testing":"测试中...","settings.aiTools.testPassed":"检测通过","settings.aiTools.testFailed":"部分检测未通过","settings.config":"参数配置","settings.configDesc":"系统运行参数","settings.config.empty":"暂无可配置参数 — 后续版本将添加","settings.config.git.title":"Git 路径映射规则","settings.config.git.desc":"定义 Git URL 到本地路径的映射规则,创建项目时自动填充 localPath","settings.config.git.host":"主机","settings.config.git.hostPlaceholder":"github.com","settings.config.git.ownerMatch":"Owner 匹配","settings.config.git.ownerMatchPlaceholder":"* (匹配所有)","settings.config.git.localPathTemplate":"本地基础路径","settings.config.git.localPathTemplatePlaceholder":"/Users/you/project","settings.config.git.priority":"优先级","settings.config.git.priorityHint":"数值越小优先级越高","settings.config.git.addRule":"添加规则","settings.config.git.noRules":"暂无映射规则 — 点击「添加规则」创建","settings.config.git.deleteConfirm":"确定删除此规则?","settings.config.git.deleteConfirmMessage":"此操作不可撤销。","settings.config.git.save":"保存","settings.config.git.cancel":"取消","settings.config.git.edit":"编辑","settings.config.git.delete":"删除","settings.config.git.actions":"操作","settings.config.git.templateHint":"支持 {owner} 和 {repo} 变量","settings.config.git.validationRequired":"主机和本地路径模板不能为空","settings.config.system.title":"系统参数","settings.config.system.desc":"上传限制与并发控制","settings.config.system.maxUpload":"最大上传文件大小","settings.config.system.maxUploadHint":"单个文件允许的最大上传大小","settings.config.system.maxConcurrent":"最大并发执行数","settings.config.system.maxConcurrentHint":"同时运行的 AI 任务上限","settings.config.system.saved":"系统参数已保存","settings.config.gitParams.title":"Git 参数","settings.config.gitParams.desc":"Git 操作超时","settings.config.gitParams.timeout":"Git 操作超时","settings.config.gitParams.timeoutHint":"clone/status 等操作的超时时间","settings.config.gitParams.saved":"Git 参数已保存","settings.config.search.title":"搜索参数","settings.config.search.desc":"搜索结果数量、防抖延迟与摘要长度","settings.config.search.resultLimit":"搜索结果数量","settings.config.search.resultLimitHint":"每类搜索返回的最大结果数","settings.config.search.allModeCap":"全部模式单类上限","settings.config.search.allModeCapHint":"「全部」搜索时每个类别显示的最大结果数","settings.config.search.debounceMs":"搜索防抖延迟","settings.config.search.debounceMsHint":"输入停止后等待多久执行搜索","settings.config.search.snippetLength":"摘要长度","settings.config.search.snippetLengthHint":"搜索结果预览文本的最大字符数","settings.config.search.saved":"搜索参数已保存","workspace.selectHint":"选择一个工作空间","workspace.selectDesc":"从左侧选择一个工作空间开始","workspace.createError":"创建工作区失败,请重试","board.noProject":"该工作空间没有项目,请点击顶部「新建项目」创建","board.tipText":"复用现有拖拽、详情和任务创建链路","board.tipDesc":"先把工作台入口对齐原型,再逐步补 Settings、Skills、Plugins。","folder.selectFolder":"选择文件夹","folder.selectGitRepo":"选择 Git 仓库","folder.hint":"点击文件夹名称进行导航 · 使用操作按钮进行选择","folder.manualInput":"手动输入路径:","folder.goTo":"前往","folder.searchDir":"搜索当前目录:","folder.selectCurrent":"选择当前","folder.selectPath":"选择路径","folder.empty":"此目录下没有文件夹","folder.browse":"浏览","git.section":"Git","git.currentBranch":"当前分支","git.switchBranch":"切换分支","git.localBranches":"本地分支","git.remoteBranches":"远程分支","git.modified":"已修改","git.staged":"已暂存","git.untracked":"未跟踪","git.notInitialized":"该项目尚未初始化 Git 仓库","git.initRepo":"初始化 Git 仓库","git.initSuccess":"Git 仓库初始化成功","git.initFailed":"初始化失败","git.switchSuccess":"已切换到分支","git.switchFailed":"切换分支失败","git.noLocalPath":"请先设置项目本地路径","git.loading":"加载中...","git.createBranch":"创建分支","git.branchName":"分支名称","git.branchNamePlaceholder":"feature/my-feature","git.baseBranch":"基于分支","git.branchDesc":"分支描述","git.branchDescPlaceholder":"可选,描述这个分支的用途","git.createSuccess":"分支创建成功","git.createFailed":"创建分支失败","git.fetchSuccess":"远程分支已更新","git.fetchFailed":"拉取远程分支失败","git.changes":"变更","git.stagedChanges":"已暂存","git.unstagedChanges":"未暂存","git.stageAll":"全部暂存","git.unstageAll":"全部取消","git.commit":"提交","git.commitSuccess":"提交成功","git.commitMsgPlaceholder":"提交信息 (⌘+Enter 提交)","git.pull":"拉取","git.pullSuccess":"拉取成功","git.push":"推送","git.pushSuccess":"推送成功","git.commitLog":"提交历史","git.stash":"暂存区","git.stashMsgPlaceholder":"暂存描述(可选)","git.stashSaved":"已暂存变更","git.stashApply":"恢复","git.stashApplied":"已恢复暂存","git.stashDrop":"删除","git.stashDropped":"已删除暂存","git.noChanges":"工作区干净,没有变更","git.sync":"同步","git.pullFrom":"拉取自","git.pushTo":"推送到","git.fetchAll":"获取所有远程","git.stashSave":"暂存变更","git.stashPopLatest":"恢复最近暂存","git.discardAll":"放弃所有更改","git.discardSuccess":"已放弃所有更改","git.tabLabel":"Git","git.openStudio":"打开工作台","git.openStudioFailed":"打开工作台失败","archive.title":"归档任务","archive.backToBoard":"返回看板","archive.noTasks":"暂无归档任务","archive.noTasksDesc":"已完成或已取消超过今日的任务将出现在此处","archive.completedAt":"完成于","archive.cancelledAt":"取消于","archive.createdAt":"创建于","archive.lastExecution":"最近执行","archive.status.done":"已完成","archive.status.cancelled":"已取消","archive.tasksCount":"条归档","sidebar.notes":"笔记","sidebar.assets":"资源","notes.title":"笔记","notes.newNote":"新建笔记","notes.allCategories":"全部分类","notes.category.account":"账号","notes.category.env":"环境","notes.category.requirements":"需求","notes.category.memo":"备忘","notes.edit":"编辑","notes.delete":"删除","notes.save":"保存","notes.cancel":"取消","notes.titlePlaceholder":"笔记标题","notes.contentPlaceholder":"笔记内容(支持 Markdown)","notes.categoryLabel":"分类","notes.empty":"暂无笔记","notes.emptyHint":"点击「新建笔记」创建第一条笔记","notes.deleteConfirm":"确认删除笔记「{title}」?","notes.noProject":"当前工作空间没有项目","notes.noProjectHint":"请先创建一个项目","notes.backToBoard":"返回看板","notes.loading":"加载中...","notes.workspace":"工作区","notes.project":"项目","assets.title":"资源","assets.upload":"上传文件","assets.empty":"暂无资源","assets.emptyHint":"上传文件作为项目资源","assets.filename":"文件名","assets.size":"大小","assets.uploadedAt":"上传时间","assets.preview":"预览","assets.download":"下载","assets.delete":"删除","assets.deleteConfirm":"确认删除资源「{filename}」?","assets.noProject":"当前工作空间没有项目","assets.noProjectHint":"请先创建一个项目","assets.uploading":"上传中...","assets.backToBoard":"返回看板","assets.loading":"加载中...","assets.uploadTitle":"上传资源","assets.workspace":"工作区","assets.project":"项目","assets.file":"文件","assets.selectFile":"点击选择文件...","assets.description":"描述","assets.descriptionPlaceholder":"输入资源描述(可搜索)","assets.revealInFinder":"在文件夹中显示","assets.previewNotSupported":"不支持预览此文件类型","assets.loadingPreview":"加载中...","assets.previewError":"加载预览失败","assets.fileTooLarge":"文件过大,无法预览(超过 1MB)","taskPage.title":"任务详情","taskPage.back":"返回","taskPage.backToBoard":"返回看板","taskPage.conversation":"对话","taskPage.changes":"变更","taskPage.notes":"备注","taskPage.addNote":"添加备注","taskPage.noteTitle":"标题","taskPage.noteContent":"内容","taskPage.uploadFile":"上传附件","taskPage.attachments":"附件","taskPage.noNotes":"暂无备注","taskPage.noAttachments":"暂无附件","taskPage.deleteNote":"删除","taskPage.deleteAttachment":"删除","taskPage.noteSaved":"备注已保存","taskPage.viewDetails":"查看详情","taskPage.noChanges":"暂无变更","taskPage.branchDeleted":"任务分支已删除,无法查看变更","taskPage.startExecution":"启动执行以查看变更","taskPage.loadingDiff":"加载变更中...","taskPage.noDiff":"暂无变更(需要项目配置本地路径和基础分支)","taskPage.tabFiles":"文件","taskPage.tabPreview":"预览","taskPage.tabSearch":"搜索","taskPage.tabFileTree":"文件树","taskPage.completeTask":"完成任务","taskPage.uncommittedChanges":"工作区有 {count} 个未提交的文件,请先点击 Commit 按钮提交后再完成任务","taskPage.noChangesToComplete":"没有任何改动,无法完成任务","taskPage.taskCompleted":"任务已完成","taskPage.loadDiffFailed":"加载变更失败","taskPage.fileTree.newFile":"新建文件","taskPage.fileTree.newFolder":"新建文件夹","taskPage.fileTree.rename":"重命名","taskPage.fileTree.delete":"删除","taskPage.fileTree.revealInFinder":"在文件夹中显示","taskPage.fileTree.emptyHeading":"文件树暂不可用","taskPage.fileTree.emptyBody":"启动任务执行后将在此显示 worktree 目录结构","taskPage.fileTree.emptyDir":"目录为空","taskPage.fileTree.loadError":"无法加载文件列表,请重试","taskPage.fileTree.renamePlaceholder":"输入新名称","taskPage.fileTree.newFilePlaceholder":"文件名","taskPage.fileTree.newFolderPlaceholder":"文件夹名","taskPage.fileTree.deleteConfirmHeading":"确认删除","taskPage.fileTree.deleteConfirmBody":"删除「{name}」?此操作不可撤销。","taskPage.fileTree.deleteConfirmBodyFolder":"「{name}」及其所有内容将被删除。","taskPage.fileTree.deleteConfirmAction":"删除","taskPage.fileTree.searchPlaceholder":"搜索文件…","taskPage.fileTree.searchNoResults":"无匹配文件","editor.selectFile":"选择文件以打开","editor.selectFileHint":"在左侧文件树中点击任意文件","editor.saveSuccess":"保存成功","editor.saveError":"保存失败,请重试","editor.closeTab":"关闭标签页","editor.noWorktree":"暂无工作区,请先执行任务","diff.filesChanged":"{count} 个文件更改","diff.additions":"+{count}","diff.deletions":"-{count}","diff.binary":"二进制文件","diff.truncated":"差异过大已截断","diff.conflictWarning":"合并被阻止:检测到冲突","diff.conflictFiles":"{count} 个冲突文件","diff.commitChanges":"提交更改","diff.commitMessagePlaceholder":"第一行为标题,空行后为详细描述\n\n例如:\nfeat: 添加用户认证\n\n实现 JWT token 验证和刷新机制","diff.commit":"提交","diff.noChanges":"未检测到更改","diff.commitSuccess":"已提交 ({hash})","merge.button":"合并","merge.confirmTitle":"确认 Squash 合并","merge.targetBranch":"目标分支","merge.changedFiles":"变更文件数","merge.commitsToSquash":"待压缩提交数","merge.commitMessage":"提交信息","merge.confirm":"确认合并","merge.cancel":"取消","merge.merging":"合并中...","merge.success":"合并成功","merge.conflictError":"无法合并:检测到冲突","merge.failed":"合并失败","project.type.label":"项目类型","project.type.frontend":"前端","project.type.backend":"后端","project.previewCommand":"预览启动命令","project.previewCommandPlaceholder":"例:pnpm dev","project.previewCommandDesc":"启动本地开发服务器的命令","preview.run":"运行","preview.stop":"停止","preview.openTerminal":"在终端中打开","preview.refresh":"刷新预览","preview.addressPlaceholder":"输入本地 URL,按 Enter 加载","preview.noWorktree":"预览面板不可用","preview.noWorktreeDesc":"启动任务执行后可在此预览前端页面","preview.statusStopped":"已停止","preview.statusStarting":"启动中...","preview.statusRunning":"运行中","preview.statusError":"启动失败","preview.errorDesc":"启动预览服务器时出错,请检查启动命令","preview.terminalError":"无法打开终端,请检查设置中的终端配置","preview.port":"端口","settings.shell.label":"默认 Shell","settings.shell.desc":"用于 PTY 终端和 AI CLI 测试的 Shell,使用系统已安装的 Shell 及其配置(别名、插件等)","settings.shell.winHint":"Claude Code 在 Windows 上需要 Git Bash 环境,建议选择 Git Bash","settings.terminal.label":"终端应用","settings.terminal.desc":'用于"在终端中打开"的 GUI 终端应用',"settings.terminal.placeholder":"Terminal","settings.terminal.idleTimeout":"空闲超时(秒)","settings.terminal.idleTimeoutDesc":"终端无输出多久后触发空闲检测(最低 180 秒)","settings.cliProfile.title":"CLI 配置","settings.cliProfile.desc":"配置 AI 命令行工具的执行参数","settings.cliProfile.navDesc":"CLI 执行参数配置","settings.cliProfile.command":"命令","settings.cliProfile.commandHint":"CLI 可执行文件名称或路径","settings.cliProfile.commandPlaceholder":"claude","settings.cliProfile.baseArgs":"基础参数","settings.cliProfile.baseArgsHint":"每次执行时附加的命令行参数,一行一个","settings.cliProfile.baseArgsPlaceholder":"--dangerously-skip-permissions","settings.cliProfile.envVars":"环境变量","settings.cliProfile.envVarsHint":"注入到 CLI 进程的环境变量,格式:KEY=VALUE,一行一个","settings.cliProfile.envVarsPlaceholder":"MY_VAR=value","settings.cliProfile.saved":"CLI 配置已保存","settings.cliProfile.saveError":"保存失败","settings.cliProfile.invalidJson":"参数格式无效","settings.cliProfile.noProfile":"未找到默认 CLI 配置,请运行 seed","terminal.connecting":"正在连接...","terminal.connected":"已连接","terminal.disconnected":"已断开","terminal.reconnecting":"正在重连...","terminal.noWorktree":"无工作区","terminal.noWorktreeDesc":"请先运行任务以启动终端","terminal.execute":"执行","terminal.executing":"执行中...","terminal.noPrompt":"请输入执行提示词","terminal.stopExecution":"停止执行","terminal.stopHint":"停止前建议在终端中让 AI 生成 commit","terminal.promptPlaceholder":"输入任务提示词...","terminal.launch":"启动终端","terminal.readyToLaunch":"点击启动终端开始执行任务","execution.success":"成功","execution.failed":"失败","execution.running":"运行中","execution.viewDetails":"查看详情","execution.noSummary":"暂无摘要","execution.commits":"次提交","execution.files":"个文件","execution.terminalOutput":"终端输出","execution.history":"执行历史","execution.gitLog":"Git 提交记录","execution.loading":"加载中...","execution.noHistory":"暂无执行记录","execution.resume":"恢复会话","execution.tryRecover":"尝试继续","execution.details":"详情","execution.collapse":"收起","execution.insight":"归纳","missions.navLabel":"任务控制台","missions.pageTitle":"任务控制台","missions.launchTask":"启动任务","missions.emptyTitle":"无运行中的任务","missions.emptyDesc":"点击「启动任务」开始执行","missions.gridPreset":"布局","missions.stopTask":"停止任务","missions.openFullView":"查看详情","missions.runningTime":"运行","missions.statusCompleted":"已完成","missions.statusStopped":"已停止","missions.statusRunning":"运行中","missions.dragHandle":"拖拽排序","missions.openInTerminal":"在终端打开","missions.launcher.title":"启动任务","missions.launcher.workspace":"工作空间","missions.launcher.project":"项目","missions.launcher.task":"任务","missions.launcher.selectWorkspace":"选择工作空间","missions.launcher.selectProject":"选择项目","missions.launcher.selectTask":"选择任务","missions.launcher.launch":"启动","missions.launcher.cancel":"取消","missions.launcher.noTasks":"暂无可执行任务","missions.error.launchFailed":"启动任务失败","missions.error.stopFailed":"停止任务失败","missions.filterAll":"全部工作区","missions.alreadyMonitored":"已在监控","missions.showMoreTasks":"选择其他任务...","missions.pickerTitle":"选择要启动的任务","missions.pickerFooter":"点击 Launch 启动执行","missions.noAvailableTasks":"暂无可用任务","missions.continueSession":"继续上次会话","missions.continueLabel":"继续","missions.launchNew":"启动新终端","missions.launchNewLabel":"新建","missions.fullPickerTitle":"选择任务","missions.fullPickerHint":"选择工作区和项目查看任务","missions.gridCustom":"自定义","missions.gridCols":"列","missions.gridRows":"行","settings.config.missions.title":"任务控制台布局","settings.config.missions.desc":"自定义网格布局的列数和行数范围","settings.config.missions.minCols":"最小列数","settings.config.missions.maxCols":"最大列数","settings.config.missions.minRows":"最小行数","settings.config.missions.maxRows":"最大行数","settings.config.hooks.title":"Hooks 配置","settings.config.hooks.desc":"管理 Claude Code 的 PostToolUse 钩子","settings.config.hooks.autoUploadTypes":"自动上传文件类型","settings.config.hooks.autoUploadTypesHint":"逗号分隔的文件扩展名","settings.config.hooks.install":"安装 Hook","settings.config.hooks.uninstall":"卸载 Hook","settings.config.hooks.installed":"Hook 已安装","settings.config.hooks.notInstalled":"Hook 未安装","settings.config.hooks.installHint":"安装后,Claude Code 写入匹配类型的文件时会自动上传为任务资产","assistant.title":"Tower 助手","assistant.iconLabel":"助手","assistant.starting":"启动中...","assistant.errorTitle":"会话启动失败","assistant.errorBody":"启动失败,请重试","assistant.loading":"加载中...","assistant.emptyTitle":"我能帮你做什么?","assistant.emptyBody":"输入消息以开始","assistant.copy":"复制","assistant.suggestion.createProject":"创建一个新项目","assistant.suggestion.createTask":"创建一个任务","assistant.suggestion.checkProgress":"查看任务进度","assistant.suggestion.dailySummary":"查看今日工作总结","assistant.inputPlaceholder":"输入消息,Enter 发送,Shift+Enter 换行","assistant.sendLabel":"发送消息","assistant.cancelLabel":"取消发送","assistant.thinking":"思考中","assistant.toolLabel":"工具","assistant.parseError":"解析错误","assistant.parseErrorBody":"无法解析助手输出内容","assistant.closeLabel":"关闭助手","assistant.expandTool":"展开工具调用详情","assistant.previewImage":"预览图片","assistant.removeImage":"移除图片","assistant.brokenImage":"图片不可用","assistant.imageCount":"张图片","assistant.uploadFailed":"上传失败","assistant.uploadFailedRemoveHint":"上传失败 — 点击 x 移除","assistant.closePreview":"关闭预览","assistant.inputPlaceholderWithImages":"输入消息或粘贴图片...","settings.assistant.title":"助手","settings.assistant.desc":"配置助手行为","settings.assistant.communicationMode":"通信模式","settings.assistant.communicationModeDesc":"选择与助手交互的方式","settings.assistant.modeTerminal":"终端模式","settings.assistant.modeChat":"聊天模式","assistant.newSession":"新会话","assistant.sessionList":"会话列表","assistant.deleteSession":"删除","assistant.noSessions":"暂无历史会话","project.migrate":"迁移到规范路径","project.migrateHint":"将项目文件夹移动到 Git 路径规则推导的位置","project.targetPath":"目标路径","project.migrating":"迁移中...","project.migrateSuccess":"项目已迁移到规范路径","project.migrateError":"迁移失败","project.samePathInfo":"路径已是规范路径","project.migrateSafetyWarning":"迁移前请确保没有运行中的任务","project.worktreeWarning":"该项目有活跃的 Git Worktree,迁移将被阻止","project.genDesc":"生成描述","project.analyzing":"分析中...","project.analyzeError":"分析失败,请重试","project.genDescDisabledTooltip":"请先选择路径","project.genDescNoPath":"请先输入地址","project.genDescNotCloned":"请先 clone 项目","project.genDescReady":"基于本地代码生成项目描述","project.deleteTitle":"删除项目","project.deleteWarning":"确定要删除「{name}」吗?","project.deleteIrreversible":"此操作无法撤销,所有任务和数据将被永久删除。","project.deleteConfirmLabel":"请输入「确认删除」以确认","project.deleteConfirmPlaceholder":"确认删除","project.deleteConfirmText":"确认删除","project.deleteButton":"删除项目","project.deleteSuccess":"项目已删除","project.deleteFailed":"删除失败,请重试","taskDrawer.title":"任务概览","taskDrawer.description":"描述","taskDrawer.labels":"标签","taskDrawer.createdAt":"创建时间","taskDrawer.resources":"关联资源","taskDrawer.lastExecution":"最近执行","taskDrawer.noDescription":"暂无描述","taskDrawer.noExecution":"暂无执行记录","codeSearch.patternPlaceholder":"搜索代码(支持正则)","codeSearch.globPlaceholder":"文件过滤,如 *.ts","codeSearch.noPath":"请先配置项目本地路径","codeSearch.searching":"搜索中...","codeSearch.noResults":"无匹配结果","codeSearch.truncated":"仅显示前 200 条结果","codeSearch.hint":"输入关键词后按 Enter 搜索","codeSearch.rgNotInstalled":"未找到 ripgrep (rg),请安装: brew install ripgrep","settings.notifications.title":"通知","settings.notifications.desc":"任务完成提醒","settings.notifications.navDesc":"桌面通知和 Toast 提醒","settings.notifications.enable":"任务完成通知","settings.notifications.enableDesc":"任务执行完成时显示桌面通知或 Toast 提醒","notification.permissionPrompt":"允许 Tower 在任务完成时发送桌面通知","notification.allow":"允许","notification.dismiss":"忽略","notification.taskCompleted":"任务已完成","notification.taskFailed":"任务失败","onboarding.title":"欢迎使用 Tower","onboarding.step1.title":"设置用户名","onboarding.step1.desc":"请输入您的用户名,AI 助手将使用此名称称呼您","onboarding.step1.usernamePlaceholder":"输入用户名","onboarding.step1.usernameLabel":"用户名","onboarding.step1.next":"下一步","onboarding.step2.title":"AI 连接测试","onboarding.step2.desc":"测试与 AI 适配器的连接,确保任务可以正常调度执行","onboarding.cliRequired":"需要安装并配置 Claude CLI 才能继续,请参考文档完成安装","onboarding.complete":"完成设置","onboarding.skip":"跳过","onboarding.back":"上一步","onboarding.step3.title":"配置 Git 路径规则","onboarding.step3.desc":"配置 Git 仓库地址与本地路径的映射规则,创建 Git 项目时将自动生成本地路径","onboarding.step3.addFirst":"添加第一条规则","onboarding.step3.noRules":"还没有配置规则,创建 Git 项目时需要手动填写本地路径","onboarding.step3.hostLabel":"Git 主机","onboarding.step3.hostPlaceholder":"例如 github.com","onboarding.step3.ownerLabel":"Owner 匹配","onboarding.step3.ownerPlaceholder":"* 匹配所有,或填具体用户名","onboarding.step3.pathLabel":"本地基础路径","onboarding.step3.pathPlaceholder":"例如 /Users/you/project","onboarding.step3.pathHint":"支持变量:{path}=完整路径,{owner}=第一段,{repo}=仓库名。不含变量时自动追加仓库名","onboarding.step3.pathHintRepo":"仓库名会自动追加到路径末尾","onboarding.step3.pathHintFull":"开启后保留完整子组路径(适合 GitLab 多级分组)","onboarding.step3.added":"已添加 {count} 条规则","onboarding.step3.exampleTitle":"配置示例","onboarding.step3.exampleCase1":"规则:主机 github.com,路径 ~/project → 结果 ~/project/my-app","onboarding.step3.exampleCase2":"规则:主机 gitlab.com,路径 ~/company/{path} → 结果 ~/company/team/group/my-app","onboarding.step3.exampleDesc":"创建项目输入 Git 地址时,系统自动匹配规则填充本地路径。使用 {path} 可保留完整子组路径","onboarding.step3.previewLabel":"测试预览","onboarding.step3.previewPlaceholder":"粘贴一个 Git 地址试试效果","onboarding.step3.previewNoMatch":"无法解析此地址","onboarding.stepIndicator":"步骤 {current}/{total}","onboarding.welcomeCta":"创建您的第一个工作区开始使用","onboarding.createWorkspace":"创建工作区","onboarding.defaultWorkspaceName":"我的工作区","tour.step1.title":"创建工作区","tour.step1.desc":"工作区是最顶层的组织单元。点击这里创建您的第一个工作区。","tour.step2.title":"创建项目","tour.step2.desc":"项目属于工作区。点击这里创建或导入一个项目,关联您的代码仓库。","tour.step3.title":"打开 AI 助手","tour.step3.desc":"AI 助手可以帮您管理任务和项目。点击这里随时与助手对话。","tour.skip":"跳过引导","tour.next":"下一步","tour.done":"完成","aiConfig.title":"AI 能力配置","aiConfig.description":"为每个 AI 功能场景独立配置 Provider 和模型","aiConfig.terminal":"终端执行","aiConfig.summary":"会话总结","aiConfig.dreaming":"知识沉淀","aiConfig.analysis":"项目分析","aiConfig.assistant":"助手聊天","aiConfig.provider":"Provider","aiConfig.mode":"模式","aiConfig.model":"模型","aiConfig.cli":"CLI(订阅)","aiConfig.api":"API(按量)","aiConfig.default":"默认","aiConfig.notConfigured":"未配置","aiConfig.cliNotFound":"CLI 未安装","aiConfig.apiKeyMissing":"API Key 未配置","aiConfig.saved":"已保存"},en:{"sidebar.workspace":"Workspaces","sidebar.newWorkspace":"New Workspace","sidebar.collapse":"Collapse Sidebar","sidebar.expand":"Expand Sidebar","sidebar.rename":"Rename","sidebar.delete":"Delete","sidebar.archive":"Archive","sidebar.manageLabels":"Manage Labels","sidebar.deleteConfirm":'Delete workspace "{name}"? All projects and tasks will be deleted.',"sidebar.lastWorkspaceError":"At least one workspace must be kept","sidebar.settings":"Settings","workspace.create":"New Workspace","workspace.edit":"Edit Workspace","workspace.name":"Name","workspace.namePlaceholder":"Enter workspace name","workspace.icon":"Icon","common.cancel":"Cancel","common.create":"Create","common.save":"Save","common.delete":"Delete","common.add":"Add","common.edit":"Edit","common.search":"Search","topbar.newProject":"New Project","topbar.importProject":"Import Project","topbar.searchPlaceholder":"Search tasks, projects, repos, notes, assets...","project.name":"Project Name","project.alias":"Alias","project.description":"Description","project.gitUrl":"Git Repository URL","project.gitUrlHint":"Optional, local path will be auto-inferred","project.namePlaceholder":"Enter project name","project.aliasPlaceholder":"Optional, e.g. Frontend Refactor","project.descPlaceholder":"Optional, project description","project.gitPlaceholder":"https://github.com/user/repo or git@github.com:user/repo.git","project.localPath":"Local Path","project.localPathPlaceholder":"/Users/you/projects/my-app","project.localPathHint":"Local folder path, auto-filled from Git URL","project.tildeWarning":"Use absolute path — ~ alias is not supported","project.importHint":"Select an existing local project folder","project.autoDetected":"Git remote auto-detected","project.edit":"Edit Project","git.clone":"Clone","git.cloning":"Cloning...","git.cloned":"Cloned","git.cloneSuccess":"Repository cloned successfully","board.kanban":"Task Board","board.overview":"Overview","board.running":"Running","board.tip":"Tips","board.newTask":"New Task","board.allFilter":"All","board.searchPlaceholder":"Search tasks...","board.inProgressFilter":"In Progress","board.inReviewFilter":"In Review","board.contextMenu.changeStatus":"Change Status","board.contextMenu.launch":"Launch Task","board.contextMenu.goToDetail":"Go to Detail","board.pin":"Pin to Top","board.unpin":"Unpin","board.viewAll":"View All","board.noTasks":"No tasks","task.create":"New Task","task.edit":"Edit Task","task.title":"Task Title","task.titlePlaceholder":"Enter task title","task.description":"Description","task.descPlaceholder":"Enter description (Markdown supported)","task.priority":"Priority","task.labels":"Labels","task.priorityLow":"Low","task.priorityMedium":"Med","task.priorityHigh":"High","task.priorityCritical":"Urgent","task.baseBranch":"Base Branch","task.branchLoading":"Loading branches...","task.branchNone":"No branches found","task.branchSearch":"Search branches...","task.branchDirect":"No branch isolation (work directly in main repo)","task.worktreeLabel":"Branch Isolation","task.worktreeYes":"On","task.worktreeNo":"Off","task.subPath":"Sub Path","task.subPathPlaceholder":"e.g., web, packages/api","task.subPathHint":"Mono-repo subdirectory, task executes in this directory","taskDetail.title":"Task Chat","taskDetail.back":"Back to list","taskDetail.hasConversation":"Has chat","taskDetail.updatedAt":"Updated","taskDetail.directMode":"Direct Mode","taskDetail.send":"Send","taskDetail.sending":"Sending...","taskDetail.inputPlaceholder":"Enter command...","taskDetail.emptyState":"Start a conversation to execute the task","taskDetail.emptyHint":"Press Enter to send","taskDetail.sendFailed":"Send failed, please retry","taskDetail.executionFailed":"Execution failed","taskDetail.executionFailedRetry":"Execution failed, please retry","taskDetail.panelDescription":"Task execution conversation","taskDetail.filesChanged":"files changed","search.placeholder":"Search tasks, projects, repos, notes, assets...","search.task":"Tasks","search.project":"Projects","search.repository":"Repos","search.all":"All","search.note":"Notes","search.asset":"Assets","search.noResults":"No results found","search.typeToSearch":"Type to start searching","search.results":"Search Results","sidebar.right.projectInfo":"Project Info","sidebar.right.repo":"Repository","sidebar.right.addRepo":"Add Repository","sidebar.right.noRepo":"No linked repositories","sidebar.right.addRepoHint":"Add a repository below","sidebar.right.browseRepo":"Browse local repos","sidebar.right.createRepo":"Create new repo","sidebar.right.recent":"Recent","sidebar.right.other":"Other","sidebar.right.browseWip":"Browse repos - coming soon","sidebar.right.createWip":"Create repo - coming soon","sidebar.right.linkWip":"Link repo - coming soon","sidebar.right.normalType":"Normal","sidebar.right.gitType":"Git Project","sidebar.right.edit":"Edit Project","sidebar.right.name":"Project Name","sidebar.right.aliasLabel":"Alias","sidebar.right.descLabel":"Description","sidebar.right.save":"Save","sidebar.right.cancel":"Cancel","sidebar.right.namePlaceholder":"Enter project name","sidebar.right.aliasPlaceholder":"Optional alias","sidebar.right.descPlaceholder":"Project description","label.manage":"Manage Labels","label.name":"Label name","label.color":"Color","label.builtin":"Built-in","label.add":"Add Label","label.noLabels":"No labels","settings.title":"Settings","settings.language":"Language","settings.languageDesc":"Switch interface language","settings.general":"General","settings.generalDesc":"Appearance and language preferences","settings.theme":"Theme","settings.themeDesc":"Choose interface theme","settings.themeLight":"Light","settings.themeDark":"Dark","settings.themeSystem":"System","settings.prompts":"Prompts","settings.promptsDesc":"Manage AI prompt templates","settings.prompts.title":"Prompt Management","settings.prompts.newPrompt":"New Prompt","settings.prompts.editPrompt":"Edit Prompt","settings.prompts.promptName":"Name","settings.prompts.promptNamePlaceholder":"Enter prompt name","settings.prompts.promptDescription":"Description","settings.prompts.promptDescriptionPlaceholder":"Optional, brief description","settings.prompts.promptContent":"Content","settings.prompts.promptContentPlaceholder":"Enter prompt content...","settings.prompts.deleteConfirmTitle":"Confirm Delete","settings.prompts.deleteConfirmMessage":"This cannot be undone.","settings.prompts.setDefault":"Set as Default","settings.prompts.default":"Default","settings.prompts.empty":"No prompts yet","settings.prompts.emptyHint":"Click the button above to create your first prompt","settings.prompts.save":"Save","settings.prompts.cancel":"Cancel","settings.prompts.delete":"Delete","settings.aiTools.title":"AI Tools","settings.aiTools.cliVerification":"CLI Verification","settings.aiTools.cliVerificationDesc":"Verify AI CLI tools are correctly installed","settings.aiTools.testConnection":"Test Connection","settings.aiTools.testing":"Testing...","settings.aiTools.testPassed":"All checks passed","settings.aiTools.testFailed":"Some checks failed","settings.config":"Config","settings.configDesc":"System configuration parameters","settings.config.empty":"No configurable parameters yet — coming in next phases","settings.config.git.title":"Git Path Mapping Rules","settings.config.git.desc":"Define Git URL to local path mapping rules for auto-populating localPath on project creation","settings.config.git.host":"Host","settings.config.git.hostPlaceholder":"github.com","settings.config.git.ownerMatch":"Owner Match","settings.config.git.ownerMatchPlaceholder":"* (match all)","settings.config.git.localPathTemplate":"Local Base Path","settings.config.git.localPathTemplatePlaceholder":"/Users/you/project","settings.config.git.priority":"Priority","settings.config.git.priorityHint":"Lower number = higher priority","settings.config.git.addRule":"Add Rule","settings.config.git.noRules":"No mapping rules yet — click Add Rule to create one","settings.config.git.deleteConfirm":"Delete this rule?","settings.config.git.deleteConfirmMessage":"This cannot be undone.","settings.config.git.save":"Save","settings.config.git.cancel":"Cancel","settings.config.git.edit":"Edit","settings.config.git.delete":"Delete","settings.config.git.actions":"Actions","settings.config.git.templateHint":"Supports {owner} and {repo} variables","settings.config.git.validationRequired":"Host and local path template are required","settings.config.system.title":"System Parameters","settings.config.system.desc":"Upload limits and concurrency control","settings.config.system.maxUpload":"Max Upload File Size","settings.config.system.maxUploadHint":"Maximum allowed size for a single file upload","settings.config.system.maxConcurrent":"Max Concurrent Executions","settings.config.system.maxConcurrentHint":"Maximum number of AI tasks running simultaneously","settings.config.system.saved":"System parameters saved","settings.config.gitParams.title":"Git Parameters","settings.config.gitParams.desc":"Git operation timeout","settings.config.gitParams.timeout":"Git Operation Timeout","settings.config.gitParams.timeoutHint":"Timeout for clone/status and other operations","settings.config.gitParams.saved":"Git parameters saved","settings.config.search.title":"Search Parameters","settings.config.search.desc":"Search result count, debounce delay, and snippet length","settings.config.search.resultLimit":"Search Result Limit","settings.config.search.resultLimitHint":"Maximum results returned per search category","settings.config.search.allModeCap":"All-Mode Per-Type Cap","settings.config.search.allModeCapHint":"Maximum results per category in All search mode","settings.config.search.debounceMs":"Search Debounce Delay","settings.config.search.debounceMsHint":"Wait time after typing stops before executing search","settings.config.search.snippetLength":"Snippet Length","settings.config.search.snippetLengthHint":"Maximum characters for search result preview text","settings.config.search.saved":"Search parameters saved","workspace.selectHint":"Select a workspace","workspace.selectDesc":"Choose a workspace from the sidebar","workspace.createError":"Failed to create workspace, please try again","board.noProject":'No projects yet. Click "New Project" to create one.',"board.tipText":"Reuse existing drag, detail, and task creation pipeline","board.tipDesc":"Align workspace entry with prototype first, then add Settings, Skills, Plugins.","folder.selectFolder":"Select Folder","folder.selectGitRepo":"Select Git Repository","folder.hint":"Click folder name to navigate · Use buttons to select","folder.manualInput":"Enter path manually:","folder.goTo":"Go","folder.searchDir":"Search current directory:","folder.selectCurrent":"Select Current","folder.selectPath":"Select Path","folder.empty":"No folders in this directory","folder.browse":"Browse","git.section":"Git","git.currentBranch":"Current Branch","git.switchBranch":"Switch Branch","git.localBranches":"Local","git.remoteBranches":"Remote","git.modified":"Modified","git.staged":"Staged","git.untracked":"Untracked","git.notInitialized":"Git is not initialized for this project","git.initRepo":"Initialize Git Repository","git.initSuccess":"Git repository initialized","git.initFailed":"Initialization failed","git.switchSuccess":"Switched to branch","git.switchFailed":"Branch switch failed","git.noLocalPath":"Set project local path first","git.loading":"Loading...","git.createBranch":"Create Branch","git.branchName":"Branch Name","git.branchNamePlaceholder":"feature/my-feature","git.baseBranch":"Base Branch","git.branchDesc":"Description","git.branchDescPlaceholder":"Optional, describe this branch","git.createSuccess":"Branch created successfully","git.createFailed":"Failed to create branch","git.fetchSuccess":"Remote branches updated","git.fetchFailed":"Failed to fetch remote branches","git.changes":"Changes","git.stagedChanges":"Staged","git.unstagedChanges":"Unstaged","git.stageAll":"Stage All","git.unstageAll":"Unstage All","git.commit":"Commit","git.commitSuccess":"Committed successfully","git.commitMsgPlaceholder":"Commit message (⌘+Enter to commit)","git.pull":"Pull","git.pullSuccess":"Pulled successfully","git.push":"Push","git.pushSuccess":"Pushed successfully","git.commitLog":"Commit Log","git.stash":"Stash","git.stashMsgPlaceholder":"Stash message (optional)","git.stashSaved":"Changes stashed","git.stashApply":"Apply","git.stashApplied":"Stash applied","git.stashDrop":"Drop","git.stashDropped":"Stash dropped","git.noChanges":"Working tree clean","git.sync":"Sync","git.pullFrom":"Pull from","git.pushTo":"Push to","git.fetchAll":"Fetch All Remotes","git.stashSave":"Stash Changes","git.stashPopLatest":"Pop Latest Stash","git.discardAll":"Discard All Changes","git.discardSuccess":"All changes discarded","git.tabLabel":"Git","git.openStudio":"Open Studio","git.openStudioFailed":"Failed to open studio","archive.title":"Archived Tasks","archive.backToBoard":"Back to Board","archive.noTasks":"No archived tasks","archive.noTasksDesc":"Completed or cancelled tasks older than today will appear here","archive.completedAt":"Completed","archive.cancelledAt":"Cancelled","archive.createdAt":"Created","archive.lastExecution":"Last execution","archive.status.done":"Done","archive.status.cancelled":"Cancelled","archive.tasksCount":"archived","sidebar.notes":"Notes","sidebar.assets":"Assets","notes.title":"Notes","notes.newNote":"New Note","notes.allCategories":"All","notes.category.account":"Account","notes.category.env":"Environment","notes.category.requirements":"Requirements","notes.category.memo":"Memo","notes.edit":"Edit","notes.delete":"Delete","notes.save":"Save","notes.cancel":"Cancel","notes.titlePlaceholder":"Note title","notes.contentPlaceholder":"Note content (Markdown supported)","notes.categoryLabel":"Category","notes.empty":"No notes yet","notes.emptyHint":'Click "New Note" to create your first note',"notes.deleteConfirm":'Delete note "{title}"?',"notes.noProject":"No projects in this workspace","notes.noProjectHint":"Create a project first","notes.backToBoard":"Back to Board","notes.loading":"Loading...","notes.workspace":"Workspace","notes.project":"Project","assets.title":"Assets","assets.upload":"Upload File","assets.empty":"No assets yet","assets.emptyHint":"Upload files as project assets","assets.filename":"Filename","assets.size":"Size","assets.uploadedAt":"Uploaded At","assets.preview":"Preview","assets.download":"Download","assets.delete":"Delete","assets.deleteConfirm":'Delete asset "{filename}"?',"assets.noProject":"No projects in this workspace","assets.noProjectHint":"Create a project first","assets.uploading":"Uploading...","assets.backToBoard":"Back to Board","assets.loading":"Loading...","assets.uploadTitle":"Upload Asset","assets.workspace":"Workspace","assets.project":"Project","assets.file":"File","assets.selectFile":"Click to select file...","assets.description":"Description","assets.descriptionPlaceholder":"Enter asset description (searchable)","assets.revealInFinder":"Reveal in Finder","assets.previewNotSupported":"Preview not supported for this file type","assets.loadingPreview":"Loading...","assets.previewError":"Failed to load preview","assets.fileTooLarge":"File too large to preview (over 1MB)","taskPage.title":"Task Details","taskPage.back":"Back","taskPage.backToBoard":"Back to Board","taskPage.conversation":"Conversation","taskPage.changes":"Changes","taskPage.notes":"Notes","taskPage.addNote":"Add Note","taskPage.noteTitle":"Title","taskPage.noteContent":"Content","taskPage.uploadFile":"Upload File","taskPage.attachments":"Attachments","taskPage.noNotes":"No notes yet","taskPage.noAttachments":"No attachments yet","taskPage.deleteNote":"Delete","taskPage.deleteAttachment":"Delete","taskPage.noteSaved":"Note saved","taskPage.viewDetails":"View Details","taskPage.noChanges":"No changes to display","taskPage.branchDeleted":"Task branch has been deleted, cannot view changes","taskPage.startExecution":"Start an execution to see changes","taskPage.loadingDiff":"Loading changes...","taskPage.noDiff":"No changes (project needs local path and base branch configured)","taskPage.tabFiles":"Files","taskPage.tabPreview":"Preview","taskPage.tabSearch":"Search","taskPage.tabFileTree":"Files","taskPage.completeTask":"Complete Task","taskPage.taskCompleted":"Task completed","taskPage.uncommittedChanges":"Worktree has {count} uncommitted file(s). Please click Commit button first","taskPage.noChangesToComplete":"No changes to complete — nothing was committed","taskPage.loadDiffFailed":"Failed to load changes","taskPage.fileTree.newFile":"New File","taskPage.fileTree.newFolder":"New Folder","taskPage.fileTree.rename":"Rename","taskPage.fileTree.delete":"Delete","taskPage.fileTree.revealInFinder":"Reveal in Finder","taskPage.fileTree.emptyHeading":"File tree unavailable","taskPage.fileTree.emptyBody":"Start task execution to view the worktree directory","taskPage.fileTree.emptyDir":"Empty directory","taskPage.fileTree.loadError":"Failed to load files. Try again.","taskPage.fileTree.renamePlaceholder":"Enter new name","taskPage.fileTree.newFilePlaceholder":"File name","taskPage.fileTree.newFolderPlaceholder":"Folder name","taskPage.fileTree.deleteConfirmHeading":"Confirm delete","taskPage.fileTree.deleteConfirmBody":'Delete "{name}"? This cannot be undone.',"taskPage.fileTree.deleteConfirmBodyFolder":'"{name}" and all its contents will be deleted.',"taskPage.fileTree.deleteConfirmAction":"Delete","taskPage.fileTree.searchPlaceholder":"Search files…","taskPage.fileTree.searchNoResults":"No matching files","editor.selectFile":"Select a file to open","editor.selectFileHint":"Click any file in the file tree on the left","editor.saveSuccess":"File saved","editor.saveError":"Save failed, please try again","editor.closeTab":"Close tab","editor.noWorktree":"No worktree — run the task first","diff.filesChanged":"{count} files changed","diff.additions":"+{count}","diff.deletions":"-{count}","diff.binary":"Binary","diff.truncated":"Diff truncated (too large)","diff.conflictWarning":"Merge blocked: conflicts detected","diff.conflictFiles":"{count} conflicting files","diff.commitChanges":"Commit Changes","diff.commitMessagePlaceholder":"First line is the title, blank line then description\n\ne.g.:\nfeat: add user authentication\n\nImplement JWT token verification and refresh","diff.commit":"Commit","diff.noChanges":"No changes detected","diff.commitSuccess":"Committed ({hash})","merge.button":"Merge","merge.confirmTitle":"Confirm Squash Merge","merge.targetBranch":"Target branch","merge.changedFiles":"Changed files","merge.commitsToSquash":"Commits to squash","merge.commitMessage":"Commit message","merge.confirm":"Confirm Merge","merge.cancel":"Cancel","merge.merging":"Merging...","merge.success":"Merge completed successfully","merge.conflictError":"Cannot merge: conflicts detected","merge.failed":"Merge failed","project.type.label":"Project Type","project.type.frontend":"Frontend","project.type.backend":"Backend","project.previewCommand":"Preview Start Command","project.previewCommandPlaceholder":"e.g. pnpm dev","project.previewCommandDesc":"Command to start your local dev server","preview.run":"Run","preview.stop":"Stop","preview.openTerminal":"Open in Terminal","preview.refresh":"Refresh Preview","preview.addressPlaceholder":"Enter local URL, press Enter to load","preview.noWorktree":"Preview Unavailable","preview.noWorktreeDesc":"Run a task to preview your frontend here","preview.statusStopped":"Stopped","preview.statusStarting":"Starting...","preview.statusRunning":"Running","preview.statusError":"Failed","preview.errorDesc":"Failed to start preview server. Check your start command.","preview.terminalError":"Cannot open terminal. Check terminal settings.","preview.port":"Port","settings.shell.label":"Default Shell","settings.shell.desc":"Shell for PTY terminal and AI CLI testing — uses your system shell with its aliases, plugins, etc.","settings.shell.winHint":"Claude Code requires Git Bash on Windows — select Git Bash as default","settings.terminal.label":"Terminal App","settings.terminal.desc":'GUI terminal app for "Open in Terminal"',"settings.terminal.placeholder":"Terminal","settings.terminal.idleTimeout":"Idle Timeout (seconds)","settings.terminal.idleTimeoutDesc":"How long before idle detection triggers after no terminal output (minimum 180s)","settings.cliProfile.title":"CLI Profile","settings.cliProfile.desc":"Configure AI CLI tool execution parameters","settings.cliProfile.navDesc":"CLI execution parameters","settings.cliProfile.command":"Command","settings.cliProfile.commandHint":"CLI executable name or path","settings.cliProfile.commandPlaceholder":"claude","settings.cliProfile.baseArgs":"Base Arguments","settings.cliProfile.baseArgsHint":"Arguments appended to every execution, one per line","settings.cliProfile.baseArgsPlaceholder":"--dangerously-skip-permissions","settings.cliProfile.envVars":"Environment Variables","settings.cliProfile.envVarsHint":"Environment variables injected into CLI process, format: KEY=VALUE, one per line","settings.cliProfile.envVarsPlaceholder":"MY_VAR=value","settings.cliProfile.saved":"CLI profile saved","settings.cliProfile.saveError":"Save failed","settings.cliProfile.invalidJson":"Invalid parameter format","settings.cliProfile.noProfile":"No default CLI profile found — run seed","terminal.connecting":"Connecting...","terminal.connected":"Connected","terminal.disconnected":"Disconnected","terminal.reconnecting":"Reconnecting...","terminal.noWorktree":"No Worktree","terminal.noWorktreeDesc":"Run the task first to start the terminal","terminal.execute":"Execute","terminal.executing":"Executing...","terminal.noPrompt":"Enter a prompt to execute","terminal.stopExecution":"Stop","terminal.stopHint":"Consider asking AI to commit before stopping","terminal.promptPlaceholder":"Enter task prompt...","terminal.launch":"Launch Terminal","terminal.readyToLaunch":"Click to launch terminal and start task execution","execution.success":"Success","execution.failed":"Failed","execution.running":"Running","execution.viewDetails":"Details","execution.noSummary":"No summary","execution.commits":"commits","execution.files":"files","execution.terminalOutput":"Terminal Output","execution.history":"Execution History","execution.gitLog":"Git Log","execution.loading":"Loading...","execution.noHistory":"No execution history","execution.resume":"Resume","execution.tryRecover":"Try Continue","execution.details":"Details","execution.collapse":"Collapse","execution.insight":"Insight","missions.navLabel":"Missions","missions.pageTitle":"Mission Control","missions.launchTask":"Launch Task","missions.emptyTitle":"No running tasks","missions.emptyDesc":'Click "Launch Task" to start an execution',"missions.gridPreset":"Layout","missions.stopTask":"Stop Task","missions.openFullView":"Open full view","missions.runningTime":"Running","missions.statusCompleted":"Completed","missions.statusStopped":"Stopped","missions.statusRunning":"Running","missions.dragHandle":"Drag to reorder","missions.openInTerminal":"Open in Terminal","missions.launcher.title":"Launch Task","missions.launcher.workspace":"Workspace","missions.launcher.project":"Project","missions.launcher.task":"Task","missions.launcher.selectWorkspace":"Select workspace","missions.launcher.selectProject":"Select project","missions.launcher.selectTask":"Select task","missions.launcher.launch":"Launch","missions.launcher.cancel":"Cancel","missions.launcher.noTasks":"No executable tasks","missions.error.launchFailed":"Failed to launch task","missions.error.stopFailed":"Failed to stop task","missions.filterAll":"All Workspaces","missions.alreadyMonitored":"Already monitored","missions.showMoreTasks":"Show more tasks...","missions.pickerTitle":"Select a task to launch","missions.pickerFooter":"Click Launch to start execution","missions.noAvailableTasks":"No available tasks","missions.continueSession":"Continue last session","missions.continueLabel":"Continue","missions.launchNew":"Start new terminal","missions.launchNewLabel":"New","missions.fullPickerTitle":"Select Task","missions.fullPickerHint":"Select a workspace and project to see tasks","missions.gridCustom":"Custom","missions.gridCols":"Cols","missions.gridRows":"Rows","settings.config.missions.title":"Mission Control Layout","settings.config.missions.desc":"Configure min/max range for custom grid columns and rows","settings.config.missions.minCols":"Min Columns","settings.config.missions.maxCols":"Max Columns","settings.config.missions.minRows":"Min Rows","settings.config.missions.maxRows":"Max Rows","settings.config.hooks.title":"Hook Configuration","settings.config.hooks.desc":"Manage Claude Code PostToolUse hooks","settings.config.hooks.autoUploadTypes":"Auto-upload File Types","settings.config.hooks.autoUploadTypesHint":"Comma-separated file extensions","settings.config.hooks.install":"Install Hook","settings.config.hooks.uninstall":"Uninstall Hook","settings.config.hooks.installed":"Hook installed","settings.config.hooks.notInstalled":"Hook not installed","settings.config.hooks.installHint":"Once installed, files matching the configured types written by Claude Code will be auto-uploaded as task assets","assistant.title":"Tower Assistant","assistant.iconLabel":"Assistant","assistant.starting":"Starting...","assistant.errorTitle":"Session failed","assistant.errorBody":"Failed to start. Try again.","assistant.loading":"Loading...","assistant.emptyTitle":"What can I help you with?","assistant.emptyBody":"Type a message to start","assistant.copy":"Copy","assistant.suggestion.createProject":"Create a new project","assistant.suggestion.createTask":"Create a task","assistant.suggestion.checkProgress":"Check task progress","assistant.suggestion.dailySummary":"View today's work summary","assistant.inputPlaceholder":"Type a message, Enter to send, Shift+Enter for new line","assistant.sendLabel":"Send message","assistant.cancelLabel":"Cancel","assistant.thinking":"Thinking","assistant.toolLabel":"Tool","assistant.parseError":"Parse error","assistant.parseErrorBody":"Could not parse assistant output","assistant.closeLabel":"Close assistant","assistant.expandTool":"Expand tool call details","assistant.previewImage":"Preview image","assistant.removeImage":"Remove image","assistant.brokenImage":"Image unavailable","assistant.imageCount":"image(s)","assistant.uploadFailed":"Upload failed","assistant.uploadFailedRemoveHint":"Upload failed — click x to remove","assistant.closePreview":"Close preview","assistant.inputPlaceholderWithImages":"Type a message or paste an image...","settings.assistant.title":"Assistant","settings.assistant.desc":"Configure assistant behavior","settings.assistant.communicationMode":"Communication Mode","settings.assistant.communicationModeDesc":"Choose how to interact with the assistant","settings.assistant.modeTerminal":"Terminal","settings.assistant.modeChat":"Chat","assistant.newSession":"New Session","assistant.sessionList":"Sessions","assistant.deleteSession":"Delete","assistant.noSessions":"No previous sessions","project.migrate":"Migrate to canonical path","project.migrateHint":"Move project folder to the location derived from Git path rules","project.targetPath":"Target Path","project.migrating":"Migrating...","project.migrateSuccess":"Project migrated to canonical path","project.migrateError":"Migration failed","project.samePathInfo":"Path is already canonical","project.migrateSafetyWarning":"Ensure no tasks are running before migration","project.worktreeWarning":"This project has active Git worktrees — migration will be blocked","project.genDesc":"Generate Description","project.analyzing":"Analyzing...","project.analyzeError":"Analysis failed, please retry","project.genDescDisabledTooltip":"Please select a path first","project.genDescNoPath":"Please enter an address first","project.genDescNotCloned":"Please clone the project first","project.genDescReady":"Generate description from local code","project.deleteTitle":"Delete Project","project.deleteWarning":'Are you sure you want to delete "{name}"?',"project.deleteIrreversible":"This action cannot be undone. All tasks and data will be permanently deleted.","project.deleteConfirmLabel":'Type "confirm delete" to confirm',"project.deleteConfirmPlaceholder":"confirm delete","project.deleteConfirmText":"confirm delete","project.deleteButton":"Delete Project","project.deleteSuccess":"Project deleted","project.deleteFailed":"Delete failed, please retry","taskDrawer.title":"Task Overview","taskDrawer.description":"Description","taskDrawer.labels":"Labels","taskDrawer.createdAt":"Created","taskDrawer.resources":"Resources","taskDrawer.lastExecution":"Last Execution","taskDrawer.noDescription":"No description","taskDrawer.noExecution":"No execution history","codeSearch.patternPlaceholder":"Search code (regex supported)","codeSearch.globPlaceholder":"File filter, e.g. *.ts","codeSearch.noPath":"Please configure local path first","codeSearch.searching":"Searching...","codeSearch.noResults":"No matches found","codeSearch.truncated":"Showing first 200 results","codeSearch.hint":"Type a keyword and press Enter to search","codeSearch.rgNotInstalled":"ripgrep (rg) not found, please install: brew install ripgrep","settings.notifications.title":"Notifications","settings.notifications.desc":"Task completion alerts","settings.notifications.navDesc":"Desktop and toast alerts","settings.notifications.enable":"Task Completion Notifications","settings.notifications.enableDesc":"Show a desktop notification or toast when a task finishes executing","notification.permissionPrompt":"Allow Tower to send desktop notifications when tasks complete","notification.allow":"Allow","notification.dismiss":"Dismiss","notification.taskCompleted":"Task completed","notification.taskFailed":"Task failed","onboarding.title":"Welcome to Tower","onboarding.step1.title":"Set Your Username","onboarding.step1.desc":"Enter your username — the AI assistant will address you by this name","onboarding.step1.usernamePlaceholder":"Enter username","onboarding.step1.usernameLabel":"Username","onboarding.step1.next":"Next","onboarding.step2.title":"AI Connection Test","onboarding.step2.desc":"Test connectivity with AI adapters to ensure tasks can be dispatched and executed","onboarding.cliRequired":"Claude CLI must be installed and configured to continue. Please refer to the documentation.","onboarding.complete":"Complete Setup","onboarding.skip":"Skip","onboarding.back":"Back","onboarding.step3.title":"Configure Git Path Rules","onboarding.step3.desc":"Set up mapping rules between Git repository URLs and local paths — local paths will be auto-generated when creating Git projects","onboarding.step3.addFirst":"Add First Rule","onboarding.step3.noRules":"No rules configured yet — you'll need to enter local paths manually when creating Git projects","onboarding.step3.hostLabel":"Git Host","onboarding.step3.hostPlaceholder":"e.g. github.com","onboarding.step3.ownerLabel":"Owner Match","onboarding.step3.ownerPlaceholder":"* for all, or specific username","onboarding.step3.pathLabel":"Local Base Path","onboarding.step3.pathPlaceholder":"e.g. /Users/you/project","onboarding.step3.pathHint":"Variables: {path}=full path, {owner}=first segment, {repo}=repo name. Without variables, repo name is auto-appended","onboarding.step3.pathHintRepo":"Repository name is auto-appended to the path","onboarding.step3.pathHintFull":"Preserves full subgroup path (for GitLab nested groups)","onboarding.step3.added":"{count} rule(s) added","onboarding.step3.exampleTitle":"Example","onboarding.step3.exampleCase1":"Rule: host github.com, path ~/project → result ~/project/my-app","onboarding.step3.exampleCase2":"Rule: host gitlab.com, path ~/company/{path} → result ~/company/team/group/my-app","onboarding.step3.exampleDesc":"When creating a project with a Git URL, the local path is auto-filled. Use {path} to preserve full subgroup structure.","onboarding.step3.previewLabel":"Test Preview","onboarding.step3.previewPlaceholder":"Paste a Git URL to preview the result","onboarding.step3.previewNoMatch":"Cannot parse this URL","onboarding.stepIndicator":"Step {current}/{total}","onboarding.welcomeCta":"Create your first workspace to get started","onboarding.createWorkspace":"Create Workspace","onboarding.defaultWorkspaceName":"My Workspace","tour.step1.title":"Create Workspace","tour.step1.desc":"Workspaces are the top-level organizer. Click here to create your first workspace.","tour.step2.title":"Create Project","tour.step2.desc":"Projects belong to workspaces. Click here to create or import a project linked to your code repository.","tour.step3.title":"Open AI Assistant","tour.step3.desc":"The AI assistant helps you manage tasks and projects. Click here to start a conversation anytime.","tour.skip":"Skip tour","tour.next":"Next","tour.done":"Done","aiConfig.title":"AI Capability Config","aiConfig.description":"Configure provider and model for each AI feature independently","aiConfig.terminal":"Terminal Execution","aiConfig.summary":"Session Summary","aiConfig.dreaming":"Knowledge Distillation","aiConfig.analysis":"Project Analysis","aiConfig.assistant":"Assistant Chat","aiConfig.provider":"Provider","aiConfig.mode":"Mode","aiConfig.model":"Model","aiConfig.cli":"CLI (Subscription)","aiConfig.api":"API (Pay-per-use)","aiConfig.default":"Default","aiConfig.notConfigured":"Not configured","aiConfig.cliNotFound":"CLI not installed","aiConfig.apiKeyMissing":"API key not configured","aiConfig.saved":"Saved"}},a=(0,s.createContext)(null);e.s(["I18nProvider",0,function({children:e}){let[o,n]=(0,s.useState)("zh");(0,s.useEffect)(()=>{let e=localStorage.getItem("locale");e&&e!==o&&n(e)},[]);let r=(0,s.useCallback)(e=>{n(e),localStorage.setItem("locale",e)},[]),l=(0,s.useCallback)((e,t)=>{let s=i[o][e]??e;if(t)for(let[e,i]of Object.entries(t))s=s.replace(`{${e}}`,i);return s},[o]);return(0,t.jsx)(a.Provider,{value:{locale:o,setLocale:r,t:l},children:e})},"useI18n",0,function(){let e=(0,s.useContext)(a);if(!e)throw Error("useI18n must be used within I18nProvider");return e}],625054)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,776798,931678,e=>{"use strict";var t=e.i(713391);function n(e,n,r){let i,{reference:o,floating:l}=e,u=(0,t.getSideAxis)(n),s=(0,t.getAlignmentAxis)(n),a=(0,t.getAxisLength)(s),c=(0,t.getSide)(n),f="y"===u,d=o.x+o.width/2-l.width/2,g=o.y+o.height/2-l.height/2,m=o[a]/2-l[a]/2;switch(c){case"top":i={x:d,y:o.y-l.height};break;case"bottom":i={x:d,y:o.y+o.height};break;case"right":i={x:o.x+o.width,y:g};break;case"left":i={x:o.x-l.width,y:g};break;default:i={x:o.x,y:o.y}}switch((0,t.getAlignment)(n)){case"start":i[s]-=m*(r&&f?-1:1);break;case"end":i[s]+=m*(r&&f?-1:1)}return i}async function r(e,n){var r;void 0===n&&(n={});let{x:i,y:o,platform:l,rects:u,elements:s,strategy:a}=e,{boundary:c="clippingAncestors",rootBoundary:f="viewport",elementContext:d="floating",altBoundary:g=!1,padding:m=0}=(0,t.evaluate)(n,e),h=(0,t.getPaddingObject)(m),p=s[g?"floating"===d?"reference":"floating":d],y=(0,t.rectToClientRect)(await l.getClippingRect({element:null==(r=await (null==l.isElement?void 0:l.isElement(p)))||r?p:p.contextElement||await (null==l.getDocumentElement?void 0:l.getDocumentElement(s.floating)),boundary:c,rootBoundary:f,strategy:a})),x="floating"===d?{x:i,y:o,width:u.floating.width,height:u.floating.height}:u.reference,v=await (null==l.getOffsetParent?void 0:l.getOffsetParent(s.floating)),w=await (null==l.isElement?void 0:l.isElement(v))&&await (null==l.getScale?void 0:l.getScale(v))||{x:1,y:1},E=(0,t.rectToClientRect)(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:x,offsetParent:v,strategy:a}):x);return{top:(y.top-E.top+h.top)/w.y,bottom:(E.bottom-y.bottom+h.bottom)/w.y,left:(y.left-E.left+h.left)/w.x,right:(E.right-y.right+h.right)/w.x}}let i=async(e,t,i)=>{let{placement:o="bottom",strategy:l="absolute",middleware:u=[],platform:s}=i,a=s.detectOverflow?s:{...s,detectOverflow:r},c=await (null==s.isRTL?void 0:s.isRTL(t)),f=await s.getElementRects({reference:e,floating:t,strategy:l}),{x:d,y:g}=n(f,o,c),m=o,h=0,p={};for(let r=0;r<u.length;r++){let i=u[r];if(!i)continue;let{name:y,fn:x}=i,{x:v,y:w,data:E,reset:R}=await x({x:d,y:g,initialPlacement:o,placement:m,strategy:l,middlewareData:p,rects:f,platform:a,elements:{reference:e,floating:t}});d=null!=v?v:d,g=null!=w?w:g,p[y]={...p[y],...E},R&&h<50&&(h++,"object"==typeof R&&(R.placement&&(m=R.placement),R.rects&&(f=!0===R.rects?await s.getElementRects({reference:e,floating:t,strategy:l}):R.rects),{x:d,y:g}=n(f,m,c)),r=-1)}return{x:d,y:g,placement:m,strategy:l,middlewareData:p}};function o(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function l(e){return t.sides.some(t=>e[t]>=0)}function u(e){let n=(0,t.min)(...e.map(e=>e.left)),r=(0,t.min)(...e.map(e=>e.top));return{x:n,y:r,width:(0,t.max)(...e.map(e=>e.right))-n,height:(0,t.max)(...e.map(e=>e.bottom))-r}}let s=new Set(["left","top"]);async function a(e,n){let{placement:r,platform:i,elements:o}=e,l=await (null==i.isRTL?void 0:i.isRTL(o.floating)),u=(0,t.getSide)(r),a=(0,t.getAlignment)(r),c="y"===(0,t.getSideAxis)(r),f=s.has(u)?-1:1,d=l&&c?-1:1,g=(0,t.evaluate)(n,e),{mainAxis:m,crossAxis:h,alignmentAxis:p}="number"==typeof g?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return a&&"number"==typeof p&&(h="end"===a?-1*p:p),c?{x:h*d,y:m*f}:{x:m*f,y:h*d}}var c=e.i(447120);function f(e){let n=(0,c.getComputedStyle)(e),r=parseFloat(n.width)||0,i=parseFloat(n.height)||0,o=(0,c.isHTMLElement)(e),l=o?e.offsetWidth:r,u=o?e.offsetHeight:i,s=(0,t.round)(r)!==l||(0,t.round)(i)!==u;return s&&(r=l,i=u),{width:r,height:i,$:s}}function d(e){return(0,c.isElement)(e)?e:e.contextElement}function g(e){let n=d(e);if(!(0,c.isHTMLElement)(n))return(0,t.createCoords)(1);let r=n.getBoundingClientRect(),{width:i,height:o,$:l}=f(n),u=(l?(0,t.round)(r.width):r.width)/i,s=(l?(0,t.round)(r.height):r.height)/o;return u&&Number.isFinite(u)||(u=1),s&&Number.isFinite(s)||(s=1),{x:u,y:s}}let m=(0,t.createCoords)(0);function h(e){let t=(0,c.getWindow)(e);return(0,c.isWebKit)()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:m}function p(e,n,r,i){var o;void 0===n&&(n=!1),void 0===r&&(r=!1);let l=e.getBoundingClientRect(),u=d(e),s=(0,t.createCoords)(1);n&&(i?(0,c.isElement)(i)&&(s=g(i)):s=g(e));let a=(void 0===(o=r)&&(o=!1),i&&(!o||i===(0,c.getWindow)(u))&&o)?h(u):(0,t.createCoords)(0),f=(l.left+a.x)/s.x,m=(l.top+a.y)/s.y,p=l.width/s.x,y=l.height/s.y;if(u){let e=(0,c.getWindow)(u),t=i&&(0,c.isElement)(i)?(0,c.getWindow)(i):i,n=e,r=(0,c.getFrameElement)(n);for(;r&&i&&t!==n;){let e=g(r),t=r.getBoundingClientRect(),i=(0,c.getComputedStyle)(r),o=t.left+(r.clientLeft+parseFloat(i.paddingLeft))*e.x,l=t.top+(r.clientTop+parseFloat(i.paddingTop))*e.y;f*=e.x,m*=e.y,p*=e.x,y*=e.y,f+=o,m+=l,n=(0,c.getWindow)(r),r=(0,c.getFrameElement)(n)}}return(0,t.rectToClientRect)({width:p,height:y,x:f,y:m})}function y(e,t){let n=(0,c.getNodeScroll)(e).scrollLeft;return t?t.left+n:p((0,c.getDocumentElement)(e)).left+n}function x(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-y(e,n),y:n.top+t.scrollTop}}function v(e,n,r){var i;let o;if("viewport"===n)o=function(e,t){let n=(0,c.getWindow)(e),r=(0,c.getDocumentElement)(e),i=n.visualViewport,o=r.clientWidth,l=r.clientHeight,u=0,s=0;if(i){o=i.width,l=i.height;let e=(0,c.isWebKit)();(!e||e&&"fixed"===t)&&(u=i.offsetLeft,s=i.offsetTop)}let a=y(r);if(a<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,l=Math.abs(r.clientWidth-t.clientWidth-i);l<=25&&(o-=l)}else a<=25&&(o+=a);return{width:o,height:l,x:u,y:s}}(e,r);else if("document"===n){let n,r,l,u,s,a,f;i=(0,c.getDocumentElement)(e),n=(0,c.getDocumentElement)(i),r=(0,c.getNodeScroll)(i),l=i.ownerDocument.body,u=(0,t.max)(n.scrollWidth,n.clientWidth,l.scrollWidth,l.clientWidth),s=(0,t.max)(n.scrollHeight,n.clientHeight,l.scrollHeight,l.clientHeight),a=-r.scrollLeft+y(i),f=-r.scrollTop,"rtl"===(0,c.getComputedStyle)(l).direction&&(a+=(0,t.max)(n.clientWidth,l.clientWidth)-u),o={width:u,height:s,x:a,y:f}}else if((0,c.isElement)(n)){let e,i,l,u,s,a;i=(e=p(n,!0,"fixed"===r)).top+n.clientTop,l=e.left+n.clientLeft,u=(0,c.isHTMLElement)(n)?g(n):(0,t.createCoords)(1),s=n.clientWidth*u.x,a=n.clientHeight*u.y,o={width:s,height:a,x:l*u.x,y:i*u.y}}else{let t=h(e);o={x:n.x-t.x,y:n.y-t.y,width:n.width,height:n.height}}return(0,t.rectToClientRect)(o)}function w(e){return"static"===(0,c.getComputedStyle)(e).position}function E(e,t){if(!(0,c.isHTMLElement)(e)||"fixed"===(0,c.getComputedStyle)(e).position)return null;if(t)return t(e);let n=e.offsetParent;return(0,c.getDocumentElement)(e)===n&&(n=n.ownerDocument.body),n}function R(e,t){let n=(0,c.getWindow)(e);if((0,c.isTopLayer)(e))return n;if(!(0,c.isHTMLElement)(e)){let t=(0,c.getParentNode)(e);for(;t&&!(0,c.isLastTraversableNode)(t);){if((0,c.isElement)(t)&&!w(t))return t;t=(0,c.getParentNode)(t)}return n}let r=E(e,t);for(;r&&(0,c.isTableElement)(r)&&w(r);)r=E(r,t);return r&&(0,c.isLastTraversableNode)(r)&&w(r)&&!(0,c.isContainingBlock)(r)?n:r||(0,c.getContainingBlock)(e)||n}let b=async function(e){let n=this.getOffsetParent||R,r=this.getDimensions,i=await r(e.floating);return{reference:function(e,n,r){let i=(0,c.isHTMLElement)(n),o=(0,c.getDocumentElement)(n),l="fixed"===r,u=p(e,!0,l,n),s={scrollLeft:0,scrollTop:0},a=(0,t.createCoords)(0);if(i||!i&&!l)if(("body"!==(0,c.getNodeName)(n)||(0,c.isOverflowElement)(o))&&(s=(0,c.getNodeScroll)(n)),i){let e=p(n,!0,l,n);a.x=e.x+n.clientLeft,a.y=e.y+n.clientTop}else o&&(a.x=y(o));l&&!i&&o&&(a.x=y(o));let f=!o||i||l?(0,t.createCoords)(0):x(o,s);return{x:u.left+s.scrollLeft-a.x-f.x,y:u.top+s.scrollTop-a.y-f.y,width:u.width,height:u.height}}(e.reference,await n(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}},S={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:n,rect:r,offsetParent:i,strategy:o}=e,l="fixed"===o,u=(0,c.getDocumentElement)(i),s=!!n&&(0,c.isTopLayer)(n.floating);if(i===u||s&&l)return r;let a={scrollLeft:0,scrollTop:0},f=(0,t.createCoords)(1),d=(0,t.createCoords)(0),m=(0,c.isHTMLElement)(i);if((m||!m&&!l)&&(("body"!==(0,c.getNodeName)(i)||(0,c.isOverflowElement)(u))&&(a=(0,c.getNodeScroll)(i)),m)){let e=p(i);f=g(i),d.x=e.x+i.clientLeft,d.y=e.y+i.clientTop}let h=!u||m||l?(0,t.createCoords)(0):x(u,a);return{width:r.width*f.x,height:r.height*f.y,x:r.x*f.x-a.scrollLeft*f.x+d.x+h.x,y:r.y*f.y-a.scrollTop*f.y+d.y+h.y}},getDocumentElement:c.getDocumentElement,getClippingRect:function(e){let{element:n,boundary:r,rootBoundary:i,strategy:o}=e,l=[..."clippingAncestors"===r?(0,c.isTopLayer)(n)?[]:function(e,t){let n=t.get(e);if(n)return n;let r=(0,c.getOverflowAncestors)(e,[],!1).filter(e=>(0,c.isElement)(e)&&"body"!==(0,c.getNodeName)(e)),i=null,o="fixed"===(0,c.getComputedStyle)(e).position,l=o?(0,c.getParentNode)(e):e;for(;(0,c.isElement)(l)&&!(0,c.isLastTraversableNode)(l);){let t=(0,c.getComputedStyle)(l),n=(0,c.isContainingBlock)(l);n||"fixed"!==t.position||(i=null),(o?n||i:!(!n&&"static"===t.position&&i&&("absolute"===i.position||"fixed"===i.position)||(0,c.isOverflowElement)(l)&&!n&&function e(t,n){let r=(0,c.getParentNode)(t);return!(r===n||!(0,c.isElement)(r)||(0,c.isLastTraversableNode)(r))&&("fixed"===(0,c.getComputedStyle)(r).position||e(r,n))}(e,l)))?i=t:r=r.filter(e=>e!==l),l=(0,c.getParentNode)(l)}return t.set(e,r),r}(n,this._c):[].concat(r),i],u=v(n,l[0],o),s=u.top,a=u.right,f=u.bottom,d=u.left;for(let e=1;e<l.length;e++){let r=v(n,l[e],o);s=(0,t.max)(r.top,s),a=(0,t.min)(r.right,a),f=(0,t.min)(r.bottom,f),d=(0,t.max)(r.left,d)}return{width:a-d,height:f-s,x:d,y:s}},getOffsetParent:R,getElementRects:b,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:n}=f(e);return{width:t,height:n}},getScale:g,isElement:c.isElement,isRTL:function(e){return"rtl"===(0,c.getComputedStyle)(e).direction}};function C(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let A=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:i,y:o,placement:l,middlewareData:u}=t,s=await a(t,e);return l===(null==(n=u.offset)?void 0:n.placement)&&null!=(r=u.arrow)&&r.alignmentOffset?{}:{x:i+s.x,y:o+s.y,data:{...s,placement:l}}}}},O=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(n){let{x:r,y:i,placement:o,platform:l}=n,{mainAxis:u=!0,crossAxis:s=!1,limiter:a={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=(0,t.evaluate)(e,n),f={x:r,y:i},d=await l.detectOverflow(n,c),g=(0,t.getSideAxis)((0,t.getSide)(o)),m=(0,t.getOppositeAxis)(g),h=f[m],p=f[g];if(u){let e="y"===m?"top":"left",n="y"===m?"bottom":"right",r=h+d[e],i=h-d[n];h=(0,t.clamp)(r,h,i)}if(s){let e="y"===g?"top":"left",n="y"===g?"bottom":"right",r=p+d[e],i=p-d[n];p=(0,t.clamp)(r,p,i)}let y=a.fn({...n,[m]:h,[g]:p});return{...y,data:{x:y.x-r,y:y.y-i,enabled:{[m]:u,[g]:s}}}}}},L=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(n){var r,i,o,l,u;let{placement:s,middlewareData:a,rects:c,initialPlacement:f,platform:d,elements:g}=n,{mainAxis:m=!0,crossAxis:h=!0,fallbackPlacements:p,fallbackStrategy:y="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:v=!0,...w}=(0,t.evaluate)(e,n);if(null!=(r=a.arrow)&&r.alignmentOffset)return{};let E=(0,t.getSide)(s),R=(0,t.getSideAxis)(f),b=(0,t.getSide)(f)===f,S=await (null==d.isRTL?void 0:d.isRTL(g.floating)),C=p||(b||!v?[(0,t.getOppositePlacement)(f)]:(0,t.getExpandedPlacements)(f)),A="none"!==x;!p&&A&&C.push(...(0,t.getOppositeAxisPlacements)(f,v,x,S));let O=[f,...C],L=await d.detectOverflow(n,w),T=[],I=(null==(i=a.flip)?void 0:i.overflows)||[];if(m&&T.push(L[E]),h){let e=(0,t.getAlignmentSides)(s,c,S);T.push(L[e[0]],L[e[1]])}if(I=[...I,{placement:s,overflows:T}],!T.every(e=>e<=0)){let e=((null==(o=a.flip)?void 0:o.index)||0)+1,n=O[e];if(n&&("alignment"!==h||R===(0,t.getSideAxis)(n)||I.every(e=>(0,t.getSideAxis)(e.placement)!==R||e.overflows[0]>0)))return{data:{index:e,overflows:I},reset:{placement:n}};let r=null==(l=I.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:l.placement;if(!r)switch(y){case"bestFit":{let e=null==(u=I.filter(e=>{if(A){let n=(0,t.getSideAxis)(e.placement);return n===R||"y"===n}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:u[0];e&&(r=e);break}case"initialPlacement":r=f}if(s!==r)return{reset:{placement:r}}}return{}}}},T=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(n){var r,i;let o,l,{placement:u,rects:s,platform:a,elements:c}=n,{apply:f=()=>{},...d}=(0,t.evaluate)(e,n),g=await a.detectOverflow(n,d),m=(0,t.getSide)(u),h=(0,t.getAlignment)(u),p="y"===(0,t.getSideAxis)(u),{width:y,height:x}=s.floating;"top"===m||"bottom"===m?(o=m,l=h===(await (null==a.isRTL?void 0:a.isRTL(c.floating))?"start":"end")?"left":"right"):(l=m,o="end"===h?"top":"bottom");let v=x-g.top-g.bottom,w=y-g.left-g.right,E=(0,t.min)(x-g[o],v),R=(0,t.min)(y-g[l],w),b=!n.middlewareData.shift,S=E,C=R;if(null!=(r=n.middlewareData.shift)&&r.enabled.x&&(C=w),null!=(i=n.middlewareData.shift)&&i.enabled.y&&(S=v),b&&!h){let e=(0,t.max)(g.left,0),n=(0,t.max)(g.right,0),r=(0,t.max)(g.top,0),i=(0,t.max)(g.bottom,0);p?C=y-2*(0!==e||0!==n?e+n:(0,t.max)(g.left,g.right)):S=x-2*(0!==r||0!==i?r+i:(0,t.max)(g.top,g.bottom))}await f({...n,availableWidth:C,availableHeight:S});let A=await a.getDimensions(c.floating);return y!==A.width||x!==A.height?{reset:{rects:!0}}:{}}}},I=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(n){let{rects:r,platform:i}=n,{strategy:u="referenceHidden",...s}=(0,t.evaluate)(e,n);switch(u){case"referenceHidden":{let e=o(await i.detectOverflow(n,{...s,elementContext:"reference"}),r.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:l(e)}}}case"escaped":{let e=o(await i.detectOverflow(n,{...s,altBoundary:!0}),r.floating);return{data:{escapedOffsets:e,escaped:l(e)}}}default:return{}}}}},M=function(e){return void 0===e&&(e={}),{options:e,fn(n){let{x:r,y:i,placement:o,rects:l,middlewareData:u}=n,{offset:a=0,mainAxis:c=!0,crossAxis:f=!0}=(0,t.evaluate)(e,n),d={x:r,y:i},g=(0,t.getSideAxis)(o),m=(0,t.getOppositeAxis)(g),h=d[m],p=d[g],y=(0,t.evaluate)(a,n),x="number"==typeof y?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(c){let e="y"===m?"height":"width",t=l.reference[m]-l.floating[e]+x.mainAxis,n=l.reference[m]+l.reference[e]-x.mainAxis;h<t?h=t:h>n&&(h=n)}if(f){var v,w;let e="y"===m?"width":"height",n=s.has((0,t.getSide)(o)),r=l.reference[g]-l.floating[e]+(n&&(null==(v=u.offset)?void 0:v[g])||0)+(n?0:x.crossAxis),i=l.reference[g]+l.reference[e]+(n?0:(null==(w=u.offset)?void 0:w[g])||0)-(n?x.crossAxis:0);p<r?p=r:p>i&&(p=i)}return{[m]:h,[g]:p}}}},P=(e,t,n)=>{let r=new Map,o={platform:S,...n},l={...o.platform,_c:r};return i(e,t,{...o,platform:l})};e.s(["arrow",0,e=>({name:"arrow",options:e,async fn(n){let{x:r,y:i,placement:o,rects:l,platform:u,elements:s,middlewareData:a}=n,{element:c,padding:f=0}=(0,t.evaluate)(e,n)||{};if(null==c)return{};let d=(0,t.getPaddingObject)(f),g={x:r,y:i},m=(0,t.getAlignmentAxis)(o),h=(0,t.getAxisLength)(m),p=await u.getDimensions(c),y="y"===m,x=y?"clientHeight":"clientWidth",v=l.reference[h]+l.reference[m]-g[m]-l.floating[h],w=g[m]-l.reference[m],E=await (null==u.getOffsetParent?void 0:u.getOffsetParent(c)),R=E?E[x]:0;R&&await (null==u.isElement?void 0:u.isElement(E))||(R=s.floating[x]||l.floating[h]);let b=R/2-p[h]/2-1,S=(0,t.min)(d[y?"top":"left"],b),C=(0,t.min)(d[y?"bottom":"right"],b),A=R-p[h]-C,O=R/2-p[h]/2+(v/2-w/2),L=(0,t.clamp)(S,O,A),T=!a.arrow&&null!=(0,t.getAlignment)(o)&&O!==L&&l.reference[h]/2-(O<S?S:C)-p[h]/2<0,I=T?O<S?O-S:O-A:0;return{[m]:g[m]+I,data:{[m]:L,centerOffset:O-L-I,...T&&{alignmentOffset:I}},reset:T}}}),"autoPlacement",0,function(e){return void 0===e&&(e={}),{name:"autoPlacement",options:e,async fn(n){var r,i,o,l;let{rects:u,middlewareData:s,placement:a,platform:c,elements:f}=n,{crossAxis:d=!1,alignment:g,allowedPlacements:m=t.placements,autoAlignment:h=!0,...p}=(0,t.evaluate)(e,n),y=void 0!==g||m===t.placements?((l=g||null)?[...m.filter(e=>(0,t.getAlignment)(e)===l),...m.filter(e=>(0,t.getAlignment)(e)!==l)]:m.filter(e=>(0,t.getSide)(e)===e)).filter(e=>!l||(0,t.getAlignment)(e)===l||!!h&&(0,t.getOppositeAlignmentPlacement)(e)!==e):m,x=await c.detectOverflow(n,p),v=(null==(r=s.autoPlacement)?void 0:r.index)||0,w=y[v];if(null==w)return{};let E=(0,t.getAlignmentSides)(w,u,await (null==c.isRTL?void 0:c.isRTL(f.floating)));if(a!==w)return{reset:{placement:y[0]}};let R=[x[(0,t.getSide)(w)],x[E[0]],x[E[1]]],b=[...(null==(i=s.autoPlacement)?void 0:i.overflows)||[],{placement:w,overflows:R}],S=y[v+1];if(S)return{data:{index:v+1,overflows:b},reset:{placement:S}};let C=b.map(e=>{let n=(0,t.getAlignment)(e.placement);return[e.placement,n&&d?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),A=(null==(o=C.filter(e=>e[2].slice(0,(0,t.getAlignment)(e[0])?2:3).every(e=>e<=0))[0])?void 0:o[0])||C[0][0];return A!==a?{data:{index:v+1,overflows:b},reset:{placement:A}}:{}}}},"autoUpdate",0,function(e,n,r,i){let o;void 0===i&&(i={});let{ancestorScroll:l=!0,ancestorResize:u=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:a="function"==typeof IntersectionObserver,animationFrame:f=!1}=i,g=d(e),m=l||u?[...g?(0,c.getOverflowAncestors)(g):[],...n?(0,c.getOverflowAncestors)(n):[]]:[];m.forEach(e=>{l&&e.addEventListener("scroll",r,{passive:!0}),u&&e.addEventListener("resize",r)});let h=g&&a?function(e,n){let r,i=null,o=(0,c.getDocumentElement)(e);function l(){var e;clearTimeout(r),null==(e=i)||e.disconnect(),i=null}return!function u(s,a){void 0===s&&(s=!1),void 0===a&&(a=1),l();let c=e.getBoundingClientRect(),{left:f,top:d,width:g,height:m}=c;if(s||n(),!g||!m)return;let h={rootMargin:-(0,t.floor)(d)+"px "+-(0,t.floor)(o.clientWidth-(f+g))+"px "+-(0,t.floor)(o.clientHeight-(d+m))+"px "+-(0,t.floor)(f)+"px",threshold:(0,t.max)(0,(0,t.min)(1,a))||1},p=!0;function y(t){let n=t[0].intersectionRatio;if(n!==a){if(!p)return u();n?u(!1,n):r=setTimeout(()=>{u(!1,1e-7)},1e3)}1!==n||C(c,e.getBoundingClientRect())||u(),p=!1}try{i=new IntersectionObserver(y,{...h,root:o.ownerDocument})}catch(e){i=new IntersectionObserver(y,h)}i.observe(e)}(!0),l}(g,r):null,y=-1,x=null;s&&(x=new ResizeObserver(e=>{let[t]=e;t&&t.target===g&&x&&n&&(x.unobserve(n),cancelAnimationFrame(y),y=requestAnimationFrame(()=>{var e;null==(e=x)||e.observe(n)})),r()}),g&&!f&&x.observe(g),n&&x.observe(n));let v=f?p(e):null;return f&&function t(){let n=p(e);v&&!C(v,n)&&r(),v=n,o=requestAnimationFrame(t)}(),r(),()=>{var e;m.forEach(e=>{l&&e.removeEventListener("scroll",r),u&&e.removeEventListener("resize",r)}),null==h||h(),null==(e=x)||e.disconnect(),x=null,f&&cancelAnimationFrame(o)}},"computePosition",0,P,"flip",0,L,"hide",0,I,"inline",0,function(e){return void 0===e&&(e={}),{name:"inline",options:e,async fn(n){let{placement:r,elements:i,rects:o,platform:l,strategy:s}=n,{padding:a=2,x:c,y:f}=(0,t.evaluate)(e,n),d=Array.from(await (null==l.getClientRects?void 0:l.getClientRects(i.reference))||[]),g=function(e){let n=e.slice().sort((e,t)=>e.y-t.y),r=[],i=null;for(let e=0;e<n.length;e++){let t=n[e];!i||t.y-i.y>i.height/2?r.push([t]):r[r.length-1].push(t),i=t}return r.map(e=>(0,t.rectToClientRect)(u(e)))}(d),m=(0,t.rectToClientRect)(u(d)),h=(0,t.getPaddingObject)(a),p=await l.getElementRects({reference:{getBoundingClientRect:function(){if(2===g.length&&g[0].left>g[1].right&&null!=c&&null!=f)return g.find(e=>c>e.left-h.left&&c<e.right+h.right&&f>e.top-h.top&&f<e.bottom+h.bottom)||m;if(g.length>=2){if("y"===(0,t.getSideAxis)(r)){let e=g[0],n=g[g.length-1],i="top"===(0,t.getSide)(r),o=e.top,l=n.bottom,u=i?e.left:n.left,s=i?e.right:n.right;return{top:o,bottom:l,left:u,right:s,width:s-u,height:l-o,x:u,y:o}}let e="left"===(0,t.getSide)(r),n=(0,t.max)(...g.map(e=>e.right)),i=(0,t.min)(...g.map(e=>e.left)),o=g.filter(t=>e?t.left===i:t.right===n),l=o[0].top,u=o[o.length-1].bottom;return{top:l,bottom:u,left:i,right:n,width:n-i,height:u-l,x:i,y:l}}return m}},floating:i.floating,strategy:s});return o.reference.x!==p.reference.x||o.reference.y!==p.reference.y||o.reference.width!==p.reference.width||o.reference.height!==p.reference.height?{reset:{rects:p}}:{}}}},"limitShift",0,M,"offset",0,A,"platform",0,S,"shift",0,O,"size",0,T],776798);var D=e.i(85212),k=e.i(9235),N="u">typeof document?D.useLayoutEffect:function(){};function W(e,t){let n,r,i;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!W(e[r],t[r]))return!1;return!0}if((n=(i=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!({}).hasOwnProperty.call(t,i[r]))return!1;for(r=n;0!=r--;){let n=i[r];if(("_owner"!==n||!e.$$typeof)&&!W(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function F(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function H(e,t){let n=F(e);return Math.round(t*n)/n}function _(e){let t=D.useRef(e);return N(()=>{t.current=e}),t}e.s(["flip",0,(e,t)=>{let n=L(e);return{name:n.name,fn:n.fn,options:[e,t]}},"hide",0,(e,t)=>{let n=I(e);return{name:n.name,fn:n.fn,options:[e,t]}},"limitShift",0,(e,t)=>({fn:M(e).fn,options:[e,t]}),"offset",0,(e,t)=>{let n=A(e);return{name:n.name,fn:n.fn,options:[e,t]}},"shift",0,(e,t)=>{let n=O(e);return{name:n.name,fn:n.fn,options:[e,t]}},"size",0,(e,t)=>{let n=T(e);return{name:n.name,fn:n.fn,options:[e,t]}},"useFloating",0,function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:i,elements:{reference:o,floating:l}={},transform:u=!0,whileElementsMounted:s,open:a}=e,[c,f]=D.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[d,g]=D.useState(r);W(d,r)||g(r);let[m,h]=D.useState(null),[p,y]=D.useState(null),x=D.useCallback(e=>{e!==R.current&&(R.current=e,h(e))},[]),v=D.useCallback(e=>{e!==b.current&&(b.current=e,y(e))},[]),w=o||m,E=l||p,R=D.useRef(null),b=D.useRef(null),S=D.useRef(c),C=null!=s,A=_(s),O=_(i),L=_(a),T=D.useCallback(()=>{if(!R.current||!b.current)return;let e={placement:t,strategy:n,middleware:d};O.current&&(e.platform=O.current),P(R.current,b.current,e).then(e=>{let t={...e,isPositioned:!1!==L.current};I.current&&!W(S.current,t)&&(S.current=t,k.flushSync(()=>{f(t)}))})},[d,t,n,O,L]);N(()=>{!1===a&&S.current.isPositioned&&(S.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[a]);let I=D.useRef(!1);N(()=>(I.current=!0,()=>{I.current=!1}),[]),N(()=>{if(w&&(R.current=w),E&&(b.current=E),w&&E){if(A.current)return A.current(w,E,T);T()}},[w,E,T,A,C]);let M=D.useMemo(()=>({reference:R,floating:b,setReference:x,setFloating:v}),[x,v]),V=D.useMemo(()=>({reference:w,floating:E}),[w,E]),B=D.useMemo(()=>{let e={position:n,left:0,top:0};if(!V.floating)return e;let t=H(V.floating,c.x),r=H(V.floating,c.y);return u?{...e,transform:"translate("+t+"px, "+r+"px)",...F(V.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,u,V.floating,c.x,c.y]);return D.useMemo(()=>({...c,update:T,refs:M,elements:V,floatingStyles:B}),[c,T,M,V,B])}],931678)},932003,e=>{"use strict";var t=e.i(447120),n=e.i(719200),r=e.i(524534),i=e.i(284060),o=e.i(315199),l=e.i(113912),u=e.i(673852);e.s(["useFloatingRootContext",0,function(e){let{open:s=!1,onOpenChange:a,elements:c={}}=e,f=(0,n.useId)(),d=null!=(0,o.useFloatingParentNodeId)(),g=(0,r.useRefWithInit)(()=>new l.FloatingRootStore({open:s,onOpenChange:a,referenceElement:c.reference??null,floatingElement:c.floating??null,triggerElements:new u.PopupTriggerMap,floatingId:f,nested:d,noEmit:!1})).current;return(0,i.useIsoLayoutEffect)(()=>{let e={open:s,floatingId:f};void 0!==c.reference&&(e.referenceElement=c.reference,e.domReferenceElement=(0,t.isElement)(c.reference)?c.reference:null),void 0!==c.floating&&(e.floatingElement=c.floating),g.update(e)},[s,f,c.reference,c.floating,g]),g.context.onOpenChange=a,g.context.nested=d,g.context.noEmit=!1,g}])},520132,134381,e=>{"use strict";var t=e.i(85212),n=e.i(713391),r=e.i(924723),i=e.i(284060),o=e.i(685976),l=e.i(357030),u=e.i(776798),s=e.i(931678),a=e.i(447120),c=e.i(315199),f=e.i(932003),d=e.i(378719);let g={name:"hide",async fn(e){let{width:t,height:n,x:r,y:i}=e.rects.reference,o=await (0,s.hide)().fn(e);return{data:{referenceHidden:o.data?.referenceHidden||0===t&&0===n&&0===r&&0===i}}}};var m=e.i(834369);let h={sideX:"left",sideY:"top"};function p(e,t,n){let r="inline-start"===e||"inline-end"===e;return({top:"top",right:r?n?"inline-start":"inline-end":"right",bottom:"bottom",left:r?n?"inline-end":"inline-start":"left"})[t]}function y(e,t,r){let{rects:i,placement:o}=e;return{side:p(t,(0,n.getSide)(o),r),align:(0,n.getAlignment)(o)||"center",anchor:{width:i.reference.width,height:i.reference.height},positioner:{width:i.floating.width,height:i.floating.height}}}function x(e){return null!=e&&"current"in e}e.s(["DEFAULT_SIDES",0,h,"adaptiveOrigin",0,{name:"adaptiveOrigin",async fn(e){let{x:t,y:i,rects:{floating:o},elements:{floating:l},platform:u,strategy:s,placement:a}=e,c=(0,m.ownerWindow)(l),f=c.getComputedStyle(l);if("0s"===f.transitionDuration||""===f.transitionDuration)return{x:t,y:i,data:h};let d=await u.getOffsetParent?.(l),g={width:0,height:0};if("fixed"===s&&c?.visualViewport)g={width:c.visualViewport.width,height:c.visualViewport.height};else if(d===c){let e=(0,r.ownerDocument)(l);g={width:e.documentElement.clientWidth,height:e.documentElement.clientHeight}}else await u.isElement?.(d)&&(g=await u.getDimensions(d));let p=(0,n.getSide)(a),y=t,x=i;return"left"===p&&(y=g.width-(t+o.width)),"top"===p&&(x=g.height-(i+o.height)),{x:y,y:x,data:{sideX:"left"===p?"right":h.sideX,sideY:"top"===p?"bottom":h.sideY}}}}],134381),e.s(["useAnchorPositioning",0,function(e){var m,v;let{anchor:w,positionMethod:E="absolute",side:R="bottom",sideOffset:b=0,align:S="center",alignOffset:C=0,collisionBoundary:A,collisionPadding:O=5,sticky:L=!1,arrowPadding:T=5,disableAnchorTracking:I=!1,keepMounted:M=!1,floatingRootContext:P,mounted:D,collisionAvoidance:k,shiftCrossAxis:N=!1,nodeId:W,adaptiveOrigin:F,lazyFlip:H=!1,externalTree:_}=e,[V,B]=t.useState(null);D||null===V||B(null);let z=k.side||"flip",$=k.align||"flip",G=k.fallbackAxisSide||"end",U="function"==typeof w?w:void 0,j=(0,l.useStableCallback)(U),K=U?j:w,q=(0,o.useValueAsRef)(w),Y="rtl"===(0,d.useDirection)(),X=V||({top:"top",right:"right",bottom:"bottom",left:"left","inline-end":Y?"left":"right","inline-start":Y?"right":"left"})[R],J="center"===S?X:`${X}-${S}`,Q=O,Z=+("bottom"===R),ee=+("top"===R),et=+("right"===R),en=+("left"===R);"number"==typeof Q?Q={top:Q+Z,right:Q+en,bottom:Q+ee,left:Q+et}:Q&&(Q={top:(Q.top||0)+Z,right:(Q.right||0)+en,bottom:(Q.bottom||0)+ee,left:(Q.left||0)+et});let er={boundary:"clipping-ancestors"===A?"clippingAncestors":A,padding:Q},ei=t.useRef(null),eo=(0,o.useValueAsRef)(b),el=(0,o.useValueAsRef)(C),eu=[(0,s.offset)(e=>{let t=y(e,R,Y),n="function"==typeof eo.current?eo.current(t):eo.current,r="function"==typeof el.current?el.current(t):el.current;return{mainAxis:n,crossAxis:r,alignmentAxis:r}},["function"!=typeof b?b:0,"function"!=typeof C?C:0,Y,R])],es="none"===$&&"shift"!==z,ea=!es&&(L||N||"shift"===z),ec="none"===z?null:(0,s.flip)({...er,padding:{top:Q.top+1,right:Q.right+1,bottom:Q.bottom+1,left:Q.left+1},mainAxis:!N&&"flip"===z,crossAxis:"flip"===$&&"alignment",fallbackAxisSideDirection:G}),ef=es?null:(0,s.shift)(e=>{let t=(0,r.ownerDocument)(e.elements.floating).documentElement;return{...er,rootBoundary:N?{x:0,y:0,width:t.clientWidth,height:t.clientHeight}:void 0,mainAxis:"none"!==$,crossAxis:ea,limiter:L||N?void 0:(0,s.limitShift)(e=>{if(!ei.current)return{};let{width:t,height:r}=ei.current.getBoundingClientRect(),i=(0,n.getSideAxis)((0,n.getSide)(e.placement)),o="y"===i?Q.left+Q.right:Q.top+Q.bottom;return{offset:("y"===i?t:r)/2+o/2}})}},[er,L,N,Q,$]);"shift"===z||"shift"===$||"center"===S?eu.push(ef,ec):eu.push(ec,ef),eu.push((0,s.size)({...er,apply({elements:{floating:e},availableWidth:t,availableHeight:n,rects:r}){let i=e.style;i.setProperty("--available-width",`${t}px`),i.setProperty("--available-height",`${n}px`);let o=window.devicePixelRatio||1,{x:l,y:u,width:s,height:a}=r.reference,c=(Math.round((l+s)*o)-Math.round(l*o))/o,f=(Math.round((u+a)*o)-Math.round(u*o))/o;i.setProperty("--anchor-width",`${c}px`),i.setProperty("--anchor-height",`${f}px`)}}),(m=()=>({element:ei.current||document.createElement("div"),padding:T,offsetParent:"floating"}),v=[T],{name:"arrow",options:m,async fn(e){let{x:t,y:r,placement:i,rects:o,platform:l,elements:u,middlewareData:s}=e,{element:a,padding:c=0,offsetParent:f="real"}=(0,n.evaluate)(m,e)||{};if(null==a)return{};let d=(0,n.getPaddingObject)(c),g={x:t,y:r},h=(0,n.getAlignmentAxis)(i),p=(0,n.getAxisLength)(h),y=await l.getDimensions(a),x="y"===h,v=x?"clientHeight":"clientWidth",w=o.reference[p]+o.reference[h]-g[h]-o.floating[p],E=g[h]-o.reference[h],R="real"===f?await l.getOffsetParent?.(a):u.floating,b=u.floating[v]||o.floating[p];b&&await l.isElement?.(R)||(b=u.floating[v]||o.floating[p]);let S=b/2-y[p]/2-1,C=Math.min(d[x?"top":"left"],S),A=Math.min(d[x?"bottom":"right"],S),O=b-y[p]-A,L=b/2-y[p]/2+(w/2-E/2),T=(0,n.clamp)(C,L,O),I=!s.arrow&&null!=(0,n.getAlignment)(i)&&L!==T&&o.reference[p]/2-(L<C?C:A)-y[p]/2<0,M=I?L<C?L-C:L-O:0;return{[h]:g[h]+M,data:{[h]:T,centerOffset:L-T-M,...I&&{alignmentOffset:M}},reset:I}},options:[m,v]}),{name:"transformOrigin",fn(e){let{elements:t,middlewareData:r,placement:i,rects:o,y:l}=e,u=(0,n.getSide)(i),s=(0,n.getSideAxis)(u),a=ei.current,c=r.arrow?.x||0,f=r.arrow?.y||0,d=a?.clientWidth||0,g=a?.clientHeight||0,m=c+d/2,h=f+g/2,p=Math.abs(r.shift?.y||0),x=o.reference.height/2,v="function"==typeof b?b(y(e,R,Y)):b,w=p>v,E={top:`${m}px calc(100% + ${v}px)`,bottom:`${m}px ${-v}px`,left:`calc(100% + ${v}px) ${h}px`,right:`${-v}px ${h}px`}[u],S=`${m}px ${o.reference.y+x-l}px`;return t.floating.style.setProperty("--transform-origin",ea&&"y"===s&&w?S:E),{}}},g,F),(0,i.useIsoLayoutEffect)(()=>{!D&&P&&P.update({referenceElement:null,floatingElement:null,domReferenceElement:null})},[D,P]);let ed=t.useMemo(()=>({elementResize:!I&&"u">typeof ResizeObserver,layoutShift:!I&&"u">typeof IntersectionObserver}),[I]),{refs:eg,elements:em,x:eh,y:ep,middlewareData:ey,update:ex,placement:ev,context:ew,isPositioned:eE,floatingStyles:eR}=function(e={}){let{nodeId:n,externalTree:r}=e,o=(0,f.useFloatingRootContext)(e),l=e.rootContext||o,u={reference:l.useState("referenceElement"),floating:l.useState("floatingElement"),domReference:l.useState("domReferenceElement")},[d,g]=t.useState(null),m=t.useRef(null),h=(0,c.useFloatingTree)(r);(0,i.useIsoLayoutEffect)(()=>{u.domReference&&(m.current=u.domReference)},[u.domReference]);let p=(0,s.useFloating)({...e,elements:{...u,...d&&{reference:d}}}),y=t.useCallback(e=>{let t=(0,a.isElement)(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;g(t),p.refs.setReference(t)},[p.refs]),[x,v]=t.useState(null),[w,E]=t.useState(null);l.useSyncedValue("referenceElement",x),l.useSyncedValue("domReferenceElement",(0,a.isElement)(x)?x:null),l.useSyncedValue("floatingElement",w);let R=t.useCallback(e=>{((0,a.isElement)(e)||null===e)&&(m.current=e,v(e)),((0,a.isElement)(p.refs.reference.current)||null===p.refs.reference.current||null!==e&&!(0,a.isElement)(e))&&p.refs.setReference(e)},[p.refs,v]),b=t.useCallback(e=>{E(e),p.refs.setFloating(e)},[p.refs]),S=t.useMemo(()=>({...p.refs,setReference:R,setFloating:b,setPositionReference:y,domReference:m}),[p.refs,R,b,y]),C=t.useMemo(()=>({...p.elements,domReference:u.domReference}),[p.elements,u.domReference]),A=l.useState("open"),O=l.useState("floatingId"),L=t.useMemo(()=>({...p,dataRef:l.context.dataRef,open:A,onOpenChange:l.setOpen,events:l.context.events,floatingId:O,refs:S,elements:C,nodeId:n,rootStore:l}),[p,S,C,n,l,A,O]);return(0,i.useIsoLayoutEffect)(()=>{l.context.dataRef.current.floatingContext=L;let e=h?.nodesRef.current.find(e=>e.id===n);e&&(e.context=L)}),t.useMemo(()=>({...p,context:L,refs:S,elements:C,rootStore:l}),[p,S,C,L,l])}({rootContext:P,placement:J,middleware:eu,strategy:E,whileElementsMounted:M?void 0:(...e)=>(0,u.autoUpdate)(...e,ed),nodeId:W,externalTree:_}),{sideX:eb,sideY:eS}=ey.adaptiveOrigin||h,eC=eE?E:"fixed",eA=t.useMemo(()=>{let e=F?{position:eC,[eb]:eh,[eS]:ep}:{position:eC,...eR};return eE||(e.opacity=0),e},[F,eC,eb,eh,eS,ep,eR,eE]),eO=t.useRef(null);(0,i.useIsoLayoutEffect)(()=>{if(!D)return;let e=q.current,t="function"==typeof e?e():e,n=(x(t)?t.current:t)||null;n!==eO.current&&(eg.setPositionReference(n),eO.current=n)},[D,eg,K,q]),t.useEffect(()=>{if(!D)return;let e=q.current;"function"!=typeof e&&x(e)&&e.current!==eO.current&&(eg.setPositionReference(e.current),eO.current=e.current)},[D,eg,K,q]),t.useEffect(()=>{if(M&&D&&em.domReference&&em.floating)return(0,u.autoUpdate)(em.domReference,em.floating,ex,ed)},[M,D,em,ex,ed]);let eL=(0,n.getSide)(ev),eT=p(R,eL,Y),eI=(0,n.getAlignment)(ev)||"center",eM=!!ey.hide?.referenceHidden;(0,i.useIsoLayoutEffect)(()=>{H&&D&&eE&&B(eL)},[H,D,eE,eL]);let eP=t.useMemo(()=>({position:"absolute",top:ey.arrow?.y,left:ey.arrow?.x}),[ey.arrow]),eD=ey.arrow?.centerOffset!==0;return t.useMemo(()=>({positionerStyles:eA,arrowStyles:eP,arrowRef:ei,arrowUncentered:eD,side:eT,align:eI,physicalSide:eL,anchorHidden:eM,refs:eg,context:ew,isPositioned:eE,update:ex}),[eA,eP,ei,eD,eT,eI,eL,eM,eg,ew,eE,ex])}],520132)},777548,e=>{"use strict";var t=e.i(175183),n=e.i(166508);e.s(["getDisabledMountTransitionStyles",0,function(e){return"starting"===e?t.DISABLED_TRANSITIONS_STYLE:n.EMPTY_OBJECT}])},123091,e=>{"use strict";var t=e.i(85212);let n=t.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});e.s(["CompositeListContext",0,n,"useCompositeListContext",0,function(){return t.useContext(n)}])},135709,e=>{"use strict";var t,n=e.i(85212),r=e.i(284060),i=e.i(123091);let o=((t={})[t.None=0]="None",t[t.GuessFromOrder=1]="GuessFromOrder",t);e.s(["IndexGuessBehavior",0,o,"useCompositeListItem",0,function(e={}){let{label:t,metadata:l,textRef:u,indexGuessBehavior:s,index:a}=e,{register:c,unregister:f,subscribeMapChange:d,elementsRef:g,labelsRef:m,nextIndexRef:h}=(0,i.useCompositeListContext)(),p=n.useRef(-1),[y,x]=n.useState(a??(s===o.GuessFromOrder?()=>{if(-1===p.current){let e=h.current;h.current+=1,p.current=e}return p.current}:-1)),v=n.useRef(null),w=n.useCallback(e=>{if(v.current=e,-1!==y&&null!==e&&(g.current[y]=e,m)){let n=void 0!==t;m.current[y]=n?t:u?.current?.textContent??e.textContent}},[y,g,m,t,u]);return(0,r.useIsoLayoutEffect)(()=>{if(null!=a)return;let e=v.current;if(e)return c(e,l),()=>{f(e)}},[a,c,f,l]),(0,r.useIsoLayoutEffect)(()=>{if(null==a)return d(e=>{let t=v.current?e.get(v.current)?.index:null;null!=t&&x(t)})},[a,d,x]),n.useMemo(()=>({ref:w,index:y}),[y,w])}])},804420,e=>{"use strict";var t=e.i(499875),n=e.i(85212);let r=n.createContext(void 0);e.s(["useToolbarRootContext",0,function(e){let i=n.useContext(r);if(void 0===i&&!e)throw Error((0,t.default)(69));return i}])},607243,e=>{"use strict";var t=e.i(85212),n=e.i(524534),r=e.i(357030),i=e.i(284060),o=e.i(123091),l=e.i(432377);function u(){return new Map}function s(){return new Set}function a(e,t){let n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}e.s(["CompositeList",0,function(e){let{children:c,elementsRef:f,labelsRef:d,onMapChange:g}=e,m=(0,r.useStableCallback)(g),h=t.useRef(0),p=(0,n.useRefWithInit)(s).current,y=(0,n.useRefWithInit)(u).current,[x,v]=t.useState(0),w=t.useRef(x),E=(0,r.useStableCallback)((e,t)=>{y.set(e,t??null),w.current+=1,v(w.current)}),R=(0,r.useStableCallback)(e=>{y.delete(e),w.current+=1,v(w.current)}),b=t.useMemo(()=>{let e=new Map;return Array.from(y.keys()).filter(e=>e.isConnected).sort(a).forEach((t,n)=>{let r=y.get(t)??{};e.set(t,{...r,index:n})}),e},[y,x]);(0,i.useIsoLayoutEffect)(()=>{if("function"!=typeof MutationObserver||0===b.size)return;let e=new MutationObserver(e=>{let t=new Set,n=e=>t.has(e)?t.delete(e):t.add(e);e.forEach(e=>{e.removedNodes.forEach(n),e.addedNodes.forEach(n)}),0===t.size&&(w.current+=1,v(w.current))});return b.forEach((t,n)=>{n.parentElement&&e.observe(n.parentElement,{childList:!0})}),()=>{e.disconnect()}},[b]),(0,i.useIsoLayoutEffect)(()=>{w.current===x&&(f.current.length!==b.size&&(f.current.length=b.size),d&&d.current.length!==b.size&&(d.current.length=b.size),h.current=b.size),m(b)},[m,b,f,d,x]),(0,i.useIsoLayoutEffect)(()=>()=>{f.current=[]},[f]),(0,i.useIsoLayoutEffect)(()=>()=>{d&&(d.current=[])},[d]);let S=(0,r.useStableCallback)(e=>(p.add(e),()=>{p.delete(e)}));(0,i.useIsoLayoutEffect)(()=>{p.forEach(e=>e(b))},[p,b]);let C=t.useMemo(()=>({register:E,unregister:R,subscribeMapChange:S,elementsRef:f,labelsRef:d,nextIndexRef:h}),[E,R,S,f,d,h]);return(0,l.jsx)(o.CompositeListContext.Provider,{value:C,children:c})}])},408660,718766,525794,e=>{"use strict";e.i(129893);var t=e.i(85212),n=e.i(447120),r=e.i(685976),i=e.i(357030),o=e.i(284060),l=e.i(924723),u=e.i(75408),s=e.i(793415),a=e.i(868239),c=e.i(315199),f=e.i(197167),d=e.i(394772),g=e.i(622449),m=e.i(590236);function h(e,t,n){switch(e){case"vertical":return t;case"horizontal":return n;default:return t||n}}function p(e,t){return h(t,e===m.ARROW_UP||e===m.ARROW_DOWN,e===m.ARROW_LEFT||e===m.ARROW_RIGHT)}function y(e,t,n){return h(t,e===m.ARROW_DOWN,n?e===m.ARROW_LEFT:e===m.ARROW_RIGHT)||"Enter"===e||" "===e||""===e}e.s(["useListNavigation",0,function(e,x){let v="rootStore"in e?e.rootStore:e,w=v.useState("open"),E=v.useState("floatingElement"),R=v.useState("domReferenceElement"),b=v.context.dataRef,{listRef:S,activeIndex:C,onNavigate:A=()=>{},enabled:O=!0,selectedIndex:L=null,allowEscape:T=!1,loopFocus:I=!1,nested:M=!1,rtl:P=!1,virtual:D=!1,focusItemOnOpen:k="auto",focusItemOnHover:N=!0,openOnArrowKeyDown:W=!0,disabledIndices:F,orientation:H="vertical",parentOrientation:_,cols:V=1,id:B,resetOnPointerLeave:z=!0,externalTree:$}=x,G=(0,u.getFloatingFocusElement)(E),U=(0,r.useValueAsRef)(G),j=(0,c.useFloatingParentNodeId)(),K=(0,c.useFloatingTree)($);(0,o.useIsoLayoutEffect)(()=>{b.current.orientation=H},[b,H]);let q=(0,u.isTypeableCombobox)(R),Y=t.useRef(k),X=t.useRef(L??-1),J=t.useRef(null),Q=t.useRef(!0),Z=(0,i.useStableCallback)(e=>{A(-1===X.current?null:X.current,e)}),ee=t.useRef(Z),et=t.useRef(!!E),en=t.useRef(w),er=t.useRef(!1),ei=t.useRef(!1),eo=(0,r.useValueAsRef)(F),el=(0,r.useValueAsRef)(w),eu=(0,r.useValueAsRef)(L),es=(0,r.useValueAsRef)(z),ea=(0,i.useStableCallback)(()=>{function e(e){D?K?.events.emit("virtualfocus",e):(0,g.enqueueFocus)(e,{sync:er.current,preventScroll:!0})}let t=S.current[X.current],n=ei.current;t&&e(t),(er.current?e=>e():requestAnimationFrame)(()=>{let r=S.current[X.current]||t;!r||(t||e(r),ef&&(n||!Q.current)&&r.scrollIntoView?.({block:"nearest",inline:"nearest"}))})});(0,o.useIsoLayoutEffect)(()=>{O&&(w&&E?(X.current=L??-1,Y.current&&null!=L&&(ei.current=!0,Z())):et.current&&(X.current=-1,ee.current()))},[O,w,E,L,Z]),(0,o.useIsoLayoutEffect)(()=>{if(O){if(!w){er.current=!1;return}if(E)if(null==C){if(er.current=!1,null!=eu.current)return;if(et.current&&(X.current=-1,ea()),(!en.current||!et.current)&&Y.current&&(null!=J.current||!0===Y.current&&null==J.current)){let e=0,t=()=>{null==S.current[0]?(e<2&&(e?requestAnimationFrame:queueMicrotask)(t),e+=1):(X.current=null==J.current||y(J.current,H,P)||M?(0,a.getMinListIndex)(S):(0,a.getMaxListIndex)(S),J.current=null,Z())};t()}}else(0,a.isIndexOutOfListBounds)(S,C)||(X.current=C,ea(),ei.current=!1)}},[O,w,E,C,eu,M,S,H,P,Z,ea,eo]),(0,o.useIsoLayoutEffect)(()=>{if(!O||E||!K||D||!et.current)return;let e=K.nodesRef.current,t=e.find(e=>e.id===j)?.context?.elements.floating,n=(0,u.activeElement)((0,l.ownerDocument)(E)),r=e.some(e=>e.context&&(0,u.contains)(e.context.elements.floating,n));t&&!r&&Q.current&&t.focus({preventScroll:!0})},[O,E,K,j,D]),(0,o.useIsoLayoutEffect)(()=>{ee.current=Z,en.current=w,et.current=!!E}),(0,o.useIsoLayoutEffect)(()=>{w||(J.current=null,Y.current=k)},[w,k]);let ec=null!=C,ef=t.useMemo(()=>{function e(e){if(!el.current)return;let t=S.current.indexOf(e.currentTarget);-1!==t&&X.current!==t&&(X.current=t,Z(e))}return{onFocus(t){er.current=!0,e(t)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(t){er.current=!0,ei.current=!1,N&&e(t)},onPointerLeave(e){if(!el.current||!Q.current||"touch"===e.pointerType)return;er.current=!0;let t=e.relatedTarget;if(!(!N||S.current.includes(t))&&es.current&&((0,g.enqueueFocus)(null,{sync:!0}),X.current=-1,Z(e),!D)){let e=U.current,t=(0,u.activeElement)((0,l.ownerDocument)(e));e&&(0,u.contains)(e,t)&&e.focus({preventScroll:!0})}}}},[el,U,N,S,Z,es,D]),ed=t.useCallback(()=>_??K?.nodesRef.current.find(e=>e.id===j)?.context?.dataRef?.current.orientation,[j,K,_]),eg=(0,i.useStableCallback)(e=>{var t;let r,i;if(Q.current=!1,er.current=!0,229===e.which||!el.current&&e.currentTarget===U.current)return;if(M&&(t=e.key,r=P?t===m.ARROW_RIGHT:t===m.ARROW_LEFT,i=t===m.ARROW_UP,"both"===H||"horizontal"===H&&V&&V>1?"Escape"===t:h(H,r,i))){p(e.key,ed())||(0,s.stopEvent)(e),v.setOpen(!1,(0,f.createChangeEventDetails)(d.REASONS.listNavigation,e.nativeEvent)),(0,n.isHTMLElement)(R)&&(D?K?.events.emit("virtualfocus",R):R.focus());return}let o=X.current,l=(0,a.getMinListIndex)(S,F),c=(0,a.getMaxListIndex)(S,F);if(q||("Home"===e.key&&((0,s.stopEvent)(e),X.current=l,Z(e)),"End"===e.key&&((0,s.stopEvent)(e),X.current=c,Z(e))),V>1){let t=Array.from({length:S.current.length},()=>({width:1,height:1})),n=(0,a.createGridCellMap)(t,V,!1),r=n.findIndex(e=>null!=e&&!(0,a.isListIndexDisabled)(S,e,F)),i=n.reduce((e,t,n)=>null==t||(0,a.isListIndexDisabled)(S,t,F)?e:n,-1),o=n[(0,a.getGridNavigatedIndex)({current:n.map(e=>null!=e?S.current[e]:null)},{event:e,orientation:H,loopFocus:I,rtl:P,cols:V,disabledIndices:(0,a.getGridCellIndices)([...("function"!=typeof F?F:null)||S.current.map((e,t)=>(0,a.isListIndexDisabled)(S,t,F)?t:void 0),void 0],n),minIndex:r,maxIndex:i,prevIndex:(0,a.getGridCellIndexOfCorner)(X.current>c?l:X.current,t,n,V,e.key===m.ARROW_DOWN?"bl":e.key===(P?m.ARROW_LEFT:m.ARROW_RIGHT)?"tr":"tl"),stopEvent:!0})];if(null!=o&&(X.current=o,Z(e)),"both"===H)return}if(p(e.key,H)){if((0,s.stopEvent)(e),w&&!D&&(0,u.activeElement)(e.currentTarget.ownerDocument)===e.currentTarget){X.current=y(e.key,H,P)?l:c,Z(e);return}y(e.key,H,P)?I?o>=c?T&&o!==S.current.length?X.current=-1:(er.current=!1,X.current=l):X.current=(0,a.findNonDisabledListIndex)(S,{startingIndex:o,disabledIndices:F}):X.current=Math.min(c,(0,a.findNonDisabledListIndex)(S,{startingIndex:o,disabledIndices:F})):I?o<=l?T&&-1!==o?X.current=S.current.length:(er.current=!1,X.current=c):X.current=(0,a.findNonDisabledListIndex)(S,{startingIndex:o,decrement:!0,disabledIndices:F}):X.current=Math.max(l,(0,a.findNonDisabledListIndex)(S,{startingIndex:o,decrement:!0,disabledIndices:F})),(0,a.isIndexOutOfListBounds)(S,X.current)&&(X.current=-1),Z(e)}}),em=t.useMemo(()=>D&&w&&ec&&{"aria-activedescendant":`${B}-${C}`},[D,w,ec,B,C]),eh=t.useMemo(()=>({"aria-orientation":"both"===H?void 0:H,...!q?em:{},onKeyDown(e){if("Tab"===e.key&&e.shiftKey&&w&&!D){let t=(0,u.getTarget)(e.nativeEvent);if(t&&!(0,u.contains)(U.current,t))return;(0,s.stopEvent)(e),v.setOpen(!1,(0,f.createChangeEventDetails)(d.REASONS.focusOut,e.nativeEvent)),(0,n.isHTMLElement)(R)&&R.focus();return}eg(e)},onPointerMove(){Q.current=!0}}),[em,eg,U,H,q,v,w,D,R]),ep=t.useMemo(()=>{function e(e){"auto"===k&&(0,s.isVirtualClick)(e.nativeEvent)&&(Y.current=!D)}function t(e){Y.current=k,"auto"===k&&(0,s.isVirtualPointerEvent)(e.nativeEvent)&&(Y.current=!0)}return{onKeyDown(e){var t,n;let r=v.select("open");Q.current=!1;let i=e.key.startsWith("Arrow"),o=(t=e.key,n=ed(),h(n,P?t===m.ARROW_LEFT:t===m.ARROW_RIGHT,t===m.ARROW_DOWN)),l=p(e.key,H),u=(M?o:l)||"Enter"===e.key||""===e.key.trim();if(D&&r)return eg(e);if(r||W||!i){if(u){let t=p(e.key,ed());J.current=M&&t?null:e.key}if(M){o&&((0,s.stopEvent)(e),r?(X.current=(0,a.getMinListIndex)(S,eo.current),Z(e)):v.setOpen(!0,(0,f.createChangeEventDetails)(d.REASONS.listNavigation,e.nativeEvent,e.currentTarget)));return}l&&(null!=eu.current&&(X.current=eu.current),(0,s.stopEvent)(e),!r&&W?v.setOpen(!0,(0,f.createChangeEventDetails)(d.REASONS.listNavigation,e.nativeEvent,e.currentTarget)):eg(e),r&&Z(e))}},onFocus(e){v.select("open")&&!D&&(X.current=-1,Z(e))},onPointerDown:t,onPointerEnter:t,onMouseDown:e,onClick:e}},[eg,eo,k,S,M,Z,v,W,H,ed,P,eu,D]),ey=t.useMemo(()=>({...em,...ep}),[em,ep]);return t.useMemo(()=>O?{reference:ey,floating:eh,item:ef,trigger:ep}:{},[O,ey,eh,ep,ef])}],408660);var x=e.i(617406);e.s(["useTypeahead",0,function(e,n){let r="rootStore"in e?e.rootStore:e,l=r.context.dataRef,c=r.useState("open"),{listRef:f,elementsRef:d,activeIndex:g,onMatch:m,onTypingChange:h,enabled:p=!0,resetMs:y=750,selectedIndex:v=null}=n,w=(0,x.useTimeout)(),E=t.useRef(""),R=t.useRef(v??g??-1),b=t.useRef(null);(0,o.useIsoLayoutEffect)(()=>{(c||null===v)&&(w.clear(),b.current=null,""!==E.current&&(E.current=""))},[c,v,w]),(0,o.useIsoLayoutEffect)(()=>{c&&""===E.current&&(R.current=v??g??-1)},[c,v,g]);let S=(0,i.useStableCallback)(e=>{e?l.current.typing||(l.current.typing=e,h?.(e)):l.current.typing&&(l.current.typing=e,h?.(e))}),C=(0,i.useStableCallback)(e=>{function t(e,n,r=0){if(0===e.length)return -1;let i=(r%e.length+e.length)%e.length,o=n.toLocaleLowerCase();for(let t=0;t<e.length;t+=1){let n=(i+t)%e.length,r=e[n];if(r?.toLocaleLowerCase().startsWith(o)&&function(e){let t=d?.current[e];return!t||(0,a.isElementVisible)(t)}(n))return n}return -1}let n=f.current;if(E.current.length>0&&" "===e.key&&((0,s.stopEvent)(e),S(!0)),E.current.length>0&&" "!==E.current[0]&&-1===t(n,E.current)&&" "!==e.key&&S(!1),null==n||1!==e.key.length||e.ctrlKey||e.metaKey||e.altKey)return;c&&" "!==e.key&&((0,s.stopEvent)(e),S(!0));let r=""===E.current;r&&(R.current=v??g??-1),n.every(e=>!e||e[0]?.toLocaleLowerCase()!==e[1]?.toLocaleLowerCase())&&E.current===e.key&&(E.current="",R.current=b.current),E.current+=e.key,w.start(y,()=>{E.current="",R.current=b.current,S(!1)});let i=r?v??g??-1:R.current,o=t(n,E.current,(i??0)+1);-1!==o?(m?.(o),b.current=o):" "!==e.key&&(E.current="",S(!1))}),A=(0,i.useStableCallback)(e=>{let t=e.relatedTarget,n=r.select("domReferenceElement"),i=r.select("floatingElement"),o=(0,u.contains)(n,t),l=(0,u.contains)(i,t);o||l||(w.clear(),E.current="",R.current=b.current,S(!1))}),O=t.useMemo(()=>({onKeyDown:C,onBlur:A}),[C,A]),L=t.useMemo(()=>({onKeyDown:C,onBlur:A}),[C,A]);return t.useMemo(()=>p?{reference:O,floating:L}:{},[p,O,L])}],718766),e.s(["getPseudoElementBounds",0,function(e){let t=e.getBoundingClientRect(),n=window.getComputedStyle(e,"::before"),r=window.getComputedStyle(e,"::after");if("none"===n.content&&"none"===r.content)return t;let i=parseFloat(n.width)||0,o=parseFloat(n.height)||0,l=parseFloat(r.width)||0,u=parseFloat(r.height)||0,s=Math.max(t.width,i,l),a=Math.max(t.height,o,u),c=s-t.width,f=a-t.height;return{left:t.left-c/2,right:t.right+c/2,top:t.top-f/2,bottom:t.bottom+f/2}}],525794)},682480,e=>{"use strict";var t=e.i(85212),n=e.i(793988);let r=t.forwardRef(function(e,t){let{className:r,render:i,orientation:o="horizontal",...l}=e;return(0,n.useRenderElement)("div",e,{state:{orientation:o},ref:t,props:[{role:"separator","aria-orientation":o},l]})});e.s(["Separator",0,r])},209760,e=>{"use strict";var t=e.i(789031);e.s(["CheckIcon",()=>t.default])},96212,e=>{"use strict";let t=(0,e.i(863961).default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);e.s(["default",0,t])},31587,e=>{"use strict";let t=(0,e.i(863961).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["default",0,t])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,524534,e=>{"use strict";var t=e.i(85212);let r={};e.s(["useRefWithInit",0,function(e,o){let n=t.useRef(r);return n.current===r&&(n.current=e(o)),n}])},284060,e=>{"use strict";var t=e.i(85212);let r="u">typeof document?t.useLayoutEffect:()=>{};e.s(["useIsoLayoutEffect",0,r])},499875,e=>{"use strict";let t=function(e,...t){let r=new URL("https://base-ui.com/production-error");return r.searchParams.set("code",e.toString()),t.forEach(e=>r.searchParams.append("args[]",e)),`Base UI error #${e}; visit ${r} for the full message.`};e.s(["default",0,t])},447120,e=>{"use strict";let t;function r(){return"u">typeof window}function o(e){return a(e)?(e.nodeName||"").toLowerCase():"#document"}function n(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function s(e){var t;return null==(t=(a(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function a(e){return!!r()&&(e instanceof Node||e instanceof n(e).Node)}function i(e){return!!r()&&(e instanceof Element||e instanceof n(e).Element)}function l(e){return!!r()&&(e instanceof HTMLElement||e instanceof n(e).HTMLElement)}function c(e){return!(!r()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof n(e).ShadowRoot)}function u(e){let{overflow:t,overflowX:r,overflowY:o,display:n}=v(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+r)&&"inline"!==n&&"contents"!==n}function d(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let m=/transform|translate|scale|rotate|perspective|filter/,f=/paint|layout|strict|content/,p=e=>!!e&&"none"!==e;function b(e){let t=i(e)?v(e):e;return p(t.transform)||p(t.translate)||p(t.scale)||p(t.rotate)||p(t.perspective)||!g()&&(p(t.backdropFilter)||p(t.filter))||m.test(t.willChange||"")||f.test(t.contain||"")}function g(){return null==t&&(t="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function h(e){return/^(html|body|#document)$/.test(o(e))}function v(e){return n(e).getComputedStyle(e)}function k(e){if("html"===o(e))return e;let t=e.assignedSlot||e.parentNode||c(e)&&e.host||s(e);return c(t)?t.host:t}function w(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}e.s(["getComputedStyle",0,v,"getContainingBlock",0,function(e){let t=k(e);for(;l(t)&&!h(t);){if(b(t))return t;if(d(t))break;t=k(t)}return null},"getDocumentElement",0,s,"getFrameElement",0,w,"getNodeName",0,o,"getNodeScroll",0,function(e){return i(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}},"getOverflowAncestors",0,function e(t,r,o){var s;void 0===r&&(r=[]),void 0===o&&(o=!0);let a=function e(t){let r=k(t);return h(r)?t.ownerDocument?t.ownerDocument.body:t.body:l(r)&&u(r)?r:e(r)}(t),i=a===(null==(s=t.ownerDocument)?void 0:s.body),c=n(a);if(!i)return r.concat(a,e(a,[],o));{let t=w(c);return r.concat(c,c.visualViewport||[],u(a)?a:[],t&&o?e(t):[])}},"getParentNode",0,k,"getWindow",0,n,"isContainingBlock",0,b,"isElement",0,i,"isHTMLElement",0,l,"isLastTraversableNode",0,h,"isNode",0,a,"isOverflowElement",0,u,"isShadowRoot",0,c,"isTableElement",0,function(e){return/^(table|td|th)$/.test(o(e))},"isTopLayer",0,d,"isWebKit",0,g])},357030,e=>{"use strict";var t=e.i(85212),r=e.i(524534);let o=t[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0,-3)],n=o&&o!==t.useLayoutEffect?o:e=>e();function s(){let e={next:void 0,callback:a,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function a(){}e.s(["useStableCallback",0,function(e){let t=(0,r.useRefWithInit)(s).current;return t.next=e,n(t.effect),t.trampoline}])},19892,e=>{"use strict";let t="u">typeof navigator,r=function(){if(!t)return{platform:"",maxTouchPoints:-1};let e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??-1}}(),o=function(){if(!t)return"";let e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??""}(),n=function(){if(!t)return"";let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:e,version:t})=>`${e}/${t}`).join(" "):navigator.userAgent}(),s="u">typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter:none"),a="MacIntel"===r.platform&&r.maxTouchPoints>1||/iP(hone|ad|od)|iOS/.test(r.platform);t&&/firefox/i.test(n);let i=t&&/apple/i.test(navigator.vendor);t&&/Edg/i.test(n);let l=t&&/android/i.test(o)||/android/i.test(n),c=t&&o.toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints,u=n.includes("jsdom/");e.s(["isAndroid",0,l,"isIOS",0,a,"isJSDOM",0,u,"isMac",0,c,"isSafari",0,i,"isWebKit",0,s])},75408,590236,e=>{"use strict";var t=e.i(447120),r=e.i(19892);let o="data-base-ui-focusable",n="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function s(e,r){if(!e||!r)return!1;let o=r.getRootNode?.();if(e.contains(r))return!0;if(o&&(0,t.isShadowRoot)(o)){let t=r;for(;t;){if(e===t)return!0;t=t.parentNode||t.host}}return!1}function a(e){return(0,t.isHTMLElement)(e)&&e.matches(n)}e.s(["ACTIVE_KEY",0,"active","ARROW_DOWN",0,"ArrowDown","ARROW_LEFT",0,"ArrowLeft","ARROW_RIGHT",0,"ArrowRight","ARROW_UP",0,"ArrowUp","FOCUSABLE_ATTRIBUTE",0,o,"SELECTED_KEY",0,"selected","TYPEABLE_SELECTOR",0,n],590236),e.s(["activeElement",0,function(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t},"contains",0,s,"getFloatingFocusElement",0,function(e){return e?e.hasAttribute(o)?e:e.querySelector(`[${o}]`)||e:null},"getTarget",0,function(e){return"composedPath"in e?e.composedPath()[0]:e.target},"isEventTargetWithin",0,function(e,t){return null!=t&&("composedPath"in e?e.composedPath().includes(t):null!=e.target&&t.contains(e.target))},"isRootElement",0,function(e){return e.matches("html,body")},"isTargetInsideEnabledTrigger",0,function(e,r){if(!(0,t.isElement)(e))return!1;if(r.hasElement(e))return!e.hasAttribute("data-trigger-disabled");for(let[,t]of r.entries())if(s(t,e))return!t.hasAttribute("data-trigger-disabled");return!1},"isTypeableCombobox",0,function(e){return!!e&&"combobox"===e.getAttribute("role")&&a(e)},"isTypeableElement",0,a,"matchesFocusVisible",0,function(e){if(!e||r.isJSDOM)return!0;try{return e.matches(":focus-visible")}catch(e){return!0}}],75408)},292547,e=>{"use strict";var t=e.i(85212);let r=[];e.s(["useOnMount",0,function(e){t.useEffect(e,r)}])},617406,e=>{"use strict";var t=e.i(524534),r=e.i(292547);class o{static create(){return new o}currentId=0;start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=0,t()},e)}isStarted(){return 0!==this.currentId}clear=()=>{0!==this.currentId&&(clearTimeout(this.currentId),this.currentId=0)};disposeEffect=()=>this.clear}e.s(["Timeout",0,o,"useTimeout",0,function(){let e=(0,t.useRefWithInit)(o.create).current;return(0,r.useOnMount)(e.disposeEffect),e}])},924723,e=>{"use strict";e.s(["ownerDocument",0,function(e){return e?.ownerDocument||document}])},719200,e=>{"use strict";var t=e.i(85212);let r={...t},o=0,n=r.useId;e.s(["useId",0,function(e,r){if(void 0!==n){let t=n();return e??(r?`${r}-${t}`:t)}return function(e,r="mui"){let[n,s]=t.useState(e),a=e||n;return t.useEffect(()=>{null==n&&(o+=1,s(`${r}-${o}`))},[n,r]),a}(e,r)}],719200)},166508,e=>{"use strict";let t=Object.freeze([]),r=Object.freeze({});e.s(["EMPTY_ARRAY",0,t,"EMPTY_OBJECT",0,r,"NOOP",0,function(){}])},197167,e=>{"use strict";var t=e.i(166508);e.s(["createChangeEventDetails",0,function(e,r,o,n){let s=!1,a=!1,i=n??t.EMPTY_OBJECT;return{reason:e,event:r??new Event("base-ui"),cancel(){s=!0},allowPropagation(){a=!0},get isCanceled(){return s},get isPropagationAllowed(){return a},trigger:o,...i}}])},394772,e=>{"use strict";e.s(["cancelOpen",0,"cancel-open","chipRemovePress",0,"chip-remove-press","clearPress",0,"clear-press","closePress",0,"close-press","closeWatcher",0,"close-watcher","decrementPress",0,"decrement-press","disabled",0,"disabled","drag",0,"drag","escapeKey",0,"escape-key","focusOut",0,"focus-out","imperativeAction",0,"imperative-action","incrementPress",0,"increment-press","inputBlur",0,"input-blur","inputChange",0,"input-change","inputClear",0,"input-clear","inputPaste",0,"input-paste","inputPress",0,"input-press","itemPress",0,"item-press","keyboard",0,"keyboard","linkPress",0,"link-press","listNavigation",0,"list-navigation","none",0,"none","outsidePress",0,"outside-press","pointer",0,"pointer","scrub",0,"scrub","siblingOpen",0,"sibling-open","swipe",0,"swipe","trackPress",0,"track-press","triggerFocus",0,"trigger-focus","triggerHover",0,"trigger-hover","triggerPress",0,"trigger-press","wheel",0,"wheel","windowResize",0,"window-resize"],161904);var t=e.i(161904);e.s(["REASONS",0,t],394772)},907578,e=>{"use strict";var t=e.i(524534),r=e.i(292547);let o=new class{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=e=>{this.isScheduled=!1;let t=this.callbacks,r=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,r>0)for(let r=0;r<t.length;r+=1)t[r]?.(e)};request(e){let t=this.nextId;return this.nextId+=1,this.callbacks.push(e),this.callbacksCount+=1,this.isScheduled||(requestAnimationFrame(this.tick),this.isScheduled=!0),t}cancel(e){let t=e-this.startId;t<0||t>=this.callbacks.length||(this.callbacks[t]=null,this.callbacksCount-=1)}};class n{static create(){return new n}static request(e){return o.request(e)}static cancel(e){return o.cancel(e)}currentId=null;request(e){this.cancel(),this.currentId=o.request(()=>{this.currentId=null,e()})}cancel=()=>{null!==this.currentId&&(o.cancel(this.currentId),this.currentId=null)};disposeEffect=()=>this.cancel}e.s(["AnimationFrame",0,n,"useAnimationFrame",0,function(){let e=(0,t.useRefWithInit)(n.create).current;return(0,r.useOnMount)(e.disposeEffect),e}])},883993,e=>{"use strict";var t=e.i(85212),r=e.i(284060),o=e.i(907578);e.s(["useTransitionStatus",0,function(e,n=!1,s=!1){let[a,i]=t.useState(e&&n?"idle":void 0),[l,c]=t.useState(e);return e&&!l&&(c(!0),i("starting")),e||!l||"ending"===a||s||i("ending"),e||l||"ending"!==a||i(void 0),(0,r.useIsoLayoutEffect)(()=>{if(!e&&l&&"ending"!==a&&s){let e=o.AnimationFrame.request(()=>{i("ending")});return()=>{o.AnimationFrame.cancel(e)}}},[e,l,a,s]),(0,r.useIsoLayoutEffect)(()=>{if(!e||n)return;let t=o.AnimationFrame.request(()=>{i(void 0)});return()=>{o.AnimationFrame.cancel(t)}},[n,e]),(0,r.useIsoLayoutEffect)(()=>{if(!e||!n)return;e&&l&&"idle"!==a&&i("starting");let t=o.AnimationFrame.request(()=>{i("idle")});return()=>{o.AnimationFrame.cancel(t)}},[n,e,l,i,a]),t.useMemo(()=>({mounted:l,setMounted:c,transitionStatus:a}),[l,a])}])},655361,e=>{"use strict";e.s(["resolveRef",0,function(e){return null==e?e:"current"in e?e.current:e}])},144909,e=>{"use strict";var t;let r=((t={}).startingStyle="data-starting-style",t.endingStyle="data-ending-style",t),o={[r.startingStyle]:""},n={[r.endingStyle]:""};e.s(["TransitionStatusDataAttributes",0,r,"transitionStatusMapping",0,{transitionStatus:e=>"starting"===e?o:"ending"===e?n:null}])},412360,302062,e=>{"use strict";var t=e.i(85212),r=e.i(357030),o=e.i(9235),n=e.i(907578),s=e.i(655361),a=e.i(144909);function i(e,t=!1,l=!0){let c=(0,n.useAnimationFrame)();return(0,r.useStableCallback)((r,n=null)=>{function i(){o.flushSync(r)}c.cancel();let u=(0,s.resolveRef)(e);if(null!=u)if("function"!=typeof u.getAnimations||globalThis.BASE_UI_ANIMATIONS_DISABLED)r();else{function d(){Promise.all(u.getAnimations().map(e=>e.finished)).then(()=>{n?.aborted||i()}).catch(()=>{let e=u.getAnimations();if(l){if(n?.aborted)return;i()}else e.length>0&&e.some(e=>e.pending||"finished"!==e.playState)&&d()})}if(t)return void function(){let e=a.TransitionStatusDataAttributes.startingStyle;if(!u.hasAttribute(e))return c.request(d);let t=new MutationObserver(()=>{u.hasAttribute(e)||(t.disconnect(),d())});t.observe(u,{attributes:!0,attributeFilter:[e]}),n?.addEventListener("abort",()=>t.disconnect(),{once:!0})}();c.request(d)}})}e.s(["useAnimationsFinished",0,i],302062),e.s(["useOpenChangeComplete",0,function(e){let{enabled:o=!0,open:n,ref:s,onComplete:a}=e,l=(0,r.useStableCallback)(a),c=i(s,n,!1);t.useEffect(()=>{if(!o)return;let e=new AbortController;return c(l,e.signal),()=>{e.abort()}},[o,n,l,c])}],412360)},485793,e=>{"use strict";let t=parseInt(e.i(85212).version,10);e.s(["isReactVersionAtLeast",0,function(e){return t>=e}])},156420,e=>{"use strict";var t=e.i(524534);function r(){return{callback:null,cleanup:null,refs:[]}}function o(e,t){if(e.refs=t,t.every(e=>null==e)){e.callback=null;return}e.callback=r=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),null!=r){let o=Array(t.length).fill(null);for(let e=0;e<t.length;e+=1){let n=t[e];if(null!=n)switch(typeof n){case"function":{let t=n(r);"function"==typeof t&&(o[e]=t);break}case"object":n.current=r}}e.cleanup=()=>{for(let e=0;e<t.length;e+=1){let r=t[e];if(null!=r)switch(typeof r){case"function":{let t=o[e];"function"==typeof t?t():r(null);break}case"object":r.current=null}}}}}}e.s(["useMergedRefs",0,function(e,n,s,a){var i,l,c,u,d;let m=(0,t.useRefWithInit)(r).current;return i=m,l=e,c=n,u=s,d=a,(i.refs[0]!==l||i.refs[1]!==c||i.refs[2]!==u||i.refs[3]!==d)&&o(m,[e,n,s,a]),m.callback},"useMergedRefsN",0,function(e){var n,s;let a=(0,t.useRefWithInit)(r).current;return n=a,s=e,(n.refs.length!==s.length||n.refs.some((e,t)=>e!==s[t]))&&o(a,e),a.callback}])},124943,e=>{"use strict";var t=e.i(85212),r=e.i(485793);e.s(["getReactElementRef",0,function(e){if(!t.isValidElement(e))return null;let o=e.props;return((0,r.isReactVersionAtLeast)(19)?o?.ref:e.ref)??null}])},466283,e=>{"use strict";e.s(["mergeObjects",0,function(e,t){return e&&!t?e:!e&&t?t:e||t?{...e,...t}:void 0}])},242201,192195,57781,674675,e=>{"use strict";e.i(129893),e.s(["warn",0,function(){}],242201),e.s(["getStateAttributesProps",0,function(e,t){let r={};for(let o in e){let n=e[o];if(t?.hasOwnProperty(o)){let e=t[o](n);null!=e&&Object.assign(r,e);continue}!0===n?r[`data-${o.toLowerCase()}`]="":n&&(r[`data-${o.toLowerCase()}`]=n.toString())}return r}],192195),e.s(["resolveClassName",0,function(e,t){return"function"==typeof e?e(t):e}],57781),e.s(["resolveStyle",0,function(e,t){return"function"==typeof e?e(t):e}],674675)},337590,e=>{"use strict";var t=e.i(466283);let r={};function o(e,r){return n(r)?r(e):function(e,r){if(!r)return e;for(let o in r){let n=r[o];switch(o){case"style":e[o]=(0,t.mergeObjects)(e.style,n);break;case"className":e[o]=i(e.className,n);break;default:!function(e,t){let r=e.charCodeAt(0),o=e.charCodeAt(1),n=e.charCodeAt(2);return 111===r&&110===o&&n>=65&&n<=90&&("function"==typeof t||void 0===t)}(o,n)?e[o]=n:e[o]=function(e,t){return t?e?r=>{var o;if(null!=(o=r)&&"object"==typeof o&&"nativeEvent"in o){a(r);let o=t(r);return r.baseUIHandlerPrevented||e?.(r),o}let n=t(r);return e?.(r),n}:t:e}(e[o],n)}}return e}(e,r)}function n(e){return"function"==typeof e}function s(e,t){return n(e)?e(t):e??r}function a(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function i(e,t){return t?e?t+" "+e:t:e}e.s(["makeEventPreventable",0,a,"mergeClassNames",0,i,"mergeProps",0,function(e,t,n,a,i){let l={...s(e,r)};return t&&(l=o(l,t)),n&&(l=o(l,n)),a&&(l=o(l,a)),i&&(l=o(l,i)),l},"mergePropsN",0,function(e){if(0===e.length)return r;if(1===e.length)return s(e[0],r);let t={...s(e[0],r)};for(let r=1;r<e.length;r+=1)t=o(t,e[r]);return t}])},793988,e=>{"use strict";var t=e.i(499875),r=e.i(85212),o=e.i(156420),n=e.i(124943),s=e.i(466283);e.i(242201);var a=e.i(192195),i=e.i(57781),l=e.i(674675),c=e.i(337590),u=e.i(166508);let d=Symbol.for("react.lazy");e.s(["useRenderElement",0,function(e,m,f={}){let p=m.render,b=function(e,t={}){let{className:r,style:d,render:m}=e,{state:f=u.EMPTY_OBJECT,ref:p,props:b,stateAttributesMapping:g,enabled:h=!0}=t,v=h?(0,i.resolveClassName)(r,f):void 0,k=h?(0,l.resolveStyle)(d,f):void 0,w=h?(0,a.getStateAttributesProps)(f,g):u.EMPTY_OBJECT,y=h?(0,s.mergeObjects)(w,Array.isArray(b)?(0,c.mergePropsN)(b):b)??u.EMPTY_OBJECT:u.EMPTY_OBJECT;return("u">typeof document&&(h?Array.isArray(p)?y.ref=(0,o.useMergedRefsN)([y.ref,(0,n.getReactElementRef)(m),...p]):y.ref=(0,o.useMergedRefs)(y.ref,(0,n.getReactElementRef)(m),p):(0,o.useMergedRefs)(null,null)),h)?(void 0!==v&&(y.className=(0,c.mergeClassNames)(y.className,v)),void 0!==k&&(y.style=(0,s.mergeObjects)(y.style,k)),y):u.EMPTY_OBJECT}(m,f);return!1===f.enabled?null:function(e,o,n,s){if(o){if("function"==typeof o)return o(n,s);let e=(0,c.mergeProps)(n,o.props);e.ref=n.ref;let t=o;return t?.$$typeof===d&&(t=r.Children.toArray(o)[0]),r.cloneElement(t,e)}if(e&&"string"==typeof e){var a,i;return a=e,i=n,"button"===a?(0,r.createElement)("button",{type:"button",...i,key:i.key}):"img"===a?(0,r.createElement)("img",{alt:"",...i,key:i.key}):r.createElement(a,i)}throw Error((0,t.default)(8))}(e,p,b,f.state??u.EMPTY_OBJECT)}])},443667,e=>{"use strict";var t=e.i(719200);e.s(["useBaseUiId",0,function(e){return(0,t.useId)(e,"base-ui")}])},937756,487948,e=>{"use strict";function t(){for(var e,t,r=0,o="",n=arguments.length;r<n;r++)(e=arguments[r])&&(t=function e(t){var r,o,n="";if("string"==typeof t||"number"==typeof t)n+=t;else if("object"==typeof t)if(Array.isArray(t)){var s=t.length;for(r=0;r<s;r++)t[r]&&(o=e(t[r]))&&(n&&(n+=" "),n+=o)}else for(o in t)t[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=t);return o}e.s(["clsx",0,t],487948);let r=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),o=[],n=(e,t,r)=>{if(0==e.length-t)return r.classGroupId;let o=e[t],s=r.nextPart.get(o);if(s){let r=n(e,t+1,s);if(r)return r}let a=r.validators;if(null===a)return;let i=0===t?e.join("-"):e.slice(t).join("-"),l=a.length;for(let e=0;e<l;e++){let t=a[e];if(t.validator(i))return t.classGroupId}},s=(e,t)=>{let o=r();for(let r in e)a(e[r],o,r,t);return o},a=(e,t,r,o)=>{let n=e.length;for(let s=0;s<n;s++)i(e[s],t,r,o)},i=(e,t,r,o)=>{"string"==typeof e?l(e,t,r):"function"==typeof e?c(e,t,r,o):u(e,t,r,o)},l=(e,t,r)=>{(""===e?t:d(t,e)).classGroupId=r},c=(e,t,r,o)=>{m(e)?a(e(o),t,r,o):(null===t.validators&&(t.validators=[]),t.validators.push({classGroupId:r,validator:e}))},u=(e,t,r,o)=>{let n=Object.entries(e),s=n.length;for(let e=0;e<s;e++){let[s,i]=n[e];a(i,d(t,s),r,o)}},d=(e,t)=>{let o=e,n=t.split("-"),s=n.length;for(let e=0;e<s;e++){let t=n[e],s=o.nextPart.get(t);s||(s=r(),o.nextPart.set(t,s)),o=s}return o},m=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,f=[],p=(e,t,r,o,n)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:o,isExternal:n}),b=/\s+/,g=e=>{let t;if("string"==typeof e)return e;let r="";for(let o=0;o<e.length;o++)e[o]&&(t=g(e[o]))&&(r&&(r+=" "),r+=t);return r},h=[],v=e=>{let t=t=>t[e]||h;return t.isThemeGetter=!0,t},k=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,w=/^\((?:(\w[\w-]*):)?(.+)\)$/i,y=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,x=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,E=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,C=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,A=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,T=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,S=e=>y.test(e),z=e=>!!e&&!Number.isNaN(Number(e)),P=e=>!!e&&Number.isInteger(Number(e)),I=e=>e.endsWith("%")&&z(e.slice(0,-1)),R=e=>x.test(e),O=()=>!0,N=e=>E.test(e)&&!C.test(e),M=()=>!1,j=e=>A.test(e),L=e=>T.test(e),D=e=>!W(e)&&!G(e),$=e=>et(e,es,M),W=e=>k.test(e),B=e=>et(e,ea,N),_=e=>et(e,ei,z),U=e=>et(e,ec,O),F=e=>et(e,el,M),q=e=>et(e,eo,M),H=e=>et(e,en,L),Y=e=>et(e,eu,j),G=e=>w.test(e),K=e=>er(e,ea),J=e=>er(e,el),V=e=>er(e,eo),Z=e=>er(e,es),X=e=>er(e,en),Q=e=>er(e,eu,!0),ee=e=>er(e,ec,!0),et=(e,t,r)=>{let o=k.exec(e);return!!o&&(o[1]?t(o[1]):r(o[2]))},er=(e,t,r=!1)=>{let o=w.exec(e);return!!o&&(o[1]?t(o[1]):r)},eo=e=>"position"===e||"percentage"===e,en=e=>"image"===e||"url"===e,es=e=>"length"===e||"size"===e||"bg-size"===e,ea=e=>"length"===e,ei=e=>"number"===e,el=e=>"family-name"===e,ec=e=>"number"===e||"weight"===e,eu=e=>"shadow"===e,ed=((e,...t)=>{let r,a,i,l,c=e=>{let t=a(e);if(t)return t;let o=((e,t)=>{let{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:n,sortModifiers:s}=t,a=[],i=e.trim().split(b),l="";for(let e=i.length-1;e>=0;e-=1){let t=i[e],{isExternal:c,modifiers:u,hasImportantModifier:d,baseClassName:m,maybePostfixModifierPosition:f}=r(t);if(c){l=t+(l.length>0?" "+l:l);continue}let p=!!f,b=o(p?m.substring(0,f):m);if(!b){if(!p||!(b=o(m))){l=t+(l.length>0?" "+l:l);continue}p=!1}let g=0===u.length?"":1===u.length?u[0]:s(u).join(":"),h=d?g+"!":g,v=h+b;if(a.indexOf(v)>-1)continue;a.push(v);let k=n(b,p);for(let e=0;e<k.length;++e){let t=k[e];a.push(h+t)}l=t+(l.length>0?" "+l:l)}return l})(e,r);return i(e,o),o};return l=u=>{var d;let m;return a=(r={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=Object.create(null),o=Object.create(null),n=(n,s)=>{r[n]=s,++t>e&&(t=0,o=r,r=Object.create(null))};return{get(e){let t=r[e];return void 0!==t?t:void 0!==(t=o[e])?(n(e,t),t):void 0},set(e,t){e in r?r[e]=t:n(e,t)}}})((d=t.reduce((e,t)=>t(e),e())).cacheSize),parseClassName:(e=>{let{prefix:t,experimentalParseClassName:r}=e,o=e=>{let t,r=[],o=0,n=0,s=0,a=e.length;for(let i=0;i<a;i++){let a=e[i];if(0===o&&0===n){if(":"===a){r.push(e.slice(s,i)),s=i+1;continue}if("/"===a){t=i;continue}}"["===a?o++:"]"===a?o--:"("===a?n++:")"===a&&n--}let i=0===r.length?e:e.slice(s),l=i,c=!1;return i.endsWith("!")?(l=i.slice(0,-1),c=!0):i.startsWith("!")&&(l=i.slice(1),c=!0),p(r,c,l,t&&t>s?t-s:void 0)};if(t){let e=t+":",r=o;o=t=>t.startsWith(e)?r(t.slice(e.length)):p(f,!1,t,void 0,!0)}if(r){let e=o;o=t=>r({className:t,parseClassName:e})}return o})(d),sortModifiers:(m=new Map,d.orderSensitiveModifiers.forEach((e,t)=>{m.set(e,1e6+t)}),e=>{let t=[],r=[];for(let o=0;o<e.length;o++){let n=e[o],s="["===n[0],a=m.has(n);s||a?(r.length>0&&(r.sort(),t.push(...r),r=[]),t.push(n)):r.push(n)}return r.length>0&&(r.sort(),t.push(...r)),t}),...(e=>{let t=(e=>{let{theme:t,classGroups:r}=e;return s(r,t)})(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var r;let t,o,n;return -1===(r=e).slice(1,-1).indexOf(":")?void 0:(o=(t=r.slice(1,-1)).indexOf(":"),(n=t.slice(0,o))?"arbitrary.."+n:void 0)}let o=e.split("-"),s=+(""===o[0]&&o.length>1);return n(o,s,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=a[e],n=r[e];if(t){if(n){let e=Array(n.length+t.length);for(let t=0;t<n.length;t++)e[t]=n[t];for(let r=0;r<t.length;r++)e[n.length+r]=t[r];return e}return t}return n||o}return r[e]||o}}})(d)}).cache.get,i=r.cache.set,l=c,c(u)},(...e)=>l(((...e)=>{let t,r,o=0,n="";for(;o<e.length;)(t=e[o++])&&(r=g(t))&&(n&&(n+=" "),n+=r);return n})(...e))})(()=>{let e=v("color"),t=v("font"),r=v("text"),o=v("font-weight"),n=v("tracking"),s=v("leading"),a=v("breakpoint"),i=v("container"),l=v("spacing"),c=v("radius"),u=v("shadow"),d=v("inset-shadow"),m=v("text-shadow"),f=v("drop-shadow"),p=v("blur"),b=v("perspective"),g=v("aspect"),h=v("ease"),k=v("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],x=()=>[...y(),G,W],E=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],A=()=>[G,W,l],T=()=>[S,"full","auto",...A()],N=()=>[P,"none","subgrid",G,W],M=()=>["auto",{span:["full",P,G,W]},P,G,W],j=()=>[P,"auto",G,W],L=()=>["auto","min","max","fr",G,W],et=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],er=()=>["start","end","center","stretch","center-safe","end-safe"],eo=()=>["auto",...A()],en=()=>[S,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...A()],es=()=>[S,"screen","full","dvw","lvw","svw","min","max","fit",...A()],ea=()=>[S,"screen","full","lh","dvh","lvh","svh","min","max","fit",...A()],ei=()=>[e,G,W],el=()=>[...y(),V,q,{position:[G,W]}],ec=()=>["no-repeat",{repeat:["","x","y","space","round"]}],eu=()=>["auto","cover","contain",Z,$,{size:[G,W]}],ed=()=>[I,K,B],em=()=>["","none","full",c,G,W],ef=()=>["",z,K,B],ep=()=>["solid","dashed","dotted","double"],eb=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eg=()=>[z,I,V,q],eh=()=>["","none",p,G,W],ev=()=>["none",z,G,W],ek=()=>["none",z,G,W],ew=()=>[z,G,W],ey=()=>[S,"full",...A()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[R],breakpoint:[R],color:[O],container:[R],"drop-shadow":[R],ease:["in","out","in-out"],font:[D],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[R],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[R],shadow:[R],spacing:["px",z],text:[R],"text-shadow":[R],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",S,W,G,g]}],container:["container"],columns:[{columns:[z,W,G,i]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:x()}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:["visible","invisible","collapse"],z:[{z:[P,"auto",G,W]}],basis:[{basis:[S,"full","auto",i,...A()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[z,S,"auto","initial","none",W]}],grow:[{grow:["",z,G,W]}],shrink:[{shrink:["",z,G,W]}],order:[{order:[P,"first","last","none",G,W]}],"grid-cols":[{"grid-cols":N()}],"col-start-end":[{col:M()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":N()}],"row-start-end":[{row:M()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":L()}],"auto-rows":[{"auto-rows":L()}],gap:[{gap:A()}],"gap-x":[{"gap-x":A()}],"gap-y":[{"gap-y":A()}],"justify-content":[{justify:[...et(),"normal"]}],"justify-items":[{"justify-items":[...er(),"normal"]}],"justify-self":[{"justify-self":["auto",...er()]}],"align-content":[{content:["normal",...et()]}],"align-items":[{items:[...er(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...er(),{baseline:["","last"]}]}],"place-content":[{"place-content":et()}],"place-items":[{"place-items":[...er(),"baseline"]}],"place-self":[{"place-self":["auto",...er()]}],p:[{p:A()}],px:[{px:A()}],py:[{py:A()}],ps:[{ps:A()}],pe:[{pe:A()}],pbs:[{pbs:A()}],pbe:[{pbe:A()}],pt:[{pt:A()}],pr:[{pr:A()}],pb:[{pb:A()}],pl:[{pl:A()}],m:[{m:eo()}],mx:[{mx:eo()}],my:[{my:eo()}],ms:[{ms:eo()}],me:[{me:eo()}],mbs:[{mbs:eo()}],mbe:[{mbe:eo()}],mt:[{mt:eo()}],mr:[{mr:eo()}],mb:[{mb:eo()}],ml:[{ml:eo()}],"space-x":[{"space-x":A()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":A()}],"space-y-reverse":["space-y-reverse"],size:[{size:en()}],"inline-size":[{inline:["auto",...es()]}],"min-inline-size":[{"min-inline":["auto",...es()]}],"max-inline-size":[{"max-inline":["none",...es()]}],"block-size":[{block:["auto",...ea()]}],"min-block-size":[{"min-block":["auto",...ea()]}],"max-block-size":[{"max-block":["none",...ea()]}],w:[{w:[i,"screen",...en()]}],"min-w":[{"min-w":[i,"screen","none",...en()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[a]},...en()]}],h:[{h:["screen","lh",...en()]}],"min-h":[{"min-h":["screen","lh","none",...en()]}],"max-h":[{"max-h":["screen","lh",...en()]}],"font-size":[{text:["base",r,K,B]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,ee,U]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",I,W]}],"font-family":[{font:[J,F,t]}],"font-features":[{"font-features":[W]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,G,W]}],"line-clamp":[{"line-clamp":[z,"none",G,_]}],leading:[{leading:[s,...A()]}],"list-image":[{"list-image":["none",G,W]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",G,W]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ei()}],"text-color":[{text:ei()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ep(),"wavy"]}],"text-decoration-thickness":[{decoration:[z,"from-font","auto",G,B]}],"text-decoration-color":[{decoration:ei()}],"underline-offset":[{"underline-offset":[z,"auto",G,W]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:A()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",G,W]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",G,W]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:el()}],"bg-repeat":[{bg:ec()}],"bg-size":[{bg:eu()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},P,G,W],radial:["",G,W],conic:[P,G,W]},X,H]}],"bg-color":[{bg:ei()}],"gradient-from-pos":[{from:ed()}],"gradient-via-pos":[{via:ed()}],"gradient-to-pos":[{to:ed()}],"gradient-from":[{from:ei()}],"gradient-via":[{via:ei()}],"gradient-to":[{to:ei()}],rounded:[{rounded:em()}],"rounded-s":[{"rounded-s":em()}],"rounded-e":[{"rounded-e":em()}],"rounded-t":[{"rounded-t":em()}],"rounded-r":[{"rounded-r":em()}],"rounded-b":[{"rounded-b":em()}],"rounded-l":[{"rounded-l":em()}],"rounded-ss":[{"rounded-ss":em()}],"rounded-se":[{"rounded-se":em()}],"rounded-ee":[{"rounded-ee":em()}],"rounded-es":[{"rounded-es":em()}],"rounded-tl":[{"rounded-tl":em()}],"rounded-tr":[{"rounded-tr":em()}],"rounded-br":[{"rounded-br":em()}],"rounded-bl":[{"rounded-bl":em()}],"border-w":[{border:ef()}],"border-w-x":[{"border-x":ef()}],"border-w-y":[{"border-y":ef()}],"border-w-s":[{"border-s":ef()}],"border-w-e":[{"border-e":ef()}],"border-w-bs":[{"border-bs":ef()}],"border-w-be":[{"border-be":ef()}],"border-w-t":[{"border-t":ef()}],"border-w-r":[{"border-r":ef()}],"border-w-b":[{"border-b":ef()}],"border-w-l":[{"border-l":ef()}],"divide-x":[{"divide-x":ef()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ef()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ep(),"hidden","none"]}],"divide-style":[{divide:[...ep(),"hidden","none"]}],"border-color":[{border:ei()}],"border-color-x":[{"border-x":ei()}],"border-color-y":[{"border-y":ei()}],"border-color-s":[{"border-s":ei()}],"border-color-e":[{"border-e":ei()}],"border-color-bs":[{"border-bs":ei()}],"border-color-be":[{"border-be":ei()}],"border-color-t":[{"border-t":ei()}],"border-color-r":[{"border-r":ei()}],"border-color-b":[{"border-b":ei()}],"border-color-l":[{"border-l":ei()}],"divide-color":[{divide:ei()}],"outline-style":[{outline:[...ep(),"none","hidden"]}],"outline-offset":[{"outline-offset":[z,G,W]}],"outline-w":[{outline:["",z,K,B]}],"outline-color":[{outline:ei()}],shadow:[{shadow:["","none",u,Q,Y]}],"shadow-color":[{shadow:ei()}],"inset-shadow":[{"inset-shadow":["none",d,Q,Y]}],"inset-shadow-color":[{"inset-shadow":ei()}],"ring-w":[{ring:ef()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ei()}],"ring-offset-w":[{"ring-offset":[z,B]}],"ring-offset-color":[{"ring-offset":ei()}],"inset-ring-w":[{"inset-ring":ef()}],"inset-ring-color":[{"inset-ring":ei()}],"text-shadow":[{"text-shadow":["none",m,Q,Y]}],"text-shadow-color":[{"text-shadow":ei()}],opacity:[{opacity:[z,G,W]}],"mix-blend":[{"mix-blend":[...eb(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":eb()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[z]}],"mask-image-linear-from-pos":[{"mask-linear-from":eg()}],"mask-image-linear-to-pos":[{"mask-linear-to":eg()}],"mask-image-linear-from-color":[{"mask-linear-from":ei()}],"mask-image-linear-to-color":[{"mask-linear-to":ei()}],"mask-image-t-from-pos":[{"mask-t-from":eg()}],"mask-image-t-to-pos":[{"mask-t-to":eg()}],"mask-image-t-from-color":[{"mask-t-from":ei()}],"mask-image-t-to-color":[{"mask-t-to":ei()}],"mask-image-r-from-pos":[{"mask-r-from":eg()}],"mask-image-r-to-pos":[{"mask-r-to":eg()}],"mask-image-r-from-color":[{"mask-r-from":ei()}],"mask-image-r-to-color":[{"mask-r-to":ei()}],"mask-image-b-from-pos":[{"mask-b-from":eg()}],"mask-image-b-to-pos":[{"mask-b-to":eg()}],"mask-image-b-from-color":[{"mask-b-from":ei()}],"mask-image-b-to-color":[{"mask-b-to":ei()}],"mask-image-l-from-pos":[{"mask-l-from":eg()}],"mask-image-l-to-pos":[{"mask-l-to":eg()}],"mask-image-l-from-color":[{"mask-l-from":ei()}],"mask-image-l-to-color":[{"mask-l-to":ei()}],"mask-image-x-from-pos":[{"mask-x-from":eg()}],"mask-image-x-to-pos":[{"mask-x-to":eg()}],"mask-image-x-from-color":[{"mask-x-from":ei()}],"mask-image-x-to-color":[{"mask-x-to":ei()}],"mask-image-y-from-pos":[{"mask-y-from":eg()}],"mask-image-y-to-pos":[{"mask-y-to":eg()}],"mask-image-y-from-color":[{"mask-y-from":ei()}],"mask-image-y-to-color":[{"mask-y-to":ei()}],"mask-image-radial":[{"mask-radial":[G,W]}],"mask-image-radial-from-pos":[{"mask-radial-from":eg()}],"mask-image-radial-to-pos":[{"mask-radial-to":eg()}],"mask-image-radial-from-color":[{"mask-radial-from":ei()}],"mask-image-radial-to-color":[{"mask-radial-to":ei()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[z]}],"mask-image-conic-from-pos":[{"mask-conic-from":eg()}],"mask-image-conic-to-pos":[{"mask-conic-to":eg()}],"mask-image-conic-from-color":[{"mask-conic-from":ei()}],"mask-image-conic-to-color":[{"mask-conic-to":ei()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:el()}],"mask-repeat":[{mask:ec()}],"mask-size":[{mask:eu()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",G,W]}],filter:[{filter:["","none",G,W]}],blur:[{blur:eh()}],brightness:[{brightness:[z,G,W]}],contrast:[{contrast:[z,G,W]}],"drop-shadow":[{"drop-shadow":["","none",f,Q,Y]}],"drop-shadow-color":[{"drop-shadow":ei()}],grayscale:[{grayscale:["",z,G,W]}],"hue-rotate":[{"hue-rotate":[z,G,W]}],invert:[{invert:["",z,G,W]}],saturate:[{saturate:[z,G,W]}],sepia:[{sepia:["",z,G,W]}],"backdrop-filter":[{"backdrop-filter":["","none",G,W]}],"backdrop-blur":[{"backdrop-blur":eh()}],"backdrop-brightness":[{"backdrop-brightness":[z,G,W]}],"backdrop-contrast":[{"backdrop-contrast":[z,G,W]}],"backdrop-grayscale":[{"backdrop-grayscale":["",z,G,W]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[z,G,W]}],"backdrop-invert":[{"backdrop-invert":["",z,G,W]}],"backdrop-opacity":[{"backdrop-opacity":[z,G,W]}],"backdrop-saturate":[{"backdrop-saturate":[z,G,W]}],"backdrop-sepia":[{"backdrop-sepia":["",z,G,W]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":A()}],"border-spacing-x":[{"border-spacing-x":A()}],"border-spacing-y":[{"border-spacing-y":A()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",G,W]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[z,"initial",G,W]}],ease:[{ease:["linear","initial",h,G,W]}],delay:[{delay:[z,G,W]}],animate:[{animate:["none",k,G,W]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,G,W]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ev()}],"rotate-x":[{"rotate-x":ev()}],"rotate-y":[{"rotate-y":ev()}],"rotate-z":[{"rotate-z":ev()}],scale:[{scale:ek()}],"scale-x":[{"scale-x":ek()}],"scale-y":[{"scale-y":ek()}],"scale-z":[{"scale-z":ek()}],"scale-3d":["scale-3d"],skew:[{skew:ew()}],"skew-x":[{"skew-x":ew()}],"skew-y":[{"skew-y":ew()}],transform:[{transform:[G,W,"","none","gpu","cpu"]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ey()}],"translate-x":[{"translate-x":ey()}],"translate-y":[{"translate-y":ey()}],"translate-z":[{"translate-z":ey()}],"translate-none":["translate-none"],accent:[{accent:ei()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ei()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",G,W]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":A()}],"scroll-mx":[{"scroll-mx":A()}],"scroll-my":[{"scroll-my":A()}],"scroll-ms":[{"scroll-ms":A()}],"scroll-me":[{"scroll-me":A()}],"scroll-mbs":[{"scroll-mbs":A()}],"scroll-mbe":[{"scroll-mbe":A()}],"scroll-mt":[{"scroll-mt":A()}],"scroll-mr":[{"scroll-mr":A()}],"scroll-mb":[{"scroll-mb":A()}],"scroll-ml":[{"scroll-ml":A()}],"scroll-p":[{"scroll-p":A()}],"scroll-px":[{"scroll-px":A()}],"scroll-py":[{"scroll-py":A()}],"scroll-ps":[{"scroll-ps":A()}],"scroll-pe":[{"scroll-pe":A()}],"scroll-pbs":[{"scroll-pbs":A()}],"scroll-pbe":[{"scroll-pbe":A()}],"scroll-pt":[{"scroll-pt":A()}],"scroll-pr":[{"scroll-pr":A()}],"scroll-pb":[{"scroll-pb":A()}],"scroll-pl":[{"scroll-pl":A()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",G,W]}],fill:[{fill:["none",...ei()]}],"stroke-w":[{stroke:[z,K,B,_]}],stroke:[{stroke:["none",...ei()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});e.s(["cn",0,function(...e){return ed(t(e))},"formatRelativeTime",0,function(e){let t=Date.now()-e.getTime(),r=Math.floor(t/6e4),o=Math.floor(t/36e5),n=Math.floor(t/864e5);return r<1?"刚刚":r<60?`${r}分钟前`:o<24?`${o}小时前`:n<30?`${n}天前`:e.toLocaleDateString("zh-CN")}],937756)},863961,e=>{"use strict";var t=e.i(85212);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),o=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,t.createContext)({}),a=(0,t.forwardRef)(({color:e,size:o,strokeWidth:a,absoluteStrokeWidth:i,className:l="",children:c,iconNode:u,...d},m)=>{let{size:f=24,strokeWidth:p=2,absoluteStrokeWidth:b=!1,color:g="currentColor",className:h=""}=(0,t.useContext)(s)??{},v=i??b?24*Number(a??p)/Number(o??f):a??p;return(0,t.createElement)("svg",{ref:m,...n,width:o??f??n.width,height:o??f??n.height,stroke:e??g,strokeWidth:v,className:r("lucide",h,l),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...u.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(c)?c:[c]])});e.s(["default",0,(e,n)=>{let s=(0,t.forwardRef)(({className:s,...i},l)=>(0,t.createElement)(a,{ref:l,iconNode:n,className:r(`lucide-${o(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,s),...i}));return s.displayName=o(e),s}],863961)},136391,101997,789031,e=>{"use strict";e.i(129893);var t=e.i(85212),r=e.i(447120),o=e.i(357030),n=e.i(284060),s=e.i(337590),a=e.i(499875);let i=t.createContext(void 0);function l(e=!1){let r=t.useContext(i);if(void 0===r&&!e)throw Error((0,a.default)(16));return r}function c(e){return(0,r.isHTMLElement)(e)&&"BUTTON"===e.tagName}e.s(["CompositeRootContext",0,i,"useCompositeRootContext",0,l],101997),e.s(["useButton",0,function(e={}){let{disabled:r=!1,focusableWhenDisabled:a,tabIndex:i=0,native:u=!0,composite:d}=e,m=t.useRef(null),f=l(!0),p=d??void 0!==f,{props:b}=function(e){let{focusableWhenDisabled:r,disabled:o,composite:n=!1,tabIndex:s=0,isNativeButton:a}=e,i=n&&!1!==r,l=n&&!1===r;return{props:t.useMemo(()=>{let e={onKeyDown(e){o&&r&&"Tab"!==e.key&&e.preventDefault()}};return n||(e.tabIndex=s,!a&&o&&(e.tabIndex=r?s:-1)),(a&&(r||i)||!a&&o)&&(e["aria-disabled"]=o),a&&(!r||l)&&(e.disabled=o),e},[n,o,r,i,l,a,s])}}({focusableWhenDisabled:a,disabled:r,composite:p,tabIndex:i,isNativeButton:u}),g=t.useCallback(()=>{let e=m.current;c(e)&&p&&r&&void 0===b.disabled&&e.disabled&&(e.disabled=!1)},[r,b.disabled,p]);return(0,n.useIsoLayoutEffect)(g,[g]),{getButtonProps:t.useCallback((e={})=>{let{onClick:t,onMouseDown:o,onKeyUp:n,onKeyDown:a,onPointerDown:i,...l}=e,d=u?"button":void 0;return(0,s.mergeProps)({type:d,onClick(e){r?e.preventDefault():t?.(e)},onMouseDown(e){r||o?.(e)},onKeyDown(e){var o;if(r||((0,s.makeEventPreventable)(e),a?.(e),e.baseUIHandlerPrevented))return;let n=e.target===e.currentTarget,i=e.currentTarget,l=c(i),d=!u&&(o=i,!!(o?.tagName==="A"&&o?.href)),m=n&&(u?l:!d),f="Enter"===e.key,b=" "===e.key,g=i.getAttribute("role"),h=g?.startsWith("menuitem")||"option"===g||"gridcell"===g;if(n&&p&&b){if(e.defaultPrevented&&h)return;e.preventDefault(),d||u&&l?(i.click(),e.preventBaseUIHandler()):m&&(t?.(e),e.preventBaseUIHandler());return}m&&(!u&&(b||f)&&e.preventDefault(),!u&&f&&t?.(e))},onKeyUp(e){r||(((0,s.makeEventPreventable)(e),n?.(e),e.target===e.currentTarget&&u&&p&&c(e.currentTarget)&&" "===e.key)?e.preventDefault():!e.baseUIHandlerPrevented&&(e.target!==e.currentTarget||u||p||" "!==e.key||t?.(e)))},onPointerDown(e){r?e.preventDefault():i?.(e)}},u?void 0:{role:"button"},b,l)},[r,b,p,u]),buttonRef:(0,o.useStableCallback)(e=>{m.current=e,g()})}}],136391);let u=(0,e.i(863961).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,u],789031)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,66364,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},457588,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={DecodeError:function(){return P},MiddlewareNotFoundError:function(){return O},MissingStaticPage:function(){return h},NormalizeError:function(){return E},PageNotFoundError:function(){return b},SP:function(){return m},ST:function(){return y},WEB_VITALS:function(){return i},execOnce:function(){return u},getDisplayName:function(){return l},getLocationOrigin:function(){return c},getURL:function(){return f},isAbsoluteUrl:function(){return a},isResSent:function(){return d},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return N}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function u(e){let r,t=!1;return(...n)=>(t||(t=!0,r=e(...n)),r)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>s.test(e);function c(){let{protocol:e,hostname:r,port:t}=window.location;return`${e}//${r}${t?":"+t:""}`}function f(){let{href:e}=window.location,r=c();return e.substring(r.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let r=e.split("?");return r[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(r[1]?`?${r.slice(1).join("?")}`:"")}async function g(e,r){let t=r.res||r.ctx&&r.ctx.res;if(!e.getInitialProps)return r.ctx&&r.Component?{pageProps:await g(r.Component,r.ctx)}:{};let n=await e.getInitialProps(r);if(t&&d(t))return n;if(!n)throw Object.defineProperty(Error(`"${l(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let m="u">typeof performance,y=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class P extends Error{}class E extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class h extends Error{constructor(e,r){super(),this.message=`Failed to load static file for page: ${e} ${r}`}}class O extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function N(e){return JSON.stringify({message:e.message,stack:e.stack})}},342786,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={assign:function(){return a},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});function i(e){let r={};for(let[t,n]of e.entries()){let e=r[t];void 0===e?r[t]=n:Array.isArray(e)?e.push(n):r[t]=[e,n]}return r}function u(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let r=new URLSearchParams;for(let[t,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)r.append(t,u(e));else r.set(t,u(n));return r}function a(e,...r){for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,3191,e=>{"use strict";var t=e.i(543485);let s=(0,t.createServerReference)("4002d8571b6bdf58868e87d1d81f586b88cf87057e",t.callServer,void 0,t.findSourceMapURL,"getConfigValues");e.s(["getConfigValues",0,s])},726111,e=>{"use strict";var t=e.i(432377),s=e.i(937756);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})]})}])},203529,e=>{"use strict";var t=e.i(337590),s=e.i(793988),r=e.i(164688),a=e.i(937756);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)}],203529)},168313,e=>{"use strict";var t=e.i(543485);let s=(0,t.createServerReference)("403ff6fb6679e7d59c36b91d1641a70cef02d4b234",t.callServer,void 0,t.findSourceMapURL,"stopPtyExecution");e.s(["stopPtyExecution",0,s])},165257,e=>{"use strict";var t=e.i(543485);let s=(0,t.createServerReference)("7839f6340d8e220203392fedeee21e01e0831c8012",t.callServer,void 0,t.findSourceMapURL,"startPtyExecution");e.s(["startPtyExecution",0,s])},661933,351101,e=>{"use strict";var t=e.i(543485);let s=(0,t.createServerReference)("60d8d343d6d5c044dadeb71b8d3a7e5f3fff699d6d",t.callServer,void 0,t.findSourceMapURL,"resumePtyExecution");e.s(["resumePtyExecution",0,s],661933);let r=(0,e.i(863961).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],351101)},79888,e=>{"use strict";var t=e.i(543485);let s=(0,t.createServerReference)("40c8dd735fe52600a2307629dfbdf14e794f96be81",t.callServer,void 0,t.findSourceMapURL,"openInTerminal");e.s(["openInTerminal",0,s])},877938,e=>{"use strict";var t=e.i(432377),s=e.i(85212),r=e.i(625054),a=e.i(543485);let i=(0,a.createServerReference)("00ba4377b901e75414286d0eb0a9635fc2a8e5d7a2",a.callServer,void 0,a.findSourceMapURL,"getActiveExecutionsAcrossWorkspaces");var n=e.i(168313);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(610874),c=e.i(711296),d=e.i(726111),u=e.i(863961);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(3191);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(139302),v=e.i(254059),b=e.i(415411),j=e.i(309542),w=e.i(280121);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(996032);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(11915),C=e.i(203529),R=e.i(79888),T=e.i(286302);let E=(0,b.default)(()=>e.A(172854).then(e=>e.TaskTerminal),{loadableGenerated:{modules:[467005]},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)("40535a6a38bc5b8149d6178b949a6f89b1307d6d44",a.callServer,void 0,a.findSourceMapURL,"getWorkspacesWithRecentTasks"),P=(0,a.createServerReference)("401b61ad7e39ca392cb9beb71bc3b6bfa5ef7f1504",a.callServer,void 0,a.findSourceMapURL,"getProjectTasks");var A=e.i(165257),O=e.i(661933),$=e.i(718837);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(351101),H=e.i(142124);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))})})})})]})}],877938)}]);