tower-studio 0.2.45 → 0.2.47

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 (495) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/routes-manifest.json +8 -0
  6. package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +3 -3
  17. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +149 -89
  18. package/.next/standalone/.next/server/app/_not-found/page.js +8 -8
  19. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/api/adapters/test/route.js +2 -2
  22. package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/browse-fs/route.js +1 -1
  24. package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/git/route.js +1 -1
  27. package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js +2 -4
  31. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js +2 -2
  33. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/internal/assistant/route.js +5 -4
  35. package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +3 -5
  38. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/internal/harness/ask/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/internal/harness/notify/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/internal/harness/pending/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/internal/harness/reply/route.js +4 -4
  44. package/.next/standalone/.next/server/app/api/internal/harness/reply/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/internal/hooks/session/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js +1 -1
  48. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js +1 -1
  50. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +1 -1
  53. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js +1 -1
  55. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/paste-image/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js +4 -4
  58. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +4 -4
  60. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js +4 -4
  62. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js +1 -1
  64. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js +1 -1
  66. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js +5 -3
  68. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/harness/page/react-loadable-manifest.json +3 -3
  70. package/.next/standalone/.next/server/app/harness/page/server-reference-manifest.json +172 -112
  71. package/.next/standalone/.next/server/app/harness/page.js +8 -8
  72. package/.next/standalone/.next/server/app/harness/page.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/harness/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +3 -2
  75. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +254 -158
  76. package/.next/standalone/.next/server/app/missions/page.js +10 -9
  77. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +3 -3
  80. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +149 -89
  81. package/.next/standalone/.next/server/app/onboarding/page.js +8 -8
  82. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +3 -3
  85. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +149 -89
  86. package/.next/standalone/.next/server/app/page.js +8 -8
  87. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
  90. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +245 -149
  91. package/.next/standalone/.next/server/app/settings/page.js +10 -11
  92. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +3 -3
  95. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +286 -238
  96. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +9 -9
  97. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +3 -3
  100. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +251 -203
  101. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +9 -9
  102. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/app-paths-manifest.json +3 -0
  105. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/build-manifest.json +18 -0
  106. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/next-font-manifest.json +11 -0
  107. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/react-loadable-manifest.json +18 -0
  108. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/server-reference-manifest.json +413 -0
  109. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page.js +25 -0
  110. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page.js.nft.json +1 -0
  111. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page_client-reference-manifest.js +3 -0
  112. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +3 -3
  113. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +228 -180
  114. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js +9 -9
  115. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +3 -3
  118. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +266 -218
  119. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +10 -11
  120. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +3 -3
  123. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +149 -89
  124. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +9 -9
  125. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +3 -3
  128. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +226 -178
  129. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +9 -9
  130. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +4 -4
  133. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +293 -233
  134. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +11 -12
  135. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +3 -3
  138. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +177 -129
  139. package/.next/standalone/.next/server/app/workspaces/page.js +8 -8
  140. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  143. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_09ikw5j.js +5 -0
  144. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0eh8dj_.js +9 -5
  145. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0gr2wxq.js +1 -1
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-1~xqo._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.3n3t.._.js +3 -0
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.wsvr6._.js +4 -0
  149. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0y3adwk._.js → [root-of-the-server]__0.yf1mx._.js} +2 -2
  150. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0o6i1wy._.js → [root-of-the-server]__00xe-t8._.js} +2 -2
  151. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0vh3112._.js → [root-of-the-server]__02yvm55._.js} +2 -2
  152. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__09arklv._.js → [root-of-the-server]__04-ty51._.js} +2 -2
  153. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0v98a~t._.js → [root-of-the-server]__065hi6e._.js} +2 -2
  154. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0k9rz_z._.js → [root-of-the-server]__06iuq17._.js} +2 -2
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06x1zwj._.js +1 -1
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06~wmlx._.js +3 -0
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__092475e._.js +3 -0
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0atap--._.js +3 -0
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c3je91._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dz.knv._.js +3 -0
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ehwsa1._.js +4 -0
  162. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0esywxf._.js +3 -0
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fd9z.r._.js +30 -0
  164. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gcg7i.._.js +3 -0
  165. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0iyp~.k._.js +2 -2
  166. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__07xsu6m._.js → [root-of-the-server]__0j7565a._.js} +2 -2
  167. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kkrbn-._.js +4 -0
  168. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0m8t3vi._.js +3 -0
  169. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nv83.p._.js +4 -0
  170. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0squ613._.js +3 -0
  171. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0u8tl88._.js +2 -2
  172. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wugb-9._.js +3 -0
  173. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0yeg1kp._.js +4 -0
  174. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zchqv1._.js +43 -0
  175. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0_~s0z4._.js → [root-of-the-server]__0zcy11y._.js} +2 -2
  176. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~1-i5h._.js +3 -0
  177. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~ju4-d._.js +1 -1
  178. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10qclz-._.js +3 -0
  179. package/.next/standalone/.next/server/chunks/_02hac5p._.js +25 -2
  180. package/.next/standalone/.next/server/chunks/_0_w835g._.js +4 -0
  181. package/.next/standalone/.next/server/chunks/_0je3dz2._.js +25 -2
  182. package/.next/standalone/.next/server/chunks/_0tidm8l._.js +25 -2
  183. package/.next/standalone/.next/server/chunks/_0zok2an._.js +25 -2
  184. package/.next/standalone/.next/server/chunks/src_05balzk._.js +1 -1
  185. package/.next/standalone/.next/server/chunks/src_0aygchu._.js +1 -1
  186. package/.next/standalone/.next/server/chunks/src_0gif-f5._.js +1 -1
  187. package/.next/standalone/.next/server/chunks/src_0pg9w-x._.js +3 -0
  188. package/.next/standalone/.next/server/chunks/src_0vp6.co._.js +1 -1
  189. package/.next/standalone/.next/server/chunks/src_11k6i~l._.js +1 -1
  190. package/.next/standalone/.next/server/chunks/src_actions_agent-actions_ts_10q9r5b._.js +3 -3
  191. package/.next/standalone/.next/server/chunks/src_lib_0d~1~wz._.js +1 -1
  192. package/.next/standalone/.next/server/chunks/src_lib_0ylel_1._.js +1 -1
  193. package/.next/standalone/.next/server/chunks/src_lib_ai_0xx6y51._.js +1 -1
  194. package/.next/standalone/.next/server/chunks/src_lib_ai_providers_index_ts_0.y.3vp._.js +1 -1
  195. package/.next/standalone/.next/server/chunks/src_lib_config-defaults_ts_10ayktg._.js +1 -1
  196. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  197. package/.next/standalone/.next/server/chunks/ssr/0se9_next_dist_0i5qmqd._.js +1 -1
  198. package/.next/standalone/.next/server/chunks/ssr/0se9_next_dist_esm_build_templates_app-page_04~dhws.js +4 -0
  199. package/.next/standalone/.next/server/chunks/ssr/{0ws9_lucide-react_dist_esm_icons_0r~ty--._.js → 0ws9_lucide-react_dist_esm_icons_0gv_cwy._.js} +2 -2
  200. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00qdvw7._.js +3 -0
  201. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01bz3_g._.js +3 -0
  202. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__051tpij._.js → [root-of-the-server]__0282989._.js} +1 -1
  203. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dfqa5a._.js → [root-of-the-server]__03jikql._.js} +1 -1
  204. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ixgha6._.js → [root-of-the-server]__04dod9d._.js} +1 -1
  205. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05tx27l._.js +3 -0
  206. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0fl0l82._.js → [root-of-the-server]__07ha-7q._.js} +1 -1
  207. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07~giyb._.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0872sqe._.js +4 -0
  209. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__090y_.y._.js +3 -0
  210. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__096w7g2._.js → [root-of-the-server]__09qoc8v._.js} +3 -3
  211. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b.ej5q._.js +1 -1
  212. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dmjt7o._.js → [root-of-the-server]__0bl842b._.js} +1 -1
  213. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0lau3k_._.js → [root-of-the-server]__0c81jqz._.js} +3 -3
  214. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dh0alq._.js +3 -0
  215. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e79g0v._.js +3 -0
  216. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0t_zq~v._.js → [root-of-the-server]__0fy8mj6._.js} +1 -1
  217. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0g2wrd2._.js → [root-of-the-server]__0gsk~9d._.js} +1 -1
  218. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h4ltpn._.js +5 -0
  219. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hx2p17._.js +3 -0
  220. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0iaw1ms._.js +3 -0
  221. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ie8~g5._.js +3 -0
  222. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~s8otw._.js → [root-of-the-server]__0j1w7ro._.js} +1 -1
  223. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i0k_zi._.js → [root-of-the-server]__0jxfeb6._.js} +1 -1
  224. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jymb~t._.js +1 -1
  225. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0l0~scn._.js +1 -1
  226. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0tb.1li._.js → [root-of-the-server]__0mi.v4q._.js} +3 -3
  227. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vi-5xg._.js → [root-of-the-server]__0nell0t._.js} +3 -3
  228. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0odoa97._.js +30 -0
  229. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0o9jkew._.js → [root-of-the-server]__0q8o5us._.js} +2 -2
  230. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dv.-zu._.js → [root-of-the-server]__0qjjy1r._.js} +1 -1
  231. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rg73f.._.js +3 -0
  232. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s~4y3y._.js +1 -1
  233. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s~ak20._.js +3 -0
  234. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t3q30a._.js +3 -0
  235. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tpho3f._.js +3 -0
  236. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__08etd~v._.js → [root-of-the-server]__0tusyj0._.js} +1 -1
  237. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__06s-_gx._.js → [root-of-the-server]__0x6eyvj._.js} +1 -1
  238. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xftcya._.js +3 -0
  239. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xiiocg._.js +30 -0
  240. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xnuz05._.js +5 -0
  241. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0znl9us._.js +3 -0
  242. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zsnp~d._.js +5 -0
  243. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~fdua7._.js +3 -0
  244. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11fp64w._.js +1 -1
  245. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1290yo~._.js +3 -0
  246. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12s3kky._.js +3 -0
  247. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ydiu_y._.js → [root-of-the-server]__136sh9u._.js} +1 -1
  248. package/.next/standalone/.next/server/chunks/ssr/{_0dye20y._.js → _0-wp_zu._.js} +2 -2
  249. package/.next/standalone/.next/server/chunks/ssr/_0-~9em3._.js +1 -1
  250. package/.next/standalone/.next/server/chunks/ssr/_0.-.0zk._.js +3 -0
  251. package/.next/standalone/.next/server/chunks/ssr/_0..h3hk._.js +1 -1
  252. package/.next/standalone/.next/server/chunks/ssr/{_09rq08e._.js → _0111pr2._.js} +1 -1
  253. package/.next/standalone/.next/server/chunks/ssr/{_0~6pqk.._.js → _029yl-g._.js} +1 -1
  254. package/.next/standalone/.next/server/chunks/ssr/_02mcoex._.js +3 -0
  255. package/.next/standalone/.next/server/chunks/ssr/_02p-udo._.js +3 -0
  256. package/.next/standalone/.next/server/chunks/ssr/_02t7f2_._.js +3 -0
  257. package/.next/standalone/.next/server/chunks/ssr/_04brhyt._.js +3 -0
  258. package/.next/standalone/.next/server/chunks/ssr/_08b3kyv._.js +43 -0
  259. package/.next/standalone/.next/server/chunks/ssr/_0a___34._.js +3 -0
  260. package/.next/standalone/.next/server/chunks/ssr/{_0ljrvyt._.js → _0b4v~ls._.js} +2 -2
  261. package/.next/standalone/.next/server/chunks/ssr/_0bdyusg._.js +6 -0
  262. package/.next/standalone/.next/server/chunks/ssr/_0c8-9m9._.js +3 -0
  263. package/.next/standalone/.next/server/chunks/ssr/{_0xnn~jq._.js → _0gcox_6._.js} +1 -1
  264. package/.next/standalone/.next/server/chunks/ssr/{_01fdzzv._.js → _0gte_c4._.js} +1 -1
  265. package/.next/standalone/.next/server/chunks/ssr/_0hyn4md._.js +3 -0
  266. package/.next/standalone/.next/server/chunks/ssr/{_13_b8hh._.js → _0lqjtwo._.js} +1 -1
  267. package/.next/standalone/.next/server/chunks/ssr/_0noar.v._.js +3 -0
  268. package/.next/standalone/.next/server/chunks/ssr/_0os43sb._.js +1 -1
  269. package/.next/standalone/.next/server/chunks/ssr/_0rilhs1._.js +3 -0
  270. package/.next/standalone/.next/server/chunks/ssr/{_078cdw~._.js → _0sbkase._.js} +3 -3
  271. package/.next/standalone/.next/server/chunks/ssr/{_08bq4g8._.js → _0t-0.1o._.js} +2 -2
  272. package/.next/standalone/.next/server/chunks/ssr/_0wbcp88._.js +1 -1
  273. package/.next/standalone/.next/server/chunks/ssr/_0w~~xn0._.js +3 -0
  274. package/.next/standalone/.next/server/chunks/ssr/{_12la163._.js → _0xexuoi._.js} +2 -2
  275. package/.next/standalone/.next/server/chunks/ssr/_0xu906p._.js +4 -0
  276. package/.next/standalone/.next/server/chunks/ssr/_0z-z415._.js +3 -0
  277. package/.next/standalone/.next/server/chunks/ssr/_0z5~opf._.js +3 -0
  278. package/.next/standalone/.next/server/chunks/ssr/_0zx1ubq._.js +3 -0
  279. package/.next/standalone/.next/server/chunks/ssr/_0~2k74h._.js +43 -0
  280. package/.next/standalone/.next/server/chunks/ssr/_0~rpgs_._.js +3 -0
  281. package/.next/standalone/.next/server/chunks/ssr/_10a_vqn._.js +3 -0
  282. package/.next/standalone/.next/server/chunks/ssr/{_0h0b46r._.js → _10or.ne._.js} +1 -1
  283. package/.next/standalone/.next/server/chunks/ssr/{_09z-55_._.js → _10q2mbe._.js} +2 -2
  284. package/.next/standalone/.next/server/chunks/ssr/_11.knhq._.js +3 -0
  285. package/.next/standalone/.next/server/chunks/ssr/{_0ytcm0j._.js → _124j7aj._.js} +1 -1
  286. package/.next/standalone/.next/server/chunks/ssr/_13yv8at._.js +3 -0
  287. package/.next/standalone/.next/server/chunks/ssr/src_11j0qlp._.js +3 -0
  288. package/.next/standalone/.next/server/chunks/ssr/src_actions_07_wts6._.js +47 -0
  289. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
  290. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  291. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  292. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  293. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  294. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  295. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  296. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_notes_notes-page-client_tsx_10gyo3v._.js +1 -1
  297. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  298. package/.next/standalone/.next/server/chunks/ssr/src_components_0rowjw~._.js +2 -2
  299. package/.next/standalone/.next/server/chunks/ssr/{_0bndp1~._.js → src_components_ui_popover_tsx_0a78wqo._.js} +2 -2
  300. package/.next/standalone/.next/server/chunks/ssr/{src_lib_03xtona._.js → src_lib_0-3zx.v._.js} +2 -2
  301. package/.next/standalone/.next/server/chunks/ssr/src_lib_00ial55._.js +3 -0
  302. package/.next/standalone/.next/server/chunks/ssr/src_lib_01-0ix1._.js +3 -0
  303. package/.next/standalone/.next/server/chunks/ssr/src_lib_01d~ml9._.js +3 -0
  304. package/.next/standalone/.next/server/chunks/ssr/{src_lib_04y-65j._.js → src_lib_0278czx._.js} +1 -1
  305. package/.next/standalone/.next/server/chunks/ssr/src_lib_07o.0r6._.js +3 -0
  306. package/.next/standalone/.next/server/chunks/ssr/src_lib_09jpiip._.js +3 -0
  307. package/.next/standalone/.next/server/chunks/ssr/src_lib_0bmg7ix._.js +3 -0
  308. package/.next/standalone/.next/server/chunks/ssr/src_lib_0cb~2g1._.js +3 -0
  309. package/.next/standalone/.next/server/chunks/ssr/src_lib_0fdsvpu._.js +3 -0
  310. package/.next/standalone/.next/server/chunks/ssr/src_lib_0fyrfen._.js +3 -0
  311. package/.next/standalone/.next/server/chunks/ssr/{src_lib_0-x.wbd._.js → src_lib_0gqe-g3._.js} +1 -1
  312. package/.next/standalone/.next/server/chunks/ssr/src_lib_0ixnmd0._.js +3 -0
  313. package/.next/standalone/.next/server/chunks/ssr/src_lib_0lpxsj~._.js +3 -0
  314. package/.next/standalone/.next/server/chunks/ssr/src_lib_0pgz5n6._.js +3 -0
  315. package/.next/standalone/.next/server/chunks/ssr/{src_lib_00p-ir2._.js → src_lib_0tq69ek._.js} +1 -1
  316. package/.next/standalone/.next/server/chunks/ssr/src_lib_0y5zzg-._.js +3 -0
  317. package/.next/standalone/.next/server/chunks/ssr/src_lib_pty_11~ojr2._.js +3 -0
  318. package/.next/standalone/.next/server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js +3 -0
  319. package/.next/standalone/.next/server/chunks/ssr/{_0ng0eku._.js → src_lib_schemas_ts_0ph~1ak._.js} +3 -3
  320. package/.next/standalone/.next/server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js +1 -1
  321. package/.next/standalone/.next/server/functions-config-manifest.json +1 -0
  322. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  323. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  324. package/.next/standalone/.next/server/next-font-manifest.json +4 -0
  325. package/.next/standalone/.next/server/pages/500.html +1 -1
  326. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  327. package/.next/standalone/.next/server/server-reference-manifest.json +2308 -1642
  328. package/.next/standalone/.next/static/chunks/0.2y9uc38xso-.js +1 -0
  329. package/.next/standalone/.next/static/chunks/00agq5_c-.llc.js +1 -0
  330. package/.next/standalone/.next/static/chunks/015i97g3voot2.js +2 -0
  331. package/.next/standalone/.next/static/chunks/01wvj~s3skc-5.js +1 -0
  332. package/.next/standalone/.next/static/chunks/{0c4-6qdhi645s.js → 031br6.h-zycv.js} +1 -1
  333. package/.next/standalone/.next/static/chunks/04.2m8l~ws19v.js +1 -0
  334. package/.next/standalone/.next/static/chunks/054ztat09k8d8.js +1 -0
  335. package/.next/standalone/.next/static/chunks/07c4b1kp_85qg.js +1 -0
  336. package/.next/standalone/.next/static/chunks/07f592yv~pptf.js +1 -0
  337. package/.next/standalone/.next/static/chunks/{0bvhkgitn__gl.js → 08j4ettv1zbmn.js} +1 -1
  338. package/.next/standalone/.next/static/chunks/08kc0~d-bpqxd.js +1 -0
  339. package/.next/standalone/.next/static/chunks/{0c.t.evwah_m4.js → 08s_oyki61yjf.js} +1 -1
  340. package/.next/standalone/.next/static/chunks/09bc_~h466~tj.js +1 -0
  341. package/.next/standalone/.next/static/chunks/0_hj_1l73v-on.js +1 -0
  342. package/.next/standalone/.next/static/chunks/0a54zbhpg7-ql.js +1 -0
  343. package/.next/standalone/.next/static/chunks/0c2po53wqe-op.js +1 -0
  344. package/.next/standalone/.next/static/chunks/0clhvl~13pwv2.js +1 -0
  345. package/.next/standalone/.next/static/chunks/0fi1kdxrc9m~d.js +1 -0
  346. package/.next/standalone/.next/static/chunks/0ix28r65.7o_r.js +12 -0
  347. package/.next/standalone/.next/static/chunks/0j56_.0_wup.m.js +1 -0
  348. package/.next/standalone/.next/static/chunks/0lokkque~1fox.js +1 -0
  349. package/.next/standalone/.next/static/chunks/0m5k~sgt78d8a.js +1 -0
  350. package/.next/standalone/.next/static/chunks/0mzzaly9-cwhd.js +5 -0
  351. package/.next/standalone/.next/static/chunks/0ov_akpudbv96.js +5 -0
  352. package/.next/standalone/.next/static/chunks/0pg~fc3o64-u0.js +1 -0
  353. package/.next/standalone/.next/static/chunks/0pvc93qomwhkq.js +1 -0
  354. package/.next/standalone/.next/static/chunks/0seo-lerjdkbn.js +1 -0
  355. package/.next/standalone/.next/static/chunks/0smoiulyzysrc.js +2 -0
  356. package/.next/standalone/.next/static/chunks/0ufatfbq87c84.js +1 -0
  357. package/.next/standalone/.next/static/chunks/{09bezwcb__18t.js → 0ujznvfinjpzn.js} +1 -1
  358. package/.next/standalone/.next/static/chunks/{02xqrfqu.s8-i.js → 0ux~8zee88x-j.js} +1 -1
  359. package/.next/standalone/.next/static/chunks/0vy01_a6xhhrr.js +1 -0
  360. package/.next/standalone/.next/static/chunks/0wl8cpmvyhv0l.js +1 -0
  361. package/.next/standalone/.next/static/chunks/0xd_tk4asn0qj.js +1 -0
  362. package/.next/standalone/.next/static/chunks/0~l470bpaoz9f.js +1 -0
  363. package/.next/standalone/.next/static/chunks/118j.0w2pbdea.js +1 -0
  364. package/.next/standalone/.next/static/chunks/11yhe31en~dvt.js +1 -0
  365. package/.next/standalone/.next/static/chunks/13yfli6~6o4z~.js +1 -0
  366. package/.next/standalone/.next/static/chunks/14fch6~swodjf.css +1 -0
  367. package/.next/standalone/.next/static/chunks/15rlbf5rw1dd..js +1 -0
  368. package/.next/standalone/package.json +1 -2
  369. package/dist/mcp-server.cjs +1205 -4330
  370. package/package.json +1 -2
  371. package/prisma/schema.prisma +46 -5
  372. package/scripts/migrations/0006-project-knowledge.ts +58 -0
  373. package/scripts/migrations/0007-product-group.ts +67 -0
  374. package/skills/tower/SKILL.md +22 -92
  375. package/skills/tower/references/task-source.md +80 -0
  376. package/.next/standalone/.next/server/chunks/[externals]__0x_wqa7._.js +0 -3
  377. package/.next/standalone/.next/server/chunks/[root-of-the-server]__034jopu._.js +0 -4
  378. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08-s.nv._.js +0 -4
  379. package/.next/standalone/.next/server/chunks/[root-of-the-server]__098.3z2._.js +0 -3
  380. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ehx6q.._.js +0 -3
  381. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0iggiij._.js +0 -3
  382. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pmamzv._.js +0 -3
  383. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pzyjqf._.js +0 -20
  384. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tplo5s._.js +0 -3
  385. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tpzojh._.js +0 -3
  386. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xasom7._.js +0 -4
  387. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xy1t4x._.js +0 -4
  388. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0y~y6sh._.js +0 -3
  389. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10jnn26._.js +0 -3
  390. package/.next/standalone/.next/server/chunks/[root-of-the-server]__116v_bx._.js +0 -4
  391. package/.next/standalone/.next/server/chunks/[root-of-the-server]__119rbly._.js +0 -3
  392. package/.next/standalone/.next/server/chunks/_0qk_esg._.js +0 -4
  393. package/.next/standalone/.next/server/chunks/_0t31z6q._.js +0 -5
  394. package/.next/standalone/.next/server/chunks/src_0aqjfcv._.js +0 -3
  395. package/.next/standalone/.next/server/chunks/src_lib_0nw5n~t._.js +0 -3
  396. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.q~~2p._.js +0 -3
  397. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01zrinc._.js +0 -3
  398. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03x8axh._.js +0 -47
  399. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04wbr9x._.js +0 -3
  400. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05xg05r._.js +0 -3
  401. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__06t.cx~._.js +0 -47
  402. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0__klx0._.js +0 -47
  403. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ccy_gg._.js +0 -3
  404. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cjmeyl._.js +0 -3
  405. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dx9sp-._.js +0 -47
  406. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f57j8r._.js +0 -47
  407. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0j1dx6p._.js +0 -47
  408. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0kn~asi._.js +0 -47
  409. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0m.hayd._.js +0 -47
  410. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mpjat-._.js +0 -3
  411. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sg4fde._.js +0 -4
  412. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w24qox._.js +0 -47
  413. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wq~4aj._.js +0 -30
  414. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0yihqy6._.js +0 -3
  415. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z7je5_._.js +0 -5
  416. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zouyfp._.js +0 -3
  417. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1184s~q._.js +0 -3
  418. package/.next/standalone/.next/server/chunks/ssr/_0.iq8t8._.js +0 -4
  419. package/.next/standalone/.next/server/chunks/ssr/_00.myc6._.js +0 -3
  420. package/.next/standalone/.next/server/chunks/ssr/_00eymu8._.js +0 -3
  421. package/.next/standalone/.next/server/chunks/ssr/_03-we0p._.js +0 -47
  422. package/.next/standalone/.next/server/chunks/ssr/_04szgc6._.js +0 -3
  423. package/.next/standalone/.next/server/chunks/ssr/_0kd_tda._.js +0 -47
  424. package/.next/standalone/.next/server/chunks/ssr/_0ktexki._.js +0 -47
  425. package/.next/standalone/.next/server/chunks/ssr/_0lo1nei._.js +0 -6
  426. package/.next/standalone/.next/server/chunks/ssr/_0mdd702._.js +0 -3
  427. package/.next/standalone/.next/server/chunks/ssr/_0n0q6~9._.js +0 -3
  428. package/.next/standalone/.next/server/chunks/ssr/_0pab_al._.js +0 -3
  429. package/.next/standalone/.next/server/chunks/ssr/_0pg6-.y._.js +0 -3
  430. package/.next/standalone/.next/server/chunks/ssr/_0pvp63a._.js +0 -47
  431. package/.next/standalone/.next/server/chunks/ssr/_0qi4x-5._.js +0 -3
  432. package/.next/standalone/.next/server/chunks/ssr/_0qnobd-._.js +0 -43
  433. package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +0 -3
  434. package/.next/standalone/.next/server/chunks/ssr/_0ts~td3._.js +0 -3
  435. package/.next/standalone/.next/server/chunks/ssr/_0y0_4zs._.js +0 -3
  436. package/.next/standalone/.next/server/chunks/ssr/_0yva1-.._.js +0 -3
  437. package/.next/standalone/.next/server/chunks/ssr/_0yz5dmq._.js +0 -47
  438. package/.next/standalone/.next/server/chunks/ssr/_11w13--._.js +0 -3
  439. package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_09eeb85._.js +0 -3
  440. package/.next/standalone/.next/server/chunks/ssr/src_0djxlqx._.js +0 -3
  441. package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +0 -3
  442. package/.next/standalone/.next/server/chunks/ssr/src_0vv366l._.js +0 -3
  443. package/.next/standalone/.next/server/chunks/ssr/src_lib_03x1i~1._.js +0 -5
  444. package/.next/standalone/.next/server/chunks/ssr/src_lib_08gthaz._.js +0 -3
  445. package/.next/standalone/.next/server/chunks/ssr/src_lib_090~6pq._.js +0 -3
  446. package/.next/standalone/.next/server/chunks/ssr/src_lib_0k8dkbn._.js +0 -3
  447. package/.next/standalone/.next/server/chunks/ssr/src_lib_0knbpxk._.js +0 -3
  448. package/.next/standalone/.next/server/chunks/ssr/src_lib_0p_iehl._.js +0 -3
  449. package/.next/standalone/.next/server/chunks/ssr/src_lib_0qve1ri._.js +0 -3
  450. package/.next/standalone/.next/server/chunks/ssr/src_lib_0s35u~4._.js +0 -3
  451. package/.next/standalone/.next/server/chunks/ssr/src_lib_0x2ui80._.js +0 -3
  452. package/.next/standalone/.next/server/chunks/ssr/src_lib_0ypc5_d._.js +0 -3
  453. package/.next/standalone/.next/server/chunks/ssr/src_lib_10jh2mz._.js +0 -3
  454. package/.next/standalone/.next/static/chunks/0-nppzqp-r.9c.js +0 -1
  455. package/.next/standalone/.next/static/chunks/0-te2tg6~a23u.js +0 -1
  456. package/.next/standalone/.next/static/chunks/0.64.6c1mh7d2.js +0 -1
  457. package/.next/standalone/.next/static/chunks/0.8n1ce9lggg4.js +0 -1
  458. package/.next/standalone/.next/static/chunks/0.nsmn6shzidu.js +0 -2
  459. package/.next/standalone/.next/static/chunks/0.zgqz~m3sjej.js +0 -1
  460. package/.next/standalone/.next/static/chunks/00.eotegra08r.js +0 -1
  461. package/.next/standalone/.next/static/chunks/01j9m895w64zn.js +0 -1
  462. package/.next/standalone/.next/static/chunks/03y272e6e9o8i.js +0 -1
  463. package/.next/standalone/.next/static/chunks/08eyd7sq064r0.js +0 -1
  464. package/.next/standalone/.next/static/chunks/09b33znj4m__c.js +0 -1
  465. package/.next/standalone/.next/static/chunks/0d0zm8viq3ol4.js +0 -12
  466. package/.next/standalone/.next/static/chunks/0dktl5t_dtxu..js +0 -1
  467. package/.next/standalone/.next/static/chunks/0e5~nzt657k92.js +0 -1
  468. package/.next/standalone/.next/static/chunks/0erwxvpb9w29_.js +0 -1
  469. package/.next/standalone/.next/static/chunks/0gf~0e3xpa0fj.js +0 -5
  470. package/.next/standalone/.next/static/chunks/0gy79dfi~lnig.js +0 -1
  471. package/.next/standalone/.next/static/chunks/0gz3xwb5_8xwv.js +0 -1
  472. package/.next/standalone/.next/static/chunks/0i75~pu.bp20..js +0 -1
  473. package/.next/standalone/.next/static/chunks/0jn_w5b9r~beu.js +0 -1
  474. package/.next/standalone/.next/static/chunks/0l59z2mf1ouxu.js +0 -1
  475. package/.next/standalone/.next/static/chunks/0m4xd-ie7j.hx.js +0 -1
  476. package/.next/standalone/.next/static/chunks/0mx9ebe6we4z0.js +0 -1
  477. package/.next/standalone/.next/static/chunks/0nsggimu5je3g.js +0 -1
  478. package/.next/standalone/.next/static/chunks/0nw8nx8kafy79.js +0 -1
  479. package/.next/standalone/.next/static/chunks/0pzjryav9pm7p.js +0 -1
  480. package/.next/standalone/.next/static/chunks/0q-rl50zskr35.js +0 -1
  481. package/.next/standalone/.next/static/chunks/0qqy2x-fsmmmx.js +0 -1
  482. package/.next/standalone/.next/static/chunks/0t59wpux0g1~l.js +0 -1
  483. package/.next/standalone/.next/static/chunks/0uezq8wiwkq8d.js +0 -1
  484. package/.next/standalone/.next/static/chunks/0vrc~7m1_cuvl.js +0 -1
  485. package/.next/standalone/.next/static/chunks/0xbh24-hxrt~m.css +0 -1
  486. package/.next/standalone/.next/static/chunks/0xkkmruo8p.l_.js +0 -1
  487. package/.next/standalone/.next/static/chunks/0xx0pe_j2kmr9.js +0 -2
  488. package/.next/standalone/.next/static/chunks/0zqjqiqmorenw.js +0 -5
  489. package/.next/standalone/.next/static/chunks/136l78utn~v08.js +0 -1
  490. package/.next/standalone/.next/static/chunks/171x9kw9wcyk4.js +0 -1
  491. package/.next/standalone/.next/static/chunks/17m4o~gdsvuo3.js +0 -1
  492. package/next.config.ts +0 -18
  493. /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_buildManifest.js +0 -0
  494. /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_clientMiddlewareManifest.js +0 -0
  495. /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_ssgManifest.js +0 -0
@@ -1,7 +1,7 @@
1
- module.exports=[607884,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(553798),e=a.i(634910),f=a.i(607219),g=a.i(774881),h=a.i(690251),i=a.i(975231),j=a.i(336771),k=a.i(91756),l=a.i(881107),m=a.i(350739),n=a.i(347165),o=a.i(711796);let p=(0,o.default)("gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);var q=a.i(952420),r=a.i(335732),s=a.i(269876),t=a.i(814574),u=a.i(785259),v=a.i(699570),w=a.i(866718),x=a.i(780410);let y=(0,x.createServerReference)("403ea5ae0f3d1e97155fd492ca9a022b8bbe330b90",x.callServer,void 0,x.findSourceMapURL,"createWorkspace"),z=(0,x.createServerReference)("60376b404b9ee9ec39227faf56b6e478179be622ad",x.callServer,void 0,x.findSourceMapURL,"updateWorkspace"),A=(0,x.createServerReference)("402b9e604ebfd42af76626d470e58c634b243bf544",x.callServer,void 0,x.findSourceMapURL,"deleteWorkspace"),B=(0,x.createServerReference)("406da6d9dca36b89032a75437431a27da281273a09",x.callServer,void 0,x.findSourceMapURL,"reorderWorkspaces");var C=a.i(836923);let D=(0,x.createServerReference)("40f49f4fcc711c1a5ef88b7b38ff6fcad0830ad879",x.callServer,void 0,x.findSourceMapURL,"createLabel"),E=(0,x.createServerReference)("402c06d432e3a1c443c8469f9c2d277213c901c111",x.callServer,void 0,x.findSourceMapURL,"deleteLabel");var F=a.i(258815),G=a.i(951192),H=a.i(952313),I=a.i(643228),J=a.i(859103),K=a.i(514126);let L=["📋","🚀","🎯","💡","🔧","📦","🎨","📊","🔬","🌟","📝","🏗️"];function M({workspaces:a}){let h,i=(0,d.useRouter)(),j=(0,d.usePathname)(),{t:l}=(0,G.useI18n)(),[o,r]=(0,c.useState)(!1);(0,c.useEffect)(()=>{"true"===localStorage.getItem("sidebar-collapsed")&&r(!0)},[]);let[t,w]=(0,c.useState)(!1),[x,C]=(0,c.useState)(!1),[D,E]=(0,c.useState)(!1),[K,P]=(0,c.useState)(null),[R,S]=(0,c.useState)(""),[T,U]=(0,c.useState)(L[0]),[V,W]=(0,c.useState)(null),[X,Y]=(0,c.useState)(a);(0,c.useEffect)(()=>{Y(a)},[a]);let Z=(0,I.useSensors)((0,I.useSensor)(I.PointerSensor,{activationConstraint:{distance:8}})),$=(0,c.useCallback)(b=>{let{active:c,over:d}=b;if(!d||c.id===d.id)return;let e=X.findIndex(a=>a.id===c.id),f=X.findIndex(a=>a.id===d.id);if(-1===e||-1===f)return;let g=(0,J.arrayMove)(X,e,f);Y(g),B(g.map(a=>a.id)).then(()=>i.refresh()).catch(()=>{Y(a),H.toast.error(l("sidebar.reorderError"))})},[X,a,i,l]),_=j.split("/workspaces/")[1]?.split("/")[0],aa=(0,c.useCallback)(a=>{if(_===a)return;let b=(0,F.getLastProjectId)(a);i.push(b?`/workspaces/${a}?projectId=${b}`:`/workspaces/${a}`)},[_,i]),ab=(0,c.useCallback)(()=>{r(a=>{let b=!a;return localStorage.setItem("sidebar-collapsed",String(b)),b})},[]),ac=(0,c.useCallback)(async()=>{if(!R.trim())return;let a=await y({name:R.trim(),description:T});S(""),U(L[0]),w(!1),i.refresh(),i.push(`/workspaces/${a.id}`)},[R,T,i]),ad=(0,c.useCallback)(async()=>{R.trim()&&V&&(await z(V,{name:R.trim(),description:T}),S(""),C(!1),W(null),i.refresh())},[R,T,V,i]),ae=(0,c.useCallback)(a=>{W(a.id),S(a.name),U(a.description&&L.includes(a.description)?a.description:L[0]),C(!0)},[]),af=(0,c.useCallback)(async(b,c)=>{if(a.length<=1)return void H.toast.error(l("sidebar.lastWorkspaceError"));if(confirm(l("sidebar.deleteConfirm",{name:c})))try{await A(b),i.refresh(),_===b&&i.push("/workspaces")}catch{H.toast.error(l("sidebar.lastWorkspaceError"))}},[_,i,l,a.length]),ag=(0,c.useCallback)(a=>{P(a),E(!0)},[]),ah=a=>a.description&&L.includes(a.description)?a.description:a.name.charAt(0).toUpperCase();if(o){let c;return(0,b.jsxs)("aside",{className:"flex h-screen w-14 flex-col items-center border-r border-border bg-sidebar py-3",children:[(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("button",{onClick:ab,className:"mb-4 flex h-9 w-9 items-center justify-center rounded-lg bg-primary/10 ring-1 ring-primary/20 transition-transform hover:scale-105"}),children:(0,b.jsx)("img",{src:"/logo.png",alt:"Tower",className:"h-6 w-6 rounded"})}),(0,b.jsx)(u.TooltipContent,{side:"right",sideOffset:8,children:l("sidebar.expand")})]}),(0,b.jsx)(s.ScrollArea,{className:"flex-1 min-h-0",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-1 px-0.5 pt-1",children:[a.map(a=>{let c=_===a.id,d=ah(a);return(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("button",{onClick:()=>aa(a.id),className:`flex h-9 w-9 items-center justify-center rounded-lg transition-all ${c?"ring-1 ring-primary/20 text-foreground cursor-default":"text-muted-foreground hover:text-foreground cursor-pointer"}`}),children:(0,b.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-muted text-sm",children:L.includes(d)?d:(0,b.jsx)("span",{className:"text-xs font-semibold",children:d})})}),(0,b.jsx)(u.TooltipContent,{side:"right",sideOffset:8,children:a.name})]},a.id)}),(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("button",{"data-tour":"create-workspace",onClick:()=>w(!0),className:"flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"}),children:(0,b.jsx)(g.Plus,{className:"h-4 w-4"})}),(0,b.jsx)(u.TooltipContent,{side:"right",sideOffset:8,children:l("sidebar.newWorkspace")})]})]})}),(0,b.jsxs)("div",{className:"mt-2 flex flex-col items-center gap-1",children:[(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("button",{onClick:()=>i.push("/missions"),className:`rounded-lg p-2 transition-colors ${"/missions"===j?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,b.jsx)(p,{className:"h-4 w-4"})}),(0,b.jsx)(u.TooltipContent,{side:"right",sideOffset:8,children:l("missions.navLabel")})]}),(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("button",{onClick:()=>i.push("/harness"),className:`rounded-lg p-2 transition-colors ${"/harness"===j?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,b.jsx)(q.BellRing,{className:"h-4 w-4"})}),(0,b.jsx)(u.TooltipContent,{side:"right",sideOffset:8,children:l("harness.navLabel")})]}),(c=_||a[0]?.id)?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("button",{onClick:()=>i.push(`/workspaces/${c}/notes`),className:`rounded-lg p-2 transition-colors ${j.includes("/notes")?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,b.jsx)(m.FileText,{className:"h-4 w-4"})}),(0,b.jsx)(u.TooltipContent,{side:"right",sideOffset:8,children:l("sidebar.notes")})]}),(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("button",{onClick:()=>i.push(`/workspaces/${c}/assets`),className:`rounded-lg p-2 transition-colors ${j.includes("/assets")?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,b.jsx)(n.FolderOpen,{className:"h-4 w-4"})}),(0,b.jsx)(u.TooltipContent,{side:"right",sideOffset:8,children:l("sidebar.assets")})]}),(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("button",{onClick:()=>i.push(`/workspaces/${c}/archive`),className:`rounded-lg p-2 transition-colors ${j.includes("/archive")?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,b.jsx)(f.Archive,{className:"h-4 w-4"})}),(0,b.jsx)(u.TooltipContent,{side:"right",sideOffset:8,children:l("sidebar.archive")})]})]}):null]}),(0,b.jsx)(O,{open:t,onOpenChange:w,title:l("workspace.create"),name:R,onNameChange:S,icon:T,onIconChange:U,onSubmit:ac,submitLabel:l("common.create"),nameLabel:l("workspace.name"),iconLabel:l("workspace.icon"),namePlaceholder:l("workspace.namePlaceholder"),cancelLabel:l("common.cancel")})]})}return(0,b.jsxs)("aside",{className:"noise relative flex h-screen w-56 flex-col border-r border-border bg-sidebar",children:[(0,b.jsxs)("div",{className:"relative z-10 flex items-center gap-3 px-4 py-4",children:[(0,b.jsx)("img",{src:"/logo.png",alt:"Tower",className:"h-9 w-9 rounded-lg"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"text-sm font-semibold tracking-tight text-foreground",children:"Tower"}),(0,b.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-widest text-muted-foreground",children:"Studio"})]}),(0,b.jsx)(v.Button,{variant:"ghost",size:"icon-xs",onClick:ab,className:"text-muted-foreground",title:l("sidebar.collapse"),children:(0,b.jsx)(k.ChevronsLeft,{className:"h-4 w-4"})})]}),(0,b.jsxs)("div",{className:"relative z-10 flex items-center justify-between px-4 py-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:l("sidebar.workspace")}),(0,b.jsx)(v.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground","data-tour":"create-workspace",onClick:()=>{S(""),U(L[0]),w(!0)},title:l("sidebar.newWorkspace"),children:(0,b.jsx)(g.Plus,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)(s.ScrollArea,{className:"relative z-10 mt-2 flex-1 min-h-0",children:(0,b.jsx)("div",{className:"px-2 py-1",children:(0,b.jsx)(I.DndContext,{id:"workspace-sidebar",sensors:Z,collisionDetection:I.closestCenter,onDragEnd:$,children:(0,b.jsx)(J.SortableContext,{items:X.map(a=>a.id),strategy:J.verticalListSortingStrategy,children:X.map(a=>(0,b.jsx)(N,{ws:a,isActive:_===a.id,icon:ah(a),disableDelete:X.length<=1,t:l,onSelect:()=>aa(a.id),onEdit:()=>ae(a),onManageLabels:()=>ag(a.id),onDelete:()=>af(a.id,a.name)},a.id))})})})}),(0,b.jsxs)(e.default,{href:"/missions",className:`relative z-10 flex items-center gap-2 border-t border-border px-4 py-3 text-[11px] cursor-pointer transition-colors ${"/missions"===j?"text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,b.jsx)(p,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:l("missions.navLabel")})]}),(0,b.jsxs)(e.default,{href:"/harness",className:`relative z-10 flex items-center gap-2 border-t border-border px-4 py-3 text-[11px] cursor-pointer transition-colors ${"/harness"===j?"text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,b.jsx)(q.BellRing,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:l("harness.navLabel")})]}),(h=_||a[0]?.id)?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(e.default,{href:`/workspaces/${h}/notes`,className:"relative z-10 flex items-center gap-2 border-t border-border px-4 py-3 text-[11px] text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:[(0,b.jsx)(m.FileText,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:l("sidebar.notes")})]}),(0,b.jsxs)(e.default,{href:`/workspaces/${h}/assets`,className:"relative z-10 flex items-center gap-2 px-4 py-3 text-[11px] text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:[(0,b.jsx)(n.FolderOpen,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:l("sidebar.assets")})]}),(0,b.jsxs)(e.default,{href:`/workspaces/${h}/archive`,className:"relative z-10 flex items-center gap-2 px-4 py-3 text-[11px] text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:[(0,b.jsx)(f.Archive,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:l("sidebar.archive")})]})]}):null,(0,b.jsx)(O,{open:t,onOpenChange:w,title:l("workspace.create"),name:R,onNameChange:S,icon:T,onIconChange:U,onSubmit:ac,submitLabel:l("common.create"),nameLabel:l("workspace.name"),iconLabel:l("workspace.icon"),namePlaceholder:l("workspace.namePlaceholder"),cancelLabel:l("common.cancel")}),(0,b.jsx)(O,{open:x,onOpenChange:a=>{C(a),a||W(null)},title:l("workspace.edit"),name:R,onNameChange:S,icon:T,onIconChange:U,onSubmit:ad,submitLabel:l("common.save"),nameLabel:l("workspace.name"),iconLabel:l("workspace.icon"),namePlaceholder:l("workspace.namePlaceholder"),cancelLabel:l("common.cancel")}),K&&(0,b.jsx)(Q,{open:D,onOpenChange:a=>{E(a),a||P(null)},workspaceId:K})]})}function N({ws:a,isActive:c,icon:d,disableDelete:e,t:f,onSelect:g,onEdit:k,onManageLabels:m,onDelete:n}){var o;let p,q,s,{attributes:t,listeners:u,setNodeRef:v,transform:w,transition:x,isDragging:y}=(0,J.useSortable)({id:a.id}),z={transform:K.CSS.Transform.toString(w),transition:x,opacity:y?.4:1};return(0,b.jsxs)("div",{ref:v,style:z,...t,...u,className:`group relative flex touch-none items-center rounded-lg transition-all ${c?"bg-accent ring-1 ring-primary/15":"hover:bg-accent/60"}`,children:[(0,b.jsxs)("button",{onClick:g,className:`flex flex-1 items-center gap-2.5 px-3 py-2.5 text-left ${c?"cursor-default":"cursor-pointer"}`,children:[(0,b.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-muted text-sm",children:L.includes(d)?d:(0,b.jsx)("span",{className:"text-xs font-semibold text-muted-foreground",children:d})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("div",{className:`truncate text-sm font-medium ${c?"text-foreground":"text-secondary-foreground"}`,children:a.name}),(0,b.jsx)("div",{className:"text-[11px] text-muted-foreground",children:(o=a.updatedAt,q=Math.floor((p=Date.now()-new Date(o).getTime())/6e4),s=Math.floor(p/36e5),q<60?`${q}m ago`:s<24?`${s}h ago`:`${Math.floor(s/24)}d ago`)})]})]}),(0,b.jsxs)(r.DropdownMenu,{children:[(0,b.jsx)(r.DropdownMenuTrigger,{render:(0,b.jsx)("button",{className:"mr-2 rounded-md p-1 text-muted-foreground opacity-0 transition-all hover:bg-background hover:text-foreground group-hover:opacity-100",onClick:a=>a.stopPropagation()}),children:(0,b.jsx)(j.MoreHorizontal,{className:"h-3.5 w-3.5"})}),(0,b.jsxs)(r.DropdownMenuContent,{align:"start",side:"right",children:[(0,b.jsxs)(r.DropdownMenuItem,{onClick:k,children:[(0,b.jsx)(h.Pencil,{className:"mr-2 h-3.5 w-3.5"}),f("sidebar.rename")]}),(0,b.jsxs)(r.DropdownMenuItem,{onClick:m,children:[(0,b.jsx)(l.Tag,{className:"mr-2 h-3.5 w-3.5"}),f("sidebar.manageLabels")]}),(0,b.jsxs)(r.DropdownMenuItem,{className:e?"text-muted-foreground opacity-50":"text-rose-400",disabled:e,onClick:n,children:[(0,b.jsx)(i.Trash2,{className:"mr-2 h-3.5 w-3.5"}),f("sidebar.delete")]})]})]})]})}function O({open:a,onOpenChange:c,title:d,name:e,onNameChange:f,icon:g,onIconChange:h,onSubmit:i,submitLabel:j,nameLabel:k,iconLabel:l,namePlaceholder:m,cancelLabel:n}){return(0,b.jsx)(t.Dialog,{open:a,onOpenChange:c,disablePointerDismissal:!0,children:(0,b.jsxs)(t.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsx)(t.DialogHeader,{children:(0,b.jsx)(t.DialogTitle,{children:d})}),(0,b.jsxs)("div",{className:"space-y-4 py-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:k}),(0,b.jsx)(w.Input,{placeholder:m,value:e,onChange:a=>f(a.target.value),onKeyDown:a=>"Enter"===a.key&&a.preventDefault(),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l}),(0,b.jsx)("div",{className:"mt-1.5 grid grid-cols-6 gap-1.5",children:L.map(a=>(0,b.jsx)("button",{onClick:()=>h(a),className:`flex h-10 w-10 items-center justify-center rounded-lg text-lg transition-all ${g===a?"bg-primary/15 ring-2 ring-primary/30 scale-110":"bg-muted hover:bg-accent"}`,children:a},a))})]})]}),(0,b.jsxs)(t.DialogFooter,{children:[(0,b.jsx)(v.Button,{variant:"outline",onClick:()=>c(!1),children:n}),(0,b.jsx)(v.Button,{onClick:i,disabled:!e.trim(),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:j})]})]})})}let P=["#3b82f6","#ef4444","#f59e0b","#10b981","#8b5cf6","#ec4899","#06b6d4","#f97316"];function Q({open:a,onOpenChange:d,workspaceId:e}){let{t:f}=(0,G.useI18n)(),[g,h]=(0,c.useState)([]),[i,j]=(0,c.useState)(""),[k,l]=(0,c.useState)(P[0]);(0,c.useEffect)(()=>{a&&(0,C.getLabelsForWorkspace)(e).then(h)},[a,e]);let m=async()=>{i.trim()&&(await D({name:i.trim(),color:k,workspaceId:e}),h(await (0,C.getLabelsForWorkspace)(e)),j(""))},n=async a=>{await E(a),h(b=>b.filter(b=>b.id!==a))};return(0,b.jsx)(t.Dialog,{open:a,onOpenChange:d,disablePointerDismissal:!0,children:(0,b.jsxs)(t.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsx)(t.DialogHeader,{children:(0,b.jsx)(t.DialogTitle,{children:f("label.manage")})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[g.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"h-3 w-3 rounded-full",style:{backgroundColor:a.color}}),(0,b.jsx)("span",{className:"flex-1 text-sm text-foreground",children:a.name}),a.isBuiltin?(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:f("label.builtin")}):(0,b.jsx)("button",{onClick:()=>n(a.id),className:"text-xs text-rose-400 hover:text-rose-300",children:f("common.delete")})]},a.id)),(0,b.jsxs)("div",{className:"border-t border-border pt-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(w.Input,{placeholder:f("label.name"),value:i,onChange:a=>j(a.target.value),onKeyDown:a=>"Enter"===a.key&&a.preventDefault(),className:"flex-1 h-8"}),(0,b.jsx)(v.Button,{size:"sm",onClick:m,disabled:!i.trim(),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:f("label.add")})]}),(0,b.jsx)("div",{className:"mt-2 flex gap-1.5",children:P.map(a=>(0,b.jsx)("button",{onClick:()=>l(a),className:`h-5 w-5 rounded-full transition-all ${k===a?"ring-2 ring-offset-2 ring-offset-background ring-foreground/30 scale-110":""}`,style:{backgroundColor:a}},a))})]})]})]})})}a.i(423993);var R=a.i(267654),S=a.i(818862);let T=(0,S.create)(a=>({createProjectOpen:!1,importProjectOpen:!1,setCreateProjectOpen:b=>a({createProjectOpen:b}),setImportProjectOpen:b=>a({importProjectOpen:b})}));var U=a.i(940271),V=a.i(573242),W=a.i(369289);let X=(0,o.default)("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]);var Y=a.i(851378);let Z=(0,o.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var $=a.i(761052),_=a.i(86354);a.s([],516474),a.i(516474);var aa=a.i(213200),ab=a.i(862306);let ac=c.createContext(void 0);function ad(){let a=c.useContext(ac);if(void 0===a)throw Error((0,ab.default)(13));return a}let ae={imageLoadingStatus:()=>null},af=c.forwardRef(function(a,d){let{className:e,render:f,...g}=a,[h,i]=c.useState("idle"),j=c.useMemo(()=>({imageLoadingStatus:h,setImageLoadingStatus:i}),[h,i]),k=(0,aa.useRenderElement)("span",a,{state:{imageLoadingStatus:h},ref:d,props:g,stateAttributesMapping:ae});return(0,b.jsx)(ac.Provider,{value:j,children:k})});var ag=a.i(74686),ah=a.i(830067),ai=a.i(398312),aj=a.i(380562),ak=a.i(904531),al=a.i(535011);let am={...ae,...aj.transitionStatusMapping},an=c.forwardRef(function(a,b){let{className:d,render:e,onLoadingStatusChange:f,referrerPolicy:g,crossOrigin:h,...i}=a,j=ad(),k=function(a,{referrerPolicy:b,crossOrigin:d}){let[e,f]=c.useState("idle");return(0,ah.useIsoLayoutEffect)(()=>{if(!a)return f("error"),al.NOOP;let c=!0,e=new window.Image,g=a=>()=>{c&&f(a)};return f("loading"),e.onload=g("loaded"),e.onerror=g("error"),b&&(e.referrerPolicy=b),e.crossOrigin=d??null,e.src=a,()=>{c=!1}},[a,d,b]),e}(a.src,{referrerPolicy:g,crossOrigin:h}),l="loaded"===k,{mounted:m,transitionStatus:n,setMounted:o}=(0,ak.useTransitionStatus)(l),p=c.useRef(null),q=(0,ag.useStableCallback)(a=>{f?.(a),j.setImageLoadingStatus(a)});(0,ah.useIsoLayoutEffect)(()=>{"idle"!==k&&q(k)},[k,q]),(0,ai.useOpenChangeComplete)({open:l,ref:p,onComplete(){l||o(!1)}});let r=(0,aa.useRenderElement)("img",a,{state:{imageLoadingStatus:k,transitionStatus:n},ref:[b,p],props:i,stateAttributesMapping:am,enabled:m});return m?r:null});var ao=a.i(102934);let ap=c.forwardRef(function(a,b){let{className:d,render:e,delay:f,...g}=a,{imageLoadingStatus:h}=ad(),[i,j]=c.useState(void 0===f),k=(0,ao.useTimeout)();return c.useEffect(()=>(void 0!==f&&k.start(f,()=>j(!0)),k.clear),[k,f]),(0,aa.useRenderElement)("span",a,{state:{imageLoadingStatus:h},ref:b,props:g,stateAttributesMapping:ae,enabled:"loaded"!==h&&i})});a.s(["Fallback",0,ap,"Image",0,an,"Root",0,af],991134);var aq=a.i(991134),aq=aq,ar=a.i(368114);function as({className:a,size:c="default",...d}){return(0,b.jsx)(aq.Root,{"data-slot":"avatar","data-size":c,className:(0,ar.cn)("group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten",a),...d})}function at({className:a,...c}){return(0,b.jsx)(aq.Fallback,{"data-slot":"avatar-fallback",className:(0,ar.cn)("flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",a),...c})}let au=(0,o.default)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);var av=a.i(577565);let aw=(0,o.default)("sticky-note",[["path",{d:"M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",key:"1dfntj"}],["path",{d:"M15 3v5a1 1 0 0 0 1 1h5",key:"6s6qgf"}]]),ax=(0,o.default)("package-2",[["path",{d:"M12 3v6",key:"1holv5"}],["path",{d:"M16.76 3a2 2 0 0 1 1.8 1.1l2.23 4.479a2 2 0 0 1 .21.891V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9.472a2 2 0 0 1 .211-.894L5.45 4.1A2 2 0 0 1 7.24 3z",key:"187q7i"}],["path",{d:"M3.054 9.013h17.893",key:"grwhos"}]]);var ay=a.i(54384);let az=(0,x.createServerReference)("60ecfea1ec1b61566df8bd7edc9723fb9ab08e75b6",x.callServer,void 0,x.findSourceMapURL,"globalSearch");var aA=a.i(17174);let aB=[{id:"all",key:"search.all",icon:V.Search},{id:"task",key:"search.task",icon:m.FileText},{id:"project",key:"search.project",icon:au},{id:"repository",key:"search.repository",icon:av.GitBranch},{id:"note",key:"search.note",icon:aw},{id:"asset",key:"search.asset",icon:ax}],aC=["task","project","repository","note","asset"],aD={task:"search.task",project:"search.project",repository:"search.repository",note:"search.note",asset:"search.asset"};function aE({result:a,onSelect:c}){let d=aB.find(b=>b.id===a.type)?.icon??m.FileText;return(0,b.jsxs)("button",{onClick:()=>c(a),className:"flex w-full items-center gap-3 border-b border-border/30 px-4 py-3 text-left transition-colors hover:bg-accent last:border-b-0",children:[(0,b.jsx)("div",{className:"rounded-md bg-muted p-1.5",children:(0,b.jsx)(d,{className:"h-3.5 w-3.5 text-muted-foreground"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("div",{className:"text-sm font-medium text-foreground truncate",children:a.title}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground truncate",children:a.subtitle}),a.snippet&&(0,b.jsx)("div",{className:"text-xs text-muted-foreground/70 truncate mt-0.5",children:a.snippet})]})]})}function aF({open:a,onOpenChange:e}){let f,{t:g}=(0,G.useI18n)(),h=(0,d.useRouter)(),[i,j]=(0,c.useState)(""),[k,l]=(0,c.useState)("all"),[m,n]=(0,c.useState)([]),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(250),u=(0,c.useRef)(null),w=(0,c.useRef)(null);(0,c.useEffect)(()=>{a&&((0,aA.getConfigValue)("search.debounceMs",250).then(r),setTimeout(()=>u.current?.focus(),100),j(""),n([]))},[a]),(0,c.useEffect)(()=>{if(w.current&&clearTimeout(w.current),!i.trim()){n([]),p(!1);return}p(!0);let a=!1;return w.current=setTimeout(async()=>{let b=await az(i,k);a||(n(b),p(!1))},q),()=>{w.current&&clearTimeout(w.current),a=!0}},[i,k,q]);let x=(0,c.useCallback)(a=>{h.push(a.navigateTo),e(!1)},[h,e]);return(0,b.jsx)(t.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(t.DialogContent,{className:"sm:max-w-lg p-0 gap-0 overflow-hidden !top-[10vh] !-translate-y-0",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-center border-b border-border px-4",children:[(0,b.jsx)(V.Search,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("input",{ref:u,value:i,onChange:a=>j(a.target.value),placeholder:g("search.placeholder"),className:"flex-1 bg-transparent px-3 py-3.5 text-sm text-foreground placeholder-muted-foreground outline-none"}),i&&(0,b.jsx)(v.Button,{variant:"ghost",size:"icon",onClick:()=>{j(""),n([])},className:"text-muted-foreground",children:(0,b.jsx)(ay.X,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)("div",{className:"flex items-center gap-1 border-b border-border px-4 py-2",children:aB.map(a=>{let c=a.icon;return(0,b.jsxs)("button",{onClick:()=>l(a.id),className:`flex items-center gap-1.5 rounded-md px-2.5 py-1 text-xs font-medium transition-all ${k===a.id?"bg-primary/10 text-primary ring-1 ring-primary/20":"text-muted-foreground hover:bg-accent hover:text-foreground"}`,children:[(0,b.jsx)(c,{className:"h-3 w-3"}),g(a.key)]},a.id)})}),(0,b.jsxs)(s.ScrollArea,{className:"max-h-80",children:[!i.trim()&&(0,b.jsx)("div",{className:"flex items-center justify-center py-12 text-sm text-muted-foreground",children:g("search.typeToSearch")}),i.trim()&&0===m.length&&!o&&(0,b.jsx)("div",{className:"flex items-center justify-center py-12 text-sm text-muted-foreground",children:g("search.noResults")}),"all"===k&&m.length>0&&(f=m.reduce((a,b)=>((a[b.type]??=[]).push(b),a),{}),aC.filter(a=>f[a]?.length).map(a=>(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"px-4 py-1.5 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground bg-muted/50",children:g(aD[a])}),f[a].map(a=>(0,b.jsx)(aE,{result:a,onSelect:x},`${a.type}-${a.id}`))]},a))),"all"!==k&&m.map(a=>(0,b.jsx)(aE,{result:a,onSelect:x},`${a.type}-${a.id}`))]})]})})}function aG(a){}let aH=(0,c.createContext)(null);function aI(){return"u">typeof crypto&&crypto.randomUUID?crypto.randomUUID():`msg-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}let aJ="assistant-attachment-cache";function aK(a,b,c){try{let d=sessionStorage.getItem(aJ),e=d?JSON.parse(d):{};e[a]||(e[a]={}),e[a][b]=c,sessionStorage.setItem(aJ,JSON.stringify(e))}catch{}}function aL({children:a}){let[d,e]=(0,c.useState)(!1),[f,g]=(0,c.useState)(!1),[h,i]=(0,c.useState)(0),[j,k]=(0,c.useState)("sidebar"),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)([]),[p,q]=(0,c.useState)("idle"),[r,s]=(0,c.useState)(!1),t=(0,c.useRef)([]),u=(0,c.useRef)(null),v=(0,c.useRef)(null),[w,x]=(0,c.useState)([]),[y,z]=(0,c.useState)(null),A=(0,c.useRef)(!1),B=(0,c.useCallback)(()=>{o([...t.current])},[]),C=(0,c.useCallback)(async()=>{k("dialog"===await (0,aA.getConfigValue)("assistant.displayMode","sidebar")?"dialog":"sidebar")},[]);(0,c.useEffect)(()=>{C()},[C]);let D=(0,c.useCallback)(async()=>{let a=[];try{let b=await fetch("/api/internal/assistant/sessions");if(b.ok){let c=await b.json();if(Array.isArray(c.sessions)){let b=new Map(a.map(a=>[a.id,a.title])),d=c.sessions.map(a=>{let c=b.get(a.id);return c?{...a,title:c}:a});return x(d),d}}}catch{}return x(a),a},[]),E=(0,c.useCallback)(async a=>{s(!0);try{let b=await fetch(`/api/internal/assistant/sessions?sessionId=${encodeURIComponent(a)}`);if(!b.ok)return;let c=await b.json();if(Array.isArray(c.messages)){t.current=c.messages;let b=function(a){try{let b=sessionStorage.getItem(aJ);if(!b)return{};return JSON.parse(b)[a]??{}}catch{return{}}}(a);if(Object.keys(b).length>0){let a=0;t.current=t.current.map(c=>{if("user"===c.role){let d=b[a];if(a++,d?.length)return{...c,attachmentFilenames:d}}return c})}o([...t.current])}}catch{}finally{s(!1)}},[]);(0,c.useEffect)(()=>{let a=!1;return(async()=>{let b=await D();if(a)return;let c=b[0]?.id??null;c&&(z(c),u.current=c,A.current=!0,aG(c),E(c))})(),()=>{a=!0}},[D,E]);let F=(0,c.useCallback)(()=>{v.current?.abort(),u.current=null,A.current=!1,z(null),aG(null),t.current=[],o([]),q("idle")},[]),G=(0,c.useCallback)(a=>{v.current?.abort(),u.current=a,A.current=!0,z(a),aG(a),t.current=[],o([]),q("idle"),E(a)},[E]),H=(0,c.useCallback)(a=>{x(b=>b.filter(b=>b.id!==a)),y===a&&F(),fetch(`/api/internal/assistant/sessions?sessionId=${encodeURIComponent(a)}`,{method:"DELETE"}).catch(()=>{}).finally(()=>{D()})},[y,F,D]),I=(0,c.useCallback)((a,b)=>{let c=b.trim();c&&(x(b=>b.map(b=>b.id===a?{...b,title:c}:b)),fetch(`/api/internal/assistant/sessions?sessionId=${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:c})}).catch(()=>{}))},[]),J=(0,c.useCallback)(async()=>{g(!0);try{await C(),e(!0)}finally{g(!1)}},[C]),K=(0,c.useCallback)(()=>{e(!1),v.current?.abort(),v.current=null,q("idle")},[]),L=(0,c.useCallback)(()=>{if(!d&&!f)return void J();let a=document.activeElement;a instanceof HTMLElement&&null!==a.closest("[data-assistant-input]")?K():i(a=>a+1)},[d,f,K,J]);(0,R.useActionShortcut)("global.assistant",()=>L());let M=(0,c.useCallback)(async(a,b)=>{if(!a.trim()&&!b?.attachmentFilenames?.length)return;v.current?.abort();let c=new AbortController;v.current=c;let d=0!==t.current.length||A.current?null:a,e=aI();if(t.current=[...t.current,{id:aI(),role:"user",content:a,attachmentFilenames:b?.attachmentFilenames?.length?b.attachmentFilenames:void 0},{id:e,role:"thinking",content:"",isStreaming:!0}],B(),b?.attachmentFilenames?.length&&u.current){let a=t.current.filter(a=>"user"===a.role).length-1;aK(u.current,a,b.attachmentFilenames)}q("connecting");let f=null;try{let g=await fetch("/api/internal/assistant/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:a,sessionId:u.current,attachmentFilenames:b?.attachmentFilenames??[]}),signal:c.signal});if(!g.ok||!g.body)throw Error(`HTTP ${g.status}`);q("streaming");let h=g.body.getReader(),i=new TextDecoder,j="";for(;;){let{done:a,value:c}=await h.read();if(a)break;let g=(j+=i.decode(c,{stream:!0})).split("\n");for(let a of(j=g.pop()??"",g)){let c;if(a.startsWith("data: ")){try{c=JSON.parse(a.slice(6).trim())}catch{continue}if(c.sessionId){let a=u.current;if(u.current=c.sessionId,d&&!A.current&&c.sessionId!==a){A.current=!0;new Date().toISOString();c.sessionId,function(a){let b=a.trim();b&&b.length>30&&b.slice(0,30)}(d),x([]),z(c.sessionId),aG(c.sessionId),b?.attachmentFilenames?.length&&aK(c.sessionId,0,b.attachmentFilenames)}}switch(c.type){case"text_delta":{let a=t.current.filter(a=>a.id!==e);f?t.current=a.map(a=>a.id===f?{...a,content:a.content+(c.content??""),isStreaming:!0}:a):(f=aI(),t.current=[...a,{id:f,role:"assistant",content:c.content??"",isStreaming:!0}]),B();break}case"text":{let a=t.current.filter(a=>a.id!==e);f?t.current=a.map(a=>a.id===f?{...a,content:c.content??a.content,isStreaming:!0}:a):(f=aI(),t.current=[...a,{id:f,role:"assistant",content:c.content??"",isStreaming:!0}]),B();break}case"tool_start":{let a=t.current.filter(a=>a.id!==e);f?(t.current=a.map(a=>a.id===f?{...a,isStreaming:!1}:a),f=null):t.current=a,c.toolId&&t.current.some(a=>"tool"===a.role&&a.toolId===c.toolId)||(t.current=[...t.current,{id:aI(),role:"tool",content:`Calling ${c.content??"tool"}...`,toolName:c.content,toolId:c.toolId,isStreaming:!0}]),B();break}case"tool_use":{let a=t.current.filter(a=>a.id!==e),b=f?a.map(a=>a.id===f?{...a,isStreaming:!1}:a):a;f=null;let d=JSON.stringify(c.toolInput??{},null,2),g=-1;if(c.toolId&&(g=b.findIndex(a=>"tool"===a.role&&a.toolId===c.toolId)),-1===g)for(let a=b.length-1;a>=0;a--){let d=b[a];if("tool"===d.role&&d.isStreaming&&d.toolName===c.content){g=a;break}}-1!==g?t.current=b.map((a,b)=>b===g?{...a,content:d,toolName:c.content,toolId:c.toolId??a.toolId,isStreaming:!1}:a):t.current=[...b,{id:aI(),role:"tool",content:d,toolName:c.content,toolId:c.toolId,isStreaming:!1}],B();break}case"tool_result":t.current=[...t.current,{id:aI(),role:"tool",content:String(c.toolOutput??""),toolName:`${c.content??"tool"} (result)`}],B();break;case"error":t.current=[...t.current.filter(a=>a.id!==e),{id:aI(),role:"assistant",content:`Error: ${c.content??"Unknown error"}`}],B(),q("error");break;case"done":t.current=t.current.filter(a=>a.id!==e).map(a=>a.isStreaming?{...a,isStreaming:!1}:a),f=null,B(),q("idle")}}}}t.current=t.current.filter(a=>a.id!==e),B(),q(a=>"streaming"===a?"idle":a),D()}catch(a){if("AbortError"===a.name)return;t.current=[...t.current.filter(a=>a.id!==e),{id:aI(),role:"assistant",content:`Connection error: ${a.message??"Unknown error"}`}],B(),q("error")}},[B,D]),N=(0,c.useCallback)(()=>(v.current?.abort(),v.current=null,t.current=t.current.filter(a=>"thinking"!==a.role).map(a=>a.isStreaming?{...a,isStreaming:!1}:a),o([...t.current]),q("idle"),null),[]),O=n[n.length-1],P="connecting"===p||"streaming"===p||O?.role==="thinking"&&!0===O.isStreaming;return(0,b.jsx)(aH.Provider,{value:{isOpen:d,isStarting:f,displayMode:j,worktreePath:l,toggleAssistant:L,closeAssistant:K,inputFocusSignal:h,chatMessages:n,chatStatus:p,isChatThinking:P,isLoadingHistory:r,sendChatMessage:M,cancelChat:N,sessions:w,activeSessionId:y,createNewSession:F,switchSession:G,removeSession:H,renameSession:I,refreshSessions:D},children:a})}function aM(){let a=(0,c.useContext)(aH);if(!a)throw Error("useAssistant must be used within an AssistantProvider");return a}var aN=a.i(704494),aO=a.i(668116),aP=a.i(616335),aQ=a.i(394259),aR=a.i(487410),aS=a.i(429246);function aT(a){return a.replace(/\.git\/?$/,"")}a.i(446786),a.i(814747);let aU=(0,x.createServerReference)("406446cc2b798b6d5a8041b1a353ccdb1582682094",x.callServer,void 0,x.findSourceMapURL,"resolveGitLocalPathWithSource");var aV=a.i(776940),aW=a.i(43775);function aX({open:a,onOpenChange:d,onCreateProject:e}){let{t:f,locale:g}=(0,G.useI18n)(),[h,i]=(0,c.useState)(""),[j,k]=(0,c.useState)(""),[l,m]=(0,c.useState)(""),[o,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(""),[s,x]=(0,c.useState)(!1),[y,z]=(0,c.useState)("empty"),[A,B]=(0,c.useState)("FRONTEND"),[C,D]=(0,c.useState)("idle"),[E,F]=(0,c.useState)(""),[I,J]=(0,c.useState)(!1),[K,L]=(0,c.useState)(!1),M=()=>{i(""),k(""),m(""),p(""),r(""),x(!1),z("empty"),B("FRONTEND"),D("idle"),F(""),J(!1)},N=async()=>{if(q.trim()&&!I&&"success"===C){J(!0);try{let a=await (0,aV.analyzeProjectDirectory)(q.trim(),g);m(a)}catch{H.toast.error(f("project.analyzeError"))}finally{J(!1)}}},O=async a=>{p(a),D("idle"),F("");let b=function(a){let b,c=a.match(/^git@([^:]+):(.+)$/);if(c)return{host:c[1],pathSegments:aT(c[2]).split("/").filter(Boolean)};try{b=new URL(a)}catch{return null}return{host:b.hostname,pathSegments:aT(decodeURIComponent(b.pathname)).split("/").filter(Boolean)}}(a);if(b&&b.pathSegments.length>0&&i(b.pathSegments[b.pathSegments.length-1]),!s){let{path:b,source:c}=await aU(a);r(b),z(c)}},P=async()=>{if(o.trim()&&q.trim()){D("cloning"),F("");try{let a=function(a){let b=a.trim();if(!b)return"";if(b.startsWith("git@")||b.startsWith("ssh://")||b.endsWith(".git"))return b;try{let a=new URL(b),c=a.hostname,d=decodeURIComponent(a.pathname).split("/").filter(Boolean);if("code.iflytek.com"===c){let a=[...d];"osc"===a[0]&&"_source"===a[1]&&(a=a.slice(2));let e=a.indexOf("-");if(e>0&&(a=a.slice(0,e)),0===a.length)return b;return`https://${c}/${a.join("/")}.git`}return`${a.origin}${a.pathname.replace(/\/$/,"")}.git`}catch{return b}}(o.trim()),b=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clone",url:a,path:q.trim()})}),c=await b.json();if(!b.ok){D("error"),F(c.error||"Clone failed");return}D("success")}catch{D("error"),F("Network error")}}},Q=async()=>{h.trim()&&(await e?.({name:h.trim(),alias:j.trim()||void 0,description:l.trim()||void 0,gitUrl:o.trim()||void 0,localPath:q.trim()||void 0,projectType:A}),M(),d(!1))};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.Dialog,{open:a,onOpenChange:a=>{d(a),a||M()},disablePointerDismissal:!0,children:(0,b.jsxs)(t.DialogContent,{style:{maxWidth:"32rem"},children:[(0,b.jsx)(t.DialogHeader,{children:(0,b.jsx)(t.DialogTitle,{children:f("topbar.newProject")})}),(0,b.jsxs)("div",{className:"space-y-4 py-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.gitUrl")}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:f("project.gitUrlHint")}),(0,b.jsx)(w.Input,{placeholder:f("project.gitPlaceholder"),value:o,onChange:a=>O(a.target.value),className:"mt-1.5 font-mono text-xs"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.localPath")}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:f("project.localPathHint")}),(0,b.jsxs)("div",{className:"mt-1.5 flex gap-2",children:[(0,b.jsx)(w.Input,{placeholder:f("project.localPathPlaceholder"),value:q,onChange:a=>{r(a.target.value),x(!0)},className:"flex-1 min-w-0 font-mono text-xs"}),(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsxs)(u.TooltipTrigger,{render:(0,b.jsx)(v.Button,{type:"button",variant:"outline",onClick:()=>L(!0),className:"shrink-0 gap-1.5 px-2.5 text-xs text-muted-foreground"}),children:[(0,b.jsx)(n.FolderOpen,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f("folder.browse")})]}),(0,b.jsx)(u.TooltipContent,{children:f("folder.selectFolder")})]})]}),q.trim().startsWith("~")&&(0,b.jsxs)("p",{className:"mt-1 flex items-center gap-1 text-[11px] text-amber-400",children:[(0,b.jsx)(aP.AlertCircle,{className:"h-3 w-3"}),f("project.tildeWarning")]}),!s&&"fallback"===y&&o.trim()&&q.trim()&&(0,b.jsxs)("p",{className:"mt-1 flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)(aP.AlertCircle,{className:"h-3 w-3 shrink-0"}),f("project.gitPathFallbackHint")]}),o.trim()&&q.trim()&&(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,b.jsxs)(v.Button,{type:"button",disabled:"cloning"===C||"success"===C,onClick:P,className:"gap-1.5 text-xs bg-emerald-500/15 text-emerald-300 ring-1 ring-emerald-500/25 hover:bg-emerald-500/25 disabled:opacity-50",children:["cloning"===C?(0,b.jsx)(aN.Loader2,{className:"h-3 w-3 animate-spin"}):"success"===C?(0,b.jsx)(aO.Check,{className:"h-3 w-3"}):(0,b.jsx)(av.GitBranch,{className:"h-3 w-3"}),"cloning"===C?f("git.cloning"):"success"===C?f("git.cloned"):f("git.clone")]}),"error"===C&&(0,b.jsxs)("span",{className:"flex items-center gap-1 text-[11px] text-rose-400",children:[(0,b.jsx)(aP.AlertCircle,{className:"h-3 w-3"}),E]}),"success"===C&&(0,b.jsx)("span",{className:"text-[11px] text-emerald-400",children:f("git.cloneSuccess")})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.name")}),(0,b.jsx)(w.Input,{placeholder:f("project.namePlaceholder"),value:h,onChange:a=>i(a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.type.label")}),(0,b.jsx)("div",{className:"mt-1.5",children:(0,b.jsx)(aR.SegmentedControl,{options:[{value:"FRONTEND",label:f("project.type.frontend")},{value:"BACKEND",label:f("project.type.backend")}],value:A,onChange:B})})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.alias")}),(0,b.jsx)(w.Input,{placeholder:f("project.aliasPlaceholder"),value:j,onChange:a=>k(a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mt-0.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.description")}),(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsxs)(u.TooltipTrigger,{render:(0,b.jsx)(v.Button,{type:"button",variant:"ghost",onClick:N,className:`h-6 gap-1 px-2 text-[11px] text-muted-foreground hover:text-foreground ${!q.trim()||I?"opacity-50":""}`}),children:[I?(0,b.jsx)(aN.Loader2,{className:"h-3 w-3 animate-spin"}):(0,b.jsx)(aQ.Sparkles,{className:"h-3 w-3"}),I?f("project.analyzing"):f("project.genDesc")]}),(0,b.jsx)(u.TooltipContent,{children:q.trim()?"success"!==C?f("project.genDescNotCloned"):f("project.genDescReady"):f("project.genDescNoPath")})]})]}),(0,b.jsx)(aS.Textarea,{placeholder:f("project.descPlaceholder"),value:l,onChange:a=>m(a.target.value),rows:3,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none max-h-[200px] overflow-y-auto"})]})]}),(0,b.jsxs)(t.DialogFooter,{children:[(0,b.jsx)(v.Button,{variant:"outline",onClick:()=>{d(!1),M()},children:f("common.cancel")}),(0,b.jsx)(v.Button,{onClick:Q,disabled:!h.trim()||I,className:"bg-primary/10 text-primary ring-1 ring-primary/25 hover:bg-primary/20",children:f("common.create")})]})]})}),(0,b.jsx)(aW.FolderBrowserDialog,{open:K,onOpenChange:L,onSelect:a=>{if(r(a),x(!0),!h.trim()){let b=a.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean).pop()??"";b&&i(b)}}})]})}var aY=a.i(506913),aZ=a.i(563658);let a$=(0,x.createServerReference)("404ef38e3210ade662b09756d1418c29f2fab30709",x.callServer,void 0,x.findSourceMapURL,"resolveGitLocalPath"),a_=(0,x.createServerReference)("605f4443fc3374e185454b9d921f0c30c20bf69e58",x.callServer,void 0,x.findSourceMapURL,"migrateProjectPath"),a0=(0,x.createServerReference)("404f136c41eadb3e97a68b430fbc2fa599ad9d4d57",x.callServer,void 0,x.findSourceMapURL,"checkMigrationSafety");function a1({open:a,onOpenChange:d,onCreateProject:e}){let{t:f,locale:g}=(0,G.useI18n)(),[h,i]=(0,c.useState)(""),[j,k]=(0,c.useState)(""),[l,m]=(0,c.useState)(""),[o,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(""),[s,x]=(0,c.useState)(!1),[y,z]=(0,c.useState)("FRONTEND"),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)(""),[I,J]=(0,c.useState)(!1),[K,L]=(0,c.useState)(""),[M,N]=(0,c.useState)(""),[O,P]=(0,c.useState)(!1),[Q,R]=(0,c.useState)(!1),S=()=>{i(""),k(""),m(""),p(""),r(""),z("FRONTEND"),B(!1),D(!1),F(""),J(!1),L(""),N(""),P(!1),R(!1)},T=async a=>{r(a),B(!1),D(!1),F(""),L(""),N(""),P(!1),i(a.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean).pop()??"");try{let b=await fetch(`/api/git?path=${encodeURIComponent(a)}`);if(b.ok){let a=await b.json();if(a.isGit&&a.remoteUrl){p(a.remoteUrl),B(!0);let b=a.remoteUrl.match(/\/([^/]+?)(?:\.git)?$/);b&&i(b[1])}}}catch{}},U=(0,c.useCallback)(async a=>{if(D(a),L(""),N(""),P(!1),!a)return void F("");if(o)try{let a=await a$(o);a&&(F(a),a===q&&P(!0))}catch{}if(q)try{let a=await fetch(`/api/git?path=${encodeURIComponent(q)}&checkWorktrees=true`);a.ok&&(await a.json()).hasWorktrees&&N(f("project.worktreeWarning"))}catch{}},[o,q]),V=async()=>{if(q&&!Q){R(!0);try{let a=await (0,aV.analyzeProjectDirectory)(q.trim(),g);m(a)}catch{H.toast.error(f("project.analyzeError"))}finally{R(!1)}}},W=async()=>{if(!h.trim())return;let a={name:h.trim(),alias:j.trim()||void 0,description:l.trim()||void 0,gitUrl:o.trim()||void 0,localPath:q.trim()||void 0,projectType:y},b=await e?.(a);if(C&&E&&E!==q&&b&&"id"in b){J(!0),L("");try{let a=await a0(b.id);if(!a.safe)return void L(a.reason);let c=await a_(b.id,E);if(!c.success)return void L(c.error??f("project.migrateError"));H.toast.success(f("project.migrateSuccess"))}catch(b){let a=b instanceof Error?b.message:String(b);L(`${f("project.migrateError")}:${a}`);return}finally{J(!1)}}S(),d(!1)},X=!h.trim()||!q.trim()||I||Q||C&&!!M;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.Dialog,{open:a,onOpenChange:a=>{d(a),a||S()},disablePointerDismissal:!0,children:(0,b.jsxs)(t.DialogContent,{style:{maxWidth:"32rem"},children:[(0,b.jsx)(t.DialogHeader,{children:(0,b.jsx)(t.DialogTitle,{children:f("topbar.importProject")})}),(0,b.jsxs)("div",{className:"space-y-4 py-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.localPath")}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:f("project.importHint")}),(0,b.jsxs)("div",{className:"mt-1.5 flex gap-2",children:[(0,b.jsx)(w.Input,{value:q,readOnly:!0,placeholder:f("project.localPathPlaceholder"),className:"flex-1 font-mono text-xs bg-muted/30"}),(0,b.jsxs)(v.Button,{type:"button",variant:"outline",onClick:()=>x(!0),className:"shrink-0 gap-1.5",children:[(0,b.jsx)(n.FolderOpen,{className:"h-3.5 w-3.5"}),f("folder.browse")]})]}),A&&(0,b.jsx)("p",{className:"mt-1.5 text-[11px] text-emerald-400",children:f("project.autoDetected")})]}),o&&(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.gitUrl")}),(0,b.jsx)(w.Input,{value:o,onChange:a=>p(a.target.value),className:"mt-1.5 font-mono text-xs"})]}),A&&q&&(0,b.jsxs)("div",{className:"rounded-md border border-border p-3 space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-xs font-medium",children:f("project.migrate")}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:f("project.migrateHint")})]}),(0,b.jsx)(aZ.Switch,{checked:C,onCheckedChange:a=>U(a)})]}),C&&(0,b.jsxs)("div",{className:"space-y-2 pt-1",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-[10px] font-medium text-muted-foreground",children:f("project.targetPath")}),(0,b.jsx)(w.Input,{value:E,onChange:a=>{F(a.target.value),P(a.target.value===q)},placeholder:"/path/to/canonical/location",className:"mt-1 font-mono text-xs"})]}),O&&(0,b.jsxs)("p",{className:"flex items-center gap-1 text-[11px] text-sky-400",children:[(0,b.jsx)(aY.Info,{className:"h-3 w-3"}),f("project.samePathInfo")]}),M&&(0,b.jsxs)("p",{className:"flex items-center gap-1 text-[11px] text-amber-400",children:[(0,b.jsx)(aP.AlertCircle,{className:"h-3 w-3"}),M]}),K&&(0,b.jsxs)("p",{className:"flex items-center gap-1 text-[11px] text-rose-400",children:[(0,b.jsx)(aP.AlertCircle,{className:"h-3 w-3"}),K]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.name")}),(0,b.jsx)(w.Input,{placeholder:f("project.namePlaceholder"),value:h,onChange:a=>i(a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.type.label")}),(0,b.jsx)("div",{className:"mt-1.5",children:(0,b.jsx)(aR.SegmentedControl,{options:[{value:"FRONTEND",label:f("project.type.frontend")},{value:"BACKEND",label:f("project.type.backend")}],value:y,onChange:z})})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.alias")}),(0,b.jsx)(w.Input,{placeholder:f("project.aliasPlaceholder"),value:j,onChange:a=>k(a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mt-0.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:f("project.description")}),(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsxs)(u.TooltipTrigger,{render:(0,b.jsx)(v.Button,{type:"button",variant:"ghost",onClick:V,className:`h-6 gap-1 px-2 text-[11px] text-muted-foreground hover:text-foreground ${!q||Q?"opacity-50":""}`}),children:[Q?(0,b.jsx)(aN.Loader2,{className:"h-3 w-3 animate-spin"}):(0,b.jsx)(aQ.Sparkles,{className:"h-3 w-3"}),Q?f("project.analyzing"):f("project.genDesc")]}),(0,b.jsx)(u.TooltipContent,{children:q?f("project.genDescReady"):f("project.genDescNoPath")})]})]}),(0,b.jsx)(aS.Textarea,{placeholder:f("project.descPlaceholder"),value:l,onChange:a=>m(a.target.value),rows:3,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none max-h-[200px] overflow-y-auto"})]})]}),(0,b.jsxs)(t.DialogFooter,{children:[(0,b.jsx)(v.Button,{variant:"outline",onClick:()=>{d(!1),S()},children:f("common.cancel")}),(0,b.jsx)(v.Button,{onClick:W,disabled:X,className:"bg-primary/10 text-primary ring-1 ring-primary/25 hover:bg-primary/20",children:I?f("project.migrating"):f("common.create")})]})]})}),(0,b.jsx)(aW.FolderBrowserDialog,{open:s,onOpenChange:x,onSelect:a=>T(a)})]})}function a2({className:a}){return(0,b.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:a,children:(0,b.jsx)("path",{d:"M12 .5C5.65.5.5 5.65.5 12.02c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-2c-3.2.7-3.87-1.36-3.87-1.36-.52-1.34-1.27-1.7-1.27-1.7-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.02 1.76 2.68 1.25 3.34.96.1-.74.4-1.25.72-1.54-2.56-.29-5.25-1.28-5.25-5.69 0-1.26.45-2.28 1.18-3.09-.12-.29-.51-1.46.11-3.04 0 0 .97-.31 3.18 1.18a11.1 11.1 0 0 1 5.79 0c2.2-1.49 3.18-1.18 3.18-1.18.62 1.58.23 2.75.11 3.04.74.81 1.18 1.83 1.18 3.09 0 4.42-2.69 5.4-5.25 5.69.41.36.78 1.05.78 2.12v3.14c0 .31.21.68.79.56A11.52 11.52 0 0 0 23.5 12.02C23.5 5.65 18.35.5 12 .5Z"})})}function a3({onCreateProject:a,username:e}){let{t:f,locale:h,setLocale:i}=(0,G.useI18n)(),{isOpen:j,toggleAssistant:k}=aM(),{resolvedTheme:l,toggleTheme:m,triggerRef:o}=function(){let{resolvedTheme:a,setTheme:b}=(0,U.useTheme)(),d=(0,c.useRef)(null),e=(0,c.useCallback)(c=>{let d="dark"===a?"light":"dark";if("u">typeof document&&"startViewTransition"in document&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches){let a=c?.clientX??window.innerWidth/2,e=c?.clientY??0,f=Math.hypot(Math.max(a,window.innerWidth-a),Math.max(e,window.innerHeight-e));document.startViewTransition(()=>{b(d)}).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${a}px ${e}px)`,`circle(${f}px at ${a}px ${e}px)`]},{duration:400,easing:"ease-in-out",pseudoElement:"::view-transition-new(root)"})})}else b(d)},[a,b]);return{resolvedTheme:a,toggleTheme:e,triggerRef:d}}(),p=(0,d.useRouter)(),[q,s]=(0,c.useState)(!1),[t,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(!1);(0,R.useActionShortcut)("global.search",()=>s(!0));let z=T(a=>a.createProjectOpen),A=T(a=>a.importProjectOpen),B=T(a=>a.setCreateProjectOpen),C=T(a=>a.setImportProjectOpen);return(0,c.useEffect)(()=>{z&&w(!0)},[z]),(0,c.useEffect)(()=>{A&&y(!0)},[A]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("header",{className:"flex h-12 items-center justify-between border-b border-border bg-background/80 px-5 backdrop-blur-sm",children:[(0,b.jsx)("div",{className:"w-40"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(v.Button,{variant:"outline",onClick:()=>s(!0),className:"h-8 w-[400px] justify-start gap-2 bg-muted/50 text-muted-foreground hover:bg-muted",children:[(0,b.jsx)(V.Search,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{className:"flex-1 text-left",suppressHydrationWarning:!0,children:f("topbar.searchPlaceholder")}),(0,b.jsxs)("kbd",{className:"mr-1 flex items-center gap-0.5 rounded border border-border bg-background px-1.5 py-0.5 text-[10px] font-mono",children:[(0,b.jsx)(X,{className:"h-2.5 w-2.5"}),"K"]})]}),(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{delay:500,render:(0,b.jsx)("button",{"data-tour":"open-assistant",onClick:k,"aria-label":f("assistant.iconLabel"),className:["cursor-pointer rounded-lg p-2 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",j?"bg-accent text-foreground":""].join(" ")}),children:(0,b.jsx)(Z,{className:"h-4 w-4"})}),(0,b.jsx)(u.TooltipContent,{children:f("assistant.iconLabel")})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsxs)(u.TooltipTrigger,{render:(0,b.jsx)(v.Button,{variant:"ghost",onClick:()=>i("zh"===h?"en":"zh"),className:"text-muted-foreground"}),children:[(0,b.jsx)(Y.Globe,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{className:"text-[11px] font-semibold",children:"zh"===h?"EN":"中"})]}),(0,b.jsx)(u.TooltipContent,{children:f("settings.language")})]}),(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)(v.Button,{ref:o,variant:"ghost",size:"icon",onClick:m,className:"text-muted-foreground"}),children:"dark"===l?(0,b.jsx)($.Sun,{className:"h-4 w-4"}):(0,b.jsx)(_.Moon,{className:"h-4 w-4"})}),(0,b.jsx)(u.TooltipContent,{children:f("settings.theme")})]}),(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)(v.Button,{variant:"ghost",size:"icon",onClick:()=>window.open("https://github.com/jp-liu/tower","_blank","noopener,noreferrer"),className:"text-muted-foreground","aria-label":f("topbar.github")}),children:(0,b.jsx)(a2,{className:"h-4 w-4"})}),(0,b.jsx)(u.TooltipContent,{children:f("topbar.github")})]}),(0,b.jsx)("div",{className:"h-4 w-px bg-border"}),(0,b.jsxs)(v.Button,{variant:"outline",className:"gap-1.5 ring-1 ring-border hover:bg-accent",onClick:()=>y(!0),children:[(0,b.jsx)(n.FolderOpen,{className:"h-3.5 w-3.5"}),f("topbar.importProject")]}),(0,b.jsxs)(v.Button,{"data-tour":"create-project",className:"gap-1.5 bg-primary/10 text-primary ring-1 ring-primary/25 hover:bg-primary/20",onClick:()=>w(!0),children:[(0,b.jsx)(g.Plus,{className:"h-3.5 w-3.5"}),f("topbar.newProject")]}),(0,b.jsxs)(r.DropdownMenu,{children:[(0,b.jsx)(r.DropdownMenuTrigger,{render:(0,b.jsxs)("button",{className:"ml-0.5 flex cursor-pointer items-center gap-1.5 rounded-lg px-2.5 py-1 transition-colors hover:bg-accent",children:[e&&(0,b.jsx)("span",{className:"max-w-[80px] truncate text-xs text-muted-foreground",children:e}),(0,b.jsx)(as,{className:"h-7 w-7 ring-1 ring-border",children:(0,b.jsx)(at,{className:"bg-emerald-500/20 text-emerald-400 text-[10px] font-semibold",children:e?e.trim().split(/\s+/).filter(a=>a.length>0).slice(0,2).map(a=>a[0].toUpperCase()).join(""):"U"})})]})}),(0,b.jsx)(r.DropdownMenuContent,{align:"end",sideOffset:8,className:"w-40",children:(0,b.jsxs)(r.DropdownMenuItem,{onClick:()=>p.push("/settings"),children:[(0,b.jsx)(W.Settings,{className:"mr-2 h-3.5 w-3.5"}),f("settings.title")]})})]})]})]}),(0,b.jsx)(aF,{open:q,onOpenChange:s}),(0,b.jsx)(aX,{open:t,onOpenChange:a=>{w(a),a||B(!1)},onCreateProject:a}),(0,b.jsx)(a1,{open:x,onOpenChange:a=>{y(a),a||C(!1)},onCreateProject:a})]})}var a4=a.i(347872),a5=a.i(595999),a6=a.i(934575),a7=a.i(969032),a8=a.i(442620);let a9=(0,a7.default)(async()=>{},{loadableGenerated:{modules:[103363]},ssr:!1});function ba({mode:a}){let{isOpen:d,closeAssistant:e,sessions:f,activeSessionId:j,createNewSession:k,switchSession:l,removeSession:m,renameSession:n}=aM(),{t:o}=(0,G.useI18n)(),[p,q]=(0,c.useState)(null),[s,u]=(0,c.useState)(""),x=()=>{q(null),u("")},y=f.find(a=>a.id===j),z=y?.title??o("assistant.newSession");return(0,b.jsxs)("div",{className:"sidebar"===a?"min-w-[320px] max-w-[480px] w-[30vw] shrink-0 border-r border-border flex flex-col bg-sidebar overflow-hidden":"flex flex-col h-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"header-sm flex items-center px-4 gap-2 bg-sidebar",children:[(0,b.jsx)(Z,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"text-sm font-semibold text-foreground shrink-0",children:o("assistant.title")}),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsxs)(r.DropdownMenu,{children:[(0,b.jsxs)(r.DropdownMenuTrigger,{className:"flex items-center gap-1 h-8 px-2 rounded-md text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground max-w-[120px] truncate","aria-label":o("assistant.sessionList"),children:[(0,b.jsx)("span",{className:"truncate",children:z}),(0,b.jsx)(a8.ChevronDown,{className:"h-3 w-3 shrink-0"})]}),(0,b.jsxs)(r.DropdownMenuContent,{side:"bottom",align:"end",sideOffset:4,className:"w-[280px]",children:[0===f.length?(0,b.jsx)("div",{className:"px-2 py-4 text-xs text-muted-foreground text-center",children:o("assistant.noSessions")}):(0,b.jsx)("div",{className:"max-h-[min(440px,50vh)] overflow-y-auto",children:f.map(a=>(0,b.jsxs)(r.DropdownMenuItem,{className:"flex items-center justify-between gap-1 pr-1",onClick:()=>l(a.id),children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5 flex-1 min-w-0",children:[(0,b.jsx)("span",{className:"text-xs truncate",children:a.title}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:function(a){let b=Math.floor((Date.now()-new Date(a).getTime())/1e3);if(b<60)return`${b}s ago`;let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);if(d<24)return`${d}h ago`;let e=Math.floor(d/24);return`${e}d ago`}(a.updatedAt)})]}),(0,b.jsx)(v.Button,{variant:"ghost",className:"h-6 w-6 p-0 shrink-0 opacity-50 hover:opacity-100",onClick:b=>{var c;b.stopPropagation(),q({id:a.id,title:c=a.title}),u(c)},"aria-label":o("assistant.renameSession"),children:(0,b.jsx)(h.Pencil,{className:"h-3 w-3"})}),(0,b.jsx)(v.Button,{variant:"ghost",className:"h-6 w-6 p-0 shrink-0 opacity-50 hover:opacity-100 hover:text-destructive",onClick:b=>{b.stopPropagation(),m(a.id)},"aria-label":o("assistant.deleteSession"),children:(0,b.jsx)(i.Trash2,{className:"h-3 w-3"})})]},a.id))}),f.length>0&&(0,b.jsx)(r.DropdownMenuSeparator,{}),(0,b.jsxs)(r.DropdownMenuItem,{onClick:k,children:[(0,b.jsx)(g.Plus,{className:"h-3 w-3 mr-1"}),(0,b.jsx)("span",{className:"text-xs",children:o("assistant.newSession")})]})]})]}),(0,b.jsx)(v.Button,{variant:"ghost",size:"icon",className:"text-muted-foreground",onClick:k,"aria-label":o("assistant.newSession"),children:(0,b.jsx)(g.Plus,{className:"h-4 w-4"})})]}),(0,b.jsx)(v.Button,{variant:"ghost",size:"icon",className:"text-muted-foreground",onClick:e,"aria-label":o("assistant.closeLabel"),children:(0,b.jsx)(ay.X,{className:"h-4 w-4"})})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden",children:d?(0,b.jsx)(a9,{}):null}),(0,b.jsx)(t.Dialog,{open:null!==p,onOpenChange:a=>{a||x()},children:(0,b.jsxs)(t.DialogContent,{children:[(0,b.jsx)(t.DialogHeader,{children:(0,b.jsx)(t.DialogTitle,{children:o("assistant.renameSessionTitle")})}),(0,b.jsx)(w.Input,{autoFocus:!0,value:s,onChange:a=>u(a.target.value),placeholder:o("assistant.renameSessionPlaceholder")}),(0,b.jsxs)(t.DialogFooter,{children:[(0,b.jsx)(v.Button,{variant:"outline",onClick:x,children:o("common.cancel")}),(0,b.jsx)(v.Button,{onClick:()=>{p&&s.trim()&&(n(p.id,s),x())},disabled:!s.trim(),children:o("common.save")})]})]})})]})}var bb=a.i(190076);function bc({onDismiss:a}){let{t:d}=(0,G.useI18n)(),[e,f]=(0,c.useState)(!1);(0,c.useEffect)(()=>{},[]);let g=async()=>{"default"!==await window.Notification.requestPermission()&&(f(!1),a?.())};return e?(0,b.jsxs)("div",{className:"fixed top-3 left-1/2 -translate-x-1/2 z-[9999] w-auto max-w-lg bg-card border rounded-lg shadow-lg px-4 py-2.5 flex items-center gap-3 animate-in fade-in slide-in-from-top-4 duration-500",children:[(0,b.jsx)(bb.Bell,{className:"h-4 w-4 shrink-0 text-primary"}),(0,b.jsx)("span",{className:"flex-1 text-sm",children:d("notification.permissionPrompt")}),(0,b.jsx)(v.Button,{size:"default",onClick:g,children:d("notification.allow")}),(0,b.jsx)(v.Button,{variant:"ghost",size:"default",onClick:()=>{f(!1),a?.()},children:d("notification.dismiss")})]}):null}a.i(809291);var bd=a.i(762183);let be=[{target:"create-workspace",titleKey:"tour.step1.title",descKey:"tour.step1.desc",placement:"right"},{target:"create-project",titleKey:"tour.step2.title",descKey:"tour.step2.desc",placement:"bottom",waitForTarget:!0},{target:"open-assistant",titleKey:"tour.step3.title",descKey:"tour.step3.desc",placement:"bottom"}];function bf({onComplete:a}){let{t:d}=(0,G.useI18n)(),[e,f]=(0,c.useState)(0),[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(!1),k=(0,c.useRef)(null),l=be[e],m=(0,c.useCallback)(async()=>{await (0,bd.setConfigValue)("onboarding.tourCompleted",!0),a()},[a]),n=(0,c.useCallback)(()=>l?document.querySelector(`[data-tour="${l.target}"]`):null,[l]),o=(0,c.useCallback)(()=>{let a=n();a?(h(a.getBoundingClientRect()),j(!0)):j(!1)},[n]);(0,c.useEffect)(()=>{o();let a=null;!i&&l?.waitForTarget&&(k.current=new MutationObserver(()=>{let b=n();b&&(h(b.getBoundingClientRect()),j(!0),k.current?.disconnect(),a&&clearTimeout(a))}),k.current.observe(document.body,{childList:!0,subtree:!0}),a=setTimeout(()=>{!n()&&(f(a=>{let b=a+1;return b<be.length?b:a}),e>=be.length-1&&m())},5e3));let b=()=>o();return window.addEventListener("resize",b),window.addEventListener("scroll",b,!0),()=>{k.current?.disconnect(),a&&clearTimeout(a),window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0)}},[e,l,n,o,i,m]),(0,c.useEffect)(()=>{let a=setInterval(o,1e3);return()=>clearInterval(a)},[o]);let p=(0,c.useCallback)(()=>{e<be.length-1?(f(a=>a+1),j(!1)):m()},[e]);return l?(0,b.jsx)(b.Fragment,{children:i&&g&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"fixed inset-0 z-[10000]",style:{background:`radial-gradient(
1
+ module.exports=[607884,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(553798),e=a.i(634910),f=a.i(607219),g=a.i(774881),h=a.i(690251),i=a.i(975231),j=a.i(273364),k=a.i(336771),l=a.i(91756),m=a.i(881107),n=a.i(350739),o=a.i(347165),p=a.i(711796);let q=(0,p.default)("gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);var r=a.i(952420);let s=(0,p.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);var t=a.i(369289),u=a.i(335732),v=a.i(599209),w=a.i(269876),x=a.i(814574),y=a.i(785259),z=a.i(699570),A=a.i(866718),B=a.i(780410);let C=(0,B.createServerReference)("40f1e601320b4b90d15cada0795af8373777f5ae7e",B.callServer,void 0,B.findSourceMapURL,"createWorkspace"),D=(0,B.createServerReference)("6021f728b947809f3764db1dcdeb0c25f933a3a0c5",B.callServer,void 0,B.findSourceMapURL,"updateWorkspace"),E=(0,B.createServerReference)("40b2454e5a6e7279a521ca122e07c0cd09921f168e",B.callServer,void 0,B.findSourceMapURL,"deleteWorkspace"),F=(0,B.createServerReference)("408dfa4996a800c25f14c60104920161daea7bfa95",B.callServer,void 0,B.findSourceMapURL,"reorderWorkspaces");var G=a.i(573663);let H=(0,B.createServerReference)("40d067b565f43c671ffdfc1085c9b0d4e9e8ecea72",B.callServer,void 0,B.findSourceMapURL,"createLabel"),I=(0,B.createServerReference)("4080b7c93be76dae986f6275ea896a09088e9822ba",B.callServer,void 0,B.findSourceMapURL,"deleteLabel");var J=a.i(258815),K=a.i(951192),L=a.i(952313),M=a.i(643228),N=a.i(859103),O=a.i(514126);let P=["📋","🚀","🎯","💡","🔧","📦","🎨","📊","🔬","🌟","📝","🏗️"];function Q({workspaces:a}){let f=(0,d.useRouter)(),h=(0,d.usePathname)(),{t:i}=(0,K.useI18n)(),[j,k]=(0,c.useState)(!1);(0,c.useEffect)(()=>{"true"===localStorage.getItem("sidebar-collapsed")&&k(!0)},[]);let[m,n]=(0,c.useState)(!1),[o,p]=(0,c.useState)(!1),[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(null),[x,A]=(0,c.useState)(""),[B,G]=(0,c.useState)(P[0]),[H,I]=(0,c.useState)(null),[O,U]=(0,c.useState)(a);(0,c.useEffect)(()=>{U(a)},[a]);let W=(0,M.useSensors)((0,M.useSensor)(M.PointerSensor,{activationConstraint:{distance:8}})),X=(0,c.useCallback)(b=>{let{active:c,over:d}=b;if(!d||c.id===d.id)return;let e=O.findIndex(a=>a.id===c.id),g=O.findIndex(a=>a.id===d.id);if(-1===e||-1===g)return;let h=(0,N.arrayMove)(O,e,g);U(h),F(h.map(a=>a.id)).then(()=>f.refresh()).catch(()=>{U(a),L.toast.error(i("sidebar.reorderError"))})},[O,a,f,i]),Y=h.split("/workspaces/")[1]?.split("/")[0],Z=(0,c.useCallback)(a=>{if(Y===a)return;let b=(0,J.getLastProjectId)(a);f.push(b?`/workspaces/${a}?projectId=${b}`:`/workspaces/${a}`)},[Y,f]),$=(0,c.useCallback)(()=>{k(a=>{let b=!a;return localStorage.setItem("sidebar-collapsed",String(b)),b})},[]),_=(0,c.useCallback)(async()=>{if(!x.trim())return;let a=await C({name:x.trim(),description:B});A(""),G(P[0]),n(!1),f.refresh(),f.push(`/workspaces/${a.id}`)},[x,B,f]),aa=(0,c.useCallback)(async()=>{x.trim()&&H&&(await D(H,{name:x.trim(),description:B}),A(""),p(!1),I(null),f.refresh())},[x,B,H,f]),ab=(0,c.useCallback)(a=>{I(a.id),A(a.name),G(a.description&&P.includes(a.description)?a.description:P[0]),p(!0)},[]),ac=(0,c.useCallback)(async(b,c)=>{if(a.length<=1)return void L.toast.error(i("sidebar.lastWorkspaceError"));if(confirm(i("sidebar.deleteConfirm",{name:c})))try{await E(b),f.refresh(),Y===b&&f.push("/workspaces")}catch{L.toast.error(i("sidebar.lastWorkspaceError"))}},[Y,f,i,a.length]),ad=(0,c.useCallback)(a=>{v(a),t(!0)},[]),ae=a=>a.description&&P.includes(a.description)?a.description:a.name.charAt(0).toUpperCase();return j?(0,b.jsxs)("aside",{className:"flex h-screen w-14 flex-col items-center border-r border-border bg-sidebar py-3",children:[(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{render:(0,b.jsx)("button",{onClick:$,className:"mb-4 flex h-9 w-9 items-center justify-center rounded-lg bg-primary/10 ring-1 ring-primary/20 transition-transform hover:scale-105"}),children:(0,b.jsx)("img",{src:"/logo.png",alt:"Tower",className:"h-6 w-6 rounded"})}),(0,b.jsx)(y.TooltipContent,{side:"right",sideOffset:8,children:i("sidebar.expand")})]}),(0,b.jsx)(w.ScrollArea,{className:"flex-1 min-h-0",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-1 px-0.5 pt-1",children:[a.map(a=>{let c=Y===a.id,d=ae(a);return(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{render:(0,b.jsx)("button",{onClick:()=>Z(a.id),className:`flex h-9 w-9 items-center justify-center rounded-lg transition-all ${c?"ring-1 ring-primary/20 text-foreground cursor-default":"text-muted-foreground hover:text-foreground cursor-pointer"}`}),children:(0,b.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-muted text-sm",children:P.includes(d)?d:(0,b.jsx)("span",{className:"text-xs font-semibold",children:d})})}),(0,b.jsx)(y.TooltipContent,{side:"right",sideOffset:8,children:a.name})]},a.id)}),(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{render:(0,b.jsx)("button",{"data-tour":"create-workspace",onClick:()=>n(!0),className:"flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"}),children:(0,b.jsx)(g.Plus,{className:"h-4 w-4"})}),(0,b.jsx)(y.TooltipContent,{side:"right",sideOffset:8,children:i("sidebar.newWorkspace")})]})]})}),(0,b.jsxs)("div",{className:"mt-2 flex flex-col items-center gap-1",children:[(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{render:(0,b.jsx)("button",{onClick:()=>f.push("/missions"),className:`rounded-lg p-2 transition-colors ${"/missions"===h?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,b.jsx)(q,{className:"h-4 w-4"})}),(0,b.jsx)(y.TooltipContent,{side:"right",sideOffset:8,children:i("missions.navLabel")})]}),(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{render:(0,b.jsx)("button",{onClick:()=>f.push("/harness"),className:`rounded-lg p-2 transition-colors ${"/harness"===h?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,b.jsx)(r.BellRing,{className:"h-4 w-4"})}),(0,b.jsx)(y.TooltipContent,{side:"right",sideOffset:8,children:i("harness.navLabel")})]}),(0,b.jsx)(R,{wsId:Y||a[0]?.id,pathname:h,t:i,collapsed:!0})]}),(0,b.jsx)(T,{open:m,onOpenChange:n,title:i("workspace.create"),name:x,onNameChange:A,icon:B,onIconChange:G,onSubmit:_,submitLabel:i("common.create"),nameLabel:i("workspace.name"),iconLabel:i("workspace.icon"),namePlaceholder:i("workspace.namePlaceholder"),cancelLabel:i("common.cancel")})]}):(0,b.jsxs)("aside",{className:"noise relative flex h-screen w-56 flex-col border-r border-border bg-sidebar",children:[(0,b.jsxs)("div",{className:"relative z-10 flex items-center gap-3 px-4 py-4",children:[(0,b.jsx)("img",{src:"/logo.png",alt:"Tower",className:"h-9 w-9 rounded-lg"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"text-sm font-semibold tracking-tight text-foreground",children:"Tower"}),(0,b.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-widest text-muted-foreground",children:"Studio"})]}),(0,b.jsx)(z.Button,{variant:"ghost",size:"icon-xs",onClick:$,className:"text-muted-foreground",title:i("sidebar.collapse"),children:(0,b.jsx)(l.ChevronsLeft,{className:"h-4 w-4"})})]}),(0,b.jsxs)("div",{className:"relative z-10 flex items-center justify-between px-4 py-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:i("sidebar.workspace")}),(0,b.jsx)(z.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground","data-tour":"create-workspace",onClick:()=>{A(""),G(P[0]),n(!0)},title:i("sidebar.newWorkspace"),children:(0,b.jsx)(g.Plus,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)(w.ScrollArea,{className:"relative z-10 mt-2 flex-1 min-h-0",children:(0,b.jsx)("div",{className:"px-2 py-1",children:(0,b.jsx)(M.DndContext,{id:"workspace-sidebar",sensors:W,collisionDetection:M.closestCenter,onDragEnd:X,children:(0,b.jsx)(N.SortableContext,{items:O.map(a=>a.id),strategy:N.verticalListSortingStrategy,children:O.map(a=>(0,b.jsx)(S,{ws:a,isActive:Y===a.id,icon:ae(a),disableDelete:O.length<=1,t:i,onSelect:()=>Z(a.id),onEdit:()=>ab(a),onManageLabels:()=>ad(a.id),onDelete:()=>ac(a.id,a.name)},a.id))})})})}),(0,b.jsxs)(e.default,{href:"/missions",className:`relative z-10 flex items-center gap-2 border-t border-border px-4 py-3 text-[11px] cursor-pointer transition-colors ${"/missions"===h?"text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,b.jsx)(q,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:i("missions.navLabel")})]}),(0,b.jsxs)(e.default,{href:"/harness",className:`relative z-10 flex items-center gap-2 border-t border-border px-4 py-3 text-[11px] cursor-pointer transition-colors ${"/harness"===h?"text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,b.jsx)(r.BellRing,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:i("harness.navLabel")})]}),(0,b.jsx)(R,{wsId:Y||a[0]?.id,pathname:h,t:i,collapsed:!1}),(0,b.jsx)(T,{open:m,onOpenChange:n,title:i("workspace.create"),name:x,onNameChange:A,icon:B,onIconChange:G,onSubmit:_,submitLabel:i("common.create"),nameLabel:i("workspace.name"),iconLabel:i("workspace.icon"),namePlaceholder:i("workspace.namePlaceholder"),cancelLabel:i("common.cancel")}),(0,b.jsx)(T,{open:o,onOpenChange:a=>{p(a),a||I(null)},title:i("workspace.edit"),name:x,onNameChange:A,icon:B,onIconChange:G,onSubmit:aa,submitLabel:i("common.save"),nameLabel:i("workspace.name"),iconLabel:i("workspace.icon"),namePlaceholder:i("workspace.namePlaceholder"),cancelLabel:i("common.cancel")}),u&&(0,b.jsx)(V,{open:s,onOpenChange:a=>{t(a),a||v(null)},workspaceId:u})]})}function R({wsId:a,pathname:d,t:g,collapsed:h}){let[i,k]=(0,c.useState)(!1),l=[...a?[{href:`/workspaces/${a}/groups`,icon:j.Boxes,label:g("sidebar.groups"),active:d.includes("/groups")},null,{href:`/workspaces/${a}/notes`,icon:n.FileText,label:g("sidebar.notes"),active:d.includes("/notes")},{href:`/workspaces/${a}/assets`,icon:o.FolderOpen,label:g("sidebar.assets"),active:d.includes("/assets")},{href:`/workspaces/${a}/archive`,icon:f.Archive,label:g("sidebar.archive"),active:d.includes("/archive")},null]:[],{href:"/settings",icon:t.Settings,label:g("settings.title"),active:d.startsWith("/settings")}],m=h?(0,b.jsx)("button",{"aria-label":g("sidebar.more"),className:`rounded-lg p-2 transition-colors ${i?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}):(0,b.jsx)("button",{"aria-label":g("sidebar.more"),className:"relative z-10 flex w-full items-center gap-2 border-t border-border px-4 py-3 text-[11px] text-muted-foreground cursor-pointer hover:text-foreground transition-colors"});return(0,b.jsxs)(v.Popover,{open:i,onOpenChange:k,children:[(0,b.jsxs)(v.PopoverTrigger,{openOnHover:!0,delay:120,closeDelay:250,render:m,children:[(0,b.jsx)(s,{className:h?"h-4 w-4":"h-3.5 w-3.5"}),!h&&(0,b.jsx)("span",{children:g("sidebar.more")})]}),(0,b.jsx)(v.PopoverContent,{side:"right",align:"end",sideOffset:8,className:"w-52 gap-0.5 p-1.5",children:l.map((a,c)=>null===a?(0,b.jsx)("div",{className:"my-1 h-px bg-border"},`sep-${c}`):(0,b.jsxs)(e.default,{href:a.href,onClick:()=>k(!1),className:`flex items-center gap-2.5 rounded-md px-2.5 py-2 text-sm transition-colors ${a.active?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent hover:text-foreground"}`,children:[(0,b.jsx)(a.icon,{className:"h-4 w-4 shrink-0"}),(0,b.jsx)("span",{children:a.label})]},a.href))})]})}function S({ws:a,isActive:c,icon:d,disableDelete:e,t:f,onSelect:g,onEdit:j,onManageLabels:l,onDelete:n}){var o;let p,q,r,{attributes:s,listeners:t,setNodeRef:v,transform:w,transition:x,isDragging:y}=(0,N.useSortable)({id:a.id}),z={transform:O.CSS.Transform.toString(w),transition:x,opacity:y?.4:1};return(0,b.jsxs)("div",{ref:v,style:z,...s,...t,className:`group relative flex touch-none items-center rounded-lg transition-all ${c?"bg-accent ring-1 ring-primary/15":"hover:bg-accent/60"}`,children:[(0,b.jsxs)("button",{onClick:g,className:`flex flex-1 items-center gap-2.5 px-3 py-2.5 text-left ${c?"cursor-default":"cursor-pointer"}`,children:[(0,b.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-muted text-sm",children:P.includes(d)?d:(0,b.jsx)("span",{className:"text-xs font-semibold text-muted-foreground",children:d})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("div",{className:`truncate text-sm font-medium ${c?"text-foreground":"text-secondary-foreground"}`,children:a.name}),(0,b.jsx)("div",{className:"text-[11px] text-muted-foreground",children:(o=a.updatedAt,q=Math.floor((p=Date.now()-new Date(o).getTime())/6e4),r=Math.floor(p/36e5),q<60?`${q}m ago`:r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`)})]})]}),(0,b.jsxs)(u.DropdownMenu,{children:[(0,b.jsx)(u.DropdownMenuTrigger,{render:(0,b.jsx)("button",{className:"mr-2 rounded-md p-1 text-muted-foreground opacity-0 transition-all hover:bg-background hover:text-foreground group-hover:opacity-100",onClick:a=>a.stopPropagation()}),children:(0,b.jsx)(k.MoreHorizontal,{className:"h-3.5 w-3.5"})}),(0,b.jsxs)(u.DropdownMenuContent,{align:"start",side:"right",children:[(0,b.jsxs)(u.DropdownMenuItem,{onClick:j,children:[(0,b.jsx)(h.Pencil,{className:"mr-2 h-3.5 w-3.5"}),f("sidebar.rename")]}),(0,b.jsxs)(u.DropdownMenuItem,{onClick:l,children:[(0,b.jsx)(m.Tag,{className:"mr-2 h-3.5 w-3.5"}),f("sidebar.manageLabels")]}),(0,b.jsxs)(u.DropdownMenuItem,{className:e?"text-muted-foreground opacity-50":"text-rose-400",disabled:e,onClick:n,children:[(0,b.jsx)(i.Trash2,{className:"mr-2 h-3.5 w-3.5"}),f("sidebar.delete")]})]})]})]})}function T({open:a,onOpenChange:c,title:d,name:e,onNameChange:f,icon:g,onIconChange:h,onSubmit:i,submitLabel:j,nameLabel:k,iconLabel:l,namePlaceholder:m,cancelLabel:n}){return(0,b.jsx)(x.Dialog,{open:a,onOpenChange:c,disablePointerDismissal:!0,children:(0,b.jsxs)(x.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsx)(x.DialogHeader,{children:(0,b.jsx)(x.DialogTitle,{children:d})}),(0,b.jsxs)("div",{className:"space-y-4 py-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:k}),(0,b.jsx)(A.Input,{placeholder:m,value:e,onChange:a=>f(a.target.value),onKeyDown:a=>"Enter"===a.key&&a.preventDefault(),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l}),(0,b.jsx)("div",{className:"mt-1.5 grid grid-cols-6 gap-1.5",children:P.map(a=>(0,b.jsx)("button",{onClick:()=>h(a),className:`flex h-10 w-10 items-center justify-center rounded-lg text-lg transition-all ${g===a?"bg-primary/15 ring-2 ring-primary/30 scale-110":"bg-muted hover:bg-accent"}`,children:a},a))})]})]}),(0,b.jsxs)(x.DialogFooter,{children:[(0,b.jsx)(z.Button,{variant:"outline",onClick:()=>c(!1),children:n}),(0,b.jsx)(z.Button,{onClick:i,disabled:!e.trim(),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:j})]})]})})}let U=["#3b82f6","#ef4444","#f59e0b","#10b981","#8b5cf6","#ec4899","#06b6d4","#f97316"];function V({open:a,onOpenChange:d,workspaceId:e}){let{t:f}=(0,K.useI18n)(),[g,h]=(0,c.useState)([]),[i,j]=(0,c.useState)(""),[k,l]=(0,c.useState)(U[0]);(0,c.useEffect)(()=>{a&&(0,G.getLabelsForWorkspace)(e).then(h)},[a,e]);let m=async()=>{i.trim()&&(await H({name:i.trim(),color:k,workspaceId:e}),h(await (0,G.getLabelsForWorkspace)(e)),j(""))},n=async a=>{await I(a),h(b=>b.filter(b=>b.id!==a))};return(0,b.jsx)(x.Dialog,{open:a,onOpenChange:d,disablePointerDismissal:!0,children:(0,b.jsxs)(x.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsx)(x.DialogHeader,{children:(0,b.jsx)(x.DialogTitle,{children:f("label.manage")})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[g.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"h-3 w-3 rounded-full",style:{backgroundColor:a.color}}),(0,b.jsx)("span",{className:"flex-1 text-sm text-foreground",children:a.name}),a.isBuiltin?(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:f("label.builtin")}):(0,b.jsx)("button",{onClick:()=>n(a.id),className:"text-xs text-rose-400 hover:text-rose-300",children:f("common.delete")})]},a.id)),(0,b.jsxs)("div",{className:"border-t border-border pt-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(A.Input,{placeholder:f("label.name"),value:i,onChange:a=>j(a.target.value),onKeyDown:a=>"Enter"===a.key&&a.preventDefault(),className:"flex-1 h-8"}),(0,b.jsx)(z.Button,{size:"sm",onClick:m,disabled:!i.trim(),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:f("label.add")})]}),(0,b.jsx)("div",{className:"mt-2 flex gap-1.5",children:U.map(a=>(0,b.jsx)("button",{onClick:()=>l(a),className:`h-5 w-5 rounded-full transition-all ${k===a?"ring-2 ring-offset-2 ring-offset-background ring-foreground/30 scale-110":""}`,style:{backgroundColor:a}},a))})]})]})]})})}a.i(423993);var W=a.i(267654),X=a.i(818862);let Y=(0,X.create)(a=>({createProjectOpen:!1,importProjectOpen:!1,setCreateProjectOpen:b=>a({createProjectOpen:b}),setImportProjectOpen:b=>a({importProjectOpen:b})}));var Z=a.i(940271),$=a.i(573242);let _=(0,p.default)("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]);var aa=a.i(851378);let ab=(0,p.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var ac=a.i(761052),ad=a.i(86354);a.s([],516474),a.i(516474);var ae=a.i(213200),af=a.i(862306);let ag=c.createContext(void 0);function ah(){let a=c.useContext(ag);if(void 0===a)throw Error((0,af.default)(13));return a}let ai={imageLoadingStatus:()=>null},aj=c.forwardRef(function(a,d){let{className:e,render:f,...g}=a,[h,i]=c.useState("idle"),j=c.useMemo(()=>({imageLoadingStatus:h,setImageLoadingStatus:i}),[h,i]),k=(0,ae.useRenderElement)("span",a,{state:{imageLoadingStatus:h},ref:d,props:g,stateAttributesMapping:ai});return(0,b.jsx)(ag.Provider,{value:j,children:k})});var ak=a.i(74686),al=a.i(830067),am=a.i(398312),an=a.i(380562),ao=a.i(904531),ap=a.i(535011);let aq={...ai,...an.transitionStatusMapping},ar=c.forwardRef(function(a,b){let{className:d,render:e,onLoadingStatusChange:f,referrerPolicy:g,crossOrigin:h,...i}=a,j=ah(),k=function(a,{referrerPolicy:b,crossOrigin:d}){let[e,f]=c.useState("idle");return(0,al.useIsoLayoutEffect)(()=>{if(!a)return f("error"),ap.NOOP;let c=!0,e=new window.Image,g=a=>()=>{c&&f(a)};return f("loading"),e.onload=g("loaded"),e.onerror=g("error"),b&&(e.referrerPolicy=b),e.crossOrigin=d??null,e.src=a,()=>{c=!1}},[a,d,b]),e}(a.src,{referrerPolicy:g,crossOrigin:h}),l="loaded"===k,{mounted:m,transitionStatus:n,setMounted:o}=(0,ao.useTransitionStatus)(l),p=c.useRef(null),q=(0,ak.useStableCallback)(a=>{f?.(a),j.setImageLoadingStatus(a)});(0,al.useIsoLayoutEffect)(()=>{"idle"!==k&&q(k)},[k,q]),(0,am.useOpenChangeComplete)({open:l,ref:p,onComplete(){l||o(!1)}});let r=(0,ae.useRenderElement)("img",a,{state:{imageLoadingStatus:k,transitionStatus:n},ref:[b,p],props:i,stateAttributesMapping:aq,enabled:m});return m?r:null});var as=a.i(102934);let at=c.forwardRef(function(a,b){let{className:d,render:e,delay:f,...g}=a,{imageLoadingStatus:h}=ah(),[i,j]=c.useState(void 0===f),k=(0,as.useTimeout)();return c.useEffect(()=>(void 0!==f&&k.start(f,()=>j(!0)),k.clear),[k,f]),(0,ae.useRenderElement)("span",a,{state:{imageLoadingStatus:h},ref:b,props:g,stateAttributesMapping:ai,enabled:"loaded"!==h&&i})});a.s(["Fallback",0,at,"Image",0,ar,"Root",0,aj],991134);var au=a.i(991134),au=au,av=a.i(368114);function aw({className:a,size:c="default",...d}){return(0,b.jsx)(au.Root,{"data-slot":"avatar","data-size":c,className:(0,av.cn)("group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten",a),...d})}function ax({className:a,...c}){return(0,b.jsx)(au.Fallback,{"data-slot":"avatar-fallback",className:(0,av.cn)("flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",a),...c})}let ay=(0,p.default)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);var az=a.i(577565);let aA=(0,p.default)("sticky-note",[["path",{d:"M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",key:"1dfntj"}],["path",{d:"M15 3v5a1 1 0 0 0 1 1h5",key:"6s6qgf"}]]),aB=(0,p.default)("package-2",[["path",{d:"M12 3v6",key:"1holv5"}],["path",{d:"M16.76 3a2 2 0 0 1 1.8 1.1l2.23 4.479a2 2 0 0 1 .21.891V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9.472a2 2 0 0 1 .211-.894L5.45 4.1A2 2 0 0 1 7.24 3z",key:"187q7i"}],["path",{d:"M3.054 9.013h17.893",key:"grwhos"}]]);var aC=a.i(54384);let aD=(0,B.createServerReference)("60142d3511951329d3e470987027ec7fc4e43f8477",B.callServer,void 0,B.findSourceMapURL,"globalSearch");var aE=a.i(386127);let aF=[{id:"all",key:"search.all",icon:$.Search},{id:"task",key:"search.task",icon:n.FileText},{id:"project",key:"search.project",icon:ay},{id:"repository",key:"search.repository",icon:az.GitBranch},{id:"note",key:"search.note",icon:aA},{id:"asset",key:"search.asset",icon:aB}],aG=["task","project","repository","note","asset"],aH={task:"search.task",project:"search.project",repository:"search.repository",note:"search.note",asset:"search.asset"};function aI({result:a,onSelect:c}){let d=aF.find(b=>b.id===a.type)?.icon??n.FileText;return(0,b.jsxs)("button",{onClick:()=>c(a),className:"flex w-full items-center gap-3 border-b border-border/30 px-4 py-3 text-left transition-colors hover:bg-accent last:border-b-0",children:[(0,b.jsx)("div",{className:"rounded-md bg-muted p-1.5",children:(0,b.jsx)(d,{className:"h-3.5 w-3.5 text-muted-foreground"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("div",{className:"text-sm font-medium text-foreground truncate",children:a.title}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground truncate",children:a.subtitle}),a.snippet&&(0,b.jsx)("div",{className:"text-xs text-muted-foreground/70 truncate mt-0.5",children:a.snippet})]})]})}function aJ({open:a,onOpenChange:e}){let f,{t:g}=(0,K.useI18n)(),h=(0,d.useRouter)(),[i,j]=(0,c.useState)(""),[k,l]=(0,c.useState)("all"),[m,n]=(0,c.useState)([]),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(250),s=(0,c.useRef)(null),t=(0,c.useRef)(null);(0,c.useEffect)(()=>{a&&((0,aE.getConfigValue)("search.debounceMs",250).then(r),setTimeout(()=>s.current?.focus(),100),j(""),n([]))},[a]),(0,c.useEffect)(()=>{if(t.current&&clearTimeout(t.current),!i.trim()){n([]),p(!1);return}p(!0);let a=!1;return t.current=setTimeout(async()=>{let b=await aD(i,k);a||(n(b),p(!1))},q),()=>{t.current&&clearTimeout(t.current),a=!0}},[i,k,q]);let u=(0,c.useCallback)(a=>{h.push(a.navigateTo),e(!1)},[h,e]);return(0,b.jsx)(x.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(x.DialogContent,{className:"sm:max-w-lg p-0 gap-0 overflow-hidden !top-[10vh] !-translate-y-0",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-center border-b border-border px-4",children:[(0,b.jsx)($.Search,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("input",{ref:s,value:i,onChange:a=>j(a.target.value),placeholder:g("search.placeholder"),className:"flex-1 bg-transparent px-3 py-3.5 text-sm text-foreground placeholder-muted-foreground outline-none"}),i&&(0,b.jsx)(z.Button,{variant:"ghost",size:"icon",onClick:()=>{j(""),n([])},className:"text-muted-foreground",children:(0,b.jsx)(aC.X,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)("div",{className:"flex items-center gap-1 border-b border-border px-4 py-2",children:aF.map(a=>{let c=a.icon;return(0,b.jsxs)("button",{onClick:()=>l(a.id),className:`flex items-center gap-1.5 rounded-md px-2.5 py-1 text-xs font-medium transition-all ${k===a.id?"bg-primary/10 text-primary ring-1 ring-primary/20":"text-muted-foreground hover:bg-accent hover:text-foreground"}`,children:[(0,b.jsx)(c,{className:"h-3 w-3"}),g(a.key)]},a.id)})}),(0,b.jsxs)(w.ScrollArea,{className:"max-h-80",children:[!i.trim()&&(0,b.jsx)("div",{className:"flex items-center justify-center py-12 text-sm text-muted-foreground",children:g("search.typeToSearch")}),i.trim()&&0===m.length&&!o&&(0,b.jsx)("div",{className:"flex items-center justify-center py-12 text-sm text-muted-foreground",children:g("search.noResults")}),"all"===k&&m.length>0&&(f=m.reduce((a,b)=>((a[b.type]??=[]).push(b),a),{}),aG.filter(a=>f[a]?.length).map(a=>(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"px-4 py-1.5 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground bg-muted/50",children:g(aH[a])}),f[a].map(a=>(0,b.jsx)(aI,{result:a,onSelect:u},`${a.type}-${a.id}`))]},a))),"all"!==k&&m.map(a=>(0,b.jsx)(aI,{result:a,onSelect:u},`${a.type}-${a.id}`))]})]})})}function aK(a,b){}function aL(a){}let aM=(0,B.createServerReference)("00f3a5ac6d0359935f53136426cb705d31add6dfce",B.callServer,void 0,B.findSourceMapURL,"getWorkspacesWithProjects"),aN=(0,c.createContext)(null);function aO(){return"u">typeof crypto&&crypto.randomUUID?crypto.randomUUID():`msg-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}let aP="assistant-attachment-cache";function aQ(a,b,c){try{let d=sessionStorage.getItem(aP),e=d?JSON.parse(d):{};e[a]||(e[a]={}),e[a][b]=c,sessionStorage.setItem(aP,JSON.stringify(e))}catch{}}function aR({children:a}){let[d,e]=(0,c.useState)(!1),[f,g]=(0,c.useState)(!1),[h,i]=(0,c.useState)(0),[j,k]=(0,c.useState)("sidebar"),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)([]),[p,q]=(0,c.useState)("idle"),[r,s]=(0,c.useState)(!1),t=(0,c.useRef)([]),u=(0,c.useRef)(null),v=(0,c.useRef)(null),[w,x]=(0,c.useState)([]),[y,z]=(0,c.useState)(null),A=(0,c.useRef)(!1),[B,C]=(0,c.useState)({}),D=(0,c.useRef)({});(0,c.useEffect)(()=>{D.current=B},[B]);let[E,F]=(0,c.useState)([]);(0,c.useEffect)(()=>{aM().then(a=>F(a)).catch(()=>{})},[]);let G=(0,c.useCallback)(a=>{C(a);let b=u.current;b&&aK(b,a)},[]),H=(0,c.useCallback)(()=>{o([...t.current])},[]),I=(0,c.useCallback)(async()=>{k("dialog"===await (0,aE.getConfigValue)("assistant.displayMode","sidebar")?"dialog":"sidebar")},[]);(0,c.useEffect)(()=>{I()},[I]);let J=(0,c.useCallback)(async()=>{let a=[];try{let b=await fetch("/api/internal/assistant/sessions");if(b.ok){let c=await b.json();if(Array.isArray(c.sessions)){let b=new Map(a.map(a=>[a.id,a.title])),d=c.sessions.map(a=>{let c=b.get(a.id);return c?{...a,title:c}:a});return x(d),d}}}catch{}return x(a),a},[]),K=(0,c.useCallback)(async a=>{s(!0);try{let b=await fetch(`/api/internal/assistant/sessions?sessionId=${encodeURIComponent(a)}`);if(!b.ok)return;let c=await b.json();if(Array.isArray(c.messages)){t.current=c.messages;let b=function(a){try{let b=sessionStorage.getItem(aP);if(!b)return{};return JSON.parse(b)[a]??{}}catch{return{}}}(a);if(Object.keys(b).length>0){let a=0;t.current=t.current.map(c=>{if("user"===c.role){let d=b[a];if(a++,d?.length)return{...c,attachmentFilenames:d}}return c})}o([...t.current])}}catch{}finally{s(!1)}},[]);(0,c.useEffect)(()=>{let a=!1;return(async()=>{let b=await J();if(a)return;let c=b[0]?.id??null;c&&(z(c),u.current=c,A.current=!0,aL(c),C({}),K(c))})(),()=>{a=!0}},[J,K]);let L=(0,c.useCallback)(()=>{v.current?.abort(),u.current=null,A.current=!1,z(null),aL(null),C({}),t.current=[],o([]),q("idle")},[]),M=(0,c.useCallback)(a=>{v.current?.abort(),u.current=a,A.current=!0,z(a),aL(a),C({}),t.current=[],o([]),q("idle"),K(a)},[K]),N=(0,c.useCallback)(a=>{x(b=>b.filter(b=>b.id!==a)),y===a&&L(),fetch(`/api/internal/assistant/sessions?sessionId=${encodeURIComponent(a)}`,{method:"DELETE"}).catch(()=>{}).finally(()=>{J()})},[y,L,J]),O=(0,c.useCallback)((a,b)=>{let c=b.trim();c&&(x(b=>b.map(b=>b.id===a?{...b,title:c}:b)),fetch(`/api/internal/assistant/sessions?sessionId=${encodeURIComponent(a)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:c})}).catch(()=>{}))},[]),P=(0,c.useCallback)(async()=>{g(!0);try{await I(),e(!0)}finally{g(!1)}},[I]),Q=(0,c.useCallback)(()=>{e(!1),v.current?.abort(),v.current=null,q("idle")},[]),R=(0,c.useCallback)(()=>{if(!d&&!f)return void P();let a=document.activeElement;a instanceof HTMLElement&&null!==a.closest("[data-assistant-input]")?Q():i(a=>a+1)},[d,f,Q,P]);(0,W.useActionShortcut)("global.assistant",()=>R());let S=(0,c.useCallback)(async(a,b)=>{if(!a.trim()&&!b?.attachmentFilenames?.length)return;v.current?.abort();let c=new AbortController;v.current=c;let d=0!==t.current.length||A.current?null:a,e=aO();if(t.current=[...t.current,{id:aO(),role:"user",content:a,attachmentFilenames:b?.attachmentFilenames?.length?b.attachmentFilenames:void 0},{id:e,role:"thinking",content:"",isStreaming:!0}],H(),b?.attachmentFilenames?.length&&u.current){let a=t.current.filter(a=>"user"===a.role).length-1;aQ(u.current,a,b.attachmentFilenames)}q("connecting");let f=null;try{let g=await fetch("/api/internal/assistant/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:a,sessionId:u.current,attachmentFilenames:b?.attachmentFilenames??[],workspaceId:D.current.workspaceId,workspaceName:D.current.workspaceName,projectId:D.current.projectId,projectName:D.current.projectName,versionId:D.current.versionId,versionName:D.current.versionName}),signal:c.signal});if(!g.ok||!g.body)throw Error(`HTTP ${g.status}`);q("streaming");let h=g.body.getReader(),i=new TextDecoder,j="";for(;;){let{done:a,value:c}=await h.read();if(a)break;let g=(j+=i.decode(c,{stream:!0})).split("\n");for(let a of(j=g.pop()??"",g)){let c;if(a.startsWith("data: ")){try{c=JSON.parse(a.slice(6).trim())}catch{continue}if(c.sessionId){let a=u.current;if(u.current=c.sessionId,d&&!A.current&&c.sessionId!==a){A.current=!0;new Date().toISOString();c.sessionId,function(a){let b=a.trim();b&&b.length>30&&b.slice(0,30)}(d),x([]),z(c.sessionId),aL(c.sessionId),(D.current.workspaceId||D.current.projectId)&&aK(c.sessionId,D.current),b?.attachmentFilenames?.length&&aQ(c.sessionId,0,b.attachmentFilenames)}}switch(c.type){case"text_delta":{let a=t.current.filter(a=>a.id!==e);f?t.current=a.map(a=>a.id===f?{...a,content:a.content+(c.content??""),isStreaming:!0}:a):(f=aO(),t.current=[...a,{id:f,role:"assistant",content:c.content??"",isStreaming:!0}]),H();break}case"text":{let a=t.current.filter(a=>a.id!==e);f?t.current=a.map(a=>a.id===f?{...a,content:c.content??a.content,isStreaming:!0}:a):(f=aO(),t.current=[...a,{id:f,role:"assistant",content:c.content??"",isStreaming:!0}]),H();break}case"tool_start":{let a=t.current.filter(a=>a.id!==e);f?(t.current=a.map(a=>a.id===f?{...a,isStreaming:!1}:a),f=null):t.current=a,c.toolId&&t.current.some(a=>"tool"===a.role&&a.toolId===c.toolId)||(t.current=[...t.current,{id:aO(),role:"tool",content:`Calling ${c.content??"tool"}...`,toolName:c.content,toolId:c.toolId,isStreaming:!0}]),H();break}case"tool_use":{let a=t.current.filter(a=>a.id!==e),b=f?a.map(a=>a.id===f?{...a,isStreaming:!1}:a):a;f=null;let d=JSON.stringify(c.toolInput??{},null,2),g=-1;if(c.toolId&&(g=b.findIndex(a=>"tool"===a.role&&a.toolId===c.toolId)),-1===g)for(let a=b.length-1;a>=0;a--){let d=b[a];if("tool"===d.role&&d.isStreaming&&d.toolName===c.content){g=a;break}}-1!==g?t.current=b.map((a,b)=>b===g?{...a,content:d,toolName:c.content,toolId:c.toolId??a.toolId,isStreaming:!1}:a):t.current=[...b,{id:aO(),role:"tool",content:d,toolName:c.content,toolId:c.toolId,isStreaming:!1}],H();break}case"tool_result":t.current=[...t.current,{id:aO(),role:"tool",content:String(c.toolOutput??""),toolName:`${c.content??"tool"} (result)`}],H();break;case"error":t.current=[...t.current.filter(a=>a.id!==e),{id:aO(),role:"assistant",content:`Error: ${c.content??"Unknown error"}`}],H(),q("error");break;case"done":t.current=t.current.filter(a=>a.id!==e).map(a=>a.isStreaming?{...a,isStreaming:!1}:a),f=null,H(),q("idle")}}}}t.current=t.current.filter(a=>a.id!==e),H(),q(a=>"streaming"===a?"idle":a),J()}catch(a){if("AbortError"===a.name)return;t.current=[...t.current.filter(a=>a.id!==e),{id:aO(),role:"assistant",content:`Connection error: ${a.message??"Unknown error"}`}],H(),q("error")}},[H,J]),T=(0,c.useCallback)(()=>(v.current?.abort(),v.current=null,t.current=t.current.filter(a=>"thinking"!==a.role).map(a=>a.isStreaming?{...a,isStreaming:!1}:a),o([...t.current]),q("idle"),null),[]),U=n[n.length-1],V="connecting"===p||"streaming"===p||U?.role==="thinking"&&!0===U.isStreaming;return(0,b.jsx)(aN.Provider,{value:{isOpen:d,isStarting:f,displayMode:j,worktreePath:l,toggleAssistant:R,closeAssistant:Q,inputFocusSignal:h,chatMessages:n,chatStatus:p,isChatThinking:V,isLoadingHistory:r,sendChatMessage:S,cancelChat:T,binding:B,setSessionBinding:G,workspaceTree:E,sessions:w,activeSessionId:y,createNewSession:L,switchSession:M,removeSession:N,renameSession:O,refreshSessions:J},children:a})}function aS(){let a=(0,c.useContext)(aN);if(!a)throw Error("useAssistant must be used within an AssistantProvider");return a}var aT=a.i(704494),aU=a.i(668116),aV=a.i(616335),aW=a.i(394259),aX=a.i(487410),aY=a.i(580701),aZ=a.i(429246);function a$(a){return a.replace(/\.git\/?$/,"")}a.i(446786),a.i(814747);let a_=(0,B.createServerReference)("4069cb12fc0a4402d5562cdb8d9ff6471eee7db186",B.callServer,void 0,B.findSourceMapURL,"resolveGitLocalPathWithSource");var a0=a.i(329187),a1=a.i(43775),a2=a.i(397706),a3=a.i(367913);function a4({open:a,onOpenChange:d,onCreateProject:e,workspaces:f=[],defaultWorkspaceId:g}){let{t:h,locale:i}=(0,K.useI18n)(),[j,k]=(0,c.useState)(g??""),[l,m]=(0,c.useState)(""),[n,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(""),[s,t]=(0,c.useState)(""),[u,v]=(0,c.useState)(""),[w,B]=(0,c.useState)(""),[C,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)("empty"),[G,H]=(0,c.useState)("FRONTEND"),[I,J]=(0,c.useState)("idle"),[M,N]=(0,c.useState)(""),[O,P]=(0,c.useState)(!1),[Q,R]=(0,c.useState)(!1),S=()=>{p(""),r(""),t(""),v(""),B(""),D(!1),F("empty"),H("FRONTEND"),J("idle"),N(""),P(!1),k(g??""),m("")};(0,c.useEffect)(()=>{a&&(k(g??""),m(""))},[a,g]);let T=async()=>{if(w.trim()&&!O&&"success"===I){P(!0);try{let a=await (0,a0.analyzeProjectDirectory)(w.trim(),i);t(a)}catch{L.toast.error(h("project.analyzeError"))}finally{P(!1)}}},U=async a=>{v(a),J("idle"),N("");let b=function(a){let b,c=a.match(/^git@([^:]+):(.+)$/);if(c)return{host:c[1],pathSegments:a$(c[2]).split("/").filter(Boolean)};try{b=new URL(a)}catch{return null}return{host:b.hostname,pathSegments:a$(decodeURIComponent(b.pathname)).split("/").filter(Boolean)}}(a);if(b&&b.pathSegments.length>0&&p(b.pathSegments[b.pathSegments.length-1]),!C){let{path:b,source:c}=await a_(a);B(b),F(c)}},V=async()=>{if(u.trim()&&w.trim()){J("cloning"),N("");try{let a=function(a){let b=a.trim();if(!b)return"";if(b.startsWith("git@")||b.startsWith("ssh://")||b.endsWith(".git"))return b;try{let a=new URL(b),c=a.hostname,d=decodeURIComponent(a.pathname).split("/").filter(Boolean);if("code.iflytek.com"===c){let a=[...d];"osc"===a[0]&&"_source"===a[1]&&(a=a.slice(2));let e=a.indexOf("-");if(e>0&&(a=a.slice(0,e)),0===a.length)return b;return`https://${c}/${a.join("/")}.git`}return`${a.origin}${a.pathname.replace(/\/$/,"")}.git`}catch{return b}}(u.trim()),b=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clone",url:a,path:w.trim()})}),c=await b.json();if(!b.ok){J("error"),N(c.error||"Clone failed");return}J("success")}catch{J("error"),N("Network error")}}},W=async()=>{if(n.trim()){let a=await e?.({name:n.trim(),alias:q.trim()||void 0,description:s.trim()||void 0,gitUrl:u.trim()||void 0,localPath:w.trim()||void 0,projectType:G,workspaceId:j||void 0});if(l&&a&&"id"in a)try{await (0,a3.setProjectGroup)(a.id,l)}catch(a){L.toast.error(a instanceof Error?a.message:h("group.createError"))}S(),d(!1)}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(x.Dialog,{open:a,onOpenChange:a=>{d(a),a||S()},disablePointerDismissal:!0,children:(0,b.jsxs)(x.DialogContent,{style:{maxWidth:"32rem"},children:[(0,b.jsx)(x.DialogHeader,{children:(0,b.jsx)(x.DialogTitle,{children:h("topbar.newProject")})}),(0,b.jsxs)("div",{className:"space-y-4 py-2",children:[f.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.workspace")}),(0,b.jsxs)(aY.Select,{value:j,onValueChange:a=>{k(a??""),m("")},children:[(0,b.jsx)(aY.SelectTrigger,{className:"mt-1.5 w-full",children:(0,b.jsx)("span",{className:"truncate",children:f.find(a=>a.id===j)?.name??h("project.workspacePlaceholder")})}),(0,b.jsx)(aY.SelectContent,{children:f.map(a=>(0,b.jsx)(aY.SelectItem,{value:a.id,children:a.name},a.id))})]})]}),j&&(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.group")}),(0,b.jsx)(a2.GroupSelect,{workspaceId:j,value:l,onChange:m})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.gitUrl")}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:h("project.gitUrlHint")}),(0,b.jsx)(A.Input,{placeholder:h("project.gitPlaceholder"),value:u,onChange:a=>U(a.target.value),className:"mt-1.5 font-mono text-xs"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.localPath")}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:h("project.localPathHint")}),(0,b.jsxs)("div",{className:"mt-1.5 flex gap-2",children:[(0,b.jsx)(A.Input,{placeholder:h("project.localPathPlaceholder"),value:w,onChange:a=>{B(a.target.value),D(!0)},className:"flex-1 min-w-0 font-mono text-xs"}),(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsxs)(y.TooltipTrigger,{render:(0,b.jsx)(z.Button,{type:"button",variant:"outline",onClick:()=>R(!0),className:"shrink-0 gap-1.5 px-2.5 text-xs text-muted-foreground"}),children:[(0,b.jsx)(o.FolderOpen,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:h("folder.browse")})]}),(0,b.jsx)(y.TooltipContent,{children:h("folder.selectFolder")})]})]}),w.trim().startsWith("~")&&(0,b.jsxs)("p",{className:"mt-1 flex items-center gap-1 text-[11px] text-amber-400",children:[(0,b.jsx)(aV.AlertCircle,{className:"h-3 w-3"}),h("project.tildeWarning")]}),!C&&"fallback"===E&&u.trim()&&w.trim()&&(0,b.jsxs)("p",{className:"mt-1 flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)(aV.AlertCircle,{className:"h-3 w-3 shrink-0"}),h("project.gitPathFallbackHint")]}),u.trim()&&w.trim()&&(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,b.jsxs)(z.Button,{type:"button",disabled:"cloning"===I||"success"===I,onClick:V,className:"gap-1.5 text-xs bg-emerald-500/15 text-emerald-300 ring-1 ring-emerald-500/25 hover:bg-emerald-500/25 disabled:opacity-50",children:["cloning"===I?(0,b.jsx)(aT.Loader2,{className:"h-3 w-3 animate-spin"}):"success"===I?(0,b.jsx)(aU.Check,{className:"h-3 w-3"}):(0,b.jsx)(az.GitBranch,{className:"h-3 w-3"}),"cloning"===I?h("git.cloning"):"success"===I?h("git.cloned"):h("git.clone")]}),"error"===I&&(0,b.jsxs)("span",{className:"flex items-center gap-1 text-[11px] text-rose-400",children:[(0,b.jsx)(aV.AlertCircle,{className:"h-3 w-3"}),M]}),"success"===I&&(0,b.jsx)("span",{className:"text-[11px] text-emerald-400",children:h("git.cloneSuccess")})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.name")}),(0,b.jsx)(A.Input,{placeholder:h("project.namePlaceholder"),value:n,onChange:a=>p(a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.type.label")}),(0,b.jsx)("div",{className:"mt-1.5",children:(0,b.jsx)(aX.SegmentedControl,{options:[{value:"FRONTEND",label:h("project.type.frontend")},{value:"BACKEND",label:h("project.type.backend")}],value:G,onChange:H})})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.alias")}),(0,b.jsx)(A.Input,{placeholder:h("project.aliasPlaceholder"),value:q,onChange:a=>r(a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mt-0.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.description")}),(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsxs)(y.TooltipTrigger,{render:(0,b.jsx)(z.Button,{type:"button",variant:"ghost",onClick:T,className:`h-6 gap-1 px-2 text-[11px] text-muted-foreground hover:text-foreground ${!w.trim()||O?"opacity-50":""}`}),children:[O?(0,b.jsx)(aT.Loader2,{className:"h-3 w-3 animate-spin"}):(0,b.jsx)(aW.Sparkles,{className:"h-3 w-3"}),O?h("project.analyzing"):h("project.genDesc")]}),(0,b.jsx)(y.TooltipContent,{children:w.trim()?"success"!==I?h("project.genDescNotCloned"):h("project.genDescReady"):h("project.genDescNoPath")})]})]}),(0,b.jsx)(aZ.Textarea,{placeholder:h("project.descPlaceholder"),value:s,onChange:a=>t(a.target.value),rows:3,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none max-h-[200px] overflow-y-auto"})]})]}),(0,b.jsxs)(x.DialogFooter,{children:[(0,b.jsx)(z.Button,{variant:"outline",onClick:()=>{d(!1),S()},children:h("common.cancel")}),(0,b.jsx)(z.Button,{onClick:W,disabled:!n.trim()||O,className:"bg-primary/10 text-primary ring-1 ring-primary/25 hover:bg-primary/20",children:h("common.create")})]})]})}),(0,b.jsx)(a1.FolderBrowserDialog,{open:Q,onOpenChange:R,onSelect:a=>{if(B(a),D(!0),!n.trim()){let b=a.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean).pop()??"";b&&p(b)}}})]})}var a5=a.i(506913),a6=a.i(563658);let a7=(0,B.createServerReference)("40c81ae66fb2ac3dd2e0eaeb48b9679649a1db7316",B.callServer,void 0,B.findSourceMapURL,"resolveGitLocalPath"),a8=(0,B.createServerReference)("6001484b600fdf5a61d003498751d8a8d6d8c8bd73",B.callServer,void 0,B.findSourceMapURL,"migrateProjectPath"),a9=(0,B.createServerReference)("40754cf5b6c66131775e7b7110bda058637e4154fc",B.callServer,void 0,B.findSourceMapURL,"checkMigrationSafety");function ba({open:a,onOpenChange:d,onCreateProject:e,workspaces:f=[],defaultWorkspaceId:g}){let{t:h,locale:i}=(0,K.useI18n)(),[j,k]=(0,c.useState)(g??""),[l,m]=(0,c.useState)(""),[n,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(""),[s,t]=(0,c.useState)(""),[u,v]=(0,c.useState)(""),[w,B]=(0,c.useState)(""),[C,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)("FRONTEND"),[G,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(!1),[M,N]=(0,c.useState)(""),[O,P]=(0,c.useState)(!1),[Q,R]=(0,c.useState)(""),[S,T]=(0,c.useState)(""),[U,V]=(0,c.useState)(!1),[W,X]=(0,c.useState)(!1),Y=()=>{p(""),r(""),t(""),v(""),B(""),F("FRONTEND"),H(!1),J(!1),N(""),P(!1),R(""),T(""),V(!1),X(!1),k(g??""),m("")};(0,c.useEffect)(()=>{a&&(k(g??""),m(""))},[a,g]);let Z=async a=>{B(a),H(!1),J(!1),N(""),R(""),T(""),V(!1),p(a.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean).pop()??"");try{let b=await fetch(`/api/git?path=${encodeURIComponent(a)}`);if(b.ok){let a=await b.json();if(a.isGit&&a.remoteUrl){v(a.remoteUrl),H(!0);let b=a.remoteUrl.match(/\/([^/]+?)(?:\.git)?$/);b&&p(b[1])}}}catch{}},$=(0,c.useCallback)(async a=>{if(J(a),R(""),T(""),V(!1),!a)return void N("");if(u)try{let a=await a7(u);a&&(N(a),a===w&&V(!0))}catch{}if(w)try{let a=await fetch(`/api/git?path=${encodeURIComponent(w)}&checkWorktrees=true`);a.ok&&(await a.json()).hasWorktrees&&T(h("project.worktreeWarning"))}catch{}},[u,w]),_=async()=>{if(w&&!W){X(!0);try{let a=await (0,a0.analyzeProjectDirectory)(w.trim(),i);t(a)}catch{L.toast.error(h("project.analyzeError"))}finally{X(!1)}}},aa=async()=>{if(!n.trim())return;let a={name:n.trim(),alias:q.trim()||void 0,description:s.trim()||void 0,gitUrl:u.trim()||void 0,localPath:w.trim()||void 0,projectType:E,workspaceId:j||void 0},b=await e?.(a);if(l&&b&&"id"in b)try{await (0,a3.setProjectGroup)(b.id,l)}catch(a){L.toast.error(a instanceof Error?a.message:h("group.createError"))}if(I&&M&&M!==w&&b&&"id"in b){P(!0),R("");try{let a=await a9(b.id);if(!a.safe)return void R(a.reason);let c=await a8(b.id,M);if(!c.success)return void R(c.error??h("project.migrateError"));L.toast.success(h("project.migrateSuccess"))}catch(b){let a=b instanceof Error?b.message:String(b);R(`${h("project.migrateError")}:${a}`);return}finally{P(!1)}}Y(),d(!1)},ab=!n.trim()||!w.trim()||O||W||I&&!!S;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(x.Dialog,{open:a,onOpenChange:a=>{d(a),a||Y()},disablePointerDismissal:!0,children:(0,b.jsxs)(x.DialogContent,{style:{maxWidth:"32rem"},children:[(0,b.jsx)(x.DialogHeader,{children:(0,b.jsx)(x.DialogTitle,{children:h("topbar.importProject")})}),(0,b.jsxs)("div",{className:"space-y-4 py-2",children:[f.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.workspace")}),(0,b.jsxs)(aY.Select,{value:j,onValueChange:a=>{k(a??""),m("")},children:[(0,b.jsx)(aY.SelectTrigger,{className:"mt-1.5 w-full",children:(0,b.jsx)("span",{className:"truncate",children:f.find(a=>a.id===j)?.name??h("project.workspacePlaceholder")})}),(0,b.jsx)(aY.SelectContent,{children:f.map(a=>(0,b.jsx)(aY.SelectItem,{value:a.id,children:a.name},a.id))})]})]}),j&&(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.group")}),(0,b.jsx)(a2.GroupSelect,{workspaceId:j,value:l,onChange:m})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.localPath")}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:h("project.importHint")}),(0,b.jsxs)("div",{className:"mt-1.5 flex gap-2",children:[(0,b.jsx)(A.Input,{value:w,readOnly:!0,placeholder:h("project.localPathPlaceholder"),className:"flex-1 font-mono text-xs bg-muted/30"}),(0,b.jsxs)(z.Button,{type:"button",variant:"outline",onClick:()=>D(!0),className:"shrink-0 gap-1.5",children:[(0,b.jsx)(o.FolderOpen,{className:"h-3.5 w-3.5"}),h("folder.browse")]})]}),G&&(0,b.jsx)("p",{className:"mt-1.5 text-[11px] text-emerald-400",children:h("project.autoDetected")})]}),u&&(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.gitUrl")}),(0,b.jsx)(A.Input,{value:u,onChange:a=>v(a.target.value),className:"mt-1.5 font-mono text-xs"})]}),G&&w&&(0,b.jsxs)("div",{className:"rounded-md border border-border p-3 space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-xs font-medium",children:h("project.migrate")}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:h("project.migrateHint")})]}),(0,b.jsx)(a6.Switch,{checked:I,onCheckedChange:a=>$(a)})]}),I&&(0,b.jsxs)("div",{className:"space-y-2 pt-1",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-[10px] font-medium text-muted-foreground",children:h("project.targetPath")}),(0,b.jsx)(A.Input,{value:M,onChange:a=>{N(a.target.value),V(a.target.value===w)},placeholder:"/path/to/canonical/location",className:"mt-1 font-mono text-xs"})]}),U&&(0,b.jsxs)("p",{className:"flex items-center gap-1 text-[11px] text-sky-400",children:[(0,b.jsx)(a5.Info,{className:"h-3 w-3"}),h("project.samePathInfo")]}),S&&(0,b.jsxs)("p",{className:"flex items-center gap-1 text-[11px] text-amber-400",children:[(0,b.jsx)(aV.AlertCircle,{className:"h-3 w-3"}),S]}),Q&&(0,b.jsxs)("p",{className:"flex items-center gap-1 text-[11px] text-rose-400",children:[(0,b.jsx)(aV.AlertCircle,{className:"h-3 w-3"}),Q]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.name")}),(0,b.jsx)(A.Input,{placeholder:h("project.namePlaceholder"),value:n,onChange:a=>p(a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.type.label")}),(0,b.jsx)("div",{className:"mt-1.5",children:(0,b.jsx)(aX.SegmentedControl,{options:[{value:"FRONTEND",label:h("project.type.frontend")},{value:"BACKEND",label:h("project.type.backend")}],value:E,onChange:F})})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.alias")}),(0,b.jsx)(A.Input,{placeholder:h("project.aliasPlaceholder"),value:q,onChange:a=>r(a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mt-0.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:h("project.description")}),(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsxs)(y.TooltipTrigger,{render:(0,b.jsx)(z.Button,{type:"button",variant:"ghost",onClick:_,className:`h-6 gap-1 px-2 text-[11px] text-muted-foreground hover:text-foreground ${!w||W?"opacity-50":""}`}),children:[W?(0,b.jsx)(aT.Loader2,{className:"h-3 w-3 animate-spin"}):(0,b.jsx)(aW.Sparkles,{className:"h-3 w-3"}),W?h("project.analyzing"):h("project.genDesc")]}),(0,b.jsx)(y.TooltipContent,{children:w?h("project.genDescReady"):h("project.genDescNoPath")})]})]}),(0,b.jsx)(aZ.Textarea,{placeholder:h("project.descPlaceholder"),value:s,onChange:a=>t(a.target.value),rows:3,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none max-h-[200px] overflow-y-auto"})]})]}),(0,b.jsxs)(x.DialogFooter,{children:[(0,b.jsx)(z.Button,{variant:"outline",onClick:()=>{d(!1),Y()},children:h("common.cancel")}),(0,b.jsx)(z.Button,{onClick:aa,disabled:ab,className:"bg-primary/10 text-primary ring-1 ring-primary/25 hover:bg-primary/20",children:O?h("project.migrating"):h("common.create")})]})]})}),(0,b.jsx)(a1.FolderBrowserDialog,{open:C,onOpenChange:D,onSelect:a=>Z(a)})]})}function bb({className:a}){return(0,b.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:a,children:(0,b.jsx)("path",{d:"M12 .5C5.65.5.5 5.65.5 12.02c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-2c-3.2.7-3.87-1.36-3.87-1.36-.52-1.34-1.27-1.7-1.27-1.7-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.02 1.76 2.68 1.25 3.34.96.1-.74.4-1.25.72-1.54-2.56-.29-5.25-1.28-5.25-5.69 0-1.26.45-2.28 1.18-3.09-.12-.29-.51-1.46.11-3.04 0 0 .97-.31 3.18 1.18a11.1 11.1 0 0 1 5.79 0c2.2-1.49 3.18-1.18 3.18-1.18.62 1.58.23 2.75.11 3.04.74.81 1.18 1.83 1.18 3.09 0 4.42-2.69 5.4-5.25 5.69.41.36.78 1.05.78 2.12v3.14c0 .31.21.68.79.56A11.52 11.52 0 0 0 23.5 12.02C23.5 5.65 18.35.5 12 .5Z"})})}function bc({onCreateProject:a,username:e,workspaces:f,defaultWorkspaceId:h}){let{t:i,locale:j,setLocale:k}=(0,K.useI18n)(),{isOpen:l,toggleAssistant:m}=aS(),{resolvedTheme:n,toggleTheme:p,triggerRef:q}=function(){let{resolvedTheme:a,setTheme:b}=(0,Z.useTheme)(),d=(0,c.useRef)(null),e=(0,c.useCallback)(c=>{let d="dark"===a?"light":"dark";if("u">typeof document&&"startViewTransition"in document&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches){let a=c?.clientX??window.innerWidth/2,e=c?.clientY??0,f=Math.hypot(Math.max(a,window.innerWidth-a),Math.max(e,window.innerHeight-e));document.startViewTransition(()=>{b(d)}).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${a}px ${e}px)`,`circle(${f}px at ${a}px ${e}px)`]},{duration:400,easing:"ease-in-out",pseudoElement:"::view-transition-new(root)"})})}else b(d)},[a,b]);return{resolvedTheme:a,toggleTheme:e,triggerRef:d}}(),r=(0,d.useRouter)(),[s,v]=(0,c.useState)(!1),[w,x]=(0,c.useState)(!1),[A,B]=(0,c.useState)(!1);(0,W.useActionShortcut)("global.search",()=>v(!0));let C=Y(a=>a.createProjectOpen),D=Y(a=>a.importProjectOpen),E=Y(a=>a.setCreateProjectOpen),F=Y(a=>a.setImportProjectOpen);return(0,c.useEffect)(()=>{C&&x(!0)},[C]),(0,c.useEffect)(()=>{D&&B(!0)},[D]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("header",{className:"flex h-12 items-center justify-between border-b border-border bg-background/80 px-5 backdrop-blur-sm",children:[(0,b.jsx)("div",{className:"w-40"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(z.Button,{variant:"outline",onClick:()=>v(!0),className:"h-8 w-[400px] justify-start gap-2 bg-muted/50 text-muted-foreground hover:bg-muted",children:[(0,b.jsx)($.Search,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{className:"flex-1 text-left",suppressHydrationWarning:!0,children:i("topbar.searchPlaceholder")}),(0,b.jsxs)("kbd",{className:"mr-1 flex items-center gap-0.5 rounded border border-border bg-background px-1.5 py-0.5 text-[10px] font-mono",children:[(0,b.jsx)(_,{className:"h-2.5 w-2.5"}),"K"]})]}),(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{delay:500,render:(0,b.jsx)("button",{"data-tour":"open-assistant",onClick:m,"aria-label":i("assistant.iconLabel"),className:["cursor-pointer rounded-lg p-2 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",l?"bg-accent text-foreground":""].join(" ")}),children:(0,b.jsx)(ab,{className:"h-4 w-4"})}),(0,b.jsx)(y.TooltipContent,{children:i("assistant.iconLabel")})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsxs)(y.TooltipTrigger,{render:(0,b.jsx)(z.Button,{variant:"ghost",onClick:()=>k("zh"===j?"en":"zh"),className:"text-muted-foreground"}),children:[(0,b.jsx)(aa.Globe,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{className:"text-[11px] font-semibold",children:"zh"===j?"EN":"中"})]}),(0,b.jsx)(y.TooltipContent,{children:i("settings.language")})]}),(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{render:(0,b.jsx)(z.Button,{ref:q,variant:"ghost",size:"icon",onClick:p,className:"text-muted-foreground"}),children:"dark"===n?(0,b.jsx)(ac.Sun,{className:"h-4 w-4"}):(0,b.jsx)(ad.Moon,{className:"h-4 w-4"})}),(0,b.jsx)(y.TooltipContent,{children:i("settings.theme")})]}),(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{render:(0,b.jsx)(z.Button,{variant:"ghost",size:"icon",onClick:()=>window.open("https://github.com/jp-liu/tower","_blank","noopener,noreferrer"),className:"text-muted-foreground","aria-label":i("topbar.github")}),children:(0,b.jsx)(bb,{className:"h-4 w-4"})}),(0,b.jsx)(y.TooltipContent,{children:i("topbar.github")})]}),(0,b.jsx)("div",{className:"h-4 w-px bg-border"}),(0,b.jsxs)(z.Button,{variant:"outline",className:"gap-1.5 ring-1 ring-border hover:bg-accent",onClick:()=>B(!0),children:[(0,b.jsx)(o.FolderOpen,{className:"h-3.5 w-3.5"}),i("topbar.importProject")]}),(0,b.jsxs)(z.Button,{"data-tour":"create-project",className:"gap-1.5 bg-primary/10 text-primary ring-1 ring-primary/25 hover:bg-primary/20",onClick:()=>x(!0),children:[(0,b.jsx)(g.Plus,{className:"h-3.5 w-3.5"}),i("topbar.newProject")]}),(0,b.jsxs)(u.DropdownMenu,{children:[(0,b.jsx)(u.DropdownMenuTrigger,{render:(0,b.jsxs)("button",{className:"ml-0.5 flex cursor-pointer items-center gap-1.5 rounded-lg px-2.5 py-1 transition-colors hover:bg-accent",children:[e&&(0,b.jsx)("span",{className:"max-w-[80px] truncate text-xs text-muted-foreground",children:e}),(0,b.jsx)(aw,{className:"h-7 w-7 ring-1 ring-border",children:(0,b.jsx)(ax,{className:"bg-emerald-500/20 text-emerald-400 text-[10px] font-semibold",children:e?e.trim().split(/\s+/).filter(a=>a.length>0).slice(0,2).map(a=>a[0].toUpperCase()).join(""):"U"})})]})}),(0,b.jsx)(u.DropdownMenuContent,{align:"end",sideOffset:8,className:"w-40",children:(0,b.jsxs)(u.DropdownMenuItem,{onClick:()=>r.push("/settings"),children:[(0,b.jsx)(t.Settings,{className:"mr-2 h-3.5 w-3.5"}),i("settings.title")]})})]})]})]}),(0,b.jsx)(aJ,{open:s,onOpenChange:v}),(0,b.jsx)(a4,{open:w,onOpenChange:a=>{x(a),a||E(!1)},onCreateProject:a,workspaces:f,defaultWorkspaceId:h}),(0,b.jsx)(ba,{open:A,onOpenChange:a=>{B(a),a||F(!1)},onCreateProject:a,workspaces:f,defaultWorkspaceId:h})]})}var bd=a.i(347872),be=a.i(595999),bf=a.i(437698),bg=a.i(969032),bh=a.i(442620);let bi=(0,bg.default)(async()=>{},{loadableGenerated:{modules:[103363]},ssr:!1});function bj({mode:a}){let{isOpen:d,closeAssistant:e,sessions:f,activeSessionId:j,createNewSession:k,switchSession:l,removeSession:m,renameSession:n}=aS(),{t:o}=(0,K.useI18n)(),[p,q]=(0,c.useState)(null),[r,s]=(0,c.useState)(""),t=()=>{q(null),s("")},v=f.find(a=>a.id===j),w=v?.title??o("assistant.newSession");return(0,b.jsxs)("div",{className:"sidebar"===a?"min-w-[320px] max-w-[480px] w-[30vw] shrink-0 border-r border-border flex flex-col bg-sidebar overflow-hidden":"flex flex-col h-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"header-sm flex items-center px-4 gap-2 bg-sidebar",children:[(0,b.jsx)(ab,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"text-sm font-semibold text-foreground shrink-0",children:o("assistant.title")}),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsxs)(u.DropdownMenu,{children:[(0,b.jsxs)(u.DropdownMenuTrigger,{className:"flex items-center gap-1 h-8 px-2 rounded-md text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground max-w-[120px] truncate","aria-label":o("assistant.sessionList"),children:[(0,b.jsx)("span",{className:"truncate",children:w}),(0,b.jsx)(bh.ChevronDown,{className:"h-3 w-3 shrink-0"})]}),(0,b.jsxs)(u.DropdownMenuContent,{side:"bottom",align:"end",sideOffset:4,className:"w-[280px]",children:[0===f.length?(0,b.jsx)("div",{className:"px-2 py-4 text-xs text-muted-foreground text-center",children:o("assistant.noSessions")}):(0,b.jsx)("div",{className:"max-h-[min(440px,50vh)] overflow-y-auto",children:f.map(a=>(0,b.jsxs)(u.DropdownMenuItem,{className:"flex items-center justify-between gap-1 pr-1",onClick:()=>l(a.id),children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5 flex-1 min-w-0",children:[(0,b.jsx)("span",{className:"text-xs truncate",children:a.title}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:function(a){let b=Math.floor((Date.now()-new Date(a).getTime())/1e3);if(b<60)return`${b}s ago`;let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);if(d<24)return`${d}h ago`;let e=Math.floor(d/24);return`${e}d ago`}(a.updatedAt)})]}),(0,b.jsx)(z.Button,{variant:"ghost",className:"h-6 w-6 p-0 shrink-0 opacity-50 hover:opacity-100",onClick:b=>{var c;b.stopPropagation(),q({id:a.id,title:c=a.title}),s(c)},"aria-label":o("assistant.renameSession"),children:(0,b.jsx)(h.Pencil,{className:"h-3 w-3"})}),(0,b.jsx)(z.Button,{variant:"ghost",className:"h-6 w-6 p-0 shrink-0 opacity-50 hover:opacity-100 hover:text-destructive",onClick:b=>{b.stopPropagation(),m(a.id)},"aria-label":o("assistant.deleteSession"),children:(0,b.jsx)(i.Trash2,{className:"h-3 w-3"})})]},a.id))}),f.length>0&&(0,b.jsx)(u.DropdownMenuSeparator,{}),(0,b.jsxs)(u.DropdownMenuItem,{onClick:k,children:[(0,b.jsx)(g.Plus,{className:"h-3 w-3 mr-1"}),(0,b.jsx)("span",{className:"text-xs",children:o("assistant.newSession")})]})]})]}),(0,b.jsx)(z.Button,{variant:"ghost",size:"icon",className:"text-muted-foreground",onClick:k,"aria-label":o("assistant.newSession"),children:(0,b.jsx)(g.Plus,{className:"h-4 w-4"})})]}),(0,b.jsx)(z.Button,{variant:"ghost",size:"icon",className:"text-muted-foreground",onClick:e,"aria-label":o("assistant.closeLabel"),children:(0,b.jsx)(aC.X,{className:"h-4 w-4"})})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden",children:d?(0,b.jsx)(bi,{}):null}),(0,b.jsx)(x.Dialog,{open:null!==p,onOpenChange:a=>{a||t()},children:(0,b.jsxs)(x.DialogContent,{children:[(0,b.jsx)(x.DialogHeader,{children:(0,b.jsx)(x.DialogTitle,{children:o("assistant.renameSessionTitle")})}),(0,b.jsx)(A.Input,{autoFocus:!0,value:r,onChange:a=>s(a.target.value),placeholder:o("assistant.renameSessionPlaceholder")}),(0,b.jsxs)(x.DialogFooter,{children:[(0,b.jsx)(z.Button,{variant:"outline",onClick:t,children:o("common.cancel")}),(0,b.jsx)(z.Button,{onClick:()=>{p&&r.trim()&&(n(p.id,r),t())},disabled:!r.trim(),children:o("common.save")})]})]})})]})}var bk=a.i(190076);function bl({onDismiss:a}){let{t:d}=(0,K.useI18n)(),[e,f]=(0,c.useState)(!1);(0,c.useEffect)(()=>{},[]);let g=async()=>{"default"!==await window.Notification.requestPermission()&&(f(!1),a?.())};return e?(0,b.jsxs)("div",{className:"fixed top-3 left-1/2 -translate-x-1/2 z-[9999] w-auto max-w-lg bg-card border rounded-lg shadow-lg px-4 py-2.5 flex items-center gap-3 animate-in fade-in slide-in-from-top-4 duration-500",children:[(0,b.jsx)(bk.Bell,{className:"h-4 w-4 shrink-0 text-primary"}),(0,b.jsx)("span",{className:"flex-1 text-sm",children:d("notification.permissionPrompt")}),(0,b.jsx)(z.Button,{size:"default",onClick:g,children:d("notification.allow")}),(0,b.jsx)(z.Button,{variant:"ghost",size:"default",onClick:()=>{f(!1),a?.()},children:d("notification.dismiss")})]}):null}a.i(556434);var bm=a.i(422036);let bn=[{target:"create-workspace",titleKey:"tour.step1.title",descKey:"tour.step1.desc",placement:"right"},{target:"create-project",titleKey:"tour.step2.title",descKey:"tour.step2.desc",placement:"bottom",waitForTarget:!0},{target:"open-assistant",titleKey:"tour.step3.title",descKey:"tour.step3.desc",placement:"bottom"}];function bo({onComplete:a}){let{t:d}=(0,K.useI18n)(),[e,f]=(0,c.useState)(0),[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(!1),k=(0,c.useRef)(null),l=bn[e],m=(0,c.useCallback)(async()=>{await (0,bm.setConfigValue)("onboarding.tourCompleted",!0),a()},[a]),n=(0,c.useCallback)(()=>l?document.querySelector(`[data-tour="${l.target}"]`):null,[l]),o=(0,c.useCallback)(()=>{let a=n();a?(h(a.getBoundingClientRect()),j(!0)):j(!1)},[n]);(0,c.useEffect)(()=>{o();let a=null;!i&&l?.waitForTarget&&(k.current=new MutationObserver(()=>{let b=n();b&&(h(b.getBoundingClientRect()),j(!0),k.current?.disconnect(),a&&clearTimeout(a))}),k.current.observe(document.body,{childList:!0,subtree:!0}),a=setTimeout(()=>{!n()&&(f(a=>{let b=a+1;return b<bn.length?b:a}),e>=bn.length-1&&m())},5e3));let b=()=>o();return window.addEventListener("resize",b),window.addEventListener("scroll",b,!0),()=>{k.current?.disconnect(),a&&clearTimeout(a),window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0)}},[e,l,n,o,i,m]),(0,c.useEffect)(()=>{let a=setInterval(o,1e3);return()=>clearInterval(a)},[o]);let p=(0,c.useCallback)(()=>{e<bn.length-1?(f(a=>a+1),j(!1)):m()},[e]);return l?(0,b.jsx)(b.Fragment,{children:i&&g&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"fixed inset-0 z-[10000]",style:{background:`radial-gradient(
2
2
  ellipse at ${g.left+g.width/2}px ${g.top+g.height/2}px,
3
3
  transparent ${Math.max(g.width,g.height)}px,
4
4
  rgba(0,0,0,0.6) ${Math.max(g.width,g.height)+30}px
5
- )`},onClick:p}),(0,b.jsx)("div",{className:"pointer-events-none fixed z-[10001] rounded-lg ring-2 ring-amber-400 ring-offset-2 ring-offset-background",style:{left:g.left-4,top:g.top-4,width:g.width+8,height:g.height+8}}),(0,b.jsxs)("div",{className:"fixed z-[10002] w-72 rounded-xl border border-border bg-card p-4 shadow-2xl",style:(()=>{if(!g)return{display:"none"};let a={position:"fixed",zIndex:10001};switch(l.placement){case"right":a.left=g.right+12,a.top=g.top+g.height/2,a.transform="translateY(-50%)";break;case"bottom":a.left=g.left+g.width/2,a.top=g.bottom+12,a.transform="translateX(-50%)";break;case"left":a.right=window.innerWidth-g.left+12,a.top=g.top+g.height/2,a.transform="translateY(-50%)";break;case"top":a.left=g.left+g.width/2,a.bottom=window.innerHeight-g.top+12,a.transform="translateX(-50%)"}return a})(),children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:d(l.titleKey)}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground leading-relaxed",children:d(l.descKey)})]}),(0,b.jsx)("button",{onClick:m,className:"shrink-0 rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-foreground",children:(0,b.jsx)(ay.X,{className:"h-3.5 w-3.5"})})]}),(0,b.jsxs)("div",{className:"mt-3 flex items-center justify-between",children:[(0,b.jsx)("div",{className:"flex gap-1",children:be.map((a,c)=>(0,b.jsx)("div",{className:`h-1.5 w-1.5 rounded-full ${c===e?"bg-amber-400":c<e?"bg-amber-400/40":"bg-muted"}`},c))}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(v.Button,{variant:"ghost",className:"h-7 px-2 text-xs text-muted-foreground",onClick:m,children:d("tour.skip")}),(0,b.jsx)(v.Button,{className:"h-7 px-3 text-xs bg-amber-500/15 text-amber-300 ring-1 ring-amber-500/25 hover:bg-amber-500/25",onClick:p,children:d(e<be.length-1?"tour.next":"tour.done")})]})]})]})]})}):null}var bg=a.i(651571);let bh=(0,o.default)("sun-moon",[["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715",key:"xlf6rm"}],["path",{d:"M16 12a4 4 0 0 0-4-4",key:"6vsxu"}],["path",{d:"m19 5-1.256 1.256",key:"1yg6a6"}],["path",{d:"M20 12h2",key:"1q8mjw"}]]);var bi=a.i(34252),bj=a.i(567648),bk=a.i(419622);let bl=(0,S.create)(a=>({open:!1,setOpen:b=>a({open:b}),toggle:()=>a(a=>({open:!a.open}))})),bm=(0,S.create)(a=>({open:!1,setOpen:b=>a({open:b}),toggle:()=>a(a=>({open:!a.open}))}));function bn(){let{t:a,locale:c,setLocale:e}=(0,G.useI18n)(),f=(0,d.useRouter)(),{resolvedTheme:h,setTheme:i}=(0,U.useTheme)(),j=bl(a=>a.open),k=bl(a=>a.setOpen),l=bl(a=>a.toggle),m=T(a=>a.setCreateProjectOpen),o=T(a=>a.setImportProjectOpen),p=bm(a=>a.toggle);(0,R.useActionShortcut)("global.commandPalette",()=>l());let q=a=>{k(!1),a()};return(0,b.jsxs)(bk.CommandDialog,{open:j,onOpenChange:k,title:a("palette.title"),children:[(0,b.jsx)(bk.CommandInput,{placeholder:a("palette.placeholder")}),(0,b.jsxs)(bk.CommandList,{children:[(0,b.jsx)(bk.CommandEmpty,{children:a("palette.empty")}),(0,b.jsxs)(bk.CommandGroup,{heading:a("palette.group.navigation"),children:[(0,b.jsxs)(bk.CommandItem,{onSelect:()=>q(()=>f.push("/missions")),children:[(0,b.jsx)(bg.LayoutGrid,{}),a("palette.gotoMissions")]}),(0,b.jsxs)(bk.CommandItem,{onSelect:()=>q(()=>f.push("/settings")),children:[(0,b.jsx)(W.Settings,{}),a("palette.openSettings")]})]}),(0,b.jsxs)(bk.CommandGroup,{heading:a("palette.group.actions"),children:[(0,b.jsxs)(bk.CommandItem,{onSelect:()=>q(()=>m(!0)),children:[(0,b.jsx)(g.Plus,{}),a("palette.newProject")]}),(0,b.jsxs)(bk.CommandItem,{onSelect:()=>q(()=>o(!0)),children:[(0,b.jsx)(n.FolderOpen,{}),a("palette.importProject")]}),(0,b.jsxs)(bk.CommandItem,{onSelect:()=>q(()=>p()),children:[(0,b.jsx)(bj.Keyboard,{}),a("palette.openHelp")]})]}),(0,b.jsxs)(bk.CommandGroup,{heading:a("palette.group.preferences"),children:[(0,b.jsxs)(bk.CommandItem,{onSelect:()=>q(()=>i("dark"===h?"light":"dark")),children:[(0,b.jsx)(bh,{}),a("palette.toggleTheme")]}),(0,b.jsxs)(bk.CommandItem,{onSelect:()=>q(()=>e("zh"===c?"en":"zh")),children:[(0,b.jsx)(bi.Languages,{}),a("palette.toggleLocale")]})]})]})]})}var bo=a.i(109603),bp=a.i(875846),bq=a.i(718799);let br=["global","panels","missions"],bs=new Set(["missions.cycleBack"]);function bt(){let{t:a}=(0,G.useI18n)(),d=bm(a=>a.open),e=bm(a=>a.setOpen),f=bm(a=>a.toggle),g=(0,bp.useKeymapStore)(a=>a.overrides),[h,i]=(0,c.useState)("");(0,R.useActionShortcut)("global.help",()=>f());let j=h.trim().toLowerCase(),k=br.map(b=>{let c=bo.SHORTCUT_ACTIONS.filter(a=>a.group===b&&!bs.has(a.id)).map(b=>({id:b.id,description:a(b.descriptionKey),keys:(0,bp.resolveKeysFrom)(g,b.id)})).filter(a=>!j||a.description.toLowerCase().includes(j));return{title:a(`shortcuts.group.${b}`),shortcuts:c}}).filter(a=>a.shortcuts.length>0);return(0,b.jsx)(t.Dialog,{open:d,onOpenChange:e,children:(0,b.jsxs)(t.DialogContent,{className:"sm:max-w-2xl",children:[(0,b.jsx)(t.DialogHeader,{children:(0,b.jsx)(t.DialogTitle,{children:a("shortcuts.help.title")})}),(0,b.jsx)(w.Input,{value:h,onChange:a=>i(a.target.value),placeholder:a("shortcuts.help.searchPlaceholder")}),(0,b.jsx)("div",{className:"max-h-[60vh] space-y-4 overflow-y-auto",children:k.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"mb-2 text-xs font-semibold text-muted-foreground",children:a.title}),(0,b.jsx)("div",{className:"space-y-0.5",children:a.shortcuts.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-md px-2 py-1.5 text-sm",children:[(0,b.jsx)("span",{className:"truncate",children:a.description}),(0,b.jsx)("div",{className:"flex shrink-0 items-center",children:(0,b.jsx)(bq.KeyCombo,{keys:a.keys})})]},a.id))})]},a.title))})]})})}function bu({workspaces:a,isFirstRun:e,username:f,children:g,handleCreateProject:h}){let i=(0,d.usePathname)(),j=(0,d.useRouter)(),{isOpen:k,displayMode:l,closeAssistant:m}=aM();(0,R.useActionShortcut)("global.gotoWorkspace",b=>{let c=/^Digit([1-9])$/.exec(b.code);if(!c)return;let d=a[Number(c[1])-1];if(!d)return;let e=(0,F.getLastProjectId)(d.id);j.push(e?`/workspaces/${d.id}?projectId=${e}`:`/workspaces/${d.id}`)});let n=i.split("/workspaces/")[1]?.split("/")[0]||a[0]?.id;(0,R.useActionShortcut)("panels.taskManager",()=>j.push("/missions")),(0,R.useActionShortcut)("panels.assets",()=>{n&&j.push(`/workspaces/${n}/assets`)}),(0,R.useActionShortcut)("panels.notes",()=>{n&&j.push(`/workspaces/${n}/notes`)}),(0,R.useActionShortcut)("panels.archive",()=>{n&&j.push(`/workspaces/${n}/archive`)}),(0,c.useEffect)(()=>{e&&!i.startsWith("/onboarding")&&j.replace("/onboarding")},[e,i,j]);let[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(!1);(0,c.useEffect)(()=>{e||i.startsWith("/onboarding")||(0,aA.getConfigValue)("onboarding.tourCompleted",!1).then(a=>{a?r(!0):p(!0)})},[e,i]);let s=()=>{p(!1),r(!0)},[u,v]=(0,c.useState)(!0);(0,c.useEffect)(()=>{(0,aA.getConfigValue)("notification.enabled",!0).then(v)},[]);let w=i.startsWith("/onboarding");if(!function(a){let b=(0,c.useRef)(a),{t:d}=(0,G.useI18n)(),e=(0,c.useRef)(d);b.current=a,e.current=d,(0,c.useEffect)(()=>{},[a])}(u&&!w),w)return(0,b.jsx)(b.Fragment,{children:g});let x=/\/workspaces\/[^/]+\/tasks\/[^/]+/.test(i),y=/\/workspaces\/[^/]+\/(notes|assets|archive)/.test(i),z=k&&"sidebar"===l?(0,b.jsx)(ba,{mode:"sidebar"}):null,A="dialog"===l?(0,b.jsx)(t.Dialog,{open:k,onOpenChange:a=>{a||m()},children:(0,b.jsx)(t.DialogContent,{showCloseButton:!1,style:{width:"90vw",minWidth:"360px",maxWidth:"600px",height:"70vh",minHeight:"480px",maxHeight:"800px",padding:0},children:(0,b.jsx)(ba,{mode:"dialog"})})}):null;return x||y?(0,b.jsxs)(b.Fragment,{children:[q&&(0,b.jsx)(bc,{onDismiss:()=>r(!1)}),(0,b.jsx)("div",{className:"flex h-screen overflow-hidden",children:(0,b.jsxs)("div",{className:"flex flex-1 flex-col overflow-hidden",children:[(0,b.jsx)(a3,{onCreateProject:h,username:f}),(0,b.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[z,(0,b.jsx)("main",{className:"flex-1 overflow-hidden bg-background",children:(0,b.jsx)(a5.ErrorBoundary,{children:g})})]})]})}),A,o&&(0,b.jsx)(bf,{onComplete:s}),(0,b.jsx)(bn,{}),(0,b.jsx)(bt,{})]}):(0,b.jsxs)(b.Fragment,{children:[q&&(0,b.jsx)(bc,{onDismiss:()=>r(!1)}),(0,b.jsxs)("div",{className:"flex h-screen overflow-hidden",children:[(0,b.jsx)(M,{workspaces:a}),(0,b.jsxs)("div",{className:"flex flex-1 flex-col overflow-hidden",children:[(0,b.jsx)(a3,{onCreateProject:h,username:f}),(0,b.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[z,(0,b.jsx)("main",{className:"flex-1 overflow-auto bg-background",children:(0,b.jsx)(a5.ErrorBoundary,{children:g})})]})]})]}),A,o&&(0,b.jsx)(bf,{onComplete:s}),(0,b.jsx)(bn,{}),(0,b.jsx)(bt,{})]})}a.s(["LayoutClient",0,function({workspaces:a,isFirstRun:c,username:e,children:f}){let g=(0,d.useRouter)(),h=(0,d.usePathname)(),i=h.split("/workspaces/")[1]?.split("/")[0],j=async b=>{let c=i||(a.length>0?a[0].id:null);if(!c){let a=await y({name:"Default Workspace"}),c=await (0,a6.createProject)({...b,workspaceId:a.id});return g.refresh(),g.push(`/workspaces/${a.id}`),{id:c.id}}let d=await (0,a6.createProject)({...b,workspaceId:c});return g.refresh(),g.push(`/workspaces/${c}`),{id:d.id}};return(0,b.jsx)(aL,{children:(0,b.jsx)(a4.TerminalPortalProvider,{children:(0,b.jsx)(bu,{workspaces:a,isFirstRun:c,username:e,handleCreateProject:j,children:f})})})}],607884)},3896,a=>{"use strict";var b=a.i(728778),c=a.i(940271);a.s(["ThemeProvider",0,function({children:a,...d}){return(0,b.jsx)(c.ThemeProvider,{...d,children:a})}])},426419,a=>{"use strict";var b=a.i(728778),c=a.i(940271),d=a.i(952313),e=a.i(884664),e=e,f=a.i(976268),f=f,g=a.i(622945),g=g;let h=(0,a.i(711796).default)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var i=a.i(663513),i=i;a.s(["Toaster",0,({...a})=>{let{theme:j="system"}=(0,c.useTheme)();return(0,b.jsx)(d.Toaster,{theme:j,className:"toaster group",icons:{success:(0,b.jsx)(e.default,{className:"size-4"}),info:(0,b.jsx)(f.default,{className:"size-4"}),warning:(0,b.jsx)(g.default,{className:"size-4"}),error:(0,b.jsx)(h,{className:"size-4"}),loading:(0,b.jsx)(i.default,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},toastOptions:{classNames:{toast:"cn-toast"}},...a})}],426419)}];
5
+ )`},onClick:p}),(0,b.jsx)("div",{className:"pointer-events-none fixed z-[10001] rounded-lg ring-2 ring-amber-400 ring-offset-2 ring-offset-background",style:{left:g.left-4,top:g.top-4,width:g.width+8,height:g.height+8}}),(0,b.jsxs)("div",{className:"fixed z-[10002] w-72 rounded-xl border border-border bg-card p-4 shadow-2xl",style:(()=>{if(!g)return{display:"none"};let a={position:"fixed",zIndex:10001};switch(l.placement){case"right":a.left=g.right+12,a.top=g.top+g.height/2,a.transform="translateY(-50%)";break;case"bottom":a.left=g.left+g.width/2,a.top=g.bottom+12,a.transform="translateX(-50%)";break;case"left":a.right=window.innerWidth-g.left+12,a.top=g.top+g.height/2,a.transform="translateY(-50%)";break;case"top":a.left=g.left+g.width/2,a.bottom=window.innerHeight-g.top+12,a.transform="translateX(-50%)"}return a})(),children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:d(l.titleKey)}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground leading-relaxed",children:d(l.descKey)})]}),(0,b.jsx)("button",{onClick:m,className:"shrink-0 rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-foreground",children:(0,b.jsx)(aC.X,{className:"h-3.5 w-3.5"})})]}),(0,b.jsxs)("div",{className:"mt-3 flex items-center justify-between",children:[(0,b.jsx)("div",{className:"flex gap-1",children:bn.map((a,c)=>(0,b.jsx)("div",{className:`h-1.5 w-1.5 rounded-full ${c===e?"bg-amber-400":c<e?"bg-amber-400/40":"bg-muted"}`},c))}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(z.Button,{variant:"ghost",className:"h-7 px-2 text-xs text-muted-foreground",onClick:m,children:d("tour.skip")}),(0,b.jsx)(z.Button,{className:"h-7 px-3 text-xs bg-amber-500/15 text-amber-300 ring-1 ring-amber-500/25 hover:bg-amber-500/25",onClick:p,children:d(e<bn.length-1?"tour.next":"tour.done")})]})]})]})]})}):null}var bp=a.i(651571);let bq=(0,p.default)("sun-moon",[["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715",key:"xlf6rm"}],["path",{d:"M16 12a4 4 0 0 0-4-4",key:"6vsxu"}],["path",{d:"m19 5-1.256 1.256",key:"1yg6a6"}],["path",{d:"M20 12h2",key:"1q8mjw"}]]);var br=a.i(34252),bs=a.i(567648),bt=a.i(419622);let bu=(0,X.create)(a=>({open:!1,setOpen:b=>a({open:b}),toggle:()=>a(a=>({open:!a.open}))})),bv=(0,X.create)(a=>({open:!1,setOpen:b=>a({open:b}),toggle:()=>a(a=>({open:!a.open}))}));function bw(){let{t:a,locale:c,setLocale:e}=(0,K.useI18n)(),f=(0,d.useRouter)(),{resolvedTheme:h,setTheme:i}=(0,Z.useTheme)(),j=bu(a=>a.open),k=bu(a=>a.setOpen),l=bu(a=>a.toggle),m=Y(a=>a.setCreateProjectOpen),n=Y(a=>a.setImportProjectOpen),p=bv(a=>a.toggle);(0,W.useActionShortcut)("global.commandPalette",()=>l());let q=a=>{k(!1),a()};return(0,b.jsxs)(bt.CommandDialog,{open:j,onOpenChange:k,title:a("palette.title"),children:[(0,b.jsx)(bt.CommandInput,{placeholder:a("palette.placeholder")}),(0,b.jsxs)(bt.CommandList,{children:[(0,b.jsx)(bt.CommandEmpty,{children:a("palette.empty")}),(0,b.jsxs)(bt.CommandGroup,{heading:a("palette.group.navigation"),children:[(0,b.jsxs)(bt.CommandItem,{onSelect:()=>q(()=>f.push("/missions")),children:[(0,b.jsx)(bp.LayoutGrid,{}),a("palette.gotoMissions")]}),(0,b.jsxs)(bt.CommandItem,{onSelect:()=>q(()=>f.push("/settings")),children:[(0,b.jsx)(t.Settings,{}),a("palette.openSettings")]})]}),(0,b.jsxs)(bt.CommandGroup,{heading:a("palette.group.actions"),children:[(0,b.jsxs)(bt.CommandItem,{onSelect:()=>q(()=>m(!0)),children:[(0,b.jsx)(g.Plus,{}),a("palette.newProject")]}),(0,b.jsxs)(bt.CommandItem,{onSelect:()=>q(()=>n(!0)),children:[(0,b.jsx)(o.FolderOpen,{}),a("palette.importProject")]}),(0,b.jsxs)(bt.CommandItem,{onSelect:()=>q(()=>p()),children:[(0,b.jsx)(bs.Keyboard,{}),a("palette.openHelp")]})]}),(0,b.jsxs)(bt.CommandGroup,{heading:a("palette.group.preferences"),children:[(0,b.jsxs)(bt.CommandItem,{onSelect:()=>q(()=>i("dark"===h?"light":"dark")),children:[(0,b.jsx)(bq,{}),a("palette.toggleTheme")]}),(0,b.jsxs)(bt.CommandItem,{onSelect:()=>q(()=>e("zh"===c?"en":"zh")),children:[(0,b.jsx)(br.Languages,{}),a("palette.toggleLocale")]})]})]})]})}var bx=a.i(109603),by=a.i(875846),bz=a.i(718799);let bA=["global","panels","missions"],bB=new Set(["missions.cycleBack"]);function bC(){let{t:a}=(0,K.useI18n)(),d=bv(a=>a.open),e=bv(a=>a.setOpen),f=bv(a=>a.toggle),g=(0,by.useKeymapStore)(a=>a.overrides),[h,i]=(0,c.useState)("");(0,W.useActionShortcut)("global.help",()=>f());let j=h.trim().toLowerCase(),k=bA.map(b=>{let c=bx.SHORTCUT_ACTIONS.filter(a=>a.group===b&&!bB.has(a.id)).map(b=>({id:b.id,description:a(b.descriptionKey),keys:(0,by.resolveKeysFrom)(g,b.id)})).filter(a=>!j||a.description.toLowerCase().includes(j));return{title:a(`shortcuts.group.${b}`),shortcuts:c}}).filter(a=>a.shortcuts.length>0);return(0,b.jsx)(x.Dialog,{open:d,onOpenChange:e,children:(0,b.jsxs)(x.DialogContent,{className:"sm:max-w-2xl",children:[(0,b.jsx)(x.DialogHeader,{children:(0,b.jsx)(x.DialogTitle,{children:a("shortcuts.help.title")})}),(0,b.jsx)(A.Input,{value:h,onChange:a=>i(a.target.value),placeholder:a("shortcuts.help.searchPlaceholder")}),(0,b.jsx)("div",{className:"max-h-[60vh] space-y-4 overflow-y-auto",children:k.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"mb-2 text-xs font-semibold text-muted-foreground",children:a.title}),(0,b.jsx)("div",{className:"space-y-0.5",children:a.shortcuts.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-md px-2 py-1.5 text-sm",children:[(0,b.jsx)("span",{className:"truncate",children:a.description}),(0,b.jsx)("div",{className:"flex shrink-0 items-center",children:(0,b.jsx)(bz.KeyCombo,{keys:a.keys})})]},a.id))})]},a.title))})]})})}function bD({workspaces:a,isFirstRun:e,username:f,children:g,handleCreateProject:h}){let i=(0,d.usePathname)(),j=(0,d.useRouter)(),{isOpen:k,displayMode:l,closeAssistant:m}=aS();(0,W.useActionShortcut)("global.gotoWorkspace",b=>{let c=/^Digit([1-9])$/.exec(b.code);if(!c)return;let d=a[Number(c[1])-1];if(!d)return;let e=(0,J.getLastProjectId)(d.id);j.push(e?`/workspaces/${d.id}?projectId=${e}`:`/workspaces/${d.id}`)});let n=i.split("/workspaces/")[1]?.split("/")[0],o=n||a[0]?.id;(0,W.useActionShortcut)("panels.taskManager",()=>j.push("/missions")),(0,W.useActionShortcut)("panels.assets",()=>{o&&j.push(`/workspaces/${o}/assets`)}),(0,W.useActionShortcut)("panels.notes",()=>{o&&j.push(`/workspaces/${o}/notes`)}),(0,W.useActionShortcut)("panels.archive",()=>{o&&j.push(`/workspaces/${o}/archive`)}),(0,c.useEffect)(()=>{e&&!i.startsWith("/onboarding")&&j.replace("/onboarding")},[e,i,j]);let[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(!1);(0,c.useEffect)(()=>{e||i.startsWith("/onboarding")||(0,aE.getConfigValue)("onboarding.tourCompleted",!1).then(a=>{a?s(!0):q(!0)})},[e,i]);let[t,u]=(0,c.useState)(!0);(0,c.useEffect)(()=>{(0,aE.getConfigValue)("notification.enabled",!0).then(u)},[]);let v=i.startsWith("/onboarding");if(!function(a){let b=(0,c.useRef)(a),{t:d}=(0,K.useI18n)(),e=(0,c.useRef)(d);b.current=a,e.current=d,(0,c.useEffect)(()=>{},[a])}(t&&!v),v)return(0,b.jsx)(b.Fragment,{children:g});let w=/\/workspaces\/[^/]+\/tasks\/[^/]+/.test(i),y=/\/workspaces\/[^/]+\/(notes|assets|archive|groups)/.test(i),z=k&&"sidebar"===l?(0,b.jsx)(bj,{mode:"sidebar"}):null,A="dialog"===l?(0,b.jsx)(x.Dialog,{open:k,onOpenChange:a=>{a||m()},children:(0,b.jsx)(x.DialogContent,{showCloseButton:!1,style:{width:"90vw",minWidth:"360px",maxWidth:"600px",height:"70vh",minHeight:"480px",maxHeight:"800px",padding:0},children:(0,b.jsx)(bj,{mode:"dialog"})})}):null,B=w||y;return(0,b.jsxs)(b.Fragment,{children:[r&&(0,b.jsx)(bl,{onDismiss:()=>s(!1)}),(0,b.jsxs)("div",{className:"flex h-screen overflow-hidden",children:[(0,b.jsx)("div",{className:B?"hidden":"contents",children:(0,b.jsx)(Q,{workspaces:a})}),(0,b.jsxs)("div",{className:"flex flex-1 flex-col overflow-hidden",children:[(0,b.jsx)(bc,{onCreateProject:h,username:f,workspaces:a,defaultWorkspaceId:n}),(0,b.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[z,(0,b.jsx)("main",{className:`flex-1 bg-background ${B?"overflow-hidden":"overflow-auto"}`,children:(0,b.jsx)(be.ErrorBoundary,{children:g})})]})]})]}),A,p&&(0,b.jsx)(bo,{onComplete:()=>{q(!1),s(!0)}}),(0,b.jsx)(bw,{}),(0,b.jsx)(bC,{})]})}a.s(["LayoutClient",0,function({workspaces:a,isFirstRun:c,username:e,children:f}){let g=(0,d.useRouter)(),h=(0,d.usePathname)(),i=h.split("/workspaces/")[1]?.split("/")[0],j=async b=>{let c=b.workspaceId||i||(a.length>0?a[0].id:null);if(!c){let a=await C({name:"Default Workspace"}),c=await (0,bf.createProject)({...b,workspaceId:a.id});return g.refresh(),g.push(`/workspaces/${a.id}`),{id:c.id}}let d=await (0,bf.createProject)({...b,workspaceId:c});return g.refresh(),g.push(`/workspaces/${c}`),{id:d.id}};return(0,b.jsx)(aR,{children:(0,b.jsx)(bd.TerminalPortalProvider,{children:(0,b.jsx)(bD,{workspaces:a,isFirstRun:c,username:e,handleCreateProject:j,children:f})})})}],607884)},3896,a=>{"use strict";var b=a.i(728778),c=a.i(940271);a.s(["ThemeProvider",0,function({children:a,...d}){return(0,b.jsx)(c.ThemeProvider,{...d,children:a})}])},426419,a=>{"use strict";var b=a.i(728778),c=a.i(940271),d=a.i(952313),e=a.i(884664),e=e,f=a.i(976268),f=f,g=a.i(622945),g=g;let h=(0,a.i(711796).default)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var i=a.i(663513),i=i;a.s(["Toaster",0,({...a})=>{let{theme:j="system"}=(0,c.useTheme)();return(0,b.jsx)(d.Toaster,{theme:j,className:"toaster group",icons:{success:(0,b.jsx)(e.default,{className:"size-4"}),info:(0,b.jsx)(f.default,{className:"size-4"}),warning:(0,b.jsx)(g.default,{className:"size-4"}),error:(0,b.jsx)(h,{className:"size-4"}),loading:(0,b.jsx)(i.default,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},toastOptions:{classNames:{toast:"cn-toast"}},...a})}],426419)}];
6
6
 
7
7
  //# sourceMappingURL=src_components_0rowjw~._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[599209,a=>{"use strict";var b,c=a.i(728778);a.s([],664841),a.i(664841);var d=a.i(374637),e=a.i(291034),f=a.i(834244),g=a.i(799942),h=a.i(226682),i=a.i(459805),j=a.i(719084),k=a.i(322516),l=a.i(862306);let m=d.createContext(void 0);function n(a){let b=d.useContext(m);if(void 0===b&&!a)throw Error((0,l.default)(47));return b}var o=a.i(986099),p=a.i(142103),q=a.i(459161),r=a.i(102934),s=a.i(196692),t=a.i(493358),u=a.i(100737),v=a.i(384527),w=a.i(837049),x=a.i(619199);let y={...v.popupStoreSelectors,disabled:(0,q.createSelector)(a=>a.disabled),instantType:(0,q.createSelector)(a=>a.instantType),openMethod:(0,q.createSelector)(a=>a.openMethod),openChangeReason:(0,q.createSelector)(a=>a.openChangeReason),modal:(0,q.createSelector)(a=>a.modal),stickIfOpen:(0,q.createSelector)(a=>a.stickIfOpen),titleElementId:(0,q.createSelector)(a=>a.titleElementId),descriptionElementId:(0,q.createSelector)(a=>a.descriptionElementId),openOnHover:(0,q.createSelector)(a=>a.openOnHover),closeDelay:(0,q.createSelector)(a=>a.closeDelay),hasViewport:(0,q.createSelector)(a=>a.hasViewport)};class z extends p.ReactStore{constructor(a){const b={...(0,v.createInitialPopupStoreState)(),disabled:!1,modal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,nested:!1,openOnHover:!1,closeDelay:0,hasViewport:!1,...a};b.open&&a?.mounted===void 0&&(b.mounted=!0),super(b,{popupRef:d.createRef(),backdropRef:d.createRef(),internalBackdropRef:d.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:d.createRef(),beforeContentFocusGuardRef:d.createRef(),stickIfOpenTimeout:new r.Timeout,triggerElements:new w.PopupTriggerMap},y)}setOpen=(a,b)=>{let c=b.reason===u.REASONS.triggerHover,d=b.reason===u.REASONS.triggerPress&&0===b.event.detail,e=!a&&(b.reason===u.REASONS.escapeKey||null==b.reason);if(b.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},this.context.onOpenChange?.(a,b),b.isCanceled)return;let f={open:a,nativeEvent:b.event,reason:b.reason,nested:this.state.nested,triggerElement:b.trigger},g=this.state.floatingRootContext.context.events;g?.emit("openchange",f);let h=()=>{let c={open:a,openChangeReason:b.reason},d=b.trigger?.id??null;(d||a)&&(c.activeTriggerId=d,c.activeTriggerElement=b.trigger??null),this.update(c)};c?(this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(x.PATIENT_CLICK_THRESHOLD,()=>{this.set("stickIfOpen",!1)}),o.flushSync(h)):h(),d||e?this.set("instantType",d?"click":"dismiss"):b.reason===u.REASONS.focusOut?this.set("instantType","focus"):this.set("instantType",void 0)};static useStore(a,b){let c=(0,s.useRefWithInit)(()=>new z(b)).current,d=a??c;return(0,t.useOnMount)(c.disposeEffect),d}disposeEffect=()=>this.context.stickIfOpenTimeout.disposeEffect()}var A=a.i(622047),B=a.i(771532),C=a.i(742122);function D({props:a}){let{children:b,open:l,defaultOpen:n=!1,onOpenChange:o,onOpenChangeComplete:p,modal:q=!1,handle:r,triggerId:s,defaultTriggerId:t=null}=a,v=z.useStore(r?.store,{modal:q,open:n,openProp:l,activeTriggerId:t,triggerIdProp:s});(0,f.useOnFirstRender)(()=>{void 0===l&&!1===v.state.open&&!0===n&&v.update({open:!0,activeTriggerId:t})}),v.useControlledProp("openProp",l),v.useControlledProp("triggerIdProp",s);let w=v.useState("open"),x=v.useState("positionerElement"),y=v.useState("payload"),E=v.useState("openChangeReason");v.useContextCallback("onOpenChange",o),v.useContextCallback("onOpenChangeComplete",p);let{openMethod:F,triggerProps:G}=(0,C.useOpenInteractionType)(w);(0,B.useImplicitActiveTrigger)(v);let{forceUnmount:H}=(0,B.useOpenStateTransitions)(w,v,()=>{v.update({stickIfOpen:!0,openChangeReason:null})});(0,e.useScrollLock)(w&&!0===q&&E!==u.REASONS.triggerHover&&"touch"!==F,x),d.useEffect(()=>{w||v.context.stickIfOpenTimeout.clear()},[v,w]);let I=d.useCallback(a=>{let b=(0,A.createChangeEventDetails)(a);return b.preventUnmountOnClose=()=>{v.set("preventUnmountingOnClose",!0)},b},[v]),J=d.useCallback(()=>{v.setOpen(!1,I(u.REASONS.imperativeAction))},[v,I]);d.useImperativeHandle(a.actionsRef,()=>({unmount:H,close:J}),[H,J]);let K=(0,k.useSyncedFloatingRootContext)({popupStore:v,onOpenChange:v.setOpen}),L=(0,g.useDismiss)(K,{outsidePressEvent:{mouse:"trap-focus"===q?"sloppy":"intentional",touch:"sloppy"}}),M=(0,i.useRole)(K),{getReferenceProps:N,getFloatingProps:O,getTriggerProps:P}=(0,h.useInteractions)([L,M]),Q=d.useMemo(()=>N(G),[N,G]),R=d.useMemo(()=>P(G),[P,G]),S=d.useMemo(()=>O(),[O]);v.useSyncedValues({modal:q,openMethod:F,activeTriggerProps:Q,inactiveTriggerProps:R,popupProps:S,floatingRootContext:K,nested:null!=(0,j.useFloatingParentNodeId)()});let T=d.useMemo(()=>({store:v}),[v]);return(0,c.jsx)(m.Provider,{value:T,children:"function"==typeof b?b({payload:y}):b})}var E=a.i(74686),F=a.i(19926),G=a.i(495154),H=a.i(213200),I=a.i(990045),J=a.i(979080),K=a.i(344986),L=a.i(366752),M=a.i(4510),N=a.i(606914),O=a.i(335703);let P=d.forwardRef(function(a,b){let{render:e,className:f,disabled:g=!1,nativeButton:i=!0,handle:j,payload:k,openOnHover:m=!1,delay:p=300,closeDelay:q=0,id:r,...s}=a,t=n(!0),v=j?.store??t?.store;if(!v)throw Error((0,l.default)(74));let w=(0,L.useBaseUiId)(r),y=v.useState("isTriggerActive",w),z=v.useState("floatingRootContext"),C=v.useState("isOpenedByTrigger",w),D=d.useRef(null),{registerTrigger:P,isMountedByThisTrigger:Q}=(0,B.useTriggerDataForwarding)(w,D,v,{payload:k,disabled:g,openOnHover:m,closeDelay:q}),R=v.useState("openChangeReason"),S=v.useState("stickIfOpen"),T=v.useState("openMethod"),U=(0,K.useHoverReferenceInteraction)(z,{enabled:null!=z&&m&&("touch"!==T||R!==u.REASONS.triggerPress),mouseOnly:!0,move:!1,handleClose:(0,I.safePolygon)(),restMs:p,delay:{close:q},triggerElementRef:D,isActiveTrigger:y}),V=(0,J.useClick)(z,{enabled:null!=z,stickIfOpen:S}),W=(0,h.useInteractions)([V]),X=v.useState("triggerProps",Q),{getButtonProps:Y,buttonRef:Z}=(0,F.useButton)({disabled:g,native:i}),$=d.useMemo(()=>({open:a=>a&&R===u.REASONS.triggerPress?G.pressableTriggerOpenStateMapping.open(a):G.triggerOpenStateMapping.open(a)}),[R]),_=(0,H.useRenderElement)("button",a,{state:{disabled:g,open:C},ref:[Z,b,P,D],props:[W.getReferenceProps(),U,X,{[x.CLICK_TRIGGER_IDENTIFIER]:"",id:w},s,Y],stateAttributesMapping:$}),aa=d.useRef(null),ab=(0,E.useStableCallback)(a=>{o.flushSync(()=>{v.setOpen(!1,(0,A.createChangeEventDetails)(u.REASONS.focusOut,a.nativeEvent,a.currentTarget))});let b=(0,O.getTabbableBeforeElement)(aa.current);b?.focus()}),ac=(0,E.useStableCallback)(a=>{let b=v.select("positionerElement");if(b&&(0,O.isOutsideEvent)(a,b))v.context.beforeContentFocusGuardRef.current?.focus();else{o.flushSync(()=>{v.setOpen(!1,(0,A.createChangeEventDetails)(u.REASONS.focusOut,a.nativeEvent,a.currentTarget))});let c=(0,O.getTabbableAfterElement)(v.context.triggerFocusTargetRef.current||D.current);for(;null!==c&&(0,N.contains)(b,c);){let a=c;if((c=(0,O.getNextTabbable)(c))===a)break}c?.focus()}});return y?(0,c.jsxs)(d.Fragment,{children:[(0,c.jsx)(M.FocusGuard,{ref:aa,onFocus:ab}),(0,c.jsx)(d.Fragment,{children:_},w),(0,c.jsx)(M.FocusGuard,{ref:v.context.triggerFocusTargetRef,onFocus:ac})]}):(0,c.jsx)(d.Fragment,{children:_},w)});var Q=a.i(414803);let R=d.createContext(void 0),S=d.forwardRef(function(a,b){let{keepMounted:d=!1,...e}=a,{store:f}=n();return f.useState("mounted")||d?(0,c.jsx)(R.Provider,{value:d,children:(0,c.jsx)(Q.FloatingPortal,{ref:b,...e})}):null});var T=a.i(976389),U=a.i(830067);let V=d.createContext(void 0);function W(){let a=d.useContext(V);if(!a)throw Error((0,l.default)(46));return a}var X=a.i(920420),Y=a.i(167284),Z=a.i(286489),$=a.i(8434),_=a.i(929174);let aa=d.forwardRef(function(a,b){let{render:e,className:f,anchor:g,positionMethod:h="absolute",side:i="bottom",align:k="center",sideOffset:m=0,alignOffset:o=0,collisionBoundary:p="clipping-ancestors",collisionPadding:q=5,arrowPadding:r=5,sticky:s=!1,disableAnchorTracking:t=!1,collisionAvoidance:v=x.POPUP_COLLISION_AVOIDANCE,...w}=a,{store:y}=n(),z=function(){let a=d.useContext(R);if(void 0===a)throw Error((0,l.default)(45));return a}(),A=(0,j.useFloatingNodeId)(),B=y.useState("floatingRootContext"),C=y.useState("mounted"),D=y.useState("open"),E=y.useState("openChangeReason"),F=y.useState("activeTriggerElement"),I=y.useState("modal"),J=y.useState("positionerElement"),K=y.useState("instantType"),L=y.useState("transitionStatus"),M=y.useState("hasViewport"),N=d.useRef(null),O=(0,Z.useAnimationsFinished)(J,!1,!1),P=(0,X.useAnchorPositioning)({anchor:g,floatingRootContext:B,positionMethod:h,mounted:C,side:i,sideOffset:m,align:k,alignOffset:o,arrowPadding:r,collisionBoundary:p,collisionPadding:q,sticky:s,disableAnchorTracking:t,keepMounted:z,nodeId:A,collisionAvoidance:v,adaptiveOrigin:M?$.adaptiveOrigin:void 0}),Q=d.useMemo(()=>{let a={};return D||(a.pointerEvents="none"),{role:"presentation",hidden:!C,style:{...P.positionerStyles,...a}}},[D,C,P.positionerStyles]),S=d.useMemo(()=>({props:Q,...P}),[Q,P]),W=B.useState("domReferenceElement");(0,U.useIsoLayoutEffect)(()=>{let a=N.current;if(W&&(N.current=W),a&&W&&W!==a){y.set("instantType",void 0);let a=new AbortController;return O(()=>{y.set("instantType","trigger-change")},a.signal),()=>{a.abort()}}},[W,O,y]);let aa={open:D,side:S.side,align:S.align,anchorHidden:S.anchorHidden,instant:K},ab=d.useCallback(a=>{y.set("positionerElement",a)},[y]),ac=(0,H.useRenderElement)("div",a,{state:aa,props:[S.props,(0,_.getDisabledMountTransitionStyles)(L),w],ref:[b,ab],stateAttributesMapping:G.popupStateMapping});return(0,c.jsxs)(V.Provider,{value:S,children:[C&&!0===I&&E!==u.REASONS.triggerHover&&(0,c.jsx)(Y.InternalBackdrop,{ref:y.context.internalBackdropRef,inert:(0,T.inertValue)(!D),cutout:F}),(0,c.jsx)(j.FloatingNode,{id:A,children:ac})]})});var ab=a.i(95133),ac=a.i(23454),ad=a.i(509952),ae=a.i(380562),af=a.i(398312),ag=a.i(894701),ah=a.i(668556);let ai=d.createContext(void 0);function aj(a){let{value:b,children:d}=a;return(0,c.jsx)(ai.Provider,{value:b,children:d})}let ak={...G.popupStateMapping,...ae.transitionStatusMapping},al=d.forwardRef(function(a,b){let{className:e,render:f,initialFocus:g,finalFocus:h,...i}=a,{store:j}=n(),k=W(),l=null!=(0,ah.useToolbarRootContext)(!0),{context:m,hasClosePart:o}=function(){let[a,b]=d.useState(0),c=(0,E.useStableCallback)(()=>(b(a=>a+1),()=>{b(a=>Math.max(0,a-1))}));return{context:d.useMemo(()=>({register:c}),[c]),hasClosePart:a>0}}(),p=j.useState("open"),q=j.useState("openMethod"),r=j.useState("instantType"),s=j.useState("transitionStatus"),t=j.useState("popupProps"),v=j.useState("titleElementId"),w=j.useState("descriptionElementId"),x=j.useState("modal"),y=j.useState("mounted"),z=j.useState("openChangeReason"),A=j.useState("activeTriggerElement"),B=j.useState("floatingRootContext");(0,af.useOpenChangeComplete)({open:p,ref:j.context.popupRef,onComplete(){p&&j.context.onOpenChangeComplete?.(!0)}});let C=j.useState("disabled"),D=j.useState("openOnHover"),F=j.useState("closeDelay");(0,ad.useHoverFloatingInteraction)(B,{enabled:D&&!C,closeDelay:F});let G=void 0===g?function(a){return"touch"!==a||j.context.popupRef.current}:g,I={open:p,side:k.side,align:k.align,instant:r,transitionStatus:s},J=d.useCallback(a=>{j.set("popupElement",a)},[j]),K=(0,H.useRenderElement)("div",a,{state:I,ref:[b,j.context.popupRef,J],props:[t,{"aria-labelledby":v,"aria-describedby":w,onKeyDown(a){l&&ag.COMPOSITE_KEYS.has(a.key)&&a.stopPropagation()}},(0,_.getDisabledMountTransitionStyles)(s),i],stateAttributesMapping:ak});return(0,c.jsx)(ac.FloatingFocusManager,{context:B,openInteractionType:q,modal:!1!==x&&o,disabled:!y||z===u.REASONS.triggerHover,initialFocus:G,returnFocus:h,restoreFocus:"popup",previousFocusableElement:(0,ab.isHTMLElement)(A)?A:void 0,nextFocusableElement:j.context.triggerFocusTargetRef,beforeContentFocusGuardRef:j.context.beforeContentFocusGuardRef,children:(0,c.jsx)(aj,{value:m,children:K})})}),am=d.forwardRef(function(a,b){let{className:c,render:d,...e}=a,{store:f}=n(),g=f.useState("open"),{arrowRef:h,side:i,align:j,arrowUncentered:k,arrowStyles:l}=W();return(0,H.useRenderElement)("div",a,{state:{open:g,side:i,align:j,uncentered:k},ref:[b,h],props:[{style:l,"aria-hidden":!0},e],stateAttributesMapping:G.popupStateMapping})}),an={...G.popupStateMapping,...ae.transitionStatusMapping},ao=d.forwardRef(function(a,b){let{className:c,render:d,...e}=a,{store:f}=n(),g=f.useState("open"),h=f.useState("mounted"),i=f.useState("transitionStatus"),j=f.useState("openChangeReason");return(0,H.useRenderElement)("div",a,{state:{open:g,transitionStatus:i},ref:[f.context.backdropRef,b],props:[{role:"presentation",hidden:!h,style:{pointerEvents:j===u.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},e],stateAttributesMapping:an})}),ap=d.forwardRef(function(a,b){let{render:c,className:d,...e}=a,{store:f}=n(),g=(0,L.useBaseUiId)(e.id);return(0,U.useIsoLayoutEffect)(()=>(f.set("titleElementId",g),()=>{f.set("titleElementId",void 0)}),[f,g]),(0,H.useRenderElement)("h2",a,{ref:b,props:[{id:g},e]})}),aq=d.forwardRef(function(a,b){let{render:c,className:d,...e}=a,{store:f}=n(),g=(0,L.useBaseUiId)(e.id);return(0,U.useIsoLayoutEffect)(()=>(f.set("descriptionElementId",g),()=>{f.set("descriptionElementId",void 0)}),[f,g]),(0,H.useRenderElement)("p",a,{ref:b,props:[{id:g},e]})}),ar=d.forwardRef(function(a,b){let c,{render:e,className:f,disabled:g=!1,nativeButton:h=!0,...i}=a,{buttonRef:j,getButtonProps:k}=(0,F.useButton)({disabled:g,focusableWhenDisabled:!1,native:h}),{store:l}=n();return c=d.useContext(ai),(0,U.useIsoLayoutEffect)(()=>c?.register(),[c]),(0,H.useRenderElement)("button",a,{ref:[b,j],props:[{onClick(a){l.setOpen(!1,(0,A.createChangeEventDetails)(u.REASONS.closePress,a.nativeEvent,a.currentTarget))}},i,k]})}),as=((b={}).popupWidth="--popup-width",b.popupHeight="--popup-height",b);var at=a.i(263425);let au={activationDirection:a=>a?{"data-activation-direction":a}:null},av=d.forwardRef(function(a,b){let{render:c,className:d,children:e,...f}=a,{store:g}=n(),{side:h}=W(),i=g.useState("instantType"),{children:j,state:k}=(0,at.usePopupViewport)({store:g,side:h,cssVars:as,children:e}),l={activationDirection:k.activationDirection,transitioning:k.transitioning,instant:i};return(0,H.useRenderElement)("div",a,{state:l,ref:b,props:[f,{children:j}],stateAttributesMapping:au})});class aw{constructor(){this.store=new z}open(a){let b=a?this.store.context.triggerElements.getById(a)??void 0:void 0;if(a&&!b)throw Error((0,l.default)(80,a));this.store.setOpen(!0,(0,A.createChangeEventDetails)(u.REASONS.imperativeAction,void 0,b))}close(){this.store.setOpen(!1,(0,A.createChangeEventDetails)(u.REASONS.imperativeAction,void 0,void 0))}get isOpen(){return this.store.state.open}}a.s(["Arrow",0,am,"Backdrop",0,ao,"Close",0,ar,"Description",0,aq,"Handle",0,aw,"Popup",0,al,"Portal",0,S,"Positioner",0,aa,"Root",0,function(a){return n(!0)?(0,c.jsx)(D,{props:a}):(0,c.jsx)(j.FloatingTree,{children:(0,c.jsx)(D,{props:a})})},"Title",0,ap,"Trigger",0,P,"Viewport",0,av,"createHandle",0,function(){return new aw}],830986);var ax=a.i(830986),ax=ax,ay=a.i(368114);a.s(["Popover",0,function({...a}){return(0,c.jsx)(ax.Root,{"data-slot":"popover",...a})},"PopoverContent",0,function({className:a,align:b="center",alignOffset:d=0,side:e="bottom",sideOffset:f=4,...g}){return(0,c.jsx)(ax.Portal,{children:(0,c.jsx)(ax.Positioner,{align:b,alignOffset:d,side:e,sideOffset:f,className:"isolate z-50",children:(0,c.jsx)(ax.Popup,{"data-slot":"popover-content",className:(0,ay.cn)("z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",a),...g})})})},"PopoverTrigger",0,function({...a}){return(0,c.jsx)(ax.Trigger,{"data-slot":"popover-trigger",...a})}],599209)},509405,a=>{"use strict";let b=(0,a.i(711796).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],509405)}];
1
+ module.exports=[599209,a=>{"use strict";var b,c=a.i(728778);a.s([],664841),a.i(664841);var d=a.i(374637),e=a.i(291034),f=a.i(834244),g=a.i(799942),h=a.i(226682),i=a.i(459805),j=a.i(719084),k=a.i(322516),l=a.i(862306);let m=d.createContext(void 0);function n(a){let b=d.useContext(m);if(void 0===b&&!a)throw Error((0,l.default)(47));return b}var o=a.i(986099),p=a.i(142103),q=a.i(459161),r=a.i(102934),s=a.i(196692),t=a.i(493358),u=a.i(100737),v=a.i(384527),w=a.i(837049),x=a.i(619199);let y={...v.popupStoreSelectors,disabled:(0,q.createSelector)(a=>a.disabled),instantType:(0,q.createSelector)(a=>a.instantType),openMethod:(0,q.createSelector)(a=>a.openMethod),openChangeReason:(0,q.createSelector)(a=>a.openChangeReason),modal:(0,q.createSelector)(a=>a.modal),stickIfOpen:(0,q.createSelector)(a=>a.stickIfOpen),titleElementId:(0,q.createSelector)(a=>a.titleElementId),descriptionElementId:(0,q.createSelector)(a=>a.descriptionElementId),openOnHover:(0,q.createSelector)(a=>a.openOnHover),closeDelay:(0,q.createSelector)(a=>a.closeDelay),hasViewport:(0,q.createSelector)(a=>a.hasViewport)};class z extends p.ReactStore{constructor(a){const b={...(0,v.createInitialPopupStoreState)(),disabled:!1,modal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,nested:!1,openOnHover:!1,closeDelay:0,hasViewport:!1,...a};b.open&&a?.mounted===void 0&&(b.mounted=!0),super(b,{popupRef:d.createRef(),backdropRef:d.createRef(),internalBackdropRef:d.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:d.createRef(),beforeContentFocusGuardRef:d.createRef(),stickIfOpenTimeout:new r.Timeout,triggerElements:new w.PopupTriggerMap},y)}setOpen=(a,b)=>{let c=b.reason===u.REASONS.triggerHover,d=b.reason===u.REASONS.triggerPress&&0===b.event.detail,e=!a&&(b.reason===u.REASONS.escapeKey||null==b.reason);if(b.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},this.context.onOpenChange?.(a,b),b.isCanceled)return;let f={open:a,nativeEvent:b.event,reason:b.reason,nested:this.state.nested,triggerElement:b.trigger},g=this.state.floatingRootContext.context.events;g?.emit("openchange",f);let h=()=>{let c={open:a,openChangeReason:b.reason},d=b.trigger?.id??null;(d||a)&&(c.activeTriggerId=d,c.activeTriggerElement=b.trigger??null),this.update(c)};c?(this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(x.PATIENT_CLICK_THRESHOLD,()=>{this.set("stickIfOpen",!1)}),o.flushSync(h)):h(),d||e?this.set("instantType",d?"click":"dismiss"):b.reason===u.REASONS.focusOut?this.set("instantType","focus"):this.set("instantType",void 0)};static useStore(a,b){let c=(0,s.useRefWithInit)(()=>new z(b)).current,d=a??c;return(0,t.useOnMount)(c.disposeEffect),d}disposeEffect=()=>this.context.stickIfOpenTimeout.disposeEffect()}var A=a.i(622047),B=a.i(771532),C=a.i(742122);function D({props:a}){let{children:b,open:l,defaultOpen:n=!1,onOpenChange:o,onOpenChangeComplete:p,modal:q=!1,handle:r,triggerId:s,defaultTriggerId:t=null}=a,v=z.useStore(r?.store,{modal:q,open:n,openProp:l,activeTriggerId:t,triggerIdProp:s});(0,f.useOnFirstRender)(()=>{void 0===l&&!1===v.state.open&&!0===n&&v.update({open:!0,activeTriggerId:t})}),v.useControlledProp("openProp",l),v.useControlledProp("triggerIdProp",s);let w=v.useState("open"),x=v.useState("positionerElement"),y=v.useState("payload"),E=v.useState("openChangeReason");v.useContextCallback("onOpenChange",o),v.useContextCallback("onOpenChangeComplete",p);let{openMethod:F,triggerProps:G}=(0,C.useOpenInteractionType)(w);(0,B.useImplicitActiveTrigger)(v);let{forceUnmount:H}=(0,B.useOpenStateTransitions)(w,v,()=>{v.update({stickIfOpen:!0,openChangeReason:null})});(0,e.useScrollLock)(w&&!0===q&&E!==u.REASONS.triggerHover&&"touch"!==F,x),d.useEffect(()=>{w||v.context.stickIfOpenTimeout.clear()},[v,w]);let I=d.useCallback(a=>{let b=(0,A.createChangeEventDetails)(a);return b.preventUnmountOnClose=()=>{v.set("preventUnmountingOnClose",!0)},b},[v]),J=d.useCallback(()=>{v.setOpen(!1,I(u.REASONS.imperativeAction))},[v,I]);d.useImperativeHandle(a.actionsRef,()=>({unmount:H,close:J}),[H,J]);let K=(0,k.useSyncedFloatingRootContext)({popupStore:v,onOpenChange:v.setOpen}),L=(0,g.useDismiss)(K,{outsidePressEvent:{mouse:"trap-focus"===q?"sloppy":"intentional",touch:"sloppy"}}),M=(0,i.useRole)(K),{getReferenceProps:N,getFloatingProps:O,getTriggerProps:P}=(0,h.useInteractions)([L,M]),Q=d.useMemo(()=>N(G),[N,G]),R=d.useMemo(()=>P(G),[P,G]),S=d.useMemo(()=>O(),[O]);v.useSyncedValues({modal:q,openMethod:F,activeTriggerProps:Q,inactiveTriggerProps:R,popupProps:S,floatingRootContext:K,nested:null!=(0,j.useFloatingParentNodeId)()});let T=d.useMemo(()=>({store:v}),[v]);return(0,c.jsx)(m.Provider,{value:T,children:"function"==typeof b?b({payload:y}):b})}var E=a.i(74686),F=a.i(19926),G=a.i(495154),H=a.i(213200),I=a.i(990045),J=a.i(979080),K=a.i(344986),L=a.i(366752),M=a.i(4510),N=a.i(606914),O=a.i(335703);let P=d.forwardRef(function(a,b){let{render:e,className:f,disabled:g=!1,nativeButton:i=!0,handle:j,payload:k,openOnHover:m=!1,delay:p=300,closeDelay:q=0,id:r,...s}=a,t=n(!0),v=j?.store??t?.store;if(!v)throw Error((0,l.default)(74));let w=(0,L.useBaseUiId)(r),y=v.useState("isTriggerActive",w),z=v.useState("floatingRootContext"),C=v.useState("isOpenedByTrigger",w),D=d.useRef(null),{registerTrigger:P,isMountedByThisTrigger:Q}=(0,B.useTriggerDataForwarding)(w,D,v,{payload:k,disabled:g,openOnHover:m,closeDelay:q}),R=v.useState("openChangeReason"),S=v.useState("stickIfOpen"),T=v.useState("openMethod"),U=(0,K.useHoverReferenceInteraction)(z,{enabled:null!=z&&m&&("touch"!==T||R!==u.REASONS.triggerPress),mouseOnly:!0,move:!1,handleClose:(0,I.safePolygon)(),restMs:p,delay:{close:q},triggerElementRef:D,isActiveTrigger:y}),V=(0,J.useClick)(z,{enabled:null!=z,stickIfOpen:S}),W=(0,h.useInteractions)([V]),X=v.useState("triggerProps",Q),{getButtonProps:Y,buttonRef:Z}=(0,F.useButton)({disabled:g,native:i}),$=d.useMemo(()=>({open:a=>a&&R===u.REASONS.triggerPress?G.pressableTriggerOpenStateMapping.open(a):G.triggerOpenStateMapping.open(a)}),[R]),_=(0,H.useRenderElement)("button",a,{state:{disabled:g,open:C},ref:[Z,b,P,D],props:[W.getReferenceProps(),U,X,{[x.CLICK_TRIGGER_IDENTIFIER]:"",id:w},s,Y],stateAttributesMapping:$}),aa=d.useRef(null),ab=(0,E.useStableCallback)(a=>{o.flushSync(()=>{v.setOpen(!1,(0,A.createChangeEventDetails)(u.REASONS.focusOut,a.nativeEvent,a.currentTarget))});let b=(0,O.getTabbableBeforeElement)(aa.current);b?.focus()}),ac=(0,E.useStableCallback)(a=>{let b=v.select("positionerElement");if(b&&(0,O.isOutsideEvent)(a,b))v.context.beforeContentFocusGuardRef.current?.focus();else{o.flushSync(()=>{v.setOpen(!1,(0,A.createChangeEventDetails)(u.REASONS.focusOut,a.nativeEvent,a.currentTarget))});let c=(0,O.getTabbableAfterElement)(v.context.triggerFocusTargetRef.current||D.current);for(;null!==c&&(0,N.contains)(b,c);){let a=c;if((c=(0,O.getNextTabbable)(c))===a)break}c?.focus()}});return y?(0,c.jsxs)(d.Fragment,{children:[(0,c.jsx)(M.FocusGuard,{ref:aa,onFocus:ab}),(0,c.jsx)(d.Fragment,{children:_},w),(0,c.jsx)(M.FocusGuard,{ref:v.context.triggerFocusTargetRef,onFocus:ac})]}):(0,c.jsx)(d.Fragment,{children:_},w)});var Q=a.i(414803);let R=d.createContext(void 0),S=d.forwardRef(function(a,b){let{keepMounted:d=!1,...e}=a,{store:f}=n();return f.useState("mounted")||d?(0,c.jsx)(R.Provider,{value:d,children:(0,c.jsx)(Q.FloatingPortal,{ref:b,...e})}):null});var T=a.i(976389),U=a.i(830067);let V=d.createContext(void 0);function W(){let a=d.useContext(V);if(!a)throw Error((0,l.default)(46));return a}var X=a.i(920420),Y=a.i(167284),Z=a.i(286489),$=a.i(8434),_=a.i(929174);let aa=d.forwardRef(function(a,b){let{render:e,className:f,anchor:g,positionMethod:h="absolute",side:i="bottom",align:k="center",sideOffset:m=0,alignOffset:o=0,collisionBoundary:p="clipping-ancestors",collisionPadding:q=5,arrowPadding:r=5,sticky:s=!1,disableAnchorTracking:t=!1,collisionAvoidance:v=x.POPUP_COLLISION_AVOIDANCE,...w}=a,{store:y}=n(),z=function(){let a=d.useContext(R);if(void 0===a)throw Error((0,l.default)(45));return a}(),A=(0,j.useFloatingNodeId)(),B=y.useState("floatingRootContext"),C=y.useState("mounted"),D=y.useState("open"),E=y.useState("openChangeReason"),F=y.useState("activeTriggerElement"),I=y.useState("modal"),J=y.useState("positionerElement"),K=y.useState("instantType"),L=y.useState("transitionStatus"),M=y.useState("hasViewport"),N=d.useRef(null),O=(0,Z.useAnimationsFinished)(J,!1,!1),P=(0,X.useAnchorPositioning)({anchor:g,floatingRootContext:B,positionMethod:h,mounted:C,side:i,sideOffset:m,align:k,alignOffset:o,arrowPadding:r,collisionBoundary:p,collisionPadding:q,sticky:s,disableAnchorTracking:t,keepMounted:z,nodeId:A,collisionAvoidance:v,adaptiveOrigin:M?$.adaptiveOrigin:void 0}),Q=d.useMemo(()=>{let a={};return D||(a.pointerEvents="none"),{role:"presentation",hidden:!C,style:{...P.positionerStyles,...a}}},[D,C,P.positionerStyles]),S=d.useMemo(()=>({props:Q,...P}),[Q,P]),W=B.useState("domReferenceElement");(0,U.useIsoLayoutEffect)(()=>{let a=N.current;if(W&&(N.current=W),a&&W&&W!==a){y.set("instantType",void 0);let a=new AbortController;return O(()=>{y.set("instantType","trigger-change")},a.signal),()=>{a.abort()}}},[W,O,y]);let aa={open:D,side:S.side,align:S.align,anchorHidden:S.anchorHidden,instant:K},ab=d.useCallback(a=>{y.set("positionerElement",a)},[y]),ac=(0,H.useRenderElement)("div",a,{state:aa,props:[S.props,(0,_.getDisabledMountTransitionStyles)(L),w],ref:[b,ab],stateAttributesMapping:G.popupStateMapping});return(0,c.jsxs)(V.Provider,{value:S,children:[C&&!0===I&&E!==u.REASONS.triggerHover&&(0,c.jsx)(Y.InternalBackdrop,{ref:y.context.internalBackdropRef,inert:(0,T.inertValue)(!D),cutout:F}),(0,c.jsx)(j.FloatingNode,{id:A,children:ac})]})});var ab=a.i(95133),ac=a.i(23454),ad=a.i(509952),ae=a.i(380562),af=a.i(398312),ag=a.i(894701),ah=a.i(668556);let ai=d.createContext(void 0);function aj(a){let{value:b,children:d}=a;return(0,c.jsx)(ai.Provider,{value:b,children:d})}let ak={...G.popupStateMapping,...ae.transitionStatusMapping},al=d.forwardRef(function(a,b){let{className:e,render:f,initialFocus:g,finalFocus:h,...i}=a,{store:j}=n(),k=W(),l=null!=(0,ah.useToolbarRootContext)(!0),{context:m,hasClosePart:o}=function(){let[a,b]=d.useState(0),c=(0,E.useStableCallback)(()=>(b(a=>a+1),()=>{b(a=>Math.max(0,a-1))}));return{context:d.useMemo(()=>({register:c}),[c]),hasClosePart:a>0}}(),p=j.useState("open"),q=j.useState("openMethod"),r=j.useState("instantType"),s=j.useState("transitionStatus"),t=j.useState("popupProps"),v=j.useState("titleElementId"),w=j.useState("descriptionElementId"),x=j.useState("modal"),y=j.useState("mounted"),z=j.useState("openChangeReason"),A=j.useState("activeTriggerElement"),B=j.useState("floatingRootContext");(0,af.useOpenChangeComplete)({open:p,ref:j.context.popupRef,onComplete(){p&&j.context.onOpenChangeComplete?.(!0)}});let C=j.useState("disabled"),D=j.useState("openOnHover"),F=j.useState("closeDelay");(0,ad.useHoverFloatingInteraction)(B,{enabled:D&&!C,closeDelay:F});let G=void 0===g?function(a){return"touch"!==a||j.context.popupRef.current}:g,I={open:p,side:k.side,align:k.align,instant:r,transitionStatus:s},J=d.useCallback(a=>{j.set("popupElement",a)},[j]),K=(0,H.useRenderElement)("div",a,{state:I,ref:[b,j.context.popupRef,J],props:[t,{"aria-labelledby":v,"aria-describedby":w,onKeyDown(a){l&&ag.COMPOSITE_KEYS.has(a.key)&&a.stopPropagation()}},(0,_.getDisabledMountTransitionStyles)(s),i],stateAttributesMapping:ak});return(0,c.jsx)(ac.FloatingFocusManager,{context:B,openInteractionType:q,modal:!1!==x&&o,disabled:!y||z===u.REASONS.triggerHover,initialFocus:G,returnFocus:h,restoreFocus:"popup",previousFocusableElement:(0,ab.isHTMLElement)(A)?A:void 0,nextFocusableElement:j.context.triggerFocusTargetRef,beforeContentFocusGuardRef:j.context.beforeContentFocusGuardRef,children:(0,c.jsx)(aj,{value:m,children:K})})}),am=d.forwardRef(function(a,b){let{className:c,render:d,...e}=a,{store:f}=n(),g=f.useState("open"),{arrowRef:h,side:i,align:j,arrowUncentered:k,arrowStyles:l}=W();return(0,H.useRenderElement)("div",a,{state:{open:g,side:i,align:j,uncentered:k},ref:[b,h],props:[{style:l,"aria-hidden":!0},e],stateAttributesMapping:G.popupStateMapping})}),an={...G.popupStateMapping,...ae.transitionStatusMapping},ao=d.forwardRef(function(a,b){let{className:c,render:d,...e}=a,{store:f}=n(),g=f.useState("open"),h=f.useState("mounted"),i=f.useState("transitionStatus"),j=f.useState("openChangeReason");return(0,H.useRenderElement)("div",a,{state:{open:g,transitionStatus:i},ref:[f.context.backdropRef,b],props:[{role:"presentation",hidden:!h,style:{pointerEvents:j===u.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},e],stateAttributesMapping:an})}),ap=d.forwardRef(function(a,b){let{render:c,className:d,...e}=a,{store:f}=n(),g=(0,L.useBaseUiId)(e.id);return(0,U.useIsoLayoutEffect)(()=>(f.set("titleElementId",g),()=>{f.set("titleElementId",void 0)}),[f,g]),(0,H.useRenderElement)("h2",a,{ref:b,props:[{id:g},e]})}),aq=d.forwardRef(function(a,b){let{render:c,className:d,...e}=a,{store:f}=n(),g=(0,L.useBaseUiId)(e.id);return(0,U.useIsoLayoutEffect)(()=>(f.set("descriptionElementId",g),()=>{f.set("descriptionElementId",void 0)}),[f,g]),(0,H.useRenderElement)("p",a,{ref:b,props:[{id:g},e]})}),ar=d.forwardRef(function(a,b){let c,{render:e,className:f,disabled:g=!1,nativeButton:h=!0,...i}=a,{buttonRef:j,getButtonProps:k}=(0,F.useButton)({disabled:g,focusableWhenDisabled:!1,native:h}),{store:l}=n();return c=d.useContext(ai),(0,U.useIsoLayoutEffect)(()=>c?.register(),[c]),(0,H.useRenderElement)("button",a,{ref:[b,j],props:[{onClick(a){l.setOpen(!1,(0,A.createChangeEventDetails)(u.REASONS.closePress,a.nativeEvent,a.currentTarget))}},i,k]})}),as=((b={}).popupWidth="--popup-width",b.popupHeight="--popup-height",b);var at=a.i(263425);let au={activationDirection:a=>a?{"data-activation-direction":a}:null},av=d.forwardRef(function(a,b){let{render:c,className:d,children:e,...f}=a,{store:g}=n(),{side:h}=W(),i=g.useState("instantType"),{children:j,state:k}=(0,at.usePopupViewport)({store:g,side:h,cssVars:as,children:e}),l={activationDirection:k.activationDirection,transitioning:k.transitioning,instant:i};return(0,H.useRenderElement)("div",a,{state:l,ref:b,props:[f,{children:j}],stateAttributesMapping:au})});class aw{constructor(){this.store=new z}open(a){let b=a?this.store.context.triggerElements.getById(a)??void 0:void 0;if(a&&!b)throw Error((0,l.default)(80,a));this.store.setOpen(!0,(0,A.createChangeEventDetails)(u.REASONS.imperativeAction,void 0,b))}close(){this.store.setOpen(!1,(0,A.createChangeEventDetails)(u.REASONS.imperativeAction,void 0,void 0))}get isOpen(){return this.store.state.open}}a.s(["Arrow",0,am,"Backdrop",0,ao,"Close",0,ar,"Description",0,aq,"Handle",0,aw,"Popup",0,al,"Portal",0,S,"Positioner",0,aa,"Root",0,function(a){return n(!0)?(0,c.jsx)(D,{props:a}):(0,c.jsx)(j.FloatingTree,{children:(0,c.jsx)(D,{props:a})})},"Title",0,ap,"Trigger",0,P,"Viewport",0,av,"createHandle",0,function(){return new aw}],830986);var ax=a.i(830986),ax=ax,ay=a.i(368114);a.s(["Popover",0,function({...a}){return(0,c.jsx)(ax.Root,{"data-slot":"popover",...a})},"PopoverContent",0,function({className:a,align:b="center",alignOffset:d=0,side:e="bottom",sideOffset:f=4,...g}){return(0,c.jsx)(ax.Portal,{children:(0,c.jsx)(ax.Positioner,{align:b,alignOffset:d,side:e,sideOffset:f,className:"isolate z-50",children:(0,c.jsx)(ax.Popup,{"data-slot":"popover-content",className:(0,ay.cn)("z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",a),...g})})})},"PopoverTrigger",0,function({...a}){return(0,c.jsx)(ax.Trigger,{"data-slot":"popover-trigger",...a})}],599209)}];
2
2
 
3
- //# sourceMappingURL=_0bndp1~._.js.map
3
+ //# sourceMappingURL=src_components_ui_popover_tsx_0a78wqo._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(a=>Promise.resolve().then(()=>a(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
1
+ module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js"].map(b=>a.l(b))).then(()=>b(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
2
 
3
- //# sourceMappingURL=src_lib_03xtona._.js.map
3
+ //# sourceMappingURL=src_lib_0-3zx.v._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js"].map(b=>a.l(b))).then(()=>b(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
+
3
+ //# sourceMappingURL=src_lib_00ial55._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js"].map(b=>a.l(b))).then(()=>b(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
+
3
+ //# sourceMappingURL=src_lib_01-0ix1._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js"].map(b=>a.l(b))).then(()=>b(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
+
3
+ //# sourceMappingURL=src_lib_01d~ml9._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(a=>Promise.resolve().then(()=>a(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
2
 
3
- //# sourceMappingURL=src_lib_04y-65j._.js.map
3
+ //# sourceMappingURL=src_lib_0278czx._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js"].map(b=>a.l(b))).then(()=>b(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
+
3
+ //# sourceMappingURL=src_lib_07o.0r6._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js"].map(b=>a.l(b))).then(()=>b(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
+
3
+ //# sourceMappingURL=src_lib_09jpiip._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js"].map(b=>a.l(b))).then(()=>b(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
+
3
+ //# sourceMappingURL=src_lib_0bmg7ix._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js"].map(b=>a.l(b))).then(()=>b(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
+
3
+ //# sourceMappingURL=src_lib_0cb~2g1._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js"].map(b=>a.l(b))).then(()=>b(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
+
3
+ //# sourceMappingURL=src_lib_0fdsvpu._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js"].map(b=>a.l(b))).then(()=>b(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
+
3
+ //# sourceMappingURL=src_lib_0fyrfen._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},888269,a=>{a.v(a=>Promise.resolve().then(()=>a(328521)))},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
2
2
 
3
- //# sourceMappingURL=src_lib_0-x.wbd._.js.map
3
+ //# sourceMappingURL=src_lib_0gqe-g3._.js.map