@chorus-aidlc/chorus 0.9.2 → 0.9.4

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 (299) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +321 -302
  3. package/.next/standalone/.next/app-path-routes-manifest.json +31 -31
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +24 -24
  6. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +3 -3
  41. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  45. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  46. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  49. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  50. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  53. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin.html +1 -1
  55. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  56. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  62. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  83. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  86. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  92. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/mcp/route.js +3 -3
  98. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  115. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  120. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  123. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js +1 -1
  126. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js +1 -1
  130. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  137. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
  141. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js +1 -1
  143. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js +1 -1
  145. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js +1 -1
  147. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js +1 -1
  149. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  152. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  155. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  158. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  161. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  164. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  167. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  170. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/index.html +1 -1
  173. package/.next/standalone/.next/server/app/index.rsc +2 -2
  174. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  176. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  177. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  179. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  180. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  183. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  184. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  186. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +2 -2
  187. package/.next/standalone/.next/server/app/login.html +1 -1
  188. package/.next/standalone/.next/server/app/login.rsc +2 -2
  189. package/.next/standalone/.next/server/app/onboarding/page.js +2 -32
  190. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  193. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  194. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/projects.html +1 -1
  196. package/.next/standalone/.next/server/app/projects.rsc +3 -3
  197. package/.next/standalone/.next/server/app/settings.html +1 -1
  198. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  199. package/.next/standalone/.next/server/app-paths-manifest.json +31 -31
  200. package/.next/standalone/.next/server/chunks/1165.js +1 -1
  201. package/.next/standalone/.next/server/chunks/1615.js +31 -0
  202. package/.next/standalone/.next/server/chunks/1871.js +1 -1
  203. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  204. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  205. package/.next/standalone/.next/server/chunks/2990.js +1 -1
  206. package/.next/standalone/.next/server/chunks/5491.js +1 -1
  207. package/.next/standalone/.next/server/chunks/5561.js +7 -0
  208. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  209. package/.next/standalone/.next/server/chunks/{6320.js → 7063.js} +1 -1
  210. package/.next/standalone/.next/server/chunks/7228.js +2 -2
  211. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  212. package/.next/standalone/.next/server/chunks/7578.js +2 -2
  213. package/.next/standalone/.next/server/chunks/896.js +1 -0
  214. package/.next/standalone/.next/server/chunks/920.js +1 -1
  215. package/.next/standalone/.next/server/chunks/937.js +1 -1
  216. package/.next/standalone/.next/server/chunks/9508.js +2 -2
  217. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  218. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  219. package/.next/standalone/.next/server/pages/404.html +1 -1
  220. package/.next/standalone/.next/server/pages/500.html +1 -1
  221. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  223. package/.next/standalone/.next/static/chunks/16984-8ab5580b8e63a200.js +1 -0
  224. package/.next/standalone/.next/static/chunks/19898-2a3d83a3996794cd.js +1 -0
  225. package/.next/standalone/.next/static/chunks/20051-d9233fd4578d66cc.js +1 -0
  226. package/.next/standalone/.next/static/chunks/35486-592daa5c9fdf701d.js +1 -0
  227. package/.next/standalone/.next/static/chunks/{4860.60152a625f2a714f.js → 4860.1bebb2a898b170f6.js} +1 -1
  228. package/.next/standalone/.next/static/chunks/52206-6048525f57a21502.js +1 -0
  229. package/.next/standalone/.next/static/chunks/55469-ed5ff019ff71ef59.js +1 -0
  230. package/.next/standalone/.next/static/chunks/59296-4fa84fe82e2c7789.js +1 -0
  231. package/.next/standalone/.next/static/chunks/66205-8d7eae6a0f0a032d.js +1 -0
  232. package/.next/standalone/.next/static/chunks/{86944-95f8c67fb7a51911.js → 70093-0ff6fd59445b5cb9.js} +1 -1
  233. package/.next/standalone/.next/static/chunks/94655-1c75e0590a66215e.js +1 -0
  234. package/.next/standalone/.next/static/chunks/95627-8d9f6d2d88f7a641.js +1 -0
  235. package/.next/standalone/.next/static/chunks/{99373.4d93aaaf56fe7819.js → 99373.13c8ac5da1ddabe9.js} +1 -1
  236. package/.next/standalone/.next/static/chunks/app/(dashboard)/{layout-dd7eb66bb4ffd252.js → layout-b55a8d6d9bd27276.js} +1 -1
  237. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-6d92b9867caf0fe1.js → page-fd10bca891f0f73a.js} +1 -1
  238. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/{page-f8f17f58cf779d37.js → page-2e000a7010d1e9ea.js} +1 -1
  239. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-75e42d130404ca2b.js +1 -0
  240. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-6a38c21b164cdc07.js +1 -0
  241. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-48c840cb3011bf97.js +1 -0
  242. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-7ec535fac7bbc75d.js +1 -0
  243. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-8f91ed174c14d5f0.js +1 -0
  244. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-f6814f25bbacdbea.js +1 -0
  245. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-92e8980da0d98d48.js +1 -0
  246. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/{page-db79d84fa8ca8cbf.js → page-ab87cbb18d0ee538.js} +1 -1
  247. package/.next/standalone/.next/static/chunks/app/onboarding/page-922a196db6eb2385.js +1 -0
  248. package/.next/standalone/.next/static/chunks/{webpack-8e0df5e10bc6b98f.js → webpack-4a8c75a0d40c2106.js} +1 -1
  249. package/.next/standalone/.next/static/css/bfe962487ee66da7.css +1 -0
  250. package/.next/standalone/package.json +1 -1
  251. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  252. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +7 -7
  253. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +1 -1
  254. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  255. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +32 -33
  256. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  257. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +13 -4
  258. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +9 -4
  259. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  260. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +9 -6
  261. package/.next/standalone/public/install-codex.sh +200 -90
  262. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +7 -7
  263. package/.next/standalone/public/skill/chorus/SKILL.md +55 -3
  264. package/.next/standalone/public/skill/develop-chorus/SKILL.md +2 -2
  265. package/.next/standalone/public/skill/idea-chorus/SKILL.md +32 -33
  266. package/.next/standalone/public/skill/package.json +21 -5
  267. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +13 -4
  268. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +198 -0
  269. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +9 -4
  270. package/.next/standalone/public/skill/review-chorus/SKILL.md +13 -3
  271. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +219 -0
  272. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +531 -0
  273. package/.next/standalone/public/test-install-codex.sh +4 -0
  274. package/package.json +1 -1
  275. package/prisma/migrations/20260604130604_add_elaboration_round_is_appended/migration.sql +2 -0
  276. package/prisma/schema.prisma +2 -1
  277. package/.next/standalone/.next/server/chunks/1002.js +0 -1
  278. package/.next/standalone/.next/server/chunks/1854.js +0 -7
  279. package/.next/standalone/.next/server/chunks/6878.js +0 -1
  280. package/.next/standalone/.next/static/chunks/19898-7e07c69b635e3662.js +0 -1
  281. package/.next/standalone/.next/static/chunks/29660-edf78f7a4c65f416.js +0 -1
  282. package/.next/standalone/.next/static/chunks/34775-387b9a9967a35ccb.js +0 -1
  283. package/.next/standalone/.next/static/chunks/35486-1978488574385a45.js +0 -1
  284. package/.next/standalone/.next/static/chunks/4457-b86052b2e954e357.js +0 -1
  285. package/.next/standalone/.next/static/chunks/52206-51a89715ca643e44.js +0 -1
  286. package/.next/standalone/.next/static/chunks/53298-82b9c818cd70686d.js +0 -1
  287. package/.next/standalone/.next/static/chunks/65642-e75efce9967747bc.js +0 -1
  288. package/.next/standalone/.next/static/chunks/75444-976ac95fd66e7988.js +0 -1
  289. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-83e2e42b27132b41.js +0 -1
  290. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-55148db4b28ee5f5.js +0 -1
  291. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-556c181809c9e4f6.js +0 -1
  292. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-656797940b35b23c.js +0 -1
  293. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-af88aeaedc3f4ae5.js +0 -1
  294. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-6524ab00e6cdf59a.js +0 -1
  295. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-7b0bb5f037cd320b.js +0 -1
  296. package/.next/standalone/.next/static/chunks/app/onboarding/page-7a00689ba561c111.js +0 -1
  297. package/.next/standalone/.next/static/css/ea3f196c7951f8d6.css +0 -1
  298. /package/.next/standalone/.next/static/{-kClYg0a7zvFcgkw_LnG7 → YJZurE1onX9K-RDNIplc5}/_buildManifest.js +0 -0
  299. /package/.next/standalone/.next/static/{-kClYg0a7zvFcgkw_LnG7 → YJZurE1onX9K-RDNIplc5}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69305],{5877:(e,t,a)=>{Promise.resolve().then(a.bind(a,11156))},11156:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>ej});var r=a(90508),n=a(1856),s=a(23675),o=a(39268),i=a(12790),l=a.n(i),c=a(22922),d=a(32239),u=a(29767),f=a(56770),m=a(50609),x=a(23217),p=a(97645),h=a(94152),g=a(52309),v=a(70633),b=a(17730),j=a(90683),y=a(9111),w=a(62990),N=a(93114),k=a(97438),C=a(67712);let A=[{cx:54,cy:135,topY:117},{cx:96,cy:114,topY:96},{cx:120,cy:118,topY:108},{cx:155,cy:115,topY:105},{cx:146,cy:148,topY:130},{cx:95,cy:149,topY:138},{cx:133,cy:168,topY:158}],S=Array.from({length:7},(e,t)=>t).sort((e,t)=>A[e].topY-A[t].topY),_={bulb:2e3,document:1500,stars:2500,flash:400},E=function(){let e={floor:"floor.png"};for(let t=0;t<7;t++)e["char".concat(t,"-frame1")]="char".concat(t,"-frame1.png"),e["char".concat(t,"-frame2")]="char".concat(t,"-frame2.png");return e}();function T(e){let{slots:t,projectName:a,agentCount:s,collapsed:o=!1,effects:i,onEffectsConsumed:l}=e,c=(0,n.useRef)(null),d=(0,n.useRef)({}),u=(0,n.useRef)(!1),f=(0,n.useRef)(0),m=(0,n.useRef)(0),x=(0,n.useRef)(0),p=(0,n.useRef)(Array.from({length:7},()=>({state:"empty",cycleIndex:0,frameTicks:0,ticksPerFrame:1,stateTimer:0}))),h=(0,n.useRef)(t),g=(0,n.useRef)(a),v=(0,n.useRef)(s),b=(0,n.useRef)(o),j=(0,n.useRef)([]);(0,n.useEffect)(()=>{h.current=t;for(let r=0;r<7;r++){var e,a;let n=null!=(a=null==(e=t[r])?void 0:e.state)?a:"empty",s=p.current[r];s.state!==n&&(s.state=n,s.cycleIndex=0,s.frameTicks=0,s.stateTimer=0)}},[t]),(0,n.useEffect)(()=>{g.current=a},[a]),(0,n.useEffect)(()=>{v.current=s},[s]),(0,n.useEffect)(()=>{b.current=o},[o]),(0,n.useEffect)(()=>{i&&0!==i.length&&(i.forEach(e=>{var t;j.current.push({type:e.type,slotIndex:null!=(t=e.slotIndex)?t:0,elapsed:0,duration:_[e.type]})}),null==l||l())},[i,l]);let y=(0,n.useCallback)(e=>{e.fillStyle="#d0d0e0",e.fillRect(0,0,256,16),e.fillStyle="#e4e4f0",e.fillRect(0,0,256,1),e.fillStyle="#9999aa",e.fillRect(0,15,256,1),e.font="bold 7px monospace",e.textBaseline="middle",e.fillStyle="#333",e.textAlign="left";let t=g.current,a=t.length>20?t.slice(0,18)+"..":t;e.fillText(a,6,8),e.textAlign="right",e.fillStyle="#336";let r=v.current;e.fillText("".concat(r," agent").concat(1!==r?"s":""),250,8),e.textAlign="start",e.textBaseline="alphabetic"},[]),w=(0,n.useCallback)((e,t)=>{let a=h.current[t];if(!(null==a?void 0:a.sessionName))return;let r=A[t];e.font="5px monospace",e.textAlign="center",e.textBaseline="bottom";let n=a.sessionName.length>12?a.sessionName.slice(0,10)+"..":a.sessionName,s=e.measureText(n).width,o=r.cx,i=r.topY-4;e.fillStyle="rgba(0,0,0,0.55)",e.fillRect(o-s/2-2,i-6,s+4,7),e.fillStyle="#fff",e.fillText(n,o,i),e.textAlign="start",e.textBaseline="alphabetic"},[]),N=(0,n.useCallback)(e=>{for(let t of j.current){let a=t.elapsed/t.duration,r=A[t.slotIndex]||A[0];switch(t.type){case"bulb":{let t=a<.1?a/.1:a>.8?(1-a)/.2:1,n=r.cx,s=r.topY-14-2*Math.sin(a*Math.PI*4);e.fillStyle="rgba(255, 220, 50, ".concat(.3*t,")"),e.beginPath(),e.arc(n,s,8,0,2*Math.PI),e.fill(),e.fillStyle="rgba(255, 230, 80, ".concat(t,")"),e.beginPath(),e.arc(n,s,4,0,2*Math.PI),e.fill(),e.fillStyle="rgba(255, 255, 200, ".concat(t,")"),e.fillRect(n-1,s-1,2,2),e.fillStyle="rgba(180, 180, 180, ".concat(t,")"),e.fillRect(n-2,s+3,4,2);break}case"document":{let t=256+(r.cx-256)*Math.min(2*a,1),n=r.topY-10+-15*Math.sin(a*Math.PI);e.globalAlpha=a>.8?(1-a)/.2:1,e.fillStyle="#f8f8f0",e.fillRect(t,n,8,10),e.strokeStyle="#aaa",e.lineWidth=.5,e.strokeRect(t,n,8,10),e.fillStyle="#ccc",e.fillRect(t+1.5,n+2,5,1),e.fillRect(t+1.5,n+4,4,1),e.fillRect(t+1.5,n+6,5,1),e.globalAlpha=1;break}case"stars":{let t=a>.7?(1-a)/.3:1,n=r.cx,s=r.cy;for(let r=0;r<8;r++){let o=r/8*Math.PI*2+a*Math.PI*3,i=10+15*a,l=n+Math.cos(o)*i,c=s+Math.sin(o)*i,d=["#FFD700","#FF6B6B","#4ECDC4","#A78BFA"];e.fillStyle=d[r%d.length],e.globalAlpha=t*(.5+.5*Math.sin(a*Math.PI*6+r));let u=1.5+.5*Math.sin(a*Math.PI*4+r);e.fillRect(l-u/2,c-u/2,u,u)}e.globalAlpha=1;break}case"flash":{let t=a<.3?a/.3:(1-a)/.7;e.fillStyle="rgba(255, 255, 255, ".concat(.6*t,")"),e.fillRect(0,16,256,240)}}}},[]),k=(0,n.useCallback)((e,t)=>{e.clearRect(0,0,768,768),e.save(),e.scale(3,3);let a=t.floor;for(let r of((null==a?void 0:a.complete)&&a.naturalWidth&&e.drawImage(a,0,0,256,256),S)){let a=p.current[r];if("empty"===a.state)continue;let n="typing"===a.state&&a.cycleIndex%2==1,s=t["char".concat(r,"-frame").concat(n?2:1)];if((null==s?void 0:s.complete)&&s.naturalWidth){"celebrate"===a.state&&(e.save(),e.globalAlpha=.85+.15*Math.sin(Date.now()/200));let t="looking"===a.state?+Math.sin(Date.now()/300):0;0!==t&&(e.save(),e.translate(0,t)),e.drawImage(s,0,0,256,256),0!==t&&e.restore(),"celebrate"===a.state&&e.restore()}w(e,r)}y(e),N(e),e.restore()},[y,w,N]),T=(0,n.useCallback)(e=>{for(let t=0;t<7;t++){let a=p.current[t];"empty"!==a.state&&(a.stateTimer+=e,"celebrate"===a.state&&a.stateTimer>=3e3&&(a.state="idle",a.cycleIndex=0,a.frameTicks=0,a.stateTimer=0),"looking"===a.state&&a.stateTimer>=1500&&(a.state="idle",a.cycleIndex=0,a.frameTicks=0,a.stateTimer=0),"typing"===a.state&&(a.frameTicks++,a.frameTicks>=a.ticksPerFrame&&(a.frameTicks=0,a.cycleIndex=(a.cycleIndex+1)%2)))}let t=j.current;for(let a=t.length-1;a>=0;a--)t[a].elapsed+=e,t[a].elapsed>=t[a].duration&&t.splice(a,1)},[]),z=(0,n.useCallback)(e=>{if(b.current){f.current=requestAnimationFrame(z),m.current=e;return}let t=e-m.current;m.current=e,x.current+=t;let a=!1;for(;x.current>=10;)x.current-=10,T(10),a=!0;if(a){let e=c.current,t=null==e?void 0:e.getContext("2d");t&&u.current&&k(t,d.current)}f.current=requestAnimationFrame(z)},[T,k]);return(0,n.useEffect)(()=>{let e=!1;return new Promise(e=>{let t={},a=Object.entries(E),r=0,n=a.length;a.forEach(a=>{let[s,o]=a,i=new Image;i.onload=()=>{++r===n&&e(t)},i.onerror=()=>{C.q.warn("Failed to load sprite:",s,o),++r===n&&e(t)},i.src="".concat("/sprites/").concat(o),t[s]=i})}).then(t=>{if(e)return;d.current=t,u.current=!0;let a=c.current,r=null==a?void 0:a.getContext("2d");r&&(r.imageSmoothingEnabled=!1,k(r,t)),m.current=performance.now(),f.current=requestAnimationFrame(z)}),()=>{e=!0,f.current&&cancelAnimationFrame(f.current)}},[k,z]),(0,r.jsx)("canvas",{ref:c,width:768,height:768,className:"w-full",style:{imageRendering:"pixelated",aspectRatio:"1 / 1"}})}var z=a(52217);let P=(0,z.createServerReference)("40c24e6feb30798e01c084892d389e502bdb0aa268",z.callServer,void 0,z.findSourceMapURL,"getProjectActiveSessionsAction");var R=a(63964);function I(e){let{projectUuid:t,projectName:a}=e,s=(0,o.c)("pixelCanvas"),[i,l]=(0,n.useState)(!1),[c,d]=(0,n.useState)(Array.from({length:7},()=>({state:"empty"}))),[u,f]=(0,n.useState)(0),[m,x]=(0,n.useState)([]),p=(0,n.useCallback)(async()=>{let e=await P(t);if(!e.success||!e.data)return;let a=e.data;d(Array.from({length:7},(e,t)=>{let r=a[t];return r?{state:"typing",sessionName:r.sessionName}:{state:"empty"}})),f(a.length)},[t]);(0,R.l9)(p);let h=(0,n.useCallback)(()=>{x([])},[]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"fixed bottom-4 right-4 md:bottom-6 md:right-6 z-40 cursor-pointer",onClick:()=>l(!0),children:(0,r.jsxs)("div",{className:"relative transition-transform hover:scale-105",children:[(0,r.jsx)("div",{className:"overflow-hidden rounded-lg border-2 border-border bg-card shadow-lg hover:shadow-xl",children:(0,r.jsx)(N.default,{src:"/typing-animation.gif",alt:s("title"),width:72,height:72,unoptimized:!0,className:"block scale-[1.3]"})}),u>0&&(0,r.jsx)("span",{className:"absolute -top-3 -right-3 flex h-7 min-w-7 items-center justify-center rounded-full bg-[#B87351] text-xs font-bold text-white shadow-md",children:u})]})}),(0,r.jsx)(k.lG,{open:i,onOpenChange:l,children:(0,r.jsxs)(k.Cf,{className:"sm:max-w-2xl p-4",children:[(0,r.jsxs)(k.L3,{className:"text-sm",children:[a," — ",s("title")]}),(0,r.jsx)(k.rr,{className:"sr-only",children:s("title")}),(0,r.jsx)("div",{className:"overflow-hidden rounded-lg border border-border",children:(0,r.jsx)(T,{slots:c,projectName:a,agentCount:u,collapsed:!i,effects:m,onEffectsConsumed:h})})]})})]})}var F=a(67587),U=a(11966),O=a(42533),M=a(1861),D=a(43057),L=a(83553),B=a(95886),$=a(11080);let Y=(0,n.createContext)(null),q=new Set(["agent_checkin"]);function G(e){let{children:t}=e,[a,i]=(0,n.useState)(0),l=(0,n.useRef)(new Set),c=(0,s.useRouter)(),d=(0,o.c)("notifications"),u=(0,n.useCallback)(()=>{l.current.forEach(e=>e())},[]),f=(0,n.useCallback)(async()=>{try{let e=await (0,w.tm)("/api/notifications?readFilter=unread&take=0");if(e.ok){let t=await e.json();t.success&&i(t.data.unreadCount)}}catch(e){}},[]),m=(0,n.useCallback)(()=>{f(),u()},[f,u]),x=(0,n.useCallback)(e=>{if(!e.action||q.has(e.action)||!e.entityTitle||!e.actorName)return;let t=d("types.".concat(e.action)),a=e.entityTitle,n="".concat(e.actorName," \xb7 ").concat(t);(0,F.oR)(a,{description:n,icon:function(e){switch(e){case"task_assigned":case"idea_claimed":return(0,r.jsx)(U.A,{className:"h-4 w-4 text-[#C67A52]"});case"proposal_approved":case"task_verified":return(0,r.jsx)(O.A,{className:"h-4 w-4 text-green-600"});case"proposal_rejected":case"task_reopened":return(0,r.jsx)(M.A,{className:"h-4 w-4 text-red-500"});case"comment_added":return(0,r.jsx)(D.A,{className:"h-4 w-4 text-orange-500"});case"mentioned":return(0,r.jsx)(L.A,{className:"h-4 w-4 text-blue-600"});case"proposal_submitted":return(0,r.jsx)(B.A,{className:"h-4 w-4 text-blue-500"});case"task_status_changed":return(0,r.jsx)($.A,{className:"h-4 w-4 text-blue-500"});default:return(0,r.jsx)(B.A,{className:"h-4 w-4 text-muted-foreground"})}}(e.action),duration:5e3,action:e.entityType&&e.entityUuid&&e.projectUuid?{label:d("viewDetail"),onClick:()=>c.push(function(e,t,a){let r="/projects/".concat(a);switch(e){case"task":return"".concat(r,"/tasks/").concat(t);case"idea":return"".concat(r,"/ideas/").concat(t);case"proposal":return"".concat(r,"/proposals/").concat(t);case"document":return"".concat(r,"/documents/").concat(t);default:return r}}(e.entityType,e.entityUuid,e.projectUuid))}:void 0})},[d,c]);(0,n.useEffect)(()=>{let e,t=null;function a(){r(),(t=new EventSource("/api/events/notifications")).onmessage=t=>{try{let e=JSON.parse(t.data);"number"==typeof e.unreadCount&&i(e.unreadCount),"new_notification"===e.type&&x(e)}catch(e){}clearTimeout(e),e=setTimeout(u,300)},t.onerror=()=>{}}function r(){t&&(t.close(),t=null)}function n(){"visible"===document.visibilityState?(a(),f()):r()}return a(),f(),document.addEventListener("visibilitychange",n),()=>{r(),clearTimeout(e),document.removeEventListener("visibilitychange",n)}},[f,u,x]);let p=(0,n.useMemo)(()=>({unreadCount:a,refreshNotifications:m}),[a,m]);return(0,r.jsx)(Y.Provider,{value:p,children:t})}function V(){let e=(0,n.useContext)(Y);return e||{unreadCount:0,refreshNotifications:()=>{}}}var K=a(36557),W=a(17001),J=a(11426),X=a(16544),H=a(65626),Q=a(39674),Z=a(64993),ee=a(57731);let et=[{bg:"bg-amber-100 dark:bg-amber-900/30",text:"text-amber-800 dark:text-amber-300"},{bg:"bg-blue-100 dark:bg-blue-900/30",text:"text-blue-800 dark:text-blue-300"},{bg:"bg-emerald-100 dark:bg-emerald-900/30",text:"text-emerald-800 dark:text-emerald-300"},{bg:"bg-violet-100 dark:bg-violet-900/30",text:"text-violet-800 dark:text-violet-300"},{bg:"bg-rose-100 dark:bg-rose-900/30",text:"text-rose-800 dark:text-rose-300"},{bg:"bg-cyan-100 dark:bg-cyan-900/30",text:"text-cyan-800 dark:text-cyan-300"},{bg:"bg-orange-100 dark:bg-orange-900/30",text:"text-orange-800 dark:text-orange-300"},{bg:"bg-indigo-100 dark:bg-indigo-900/30",text:"text-indigo-800 dark:text-indigo-300"}],ea=new Set(["agent_checkin"]);function er(e){let{onClose:t}=e,a=(0,o.c)("notifications"),i=(0,s.useRouter)(),{refreshNotifications:d}=V(),u=(0,n.useCallback)(e=>{let t=Date.now()-new Date(e).getTime(),r=Math.floor(t/6e4),n=Math.floor(t/36e5),s=Math.floor(t/864e5);return r<1?a("justNow"):r<60?a("minutesAgo",{count:r}):n<24?a("hoursAgo",{count:n}):a("daysAgo",{count:s})},[a]),[f,m]=(0,n.useState)([]),[x,p]=(0,n.useState)([]),[h,g]=(0,n.useState)(0),[v,b]=(0,n.useState)(0),[j,y]=(0,n.useState)(!0),N=(0,n.useCallback)(async(e,t)=>{let a=new URLSearchParams({limit:"20",offset:String(t)});e&&a.set("unreadOnly","true");let r=await (0,w.tm)("/api/notifications?".concat(a));if(!r.ok)return null;let n=await r.json();return n.success?n.data:null},[]);(0,n.useEffect)(()=>{let e=!1;return async function(){y(!0);let[t,a]=await Promise.all([N(!1,0),N(!0,0)]);e||(t&&(m(t.notifications),g(t.notifications.length<20?t.notifications.length:999)),a&&(p(a.notifications),b(a.unreadCount)),y(!1))}(),()=>{e=!0}},[N]);let k=async()=>{await (0,w.tm)("/api/notifications/read-all",{method:"POST"}),p([]),b(0),m(e=>e.map(e=>e.readAt?e:{...e,readAt:new Date().toISOString()})),d()},C=async e=>{e.readAt||((0,w.tm)("/api/notifications/".concat(e.uuid,"/read"),{method:"PATCH"}),p(t=>t.filter(t=>t.uuid!==e.uuid)),m(t=>t.map(t=>t.uuid===e.uuid?{...t,readAt:new Date().toISOString()}:t)),d()),t(),i.push(function(e){let{action:t,entityType:a,entityUuid:r,projectUuid:n}=e,s="/projects/".concat(n);if("report_created"===t)return"".concat(s,"/dashboard?panel=").concat(r,"&tab=overview");switch(a){case"task":return"".concat(s,"/tasks/").concat(r);case"idea":return"".concat(s,"/ideas/").concat(r);case"proposal":return"".concat(s,"/proposals/").concat(r);case"document":return"".concat(s,"/documents/").concat(r);default:return s}}(e))},A=async e=>{let t=e?x:f,a=await N(e,t.length);a&&(e?p(e=>[...e,...a.notifications]):m(e=>[...e,...a.notifications]))},S=e=>{let{Icon:t,color:n}=function(e){switch(e){case"task_assigned":case"idea_claimed":return{Icon:U.A,color:"text-[#C67A52]"};case"proposal_approved":case"task_verified":return{Icon:O.A,color:"text-green-600"};case"proposal_rejected":case"task_reopened":return{Icon:M.A,color:"text-red-500"};case"comment_added":return{Icon:D.A,color:"text-orange-500"};case"mentioned":return{Icon:L.A,color:"text-blue-600"};case"proposal_submitted":return{Icon:B.A,color:"text-blue-500"};case"task_status_changed":return{Icon:$.A,color:"text-blue-500"};case"report_created":return{Icon:J.A,color:"text-emerald-600"};default:return{Icon:B.A,color:"text-muted-foreground"}}}(e.action),s=function(e){let t=0;for(let a=0;a<e.length;a++)t=31*t+e.charCodeAt(a)|0;return et[Math.abs(t)%et.length]}(e.projectUuid),o=!e.readAt;return(0,r.jsx)(X.P.div,{variants:H.Rf,children:(0,r.jsxs)("button",{onClick:()=>C(e),className:"flex w-full gap-3 px-4 py-3 text-left hover:bg-muted/50 transition-colors border-b border-border last:border-b-0",children:[(0,r.jsx)("div",{className:"mt-1.5 flex-shrink-0",children:o?(0,r.jsx)("div",{className:"h-2 w-2 rounded-full bg-[#C67A52]"}):(0,r.jsx)("div",{className:"h-2 w-2"})}),(0,r.jsx)("div",{className:"mt-0.5 flex-shrink-0",children:(0,r.jsx)(t,{className:"h-4 w-4 ".concat(n)})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)(ee.E,{variant:"secondary",className:"mb-1 block h-auto max-w-full whitespace-normal break-words px-1.5 py-0 text-[10px] font-medium ".concat(s.bg," ").concat(s.text," border-0"),children:e.projectName}),(0,r.jsx)("div",{className:"text-[13px] font-medium text-foreground break-words",children:e.entityTitle}),(0,r.jsx)("div",{className:"text-[12px] text-muted-foreground break-words",children:a("types.".concat(e.action))}),(0,r.jsxs)("div",{className:"mt-0.5 text-[11px] text-muted-foreground break-words",children:[e.actorName," \xb7 ",u(e.createdAt)]})]})]})},e.uuid)},_=(e,t,n)=>{let s=e.filter(e=>!ea.has(e.action));return j?(0,r.jsxs)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:[a("loadMore"),"..."]}):0===s.length?(0,r.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:t?a("noUnread"):a("noNotifications")}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(X.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:.04},children:s.map(S)}),s.length<n&&(0,r.jsx)("div",{className:"p-3 text-center",children:(0,r.jsx)(c.$,{variant:"ghost",size:"sm",className:"text-xs",onClick:()=>A(t),children:a("loadMore")})})]})};return(0,r.jsxs)("div",{className:"w-[calc(100vw-2rem)] max-w-[360px]",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:a("title")}),(0,r.jsx)(c.$,{variant:"ghost",size:"sm",className:"h-auto p-0 text-xs text-primary hover:text-primary/80",onClick:k,children:a("markAllRead")})]}),(0,r.jsxs)(Q.tU,{defaultValue:"unread",className:"gap-0",children:[(0,r.jsxs)(Q.j7,{className:"w-full rounded-none border-b border-border bg-transparent px-4 py-0 h-9",children:[(0,r.jsxs)(Q.Xi,{value:"unread",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:[a("tabUnread")," ",v>0&&"(".concat(v,")")]}),(0,r.jsx)(Q.Xi,{value:"all",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:a("tabAll")})]}),(0,r.jsx)(Q.av,{value:"all",className:"mt-0",children:(0,r.jsx)(X.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,r.jsx)(Z.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:_(f,!1,h)})},"tab-all")}),(0,r.jsx)(Q.av,{value:"unread",className:"mt-0",children:(0,r.jsx)(X.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,r.jsx)(Z.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:_(x,!0,v)})},"tab-unread")})]}),(0,r.jsx)("div",{className:"border-t border-border px-4 py-2 text-center",children:(0,r.jsx)(l(),{href:"/settings",onClick:t,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:a("notificationPreferences")})})]})}function en(){let{unreadCount:e}=V(),[t,a]=(0,n.useState)(!1);return(0,r.jsxs)(W.AM,{open:t,onOpenChange:a,children:[(0,r.jsx)(W.Wv,{asChild:!0,children:(0,r.jsxs)(c.$,{variant:"ghost",size:"icon",className:"relative h-8 w-8 text-muted-foreground hover:text-foreground",children:[(0,r.jsx)(K.A,{className:"h-4 w-4"}),e>0&&(0,r.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-[#C67A52] px-1 text-[10px] font-medium text-white animate-[pulse-badge_1.5s_ease-in-out_infinite]",children:e>99?"99+":e})]})}),(0,r.jsx)(W.hl,{align:"start",sideOffset:8,className:"w-auto p-0 rounded-lg",children:(0,r.jsx)(er,{onClose:()=>a(!1)})})]})}var es=a(68923),eo=a(30044),ei=a(9225),el=a(85226),ec=a(67103),ed=a(24377),eu=a(14554),ef=a(91846),em=a(42305);let ex=["all","task","idea","proposal","document","project"],ep={task:"bg-[#EBF5FF] text-[#2563EB] border-[#2563EB]/20",idea:"bg-[#FEF9C3] text-[#A16207] border-[#A16207]/20",proposal:"bg-[#FFF7ED] text-[#C67A52] border-[#C67A52]/20",document:"bg-[#F3E8FF] text-[#7C3AED] border-[#7C3AED]/20",project:"bg-[#ECFDF5] text-[#059669] border-[#059669]/20",project_group:"bg-[#F0FDFA] text-[#0D9488] border-[#0D9488]/20"},eh={all:"filterAll",task:"filterTasks",idea:"filterIdeas",proposal:"filterProposals",document:"filterDocuments",project:"filterProjects",project_group:"filterProjects"};function eg(e){let{currentProjectUuid:t,currentProjectName:a,currentGroupUuid:i,currentGroupName:l}=e,d=(0,o.c)("search"),u=(0,o.c)("time"),f=(0,s.useRouter)(),[m,x]=(0,n.useState)(""),[p,h]=(0,n.useState)(t?"project":i?"group":"global"),[g,v]=(0,n.useState)([]),[b,j]=(0,n.useState)(!1),[y,w]=(0,n.useState)(!1),[N,A]=(0,n.useState)("all"),[S,_]=(0,n.useState)(0),E=(0,n.useRef)(null),T=(0,n.useRef)([]),z=(0,n.useRef)(void 0);(0,n.useEffect)(()=>{h(t?"project":i?"group":"global")},[t,i]),(0,n.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key&&!e.defaultPrevented&&(e.preventDefault(),w(!0))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,n.useEffect)(()=>{y?setTimeout(()=>{var e;return null==(e=E.current)?void 0:e.focus()},0):(x(""),v([]),A("all"))},[y]);let P=(0,n.useCallback)(async function(e,a){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all";if(!e.trim()){v([]),j(!1);return}j(!0);try{let n=new URLSearchParams({q:e.trim(),scope:a,limit:"20"});"project"===a&&t?n.set("scopeUuid",t):"group"===a&&i&&n.set("scopeUuid",i),"all"!==r&&n.set("types",r);let s=await fetch("/api/search?".concat(n.toString()),{credentials:"include"});if(!s.ok){C.q.error("Search failed:",s.status),v([]);return}let o=await s.json();o.success?v(o.data.results):v([])}catch(e){C.q.error("Search error:",e),v([])}finally{j(!1)}},[t,i]),R=(0,n.useCallback)(e=>{x(e),z.current&&clearTimeout(z.current),e.trim()?z.current=setTimeout(()=>{P(e,p,N)},300):(v([]),j(!1))},[p,N,P]),I=(0,n.useCallback)(e=>{h(e),m.trim()&&P(m,e,N)},[m,N,P]),F=(0,n.useCallback)(e=>{A(e),_(0),m.trim()&&P(m,p,e)},[m,p,P]);(0,n.useEffect)(()=>{_(0)},[g]);let U=(0,n.useCallback)(e=>{switch(w(!1),e.entityType){case"task":e.projectUuid&&f.push("/projects/".concat(e.projectUuid,"/tasks/").concat(e.uuid));break;case"idea":e.projectUuid&&f.push("/projects/".concat(e.projectUuid,"/ideas/").concat(e.uuid));break;case"proposal":e.projectUuid&&f.push("/projects/".concat(e.projectUuid,"/proposals/").concat(e.uuid));break;case"document":e.projectUuid&&f.push("/projects/".concat(e.projectUuid,"/documents/").concat(e.uuid));break;case"project":f.push("/projects/".concat(e.uuid,"/dashboard"));break;case"project_group":f.push("/projects")}},[f]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(c.$,{variant:"outline",size:"icon",onClick:()=>w(!0),className:"md:w-full md:justify-start md:gap-3 h-9 md:px-3 text-muted-foreground font-normal",children:[(0,r.jsx)(eo.A,{className:"h-4 w-4 shrink-0"}),(0,r.jsx)("span",{className:"hidden md:inline truncate text-sm",children:d("placeholder")}),(0,r.jsxs)("kbd",{className:"ml-auto pointer-events-none hidden md:flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium",children:[(0,r.jsx)(ei.A,{className:"h-3 w-3"}),(0,r.jsx)("span",{children:"K"})]})]}),(0,r.jsx)(k.lG,{open:y,onOpenChange:w,children:(0,r.jsxs)(k.Cf,{className:"w-[calc(100vw-2rem)] sm:max-w-[600px] p-0 gap-0 overflow-hidden [&>button]:hidden [&>*]:min-w-0 top-4 sm:top-[20%] translate-y-0","aria-describedby":void 0,children:[(0,r.jsx)(k.L3,{className:"sr-only",children:d("placeholder")}),(0,r.jsxs)("div",{className:"flex items-center gap-2 border-b px-3 sm:px-4 py-3",children:[(0,r.jsx)(eo.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,r.jsx)(eu.p,{ref:E,type:"text",placeholder:d("placeholder"),value:m,onChange:e=>R(e.target.value),onKeyDown:e=>{!(0,em.P)(e)&&("ArrowDown"===e.key?(e.preventDefault(),_(e=>{var t;let a=Math.min(e+1,g.length-1);return null==(t=T.current[a])||t.scrollIntoView({block:"nearest"}),a})):"ArrowUp"===e.key?(e.preventDefault(),_(e=>{var t;let a=Math.max(e-1,0);return null==(t=T.current[a])||t.scrollIntoView({block:"nearest"}),a})):"Enter"===e.key&&g.length>0&&(e.preventDefault(),U(g[S])))},className:"border-0 shadow-none focus-visible:ring-0 h-8 px-0 text-sm min-w-0"}),b&&(0,r.jsx)(el.A,{className:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"}),(0,r.jsxs)(ef.l6,{value:p,onValueChange:e=>I(e),children:[(0,r.jsx)(ef.bq,{className:"w-auto h-7 text-xs gap-1 border-dashed shrink-0",children:(0,r.jsx)(ef.yv,{})}),(0,r.jsxs)(ef.gC,{children:[(0,r.jsx)(ef.eb,{value:"global",children:d("scopeGlobal")}),i&&(0,r.jsx)(ef.eb,{value:"group",children:l||d("scopeGroup")}),t&&(0,r.jsx)(ef.eb,{value:"project",children:a||d("scopeProject")})]})]})]}),m.trim()&&(0,r.jsx)("div",{className:"flex items-center gap-1 border-b px-4 py-2 overflow-x-auto",children:ex.map(e=>(0,r.jsx)(c.$,{variant:N===e?"default":"ghost",size:"sm",onClick:()=>F(e),className:(0,ed.cn)("h-7 px-3 text-xs rounded-full shrink-0",N===e?"bg-foreground text-background hover:bg-foreground/90":"text-muted-foreground hover:text-foreground"),children:d(eh[e])},e))}),(0,r.jsx)(Z.F,{className:"max-h-[400px]",children:(0,r.jsx)(ec.N,{mode:"wait",children:m.trim()?b?(0,r.jsx)(X.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:H.Yv.fast},children:(0,r.jsxs)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:[(0,r.jsx)(el.A,{className:"h-5 w-5 animate-spin mx-auto mb-2"}),d("placeholder"),"..."]})},"loading"):0===g.length?(0,r.jsx)(X.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:H.Yv.fast},children:(0,r.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:d("noResults")})},"no-results"):(0,r.jsx)(X.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:H.Yv.staggerFast},className:"p-2",children:g.map((e,t)=>(0,r.jsx)(X.P.div,{variants:H.Rf,children:(0,r.jsxs)("button",{ref:e=>{T.current[t]=e},onClick:()=>U(e),onMouseEnter:()=>_(t),className:(0,ed.cn)("block w-full text-left px-3 py-2.5 rounded-lg transition-colors cursor-pointer overflow-hidden",t===S?"bg-accent":"hover:bg-accent/50"),children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 mb-0.5",children:[(0,r.jsx)(ee.E,{variant:"outline",className:(0,ed.cn)("text-[10px] px-1.5 py-0 shrink-0",ep[e.entityType]||"bg-muted text-muted-foreground"),children:d("entityType.".concat(e.entityType))}),e.status&&(0,r.jsx)(ee.E,{variant:"secondary",className:"text-[10px] px-1.5 py-0 shrink-0",children:e.status}),e.projectName&&(0,r.jsx)("span",{className:"text-[10px] text-muted-foreground line-clamp-1 ml-auto",children:e.projectName})]}),(0,r.jsx)("div",{className:"font-medium text-sm line-clamp-1 break-all",children:e.title}),e.snippet&&(0,r.jsx)("div",{className:"text-xs text-muted-foreground line-clamp-1 mt-0.5 break-all",children:e.snippet}),(0,r.jsx)("div",{className:"text-[10px] text-muted-foreground mt-1",children:(e=>{let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);return t<60?u("justNow"):t<3600?u("minutesAgo",{minutes:Math.floor(t/60)}):t<86400?u("hoursAgo",{hours:Math.floor(t/3600)}):u("daysAgo",{days:Math.floor(t/86400)})})(e.updatedAt)})]})},"".concat(e.entityType,"-").concat(e.uuid)))},"results-".concat(N)):(0,r.jsx)(X.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:H.Yv.fast},children:(0,r.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:d("placeholder")})},"empty")})}),(0,r.jsxs)("div",{className:"hidden sm:flex items-center justify-between border-t px-4 py-2 text-[10px] text-muted-foreground",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↑"}),(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↓"}),d("filterAll")]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"⏎"}),"Open"]})]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"Esc"}),"Close"]})]})]})})]})}function ev(e){let{children:t}=e,a=function(e){let t=e.match(/^(\/projects\/[a-f0-9-]{36}\/(tasks|ideas|documents|proposals))\/.+$/);return t?t[1]:e}((0,s.usePathname)());return(0,r.jsx)(X.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:H.Yv.normal,ease:H.Yv.easeOut},className:"flex-1 flex flex-col",children:t},a)}let eb=e=>{let{...t}=e;return(0,r.jsx)(F.l$,{className:"toaster group",...t})};function ej(e){let{children:t}=e,a=(0,s.useRouter)(),i=(0,s.usePathname)(),N=(0,o.c)(),[k,A]=(0,n.useState)(null),[S,_]=(0,n.useState)(null),[E,T]=(0,n.useState)([]),[z,P]=(0,n.useState)(!0),[F,U]=(0,n.useState)(!1),[O,M]=(0,n.useState)(!1),[D,L]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");L(e.matches);let t=e=>L(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,n.useEffect)(()=>{M(!1)},[i]);let B=function(e){let t=e.match(/^\/projects\/([a-f0-9-]{36})(\/|$)/);return t?t[1]:null}(i),$=function(e){let t=e.match(/^\/project-groups\/([a-f0-9-]{36})(\/|$)/);return t?t[1]:null}(i),[Y,q]=(0,n.useState)(null);(0,n.useEffect)(()=>{if(!$)return void q(null);(0,w.tm)("/api/project-groups/".concat($)).then(e=>e.ok?e.json():null).then(e=>{(null==e?void 0:e.success)&&q(e.data.name)}).catch(()=>q(null))},[$]);let V="/projects"===i||"/settings"===i||i.startsWith("/project-groups"),K=B&&!V,W=i.match(/^\/projects\/[a-f0-9-]{36}\/tasks(\/|$)/);(0,n.useEffect)(()=>{J()},[]),(0,n.useEffect)(()=>{if(!B||V){_(null),T([]);return}let e=!1;return async function(){try{var t;let a=await (0,w.tm)("/api/projects/".concat(B));if(!a.ok||e)return;let r=await a.json();if(!r.success||e)return;let n={uuid:r.data.uuid,name:r.data.name,groupUuid:null!=(t=r.data.groupUuid)?t:null};if(_(n),n.groupUuid){let t=await (0,w.tm)("/api/project-groups/".concat(n.groupUuid));if(!t.ok||e)return;let a=await t.json();a.success&&!e&&T((a.data.projects||[]).filter(e=>e.uuid!==B))}else T([])}catch(e){C.q.error("Failed to fetch current project:",e)}}(),()=>{e=!0}},[B,V]);let J=async()=>{try{let e=await (0,w.tm)("/api/auth/session");if(!e.ok&&(await fetch("/api/auth/refresh",{method:"POST"})).ok&&(e=await (0,w.tm)("/api/auth/session")),!e.ok){(0,w.w9)(),a.push("/login");return}let t=await e.json();if(t.success&&t.data.user)A({uuid:t.data.user.uuid,email:t.data.user.email,name:t.data.user.name||t.data.user.email});else{(0,w.w9)(),a.push("/login");return}}catch(e){C.q.error("Session check failed:",e),(0,w.w9)(),a.push("/login");return}P(!1)},Q=async()=>{try{await (0,w.ri)()}catch(e){(0,w.w9)()}a.push("/login")};if(z)return(0,r.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-background",children:(0,r.jsx)("div",{className:"text-muted-foreground",children:N("common.loading")})});let Z=[{href:"/projects",label:N("nav.projects"),icon:h.A},{href:"/settings",label:N("nav.settings"),icon:g.A}],ee=e=>e.endsWith("/dashboard")?i===e:"/projects"===e?"/projects"===i:i===e||i.startsWith(e+"/"),et=e=>{var t;let{mobile:n=!1}=e,s=n?"text-[15px]":"text-[13px]",o=n?"h-5 w-5":"h-4 w-4",i=n?"gap-1.5":"gap-1",h=n?"h-10":"";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex flex-col gap-8 p-6",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-7 w-7"}),(0,r.jsx)("span",{className:"text-base font-semibold text-foreground",children:N("common.appName")})]}),(0,r.jsx)("div",{className:"hidden md:block",children:(0,r.jsx)(en,{})})]}),!n&&(0,r.jsx)(eg,{currentProjectUuid:B||void 0,currentProjectName:null==S?void 0:S.name,currentGroupUuid:$||void 0,currentGroupName:Y||void 0}),(0,r.jsx)("nav",{className:"flex flex-col ".concat(i),children:K&&B?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l(),{href:"/projects",children:(0,r.jsxs)(c.$,{variant:"ghost",size:"sm",className:"w-full justify-start gap-2.5 text-muted-foreground hover:text-foreground ".concat(s," ").concat(h),children:[(0,r.jsx)(v.A,{className:n?"h-4 w-4":"h-3 w-3"}),N("nav.backToProjects")]})}),S&&(0,r.jsxs)("div",{className:"relative mt-2",children:[(0,r.jsxs)(c.$,{variant:"ghost",size:"sm",onClick:()=>E.length>0&&U(!F),className:"w-full justify-between px-3 py-1.5 ".concat(0===E.length?"cursor-default":""),children:[(0,r.jsx)("span",{className:"truncate font-semibold uppercase tracking-wider text-foreground ".concat(n?"text-[13px]":"text-[11px]"),children:S.name}),E.length>0&&(0,r.jsx)(b.A,{className:"h-3 w-3 text-muted-foreground transition-transform ".concat(F?"rotate-180":"")})]}),(0,r.jsx)(ec.N,{children:F&&E.length>0&&(0,r.jsx)(X.P.div,{variants:H.K5,initial:"initial",animate:"animate",exit:"exit",className:"absolute left-0 right-0 top-full z-10 mt-1 origin-top rounded-lg border border-border bg-card py-1 shadow-lg",children:E.map(e=>(0,r.jsx)(c.$,{variant:"ghost",size:"sm",onClick:()=>{U(!1),a.push("/projects/".concat(e.uuid,"/dashboard"))},className:"w-full justify-start px-3 py-2 ".concat(s," [&>*]:truncate text-muted-foreground"),children:(0,r.jsx)("span",{className:"truncate",children:e.name})},e.uuid))})})]}),(0,r.jsx)("div",{className:"mt-2 flex flex-col ".concat(i),children:[{href:"/projects/".concat(B,"/dashboard"),label:N("nav.overview"),icon:d.A},{href:"/projects/".concat(B,"/ideas"),label:N("nav.ideas"),icon:u.A},{href:"/projects/".concat(B,"/documents"),label:N("nav.documents"),icon:f.A},{href:"/projects/".concat(B,"/proposals"),label:N("nav.proposals"),icon:m.A},{href:"/projects/".concat(B,"/tasks"),label:N("nav.tasks"),icon:x.A},{href:"/projects/".concat(B,"/activity"),label:N("nav.activity"),icon:p.A}].map(e=>{let t=ee(e.href),a=e.icon;return(0,r.jsx)(l(),{href:e.href,children:(0,r.jsxs)(c.$,{variant:"ghost",size:"sm",className:"relative w-full justify-start gap-2.5 ".concat(s," ").concat(h," ").concat(t?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"),children:[t&&(0,r.jsx)(X.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,r.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,r.jsx)(a,{className:"".concat(o," ").concat(t?"text-primary":"")}),e.label]})]})},e.href)})})]}):(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("div",{className:"flex flex-col ".concat(i),children:Z.map(e=>{let t=ee(e.href),a=e.icon;return(0,r.jsx)(l(),{href:e.href,children:(0,r.jsxs)(c.$,{variant:"ghost",size:"sm",className:"relative w-full justify-start gap-2.5 ".concat(s," ").concat(h," ").concat(t?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"),children:[t&&(0,r.jsx)(X.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,r.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,r.jsx)(a,{className:"".concat(o," ").concat(t?"text-primary":"")}),e.label]})]})},e.href)})})})})]}),(0,r.jsx)("div",{className:"p-6",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"flex items-center justify-center rounded-full bg-primary font-medium text-primary-foreground ".concat(n?"h-10 w-10 text-base":"h-9 w-9 text-sm"),children:(null==k||null==(t=k.name)?void 0:t.charAt(0))||"U"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate font-medium text-foreground ".concat(n?"text-[15px]":"text-[13px]"),children:null==k?void 0:k.name}),(0,r.jsx)("div",{className:"truncate text-muted-foreground ".concat(n?"text-[12px]":"text-[11px]"),children:null==k?void 0:k.email})]}),(0,r.jsx)(c.$,{variant:"ghost",size:"icon",onClick:Q,title:N("common.signOut"),className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:(0,r.jsx)(j.A,{className:"h-4 w-4"})})]})})]})};return(0,r.jsxs)(G,{children:[(0,r.jsxs)("div",{className:"flex min-h-screen bg-background",children:[(0,r.jsx)("header",{className:"fixed top-0 left-0 right-0 z-30 border-b border-border bg-card md:hidden",children:(0,r.jsxs)("div",{className:"flex h-14 items-center justify-between px-4",children:[(0,r.jsx)("button",{onClick:()=>M(!0),"aria-label":N("nav.openMenu"),children:(0,r.jsx)(y.A,{className:"h-5 w-5 text-muted-foreground"})}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-6 w-6"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-foreground",children:N("common.appName")})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(eg,{currentProjectUuid:B||void 0,currentProjectName:null==S?void 0:S.name,currentGroupUuid:$||void 0,currentGroupName:Y||void 0}),(0,r.jsx)(en,{})]})]})}),(0,r.jsx)(es.cj,{open:O,onOpenChange:M,children:(0,r.jsx)(es.h,{side:"left",className:"w-[280px] p-0",children:(0,r.jsx)("div",{className:"flex h-full flex-col justify-between overflow-y-auto",children:(0,r.jsx)(et,{mobile:!0})})})}),(0,r.jsx)("aside",{className:"hidden md:sticky md:top-0 md:flex h-screen w-[220px] flex-shrink-0 flex-col justify-between overflow-y-auto border-r border-border bg-card",children:(0,r.jsx)(et,{})}),K&&B?(0,r.jsxs)(R.tS,{projectUuid:B,children:[(0,r.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,r.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(W?"":"max-w-[1200px]"),children:(0,r.jsx)(ev,{children:t})})}),(0,r.jsx)(I,{projectUuid:B,projectName:(null==S?void 0:S.name)||""})]}):"/projects"===i||i.startsWith("/project-groups")?(0,r.jsx)(R.tS,{children:(0,r.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,r.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(W?"":"max-w-[1200px]"),children:(0,r.jsx)(ev,{children:t})})})}):(0,r.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,r.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(W?"":"max-w-[1200px]"),children:(0,r.jsx)(ev,{children:t})})})]}),(0,r.jsx)(eb,{position:D?"top-center":"top-right",closeButton:!D})]})}},14554:(e,t,a)=>{"use strict";a.d(t,{p:()=>s});var r=a(90508);a(1856);var n=a(24377);function s(e){let{className:t,type:a,...s}=e;return(0,r.jsx)("input",{type:a,"data-slot":"input",className:(0,n.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...s})}},17001:(e,t,a)=>{"use strict";a.d(t,{AM:()=>o,Wv:()=>i,hl:()=>l});var r=a(90508);a(1856);var n=a(79919),s=a(24377);function o(e){let{...t}=e;return(0,r.jsx)(n.Root,{"data-slot":"popover",...t})}function i(e){let{...t}=e;return(0,r.jsx)(n.Trigger,{"data-slot":"popover-trigger",...t})}function l(e){let{className:t,align:a="center",sideOffset:o=4,...i}=e;return(0,r.jsx)(n.Portal,{children:(0,r.jsx)(n.Content,{"data-slot":"popover-content",align:a,sideOffset:o,className:(0,s.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...i})})}},22922:(e,t,a)=>{"use strict";a.d(t,{$:()=>l});var r=a(90508);a(1856);var n=a(49499),s=a(54154),o=a(24377);let i=(0,n.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:t,variant:a="default",size:n="default",asChild:l=!1,...c}=e,d=l?s.bL:"button";return(0,r.jsx)(d,{"data-slot":"button","data-variant":a,"data-size":n,className:(0,o.cn)(i({variant:a,size:n,className:t})),...c})}},24377:(e,t,a)=>{"use strict";a.d(t,{cn:()=>s});var r=a(49251),n=a(58849);function s(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,n.QP)((0,r.$)(t))}},30509:(e,t,a)=>{"use strict";a.d(t,{HB:()=>n,JK:()=>i,XQ:()=>o,bN:()=>l,vh:()=>s});var r=a(14655);function n(e){let t=function(e){let t=window.location.origin,a=new r.O({store:window.localStorage});return{authority:e.issuer,client_id:e.clientId,redirect_uri:"".concat(t,"/login/callback"),post_logout_redirect_uri:"".concat(t,"/login"),response_type:"code",scope:"openid profile email",automaticSilentRenew:!0,silent_redirect_uri:"".concat(t,"/login/silent-refresh"),accessTokenExpiringNotificationTimeInSeconds:60,userStore:a,extraQueryParams:{company:e.companyUuid}}}(e);return new r.$5(t)}function s(e){localStorage.setItem("oidc_config",JSON.stringify(e))}function o(){let e=localStorage.getItem("oidc_config");if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}function i(){localStorage.removeItem("oidc_config")}function l(e){return{sub:e.profile.sub,email:e.profile.email,name:e.profile.name,picture:e.profile.picture,accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_at,idToken:e.id_token}}},39674:(e,t,a)=>{"use strict";a.d(t,{Xi:()=>l,av:()=>c,j7:()=>i,tU:()=>o});var r=a(90508);a(1856);var n=a(79834),s=a(24377);function o(e){let{className:t,...a}=e;return(0,r.jsx)(n.Root,{"data-slot":"tabs",className:(0,s.cn)("flex flex-col gap-2",t),...a})}function i(e){let{className:t,...a}=e;return(0,r.jsx)(n.List,{"data-slot":"tabs-list",className:(0,s.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",t),...a})}function l(e){let{className:t,...a}=e;return(0,r.jsx)(n.Trigger,{"data-slot":"tabs-trigger",className:(0,s.cn)("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...a})}function c(e){let{className:t,...a}=e;return(0,r.jsx)(n.Content,{"data-slot":"tabs-content",className:(0,s.cn)("flex-1 outline-none",t),...a})}},42305:(e,t,a)=>{"use strict";function r(e){return("nativeEvent"in e?e.nativeEvent:e).isComposing||229===e.keyCode}a.d(t,{P:()=>r})},57731:(e,t,a)=>{"use strict";a.d(t,{E:()=>l});var r=a(90508);a(1856);var n=a(49499),s=a(54154),o=a(24377);let i=(0,n.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:a="default",asChild:n=!1,...l}=e,c=n?s.bL:"span";return(0,r.jsx)(c,{"data-slot":"badge","data-variant":a,className:(0,o.cn)(i({variant:a}),t),...l})}},62990:(e,t,a)=>{"use strict";a.d(t,{hj:()=>i,ri:()=>m,tm:()=>f,w9:()=>l});var r=a(30509),n=a(67712);let s=null;function o(){if(!s){let e=(0,r.XQ)();e&&(s=(0,r.HB)(e))}return s}function i(e){return(0,r.vh)(e),s=(0,r.HB)(e)}function l(){s=null}async function c(){let e=o();if(!e)return null;try{return await e.getUser()}catch(e){return null}}async function d(){let e=await c();if(!e)return null;if(e.expired){let e=o();if(e)try{let t=await e.signinSilent();return(null==t?void 0:t.access_token)||null}catch(e){}return null}return e.access_token}async function u(e,t){try{return(await fetch("/api/auth/sync-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:e,refreshToken:t})})).ok}catch(e){return n.q.error("Failed to sync token to cookie"),!1}}async function f(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=await d(),r=new Headers(t.headers);a&&r.set("Authorization","Bearer ".concat(a));let n=await fetch(e,{...t,headers:r});if(401===n.status){let a=o();if(a)try{let n=await a.signinSilent();if(null==n?void 0:n.access_token)return await u(n.access_token),r.set("Authorization","Bearer ".concat(n.access_token)),fetch(e,{...t,headers:r})}catch(e){}else try{if((await fetch("/api/auth/refresh",{method:"POST"})).ok)return r.delete("Authorization"),fetch(e,{...t,headers:r})}catch(e){}}return n}async function m(){try{await fetch("/api/auth/logout",{method:"POST"})}catch(e){}let e=o();if(e)try{await e.removeUser()}catch(e){}l(),(0,r.JK)()}},63964:(e,t,a)=>{"use strict";a.d(t,{S2:()=>c,eV:()=>l,l9:()=>i,tS:()=>o,w0:()=>d});var r=a(90508),n=a(1856);a(23675);let s=(0,n.createContext)(null);function o(e){let{projectUuid:t,children:a}=e,o=(0,n.useRef)(new Set),i=(0,n.useRef)(new Set),l=(0,n.useRef)(new Set),c=(0,n.useCallback)(()=>{o.current.forEach(e=>e())},[]),d=(0,n.useCallback)(e=>{i.current.forEach(t=>t(e))},[]);(0,n.useEffect)(()=>{let e,a=null,r=0,n={};function s(){o(),(a=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let a=null;try{a=JSON.parse(t.data)}catch(e){return}if(!a)return;if("presence"===a.type)return void l.current.forEach(e=>e(a));let s=a;clearTimeout(e);let o=Date.now(),i=o-r;i>=3e3?(r=o,c()):e=setTimeout(()=>{r=Date.now(),c()},Math.max(1e3,3e3-i));let u=s.entityType;clearTimeout(n[u]),n[u]=setTimeout(()=>{d(s)},300)},a.onerror=()=>{}}function o(){a&&(a.close(),a=null)}function i(){if("visible"===document.visibilityState&&(!a||a.readyState===EventSource.CLOSED))for(let e of(s(),c(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return s(),document.addEventListener("visibilitychange",i),()=>{for(let t in o(),clearTimeout(e),n)clearTimeout(n[t]);document.removeEventListener("visibilitychange",i)}},[t,c,d]);let u=(0,n.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),f=(0,n.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),m=(0,n.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),x=(0,n.useMemo)(()=>({subscribe:u,subscribeEntity:f,subscribePresence:m}),[u,f,m]);return(0,r.jsx)(s.Provider,{value:x,children:a})}function i(e){let t=(0,n.useContext)(s),a=(0,n.useRef)(e);a.current=e,(0,n.useEffect)(()=>{if(!t)return;let e=()=>a.current();return e(),t.subscribe(e)},[t])}function l(e,t){let a=(0,n.useContext)(s),r=(0,n.useRef)(t);r.current=t;let o=(0,n.useRef)(e);o.current=e,(0,n.useEffect)(()=>{if(a)return a.subscribeEntity(e=>{let t=o.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[a])}function c(e){let t=(0,n.useContext)(s),a=(0,n.useRef)(e);a.current=e,(0,n.useEffect)(()=>{if(t)return t.subscribePresence(e=>a.current(e))},[t])}function d(e,t,a){let r=(0,n.useContext)(s),o=(0,n.useRef)(a);o.current=a,(0,n.useEffect)(()=>{if(r)return r.subscribeEntity(a=>{a.entityType===e&&a.entityUuid===t&&o.current(a)})},[r,e,t])}},64993:(e,t,a)=>{"use strict";a.d(t,{F:()=>o});var r=a(90508);a(1856);var n=a(65326),s=a(24377);function o(e){let{className:t,children:a,...o}=e;return(0,r.jsxs)(n.Root,{"data-slot":"scroll-area",className:(0,s.cn)("relative",t),...o,children:[(0,r.jsx)(n.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:a}),(0,r.jsx)(i,{}),(0,r.jsx)(n.Corner,{})]})}function i(e){let{className:t,orientation:a="vertical",...o}=e;return(0,r.jsx)(n.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:a,className:(0,s.cn)("flex touch-none p-px transition-colors select-none","vertical"===a&&"h-full w-2.5 border-l border-l-transparent","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent",t),...o,children:(0,r.jsx)(n.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},65626:(e,t,a)=>{"use strict";a.d(t,{K5:()=>l,Rf:()=>i,Yv:()=>r,bK:()=>o,qG:()=>s,tE:()=>n});let r={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},n={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:r.normal,ease:r.easeOut}},exit:{opacity:0,y:-4,transition:{duration:r.fast,ease:r.easeOut}}},s={initial:{opacity:0},animate:{opacity:1,transition:{duration:r.normal,ease:r.easeOut}},exit:{opacity:0,transition:{duration:r.fast,ease:r.easeOut}}};r.normal,r.easeOut,r.fast,r.easeOut;let o={initial:{},animate:{transition:{staggerChildren:r.stagger}}},i={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:r.normal,ease:r.easeOut}}},l={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:r.fast,ease:r.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:r.fast,ease:r.easeOut}}}},67712:(e,t,a)=>{"use strict";a.d(t,{q:()=>i});var r=a(55036);let n={debug:0,info:1,warn:2,error:3},s=r.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function o(e){return n[e]>=n[s]}let i={debug:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];o("debug")&&console.debug("[Chorus] ".concat(e),...a)},info:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];o("info")&&console.info("[Chorus] ".concat(e),...a)},warn:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];o("warn")&&console.warn("[Chorus] ".concat(e),...a)},error:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];o("error")&&console.error("[Chorus] ".concat(e),...a)}}},68923:(e,t,a)=>{"use strict";a.d(t,{CG:()=>c,Fm:()=>x,cj:()=>l,h:()=>m,qp:()=>p});var r=a(90508);a(1856);var n=a(9160),s=a(71350),o=a(49499),i=a(24377);function l(e){let{...t}=e;return(0,r.jsx)(s.Root,{"data-slot":"sheet",...t})}function c(e){let{...t}=e;return(0,r.jsx)(s.Trigger,{"data-slot":"sheet-trigger",...t})}function d(e){let{...t}=e;return(0,r.jsx)(s.Portal,{"data-slot":"sheet-portal",...t})}function u(e){let{className:t,...a}=e;return(0,r.jsx)(s.Overlay,{"data-slot":"sheet-overlay",className:(0,i.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}let f=(0,o.F)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",bottom:"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",left:"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"}},defaultVariants:{side:"right"}});function m(e){let{className:t,children:a,side:o="right",...l}=e;return(0,r.jsxs)(d,{children:[(0,r.jsx)(u,{}),(0,r.jsxs)(s.Content,{"data-slot":"sheet-content",className:(0,i.cn)(f({side:o}),t),...l,children:[a,(0,r.jsxs)(s.Close,{"data-slot":"sheet-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,r.jsx)(n.A,{className:"size-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function x(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sheet-header",className:(0,i.cn)("flex flex-col gap-2 p-4",t),...a})}function p(e){let{className:t,...a}=e;return(0,r.jsx)(s.Title,{"data-slot":"sheet-title",className:(0,i.cn)("text-foreground text-lg font-semibold",t),...a})}},91846:(e,t,a)=>{"use strict";a.d(t,{bq:()=>u,eb:()=>m,gC:()=>f,l6:()=>c,yv:()=>d});var r=a(90508);a(1856);var n=a(17730),s=a(60532),o=a(89967),i=a(48218),l=a(24377);function c(e){let{...t}=e;return(0,r.jsx)(i.Root,{"data-slot":"select",...t})}function d(e){let{...t}=e;return(0,r.jsx)(i.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:a="default",children:s,...o}=e;return(0,r.jsxs)(i.Trigger,{"data-slot":"select-trigger","data-size":a,className:(0,l.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o,children:[s,(0,r.jsx)(i.Icon,{asChild:!0,children:(0,r.jsx)(n.A,{className:"size-4 opacity-50"})})]})}function f(e){let{className:t,children:a,position:n="item-aligned",align:s="center",...o}=e;return(0,r.jsx)(i.Portal,{children:(0,r.jsxs)(i.Content,{"data-slot":"select-content",className:(0,l.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,align:s,...o,children:[(0,r.jsx)(x,{}),(0,r.jsx)(i.Viewport,{className:(0,l.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),(0,r.jsx)(p,{})]})})}function m(e){let{className:t,children:a,...n}=e;return(0,r.jsxs)(i.Item,{"data-slot":"select-item",className:(0,l.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...n,children:[(0,r.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,r.jsx)(i.ItemIndicator,{children:(0,r.jsx)(s.A,{className:"size-4"})})}),(0,r.jsx)(i.ItemText,{children:a})]})}function x(e){let{className:t,...a}=e;return(0,r.jsx)(i.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,r.jsx)(o.A,{className:"size-4"})})}function p(e){let{className:t,...a}=e;return(0,r.jsx)(i.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,r.jsx)(n.A,{className:"size-4"})})}},97438:(e,t,a)=>{"use strict";a.d(t,{Cf:()=>f,Es:()=>x,L3:()=>p,c7:()=>m,lG:()=>l,rr:()=>h,zM:()=>c});var r=a(90508);a(1856);var n=a(9160),s=a(71350),o=a(24377),i=a(22922);function l(e){let{...t}=e;return(0,r.jsx)(s.Root,{"data-slot":"dialog",...t})}function c(e){let{...t}=e;return(0,r.jsx)(s.Trigger,{"data-slot":"dialog-trigger",...t})}function d(e){let{...t}=e;return(0,r.jsx)(s.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...a}=e;return(0,r.jsx)(s.Overlay,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function f(e){let{className:t,children:a,showCloseButton:i=!0,...l}=e;return(0,r.jsxs)(d,{"data-slot":"dialog-portal",children:[(0,r.jsx)(u,{}),(0,r.jsxs)(s.Content,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...l,children:[a,i&&(0,r.jsxs)(s.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,r.jsx)(n.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function x(e){let{className:t,showCloseButton:a=!1,children:n,...l}=e;return(0,r.jsxs)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...l,children:[n,a&&(0,r.jsx)(s.Close,{asChild:!0,children:(0,r.jsx)(i.$,{variant:"outline",children:"Close"})})]})}function p(e){let{className:t,...a}=e;return(0,r.jsx)(s.Title,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",t),...a})}function h(e){let{className:t,...a}=e;return(0,r.jsx)(s.Description,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...a})}}},e=>{e.O(0,[12079,18944,12790,21932,16544,53298,86944,76803,14655,37880,3853,74951,65496,77358],()=>e(e.s=5877)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69305],{5877:(e,t,a)=>{Promise.resolve().then(a.bind(a,11156))},11156:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>ej});var r=a(90508),n=a(1856),s=a(23675),o=a(39268),i=a(12790),l=a.n(i),c=a(22922),d=a(32239),u=a(29767),f=a(56770),m=a(50609),x=a(23217),p=a(97645),h=a(94152),g=a(52309),v=a(70633),b=a(17730),j=a(90683),y=a(9111),w=a(62990),N=a(93114),k=a(97438),C=a(67712);let A=[{cx:54,cy:135,topY:117},{cx:96,cy:114,topY:96},{cx:120,cy:118,topY:108},{cx:155,cy:115,topY:105},{cx:146,cy:148,topY:130},{cx:95,cy:149,topY:138},{cx:133,cy:168,topY:158}],S=Array.from({length:7},(e,t)=>t).sort((e,t)=>A[e].topY-A[t].topY),_={bulb:2e3,document:1500,stars:2500,flash:400},E=function(){let e={floor:"floor.png"};for(let t=0;t<7;t++)e["char".concat(t,"-frame1")]="char".concat(t,"-frame1.png"),e["char".concat(t,"-frame2")]="char".concat(t,"-frame2.png");return e}();function T(e){let{slots:t,projectName:a,agentCount:s,collapsed:o=!1,effects:i,onEffectsConsumed:l}=e,c=(0,n.useRef)(null),d=(0,n.useRef)({}),u=(0,n.useRef)(!1),f=(0,n.useRef)(0),m=(0,n.useRef)(0),x=(0,n.useRef)(0),p=(0,n.useRef)(Array.from({length:7},()=>({state:"empty",cycleIndex:0,frameTicks:0,ticksPerFrame:1,stateTimer:0}))),h=(0,n.useRef)(t),g=(0,n.useRef)(a),v=(0,n.useRef)(s),b=(0,n.useRef)(o),j=(0,n.useRef)([]);(0,n.useEffect)(()=>{h.current=t;for(let r=0;r<7;r++){var e,a;let n=null!=(a=null==(e=t[r])?void 0:e.state)?a:"empty",s=p.current[r];s.state!==n&&(s.state=n,s.cycleIndex=0,s.frameTicks=0,s.stateTimer=0)}},[t]),(0,n.useEffect)(()=>{g.current=a},[a]),(0,n.useEffect)(()=>{v.current=s},[s]),(0,n.useEffect)(()=>{b.current=o},[o]),(0,n.useEffect)(()=>{i&&0!==i.length&&(i.forEach(e=>{var t;j.current.push({type:e.type,slotIndex:null!=(t=e.slotIndex)?t:0,elapsed:0,duration:_[e.type]})}),null==l||l())},[i,l]);let y=(0,n.useCallback)(e=>{e.fillStyle="#d0d0e0",e.fillRect(0,0,256,16),e.fillStyle="#e4e4f0",e.fillRect(0,0,256,1),e.fillStyle="#9999aa",e.fillRect(0,15,256,1),e.font="bold 7px monospace",e.textBaseline="middle",e.fillStyle="#333",e.textAlign="left";let t=g.current,a=t.length>20?t.slice(0,18)+"..":t;e.fillText(a,6,8),e.textAlign="right",e.fillStyle="#336";let r=v.current;e.fillText("".concat(r," agent").concat(1!==r?"s":""),250,8),e.textAlign="start",e.textBaseline="alphabetic"},[]),w=(0,n.useCallback)((e,t)=>{let a=h.current[t];if(!(null==a?void 0:a.sessionName))return;let r=A[t];e.font="5px monospace",e.textAlign="center",e.textBaseline="bottom";let n=a.sessionName.length>12?a.sessionName.slice(0,10)+"..":a.sessionName,s=e.measureText(n).width,o=r.cx,i=r.topY-4;e.fillStyle="rgba(0,0,0,0.55)",e.fillRect(o-s/2-2,i-6,s+4,7),e.fillStyle="#fff",e.fillText(n,o,i),e.textAlign="start",e.textBaseline="alphabetic"},[]),N=(0,n.useCallback)(e=>{for(let t of j.current){let a=t.elapsed/t.duration,r=A[t.slotIndex]||A[0];switch(t.type){case"bulb":{let t=a<.1?a/.1:a>.8?(1-a)/.2:1,n=r.cx,s=r.topY-14-2*Math.sin(a*Math.PI*4);e.fillStyle="rgba(255, 220, 50, ".concat(.3*t,")"),e.beginPath(),e.arc(n,s,8,0,2*Math.PI),e.fill(),e.fillStyle="rgba(255, 230, 80, ".concat(t,")"),e.beginPath(),e.arc(n,s,4,0,2*Math.PI),e.fill(),e.fillStyle="rgba(255, 255, 200, ".concat(t,")"),e.fillRect(n-1,s-1,2,2),e.fillStyle="rgba(180, 180, 180, ".concat(t,")"),e.fillRect(n-2,s+3,4,2);break}case"document":{let t=256+(r.cx-256)*Math.min(2*a,1),n=r.topY-10+-15*Math.sin(a*Math.PI);e.globalAlpha=a>.8?(1-a)/.2:1,e.fillStyle="#f8f8f0",e.fillRect(t,n,8,10),e.strokeStyle="#aaa",e.lineWidth=.5,e.strokeRect(t,n,8,10),e.fillStyle="#ccc",e.fillRect(t+1.5,n+2,5,1),e.fillRect(t+1.5,n+4,4,1),e.fillRect(t+1.5,n+6,5,1),e.globalAlpha=1;break}case"stars":{let t=a>.7?(1-a)/.3:1,n=r.cx,s=r.cy;for(let r=0;r<8;r++){let o=r/8*Math.PI*2+a*Math.PI*3,i=10+15*a,l=n+Math.cos(o)*i,c=s+Math.sin(o)*i,d=["#FFD700","#FF6B6B","#4ECDC4","#A78BFA"];e.fillStyle=d[r%d.length],e.globalAlpha=t*(.5+.5*Math.sin(a*Math.PI*6+r));let u=1.5+.5*Math.sin(a*Math.PI*4+r);e.fillRect(l-u/2,c-u/2,u,u)}e.globalAlpha=1;break}case"flash":{let t=a<.3?a/.3:(1-a)/.7;e.fillStyle="rgba(255, 255, 255, ".concat(.6*t,")"),e.fillRect(0,16,256,240)}}}},[]),k=(0,n.useCallback)((e,t)=>{e.clearRect(0,0,768,768),e.save(),e.scale(3,3);let a=t.floor;for(let r of((null==a?void 0:a.complete)&&a.naturalWidth&&e.drawImage(a,0,0,256,256),S)){let a=p.current[r];if("empty"===a.state)continue;let n="typing"===a.state&&a.cycleIndex%2==1,s=t["char".concat(r,"-frame").concat(n?2:1)];if((null==s?void 0:s.complete)&&s.naturalWidth){"celebrate"===a.state&&(e.save(),e.globalAlpha=.85+.15*Math.sin(Date.now()/200));let t="looking"===a.state?+Math.sin(Date.now()/300):0;0!==t&&(e.save(),e.translate(0,t)),e.drawImage(s,0,0,256,256),0!==t&&e.restore(),"celebrate"===a.state&&e.restore()}w(e,r)}y(e),N(e),e.restore()},[y,w,N]),T=(0,n.useCallback)(e=>{for(let t=0;t<7;t++){let a=p.current[t];"empty"!==a.state&&(a.stateTimer+=e,"celebrate"===a.state&&a.stateTimer>=3e3&&(a.state="idle",a.cycleIndex=0,a.frameTicks=0,a.stateTimer=0),"looking"===a.state&&a.stateTimer>=1500&&(a.state="idle",a.cycleIndex=0,a.frameTicks=0,a.stateTimer=0),"typing"===a.state&&(a.frameTicks++,a.frameTicks>=a.ticksPerFrame&&(a.frameTicks=0,a.cycleIndex=(a.cycleIndex+1)%2)))}let t=j.current;for(let a=t.length-1;a>=0;a--)t[a].elapsed+=e,t[a].elapsed>=t[a].duration&&t.splice(a,1)},[]),z=(0,n.useCallback)(e=>{if(b.current){f.current=requestAnimationFrame(z),m.current=e;return}let t=e-m.current;m.current=e,x.current+=t;let a=!1;for(;x.current>=10;)x.current-=10,T(10),a=!0;if(a){let e=c.current,t=null==e?void 0:e.getContext("2d");t&&u.current&&k(t,d.current)}f.current=requestAnimationFrame(z)},[T,k]);return(0,n.useEffect)(()=>{let e=!1;return new Promise(e=>{let t={},a=Object.entries(E),r=0,n=a.length;a.forEach(a=>{let[s,o]=a,i=new Image;i.onload=()=>{++r===n&&e(t)},i.onerror=()=>{C.q.warn("Failed to load sprite:",s,o),++r===n&&e(t)},i.src="".concat("/sprites/").concat(o),t[s]=i})}).then(t=>{if(e)return;d.current=t,u.current=!0;let a=c.current,r=null==a?void 0:a.getContext("2d");r&&(r.imageSmoothingEnabled=!1,k(r,t)),m.current=performance.now(),f.current=requestAnimationFrame(z)}),()=>{e=!0,f.current&&cancelAnimationFrame(f.current)}},[k,z]),(0,r.jsx)("canvas",{ref:c,width:768,height:768,className:"w-full",style:{imageRendering:"pixelated",aspectRatio:"1 / 1"}})}var z=a(52217);let P=(0,z.createServerReference)("40c24e6feb30798e01c084892d389e502bdb0aa268",z.callServer,void 0,z.findSourceMapURL,"getProjectActiveSessionsAction");var R=a(63964);function I(e){let{projectUuid:t,projectName:a}=e,s=(0,o.c)("pixelCanvas"),[i,l]=(0,n.useState)(!1),[c,d]=(0,n.useState)(Array.from({length:7},()=>({state:"empty"}))),[u,f]=(0,n.useState)(0),[m,x]=(0,n.useState)([]),p=(0,n.useCallback)(async()=>{let e=await P(t);if(!e.success||!e.data)return;let a=e.data;d(Array.from({length:7},(e,t)=>{let r=a[t];return r?{state:"typing",sessionName:r.sessionName}:{state:"empty"}})),f(a.length)},[t]);(0,R.l9)(p);let h=(0,n.useCallback)(()=>{x([])},[]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"fixed bottom-4 right-4 md:bottom-6 md:right-6 z-40 cursor-pointer",onClick:()=>l(!0),children:(0,r.jsxs)("div",{className:"relative transition-transform hover:scale-105",children:[(0,r.jsx)("div",{className:"overflow-hidden rounded-lg border-2 border-border bg-card shadow-lg hover:shadow-xl",children:(0,r.jsx)(N.default,{src:"/typing-animation.gif",alt:s("title"),width:72,height:72,unoptimized:!0,className:"block scale-[1.3]"})}),u>0&&(0,r.jsx)("span",{className:"absolute -top-3 -right-3 flex h-7 min-w-7 items-center justify-center rounded-full bg-[#B87351] text-xs font-bold text-white shadow-md",children:u})]})}),(0,r.jsx)(k.lG,{open:i,onOpenChange:l,children:(0,r.jsxs)(k.Cf,{className:"sm:max-w-2xl p-4",children:[(0,r.jsxs)(k.L3,{className:"text-sm",children:[a," — ",s("title")]}),(0,r.jsx)(k.rr,{className:"sr-only",children:s("title")}),(0,r.jsx)("div",{className:"overflow-hidden rounded-lg border border-border",children:(0,r.jsx)(T,{slots:c,projectName:a,agentCount:u,collapsed:!i,effects:m,onEffectsConsumed:h})})]})})]})}var F=a(67587),U=a(11966),O=a(42533),M=a(1861),D=a(43057),L=a(83553),B=a(95886),$=a(11080);let Y=(0,n.createContext)(null),q=new Set(["agent_checkin"]);function G(e){let{children:t}=e,[a,i]=(0,n.useState)(0),l=(0,n.useRef)(new Set),c=(0,s.useRouter)(),d=(0,o.c)("notifications"),u=(0,n.useCallback)(()=>{l.current.forEach(e=>e())},[]),f=(0,n.useCallback)(async()=>{try{let e=await (0,w.tm)("/api/notifications?readFilter=unread&take=0");if(e.ok){let t=await e.json();t.success&&i(t.data.unreadCount)}}catch(e){}},[]),m=(0,n.useCallback)(()=>{f(),u()},[f,u]),x=(0,n.useCallback)(e=>{if(!e.action||q.has(e.action)||!e.entityTitle||!e.actorName)return;let t=d("types.".concat(e.action)),a=e.entityTitle,n="".concat(e.actorName," \xb7 ").concat(t);(0,F.oR)(a,{description:n,icon:function(e){switch(e){case"task_assigned":case"idea_claimed":return(0,r.jsx)(U.A,{className:"h-4 w-4 text-[#C67A52]"});case"proposal_approved":case"task_verified":return(0,r.jsx)(O.A,{className:"h-4 w-4 text-green-600"});case"proposal_rejected":case"task_reopened":return(0,r.jsx)(M.A,{className:"h-4 w-4 text-red-500"});case"comment_added":return(0,r.jsx)(D.A,{className:"h-4 w-4 text-orange-500"});case"mentioned":return(0,r.jsx)(L.A,{className:"h-4 w-4 text-blue-600"});case"proposal_submitted":return(0,r.jsx)(B.A,{className:"h-4 w-4 text-blue-500"});case"task_status_changed":return(0,r.jsx)($.A,{className:"h-4 w-4 text-blue-500"});default:return(0,r.jsx)(B.A,{className:"h-4 w-4 text-muted-foreground"})}}(e.action),duration:5e3,action:e.entityType&&e.entityUuid&&e.projectUuid?{label:d("viewDetail"),onClick:()=>c.push(function(e,t,a){let r="/projects/".concat(a);switch(e){case"task":return"".concat(r,"/tasks/").concat(t);case"idea":return"".concat(r,"/ideas/").concat(t);case"proposal":return"".concat(r,"/proposals/").concat(t);case"document":return"".concat(r,"/documents/").concat(t);default:return r}}(e.entityType,e.entityUuid,e.projectUuid))}:void 0})},[d,c]);(0,n.useEffect)(()=>{let e,t=null;function a(){r(),(t=new EventSource("/api/events/notifications")).onmessage=t=>{try{let e=JSON.parse(t.data);"number"==typeof e.unreadCount&&i(e.unreadCount),"new_notification"===e.type&&x(e)}catch(e){}clearTimeout(e),e=setTimeout(u,300)},t.onerror=()=>{}}function r(){t&&(t.close(),t=null)}function n(){"visible"===document.visibilityState?(a(),f()):r()}return a(),f(),document.addEventListener("visibilitychange",n),()=>{r(),clearTimeout(e),document.removeEventListener("visibilitychange",n)}},[f,u,x]);let p=(0,n.useMemo)(()=>({unreadCount:a,refreshNotifications:m}),[a,m]);return(0,r.jsx)(Y.Provider,{value:p,children:t})}function V(){let e=(0,n.useContext)(Y);return e||{unreadCount:0,refreshNotifications:()=>{}}}var K=a(36557),W=a(17001),J=a(11426),X=a(16544),H=a(65626),Q=a(39674),Z=a(64993),ee=a(57731);let et=[{bg:"bg-amber-100 dark:bg-amber-900/30",text:"text-amber-800 dark:text-amber-300"},{bg:"bg-blue-100 dark:bg-blue-900/30",text:"text-blue-800 dark:text-blue-300"},{bg:"bg-emerald-100 dark:bg-emerald-900/30",text:"text-emerald-800 dark:text-emerald-300"},{bg:"bg-violet-100 dark:bg-violet-900/30",text:"text-violet-800 dark:text-violet-300"},{bg:"bg-rose-100 dark:bg-rose-900/30",text:"text-rose-800 dark:text-rose-300"},{bg:"bg-cyan-100 dark:bg-cyan-900/30",text:"text-cyan-800 dark:text-cyan-300"},{bg:"bg-orange-100 dark:bg-orange-900/30",text:"text-orange-800 dark:text-orange-300"},{bg:"bg-indigo-100 dark:bg-indigo-900/30",text:"text-indigo-800 dark:text-indigo-300"}],ea=new Set(["agent_checkin"]);function er(e){let{onClose:t}=e,a=(0,o.c)("notifications"),i=(0,s.useRouter)(),{refreshNotifications:d}=V(),u=(0,n.useCallback)(e=>{let t=Date.now()-new Date(e).getTime(),r=Math.floor(t/6e4),n=Math.floor(t/36e5),s=Math.floor(t/864e5);return r<1?a("justNow"):r<60?a("minutesAgo",{count:r}):n<24?a("hoursAgo",{count:n}):a("daysAgo",{count:s})},[a]),[f,m]=(0,n.useState)([]),[x,p]=(0,n.useState)([]),[h,g]=(0,n.useState)(0),[v,b]=(0,n.useState)(0),[j,y]=(0,n.useState)(!0),N=(0,n.useCallback)(async(e,t)=>{let a=new URLSearchParams({limit:"20",offset:String(t)});e&&a.set("unreadOnly","true");let r=await (0,w.tm)("/api/notifications?".concat(a));if(!r.ok)return null;let n=await r.json();return n.success?n.data:null},[]);(0,n.useEffect)(()=>{let e=!1;return async function(){y(!0);let[t,a]=await Promise.all([N(!1,0),N(!0,0)]);e||(t&&(m(t.notifications),g(t.notifications.length<20?t.notifications.length:999)),a&&(p(a.notifications),b(a.unreadCount)),y(!1))}(),()=>{e=!0}},[N]);let k=async()=>{await (0,w.tm)("/api/notifications/read-all",{method:"POST"}),p([]),b(0),m(e=>e.map(e=>e.readAt?e:{...e,readAt:new Date().toISOString()})),d()},C=async e=>{e.readAt||((0,w.tm)("/api/notifications/".concat(e.uuid,"/read"),{method:"PATCH"}),p(t=>t.filter(t=>t.uuid!==e.uuid)),m(t=>t.map(t=>t.uuid===e.uuid?{...t,readAt:new Date().toISOString()}:t)),d()),t(),i.push(function(e){let{action:t,entityType:a,entityUuid:r,projectUuid:n}=e,s="/projects/".concat(n);if("report_created"===t)return"".concat(s,"/dashboard?panel=").concat(r,"&tab=overview");switch(a){case"task":return"".concat(s,"/tasks/").concat(r);case"idea":return"".concat(s,"/ideas/").concat(r);case"proposal":return"".concat(s,"/proposals/").concat(r);case"document":return"".concat(s,"/documents/").concat(r);default:return s}}(e))},A=async e=>{let t=e?x:f,a=await N(e,t.length);a&&(e?p(e=>[...e,...a.notifications]):m(e=>[...e,...a.notifications]))},S=e=>{let{Icon:t,color:n}=function(e){switch(e){case"task_assigned":case"idea_claimed":return{Icon:U.A,color:"text-[#C67A52]"};case"proposal_approved":case"task_verified":return{Icon:O.A,color:"text-green-600"};case"proposal_rejected":case"task_reopened":return{Icon:M.A,color:"text-red-500"};case"comment_added":return{Icon:D.A,color:"text-orange-500"};case"mentioned":return{Icon:L.A,color:"text-blue-600"};case"proposal_submitted":return{Icon:B.A,color:"text-blue-500"};case"task_status_changed":return{Icon:$.A,color:"text-blue-500"};case"report_created":return{Icon:J.A,color:"text-emerald-600"};default:return{Icon:B.A,color:"text-muted-foreground"}}}(e.action),s=function(e){let t=0;for(let a=0;a<e.length;a++)t=31*t+e.charCodeAt(a)|0;return et[Math.abs(t)%et.length]}(e.projectUuid),o=!e.readAt;return(0,r.jsx)(X.P.div,{variants:H.Rf,children:(0,r.jsxs)("button",{onClick:()=>C(e),className:"flex w-full gap-3 px-4 py-3 text-left hover:bg-muted/50 transition-colors border-b border-border last:border-b-0",children:[(0,r.jsx)("div",{className:"mt-1.5 flex-shrink-0",children:o?(0,r.jsx)("div",{className:"h-2 w-2 rounded-full bg-[#C67A52]"}):(0,r.jsx)("div",{className:"h-2 w-2"})}),(0,r.jsx)("div",{className:"mt-0.5 flex-shrink-0",children:(0,r.jsx)(t,{className:"h-4 w-4 ".concat(n)})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)(ee.E,{variant:"secondary",className:"mb-1 block h-auto max-w-full whitespace-normal break-words px-1.5 py-0 text-[10px] font-medium ".concat(s.bg," ").concat(s.text," border-0"),children:e.projectName}),(0,r.jsx)("div",{className:"text-[13px] font-medium text-foreground break-words",children:e.entityTitle}),(0,r.jsx)("div",{className:"text-[12px] text-muted-foreground break-words",children:a("types.".concat(e.action))}),(0,r.jsxs)("div",{className:"mt-0.5 text-[11px] text-muted-foreground break-words",children:[e.actorName," \xb7 ",u(e.createdAt)]})]})]})},e.uuid)},_=(e,t,n)=>{let s=e.filter(e=>!ea.has(e.action));return j?(0,r.jsxs)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:[a("loadMore"),"..."]}):0===s.length?(0,r.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:t?a("noUnread"):a("noNotifications")}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(X.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:.04},children:s.map(S)}),s.length<n&&(0,r.jsx)("div",{className:"p-3 text-center",children:(0,r.jsx)(c.$,{variant:"ghost",size:"sm",className:"text-xs",onClick:()=>A(t),children:a("loadMore")})})]})};return(0,r.jsxs)("div",{className:"w-[calc(100vw-2rem)] max-w-[360px]",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:a("title")}),(0,r.jsx)(c.$,{variant:"ghost",size:"sm",className:"h-auto p-0 text-xs text-primary hover:text-primary/80",onClick:k,children:a("markAllRead")})]}),(0,r.jsxs)(Q.tU,{defaultValue:"unread",className:"gap-0",children:[(0,r.jsxs)(Q.j7,{className:"w-full rounded-none border-b border-border bg-transparent px-4 py-0 h-9",children:[(0,r.jsxs)(Q.Xi,{value:"unread",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:[a("tabUnread")," ",v>0&&"(".concat(v,")")]}),(0,r.jsx)(Q.Xi,{value:"all",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:a("tabAll")})]}),(0,r.jsx)(Q.av,{value:"all",className:"mt-0",children:(0,r.jsx)(X.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,r.jsx)(Z.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:_(f,!1,h)})},"tab-all")}),(0,r.jsx)(Q.av,{value:"unread",className:"mt-0",children:(0,r.jsx)(X.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,r.jsx)(Z.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:_(x,!0,v)})},"tab-unread")})]}),(0,r.jsx)("div",{className:"border-t border-border px-4 py-2 text-center",children:(0,r.jsx)(l(),{href:"/settings",onClick:t,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:a("notificationPreferences")})})]})}function en(){let{unreadCount:e}=V(),[t,a]=(0,n.useState)(!1);return(0,r.jsxs)(W.AM,{open:t,onOpenChange:a,children:[(0,r.jsx)(W.Wv,{asChild:!0,children:(0,r.jsxs)(c.$,{variant:"ghost",size:"icon",className:"relative h-8 w-8 text-muted-foreground hover:text-foreground",children:[(0,r.jsx)(K.A,{className:"h-4 w-4"}),e>0&&(0,r.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-[#C67A52] px-1 text-[10px] font-medium text-white animate-[pulse-badge_1.5s_ease-in-out_infinite]",children:e>99?"99+":e})]})}),(0,r.jsx)(W.hl,{align:"start",sideOffset:8,className:"w-auto p-0 rounded-lg",children:(0,r.jsx)(er,{onClose:()=>a(!1)})})]})}var es=a(68923),eo=a(30044),ei=a(9225),el=a(85226),ec=a(67103),ed=a(24377),eu=a(14554),ef=a(91846),em=a(42305);let ex=["all","task","idea","proposal","document","project"],ep={task:"bg-[#EBF5FF] text-[#2563EB] border-[#2563EB]/20",idea:"bg-[#FEF9C3] text-[#A16207] border-[#A16207]/20",proposal:"bg-[#FFF7ED] text-[#C67A52] border-[#C67A52]/20",document:"bg-[#F3E8FF] text-[#7C3AED] border-[#7C3AED]/20",project:"bg-[#ECFDF5] text-[#059669] border-[#059669]/20",project_group:"bg-[#F0FDFA] text-[#0D9488] border-[#0D9488]/20"},eh={all:"filterAll",task:"filterTasks",idea:"filterIdeas",proposal:"filterProposals",document:"filterDocuments",project:"filterProjects",project_group:"filterProjects"};function eg(e){let{currentProjectUuid:t,currentProjectName:a,currentGroupUuid:i,currentGroupName:l}=e,d=(0,o.c)("search"),u=(0,o.c)("time"),f=(0,s.useRouter)(),[m,x]=(0,n.useState)(""),[p,h]=(0,n.useState)(t?"project":i?"group":"global"),[g,v]=(0,n.useState)([]),[b,j]=(0,n.useState)(!1),[y,w]=(0,n.useState)(!1),[N,A]=(0,n.useState)("all"),[S,_]=(0,n.useState)(0),E=(0,n.useRef)(null),T=(0,n.useRef)([]),z=(0,n.useRef)(void 0);(0,n.useEffect)(()=>{h(t?"project":i?"group":"global")},[t,i]),(0,n.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key&&!e.defaultPrevented&&(e.preventDefault(),w(!0))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,n.useEffect)(()=>{y?setTimeout(()=>{var e;return null==(e=E.current)?void 0:e.focus()},0):(x(""),v([]),A("all"))},[y]);let P=(0,n.useCallback)(async function(e,a){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all";if(!e.trim()){v([]),j(!1);return}j(!0);try{let n=new URLSearchParams({q:e.trim(),scope:a,limit:"20"});"project"===a&&t?n.set("scopeUuid",t):"group"===a&&i&&n.set("scopeUuid",i),"all"!==r&&n.set("types",r);let s=await fetch("/api/search?".concat(n.toString()),{credentials:"include"});if(!s.ok){C.q.error("Search failed:",s.status),v([]);return}let o=await s.json();o.success?v(o.data.results):v([])}catch(e){C.q.error("Search error:",e),v([])}finally{j(!1)}},[t,i]),R=(0,n.useCallback)(e=>{x(e),z.current&&clearTimeout(z.current),e.trim()?z.current=setTimeout(()=>{P(e,p,N)},300):(v([]),j(!1))},[p,N,P]),I=(0,n.useCallback)(e=>{h(e),m.trim()&&P(m,e,N)},[m,N,P]),F=(0,n.useCallback)(e=>{A(e),_(0),m.trim()&&P(m,p,e)},[m,p,P]);(0,n.useEffect)(()=>{_(0)},[g]);let U=(0,n.useCallback)(e=>{switch(w(!1),e.entityType){case"task":e.projectUuid&&f.push("/projects/".concat(e.projectUuid,"/tasks/").concat(e.uuid));break;case"idea":e.projectUuid&&f.push("/projects/".concat(e.projectUuid,"/ideas/").concat(e.uuid));break;case"proposal":e.projectUuid&&f.push("/projects/".concat(e.projectUuid,"/proposals/").concat(e.uuid));break;case"document":e.projectUuid&&f.push("/projects/".concat(e.projectUuid,"/documents/").concat(e.uuid));break;case"project":f.push("/projects/".concat(e.uuid,"/dashboard"));break;case"project_group":f.push("/projects")}},[f]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(c.$,{variant:"outline",size:"icon",onClick:()=>w(!0),className:"md:w-full md:justify-start md:gap-3 h-9 md:px-3 text-muted-foreground font-normal",children:[(0,r.jsx)(eo.A,{className:"h-4 w-4 shrink-0"}),(0,r.jsx)("span",{className:"hidden md:inline truncate text-sm",children:d("placeholder")}),(0,r.jsxs)("kbd",{className:"ml-auto pointer-events-none hidden md:flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium",children:[(0,r.jsx)(ei.A,{className:"h-3 w-3"}),(0,r.jsx)("span",{children:"K"})]})]}),(0,r.jsx)(k.lG,{open:y,onOpenChange:w,children:(0,r.jsxs)(k.Cf,{className:"w-[calc(100vw-2rem)] sm:max-w-[600px] p-0 gap-0 overflow-hidden [&>button]:hidden [&>*]:min-w-0 top-4 sm:top-[20%] translate-y-0","aria-describedby":void 0,children:[(0,r.jsx)(k.L3,{className:"sr-only",children:d("placeholder")}),(0,r.jsxs)("div",{className:"flex items-center gap-2 border-b px-3 sm:px-4 py-3",children:[(0,r.jsx)(eo.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,r.jsx)(eu.p,{ref:E,type:"text",placeholder:d("placeholder"),value:m,onChange:e=>R(e.target.value),onKeyDown:e=>{!(0,em.P)(e)&&("ArrowDown"===e.key?(e.preventDefault(),_(e=>{var t;let a=Math.min(e+1,g.length-1);return null==(t=T.current[a])||t.scrollIntoView({block:"nearest"}),a})):"ArrowUp"===e.key?(e.preventDefault(),_(e=>{var t;let a=Math.max(e-1,0);return null==(t=T.current[a])||t.scrollIntoView({block:"nearest"}),a})):"Enter"===e.key&&g.length>0&&(e.preventDefault(),U(g[S])))},className:"border-0 shadow-none focus-visible:ring-0 h-8 px-0 text-sm min-w-0"}),b&&(0,r.jsx)(el.A,{className:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"}),(0,r.jsxs)(ef.l6,{value:p,onValueChange:e=>I(e),children:[(0,r.jsx)(ef.bq,{className:"w-auto h-7 text-xs gap-1 border-dashed shrink-0",children:(0,r.jsx)(ef.yv,{})}),(0,r.jsxs)(ef.gC,{children:[(0,r.jsx)(ef.eb,{value:"global",children:d("scopeGlobal")}),i&&(0,r.jsx)(ef.eb,{value:"group",children:l||d("scopeGroup")}),t&&(0,r.jsx)(ef.eb,{value:"project",children:a||d("scopeProject")})]})]})]}),m.trim()&&(0,r.jsx)("div",{className:"flex items-center gap-1 border-b px-4 py-2 overflow-x-auto",children:ex.map(e=>(0,r.jsx)(c.$,{variant:N===e?"default":"ghost",size:"sm",onClick:()=>F(e),className:(0,ed.cn)("h-7 px-3 text-xs rounded-full shrink-0",N===e?"bg-foreground text-background hover:bg-foreground/90":"text-muted-foreground hover:text-foreground"),children:d(eh[e])},e))}),(0,r.jsx)(Z.F,{className:"max-h-[400px]",children:(0,r.jsx)(ec.N,{mode:"wait",children:m.trim()?b?(0,r.jsx)(X.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:H.Yv.fast},children:(0,r.jsxs)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:[(0,r.jsx)(el.A,{className:"h-5 w-5 animate-spin mx-auto mb-2"}),d("placeholder"),"..."]})},"loading"):0===g.length?(0,r.jsx)(X.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:H.Yv.fast},children:(0,r.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:d("noResults")})},"no-results"):(0,r.jsx)(X.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:H.Yv.staggerFast},className:"p-2",children:g.map((e,t)=>(0,r.jsx)(X.P.div,{variants:H.Rf,children:(0,r.jsxs)("button",{ref:e=>{T.current[t]=e},onClick:()=>U(e),onMouseEnter:()=>_(t),className:(0,ed.cn)("block w-full text-left px-3 py-2.5 rounded-lg transition-colors cursor-pointer overflow-hidden",t===S?"bg-accent":"hover:bg-accent/50"),children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 mb-0.5",children:[(0,r.jsx)(ee.E,{variant:"outline",className:(0,ed.cn)("text-[10px] px-1.5 py-0 shrink-0",ep[e.entityType]||"bg-muted text-muted-foreground"),children:d("entityType.".concat(e.entityType))}),e.status&&(0,r.jsx)(ee.E,{variant:"secondary",className:"text-[10px] px-1.5 py-0 shrink-0",children:e.status}),e.projectName&&(0,r.jsx)("span",{className:"text-[10px] text-muted-foreground line-clamp-1 ml-auto",children:e.projectName})]}),(0,r.jsx)("div",{className:"font-medium text-sm line-clamp-1 break-all",children:e.title}),e.snippet&&(0,r.jsx)("div",{className:"text-xs text-muted-foreground line-clamp-1 mt-0.5 break-all",children:e.snippet}),(0,r.jsx)("div",{className:"text-[10px] text-muted-foreground mt-1",children:(e=>{let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);return t<60?u("justNow"):t<3600?u("minutesAgo",{minutes:Math.floor(t/60)}):t<86400?u("hoursAgo",{hours:Math.floor(t/3600)}):u("daysAgo",{days:Math.floor(t/86400)})})(e.updatedAt)})]})},"".concat(e.entityType,"-").concat(e.uuid)))},"results-".concat(N)):(0,r.jsx)(X.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:H.Yv.fast},children:(0,r.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:d("placeholder")})},"empty")})}),(0,r.jsxs)("div",{className:"hidden sm:flex items-center justify-between border-t px-4 py-2 text-[10px] text-muted-foreground",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↑"}),(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↓"}),d("filterAll")]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"⏎"}),"Open"]})]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"Esc"}),"Close"]})]})]})})]})}function ev(e){let{children:t}=e,a=function(e){let t=e.match(/^(\/projects\/[a-f0-9-]{36}\/(tasks|ideas|documents|proposals))\/.+$/);return t?t[1]:e}((0,s.usePathname)());return(0,r.jsx)(X.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:H.Yv.normal,ease:H.Yv.easeOut},className:"flex-1 flex flex-col",children:t},a)}let eb=e=>{let{...t}=e;return(0,r.jsx)(F.l$,{className:"toaster group",...t})};function ej(e){let{children:t}=e,a=(0,s.useRouter)(),i=(0,s.usePathname)(),N=(0,o.c)(),[k,A]=(0,n.useState)(null),[S,_]=(0,n.useState)(null),[E,T]=(0,n.useState)([]),[z,P]=(0,n.useState)(!0),[F,U]=(0,n.useState)(!1),[O,M]=(0,n.useState)(!1),[D,L]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");L(e.matches);let t=e=>L(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,n.useEffect)(()=>{M(!1)},[i]);let B=function(e){let t=e.match(/^\/projects\/([a-f0-9-]{36})(\/|$)/);return t?t[1]:null}(i),$=function(e){let t=e.match(/^\/project-groups\/([a-f0-9-]{36})(\/|$)/);return t?t[1]:null}(i),[Y,q]=(0,n.useState)(null);(0,n.useEffect)(()=>{if(!$)return void q(null);(0,w.tm)("/api/project-groups/".concat($)).then(e=>e.ok?e.json():null).then(e=>{(null==e?void 0:e.success)&&q(e.data.name)}).catch(()=>q(null))},[$]);let V="/projects"===i||"/settings"===i||i.startsWith("/project-groups"),K=B&&!V,W=i.match(/^\/projects\/[a-f0-9-]{36}\/tasks(\/|$)/);(0,n.useEffect)(()=>{J()},[]),(0,n.useEffect)(()=>{if(!B||V){_(null),T([]);return}let e=!1;return async function(){try{var t;let a=await (0,w.tm)("/api/projects/".concat(B));if(!a.ok||e)return;let r=await a.json();if(!r.success||e)return;let n={uuid:r.data.uuid,name:r.data.name,groupUuid:null!=(t=r.data.groupUuid)?t:null};if(_(n),n.groupUuid){let t=await (0,w.tm)("/api/project-groups/".concat(n.groupUuid));if(!t.ok||e)return;let a=await t.json();a.success&&!e&&T((a.data.projects||[]).filter(e=>e.uuid!==B))}else T([])}catch(e){C.q.error("Failed to fetch current project:",e)}}(),()=>{e=!0}},[B,V]);let J=async()=>{try{let e=await (0,w.tm)("/api/auth/session");if(!e.ok&&(await fetch("/api/auth/refresh",{method:"POST"})).ok&&(e=await (0,w.tm)("/api/auth/session")),!e.ok){(0,w.w9)(),a.push("/login");return}let t=await e.json();if(t.success&&t.data.user)A({uuid:t.data.user.uuid,email:t.data.user.email,name:t.data.user.name||t.data.user.email});else{(0,w.w9)(),a.push("/login");return}}catch(e){C.q.error("Session check failed:",e),(0,w.w9)(),a.push("/login");return}P(!1)},Q=async()=>{try{await (0,w.ri)()}catch(e){(0,w.w9)()}a.push("/login")};if(z)return(0,r.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-background",children:(0,r.jsx)("div",{className:"text-muted-foreground",children:N("common.loading")})});let Z=[{href:"/projects",label:N("nav.projects"),icon:h.A},{href:"/settings",label:N("nav.settings"),icon:g.A}],ee=e=>e.endsWith("/dashboard")?i===e:"/projects"===e?"/projects"===i:i===e||i.startsWith(e+"/"),et=e=>{var t;let{mobile:n=!1}=e,s=n?"text-[15px]":"text-[13px]",o=n?"h-5 w-5":"h-4 w-4",i=n?"gap-1.5":"gap-1",h=n?"h-10":"";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex flex-col gap-8 p-6",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-7 w-7"}),(0,r.jsx)("span",{className:"text-base font-semibold text-foreground",children:N("common.appName")})]}),(0,r.jsx)("div",{className:"hidden md:block",children:(0,r.jsx)(en,{})})]}),!n&&(0,r.jsx)(eg,{currentProjectUuid:B||void 0,currentProjectName:null==S?void 0:S.name,currentGroupUuid:$||void 0,currentGroupName:Y||void 0}),(0,r.jsx)("nav",{className:"flex flex-col ".concat(i),children:K&&B?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l(),{href:"/projects",children:(0,r.jsxs)(c.$,{variant:"ghost",size:"sm",className:"w-full justify-start gap-2.5 text-muted-foreground hover:text-foreground ".concat(s," ").concat(h),children:[(0,r.jsx)(v.A,{className:n?"h-4 w-4":"h-3 w-3"}),N("nav.backToProjects")]})}),S&&(0,r.jsxs)("div",{className:"relative mt-2",children:[(0,r.jsxs)(c.$,{variant:"ghost",size:"sm",onClick:()=>E.length>0&&U(!F),className:"w-full justify-between px-3 py-1.5 ".concat(0===E.length?"cursor-default":""),children:[(0,r.jsx)("span",{className:"truncate font-semibold uppercase tracking-wider text-foreground ".concat(n?"text-[13px]":"text-[11px]"),children:S.name}),E.length>0&&(0,r.jsx)(b.A,{className:"h-3 w-3 text-muted-foreground transition-transform ".concat(F?"rotate-180":"")})]}),(0,r.jsx)(ec.N,{children:F&&E.length>0&&(0,r.jsx)(X.P.div,{variants:H.K5,initial:"initial",animate:"animate",exit:"exit",className:"absolute left-0 right-0 top-full z-10 mt-1 origin-top rounded-lg border border-border bg-card py-1 shadow-lg",children:E.map(e=>(0,r.jsx)(c.$,{variant:"ghost",size:"sm",onClick:()=>{U(!1),a.push("/projects/".concat(e.uuid,"/dashboard"))},className:"w-full justify-start px-3 py-2 ".concat(s," [&>*]:truncate text-muted-foreground"),children:(0,r.jsx)("span",{className:"truncate",children:e.name})},e.uuid))})})]}),(0,r.jsx)("div",{className:"mt-2 flex flex-col ".concat(i),children:[{href:"/projects/".concat(B,"/dashboard"),label:N("nav.overview"),icon:d.A},{href:"/projects/".concat(B,"/ideas"),label:N("nav.ideas"),icon:u.A},{href:"/projects/".concat(B,"/documents"),label:N("nav.documents"),icon:f.A},{href:"/projects/".concat(B,"/proposals"),label:N("nav.proposals"),icon:m.A},{href:"/projects/".concat(B,"/tasks"),label:N("nav.tasks"),icon:x.A},{href:"/projects/".concat(B,"/activity"),label:N("nav.activity"),icon:p.A}].map(e=>{let t=ee(e.href),a=e.icon;return(0,r.jsx)(l(),{href:e.href,children:(0,r.jsxs)(c.$,{variant:"ghost",size:"sm",className:"relative w-full justify-start gap-2.5 ".concat(s," ").concat(h," ").concat(t?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"),children:[t&&(0,r.jsx)(X.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,r.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,r.jsx)(a,{className:"".concat(o," ").concat(t?"text-primary":"")}),e.label]})]})},e.href)})})]}):(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("div",{className:"flex flex-col ".concat(i),children:Z.map(e=>{let t=ee(e.href),a=e.icon;return(0,r.jsx)(l(),{href:e.href,children:(0,r.jsxs)(c.$,{variant:"ghost",size:"sm",className:"relative w-full justify-start gap-2.5 ".concat(s," ").concat(h," ").concat(t?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"),children:[t&&(0,r.jsx)(X.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,r.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,r.jsx)(a,{className:"".concat(o," ").concat(t?"text-primary":"")}),e.label]})]})},e.href)})})})})]}),(0,r.jsx)("div",{className:"p-6",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"flex items-center justify-center rounded-full bg-primary font-medium text-primary-foreground ".concat(n?"h-10 w-10 text-base":"h-9 w-9 text-sm"),children:(null==k||null==(t=k.name)?void 0:t.charAt(0))||"U"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate font-medium text-foreground ".concat(n?"text-[15px]":"text-[13px]"),children:null==k?void 0:k.name}),(0,r.jsx)("div",{className:"truncate text-muted-foreground ".concat(n?"text-[12px]":"text-[11px]"),children:null==k?void 0:k.email})]}),(0,r.jsx)(c.$,{variant:"ghost",size:"icon",onClick:Q,title:N("common.signOut"),className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:(0,r.jsx)(j.A,{className:"h-4 w-4"})})]})})]})};return(0,r.jsxs)(G,{children:[(0,r.jsxs)("div",{className:"flex min-h-screen bg-background",children:[(0,r.jsx)("header",{className:"fixed top-0 left-0 right-0 z-30 border-b border-border bg-card md:hidden",children:(0,r.jsxs)("div",{className:"flex h-14 items-center justify-between px-4",children:[(0,r.jsx)("button",{onClick:()=>M(!0),"aria-label":N("nav.openMenu"),children:(0,r.jsx)(y.A,{className:"h-5 w-5 text-muted-foreground"})}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-6 w-6"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-foreground",children:N("common.appName")})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(eg,{currentProjectUuid:B||void 0,currentProjectName:null==S?void 0:S.name,currentGroupUuid:$||void 0,currentGroupName:Y||void 0}),(0,r.jsx)(en,{})]})]})}),(0,r.jsx)(es.cj,{open:O,onOpenChange:M,children:(0,r.jsx)(es.h,{side:"left",className:"w-[280px] p-0",children:(0,r.jsx)("div",{className:"flex h-full flex-col justify-between overflow-y-auto",children:(0,r.jsx)(et,{mobile:!0})})})}),(0,r.jsx)("aside",{className:"hidden md:sticky md:top-0 md:flex h-screen w-[220px] flex-shrink-0 flex-col justify-between overflow-y-auto border-r border-border bg-card",children:(0,r.jsx)(et,{})}),K&&B?(0,r.jsxs)(R.tS,{projectUuid:B,children:[(0,r.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,r.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(W?"":"max-w-[1200px]"),children:(0,r.jsx)(ev,{children:t})})}),(0,r.jsx)(I,{projectUuid:B,projectName:(null==S?void 0:S.name)||""})]}):"/projects"===i||i.startsWith("/project-groups")?(0,r.jsx)(R.tS,{children:(0,r.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,r.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(W?"":"max-w-[1200px]"),children:(0,r.jsx)(ev,{children:t})})})}):(0,r.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,r.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(W?"":"max-w-[1200px]"),children:(0,r.jsx)(ev,{children:t})})})]}),(0,r.jsx)(eb,{position:D?"top-center":"top-right",closeButton:!D})]})}},14554:(e,t,a)=>{"use strict";a.d(t,{p:()=>s});var r=a(90508);a(1856);var n=a(24377);function s(e){let{className:t,type:a,...s}=e;return(0,r.jsx)("input",{type:a,"data-slot":"input",className:(0,n.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...s})}},17001:(e,t,a)=>{"use strict";a.d(t,{AM:()=>o,Wv:()=>i,hl:()=>l});var r=a(90508);a(1856);var n=a(79919),s=a(24377);function o(e){let{...t}=e;return(0,r.jsx)(n.Root,{"data-slot":"popover",...t})}function i(e){let{...t}=e;return(0,r.jsx)(n.Trigger,{"data-slot":"popover-trigger",...t})}function l(e){let{className:t,align:a="center",sideOffset:o=4,...i}=e;return(0,r.jsx)(n.Portal,{children:(0,r.jsx)(n.Content,{"data-slot":"popover-content",align:a,sideOffset:o,className:(0,s.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...i})})}},22922:(e,t,a)=>{"use strict";a.d(t,{$:()=>l});var r=a(90508);a(1856);var n=a(49499),s=a(54154),o=a(24377);let i=(0,n.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:t,variant:a="default",size:n="default",asChild:l=!1,...c}=e,d=l?s.bL:"button";return(0,r.jsx)(d,{"data-slot":"button","data-variant":a,"data-size":n,className:(0,o.cn)(i({variant:a,size:n,className:t})),...c})}},24377:(e,t,a)=>{"use strict";a.d(t,{cn:()=>s});var r=a(49251),n=a(58849);function s(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,n.QP)((0,r.$)(t))}},30509:(e,t,a)=>{"use strict";a.d(t,{HB:()=>n,JK:()=>i,XQ:()=>o,bN:()=>l,vh:()=>s});var r=a(14655);function n(e){let t=function(e){let t=window.location.origin,a=new r.O({store:window.localStorage});return{authority:e.issuer,client_id:e.clientId,redirect_uri:"".concat(t,"/login/callback"),post_logout_redirect_uri:"".concat(t,"/login"),response_type:"code",scope:"openid profile email",automaticSilentRenew:!0,silent_redirect_uri:"".concat(t,"/login/silent-refresh"),accessTokenExpiringNotificationTimeInSeconds:60,userStore:a,extraQueryParams:{company:e.companyUuid}}}(e);return new r.$5(t)}function s(e){localStorage.setItem("oidc_config",JSON.stringify(e))}function o(){let e=localStorage.getItem("oidc_config");if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}function i(){localStorage.removeItem("oidc_config")}function l(e){return{sub:e.profile.sub,email:e.profile.email,name:e.profile.name,picture:e.profile.picture,accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_at,idToken:e.id_token}}},39674:(e,t,a)=>{"use strict";a.d(t,{Xi:()=>l,av:()=>c,j7:()=>i,tU:()=>o});var r=a(90508);a(1856);var n=a(79834),s=a(24377);function o(e){let{className:t,...a}=e;return(0,r.jsx)(n.Root,{"data-slot":"tabs",className:(0,s.cn)("flex flex-col gap-2",t),...a})}function i(e){let{className:t,...a}=e;return(0,r.jsx)(n.List,{"data-slot":"tabs-list",className:(0,s.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",t),...a})}function l(e){let{className:t,...a}=e;return(0,r.jsx)(n.Trigger,{"data-slot":"tabs-trigger",className:(0,s.cn)("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...a})}function c(e){let{className:t,...a}=e;return(0,r.jsx)(n.Content,{"data-slot":"tabs-content",className:(0,s.cn)("flex-1 outline-none",t),...a})}},42305:(e,t,a)=>{"use strict";function r(e){return("nativeEvent"in e?e.nativeEvent:e).isComposing||229===e.keyCode}a.d(t,{P:()=>r})},57731:(e,t,a)=>{"use strict";a.d(t,{E:()=>l});var r=a(90508);a(1856);var n=a(49499),s=a(54154),o=a(24377);let i=(0,n.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:a="default",asChild:n=!1,...l}=e,c=n?s.bL:"span";return(0,r.jsx)(c,{"data-slot":"badge","data-variant":a,className:(0,o.cn)(i({variant:a}),t),...l})}},62990:(e,t,a)=>{"use strict";a.d(t,{hj:()=>i,ri:()=>m,tm:()=>f,w9:()=>l});var r=a(30509),n=a(67712);let s=null;function o(){if(!s){let e=(0,r.XQ)();e&&(s=(0,r.HB)(e))}return s}function i(e){return(0,r.vh)(e),s=(0,r.HB)(e)}function l(){s=null}async function c(){let e=o();if(!e)return null;try{return await e.getUser()}catch(e){return null}}async function d(){let e=await c();if(!e)return null;if(e.expired){let e=o();if(e)try{let t=await e.signinSilent();return(null==t?void 0:t.access_token)||null}catch(e){}return null}return e.access_token}async function u(e,t){try{return(await fetch("/api/auth/sync-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:e,refreshToken:t})})).ok}catch(e){return n.q.error("Failed to sync token to cookie"),!1}}async function f(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=await d(),r=new Headers(t.headers);a&&r.set("Authorization","Bearer ".concat(a));let n=await fetch(e,{...t,headers:r});if(401===n.status){let a=o();if(a)try{let n=await a.signinSilent();if(null==n?void 0:n.access_token)return await u(n.access_token),r.set("Authorization","Bearer ".concat(n.access_token)),fetch(e,{...t,headers:r})}catch(e){}else try{if((await fetch("/api/auth/refresh",{method:"POST"})).ok)return r.delete("Authorization"),fetch(e,{...t,headers:r})}catch(e){}}return n}async function m(){try{await fetch("/api/auth/logout",{method:"POST"})}catch(e){}let e=o();if(e)try{await e.removeUser()}catch(e){}l(),(0,r.JK)()}},63964:(e,t,a)=>{"use strict";a.d(t,{S2:()=>c,eV:()=>l,l9:()=>i,tS:()=>o,w0:()=>d});var r=a(90508),n=a(1856);a(23675);let s=(0,n.createContext)(null);function o(e){let{projectUuid:t,children:a}=e,o=(0,n.useRef)(new Set),i=(0,n.useRef)(new Set),l=(0,n.useRef)(new Set),c=(0,n.useCallback)(()=>{o.current.forEach(e=>e())},[]),d=(0,n.useCallback)(e=>{i.current.forEach(t=>t(e))},[]);(0,n.useEffect)(()=>{let e,a=null,r=0,n={};function s(){o(),(a=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let a=null;try{a=JSON.parse(t.data)}catch(e){return}if(!a)return;if("presence"===a.type)return void l.current.forEach(e=>e(a));let s=a;clearTimeout(e);let o=Date.now(),i=o-r;i>=3e3?(r=o,c()):e=setTimeout(()=>{r=Date.now(),c()},Math.max(1e3,3e3-i));let u=s.entityType;clearTimeout(n[u]),n[u]=setTimeout(()=>{d(s)},300)},a.onerror=()=>{}}function o(){a&&(a.close(),a=null)}function i(){if("visible"===document.visibilityState&&(!a||a.readyState===EventSource.CLOSED))for(let e of(s(),c(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return s(),document.addEventListener("visibilitychange",i),()=>{for(let t in o(),clearTimeout(e),n)clearTimeout(n[t]);document.removeEventListener("visibilitychange",i)}},[t,c,d]);let u=(0,n.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),f=(0,n.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),m=(0,n.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),x=(0,n.useMemo)(()=>({subscribe:u,subscribeEntity:f,subscribePresence:m}),[u,f,m]);return(0,r.jsx)(s.Provider,{value:x,children:a})}function i(e){let t=(0,n.useContext)(s),a=(0,n.useRef)(e);a.current=e,(0,n.useEffect)(()=>{if(!t)return;let e=()=>a.current();return e(),t.subscribe(e)},[t])}function l(e,t){let a=(0,n.useContext)(s),r=(0,n.useRef)(t);r.current=t;let o=(0,n.useRef)(e);o.current=e,(0,n.useEffect)(()=>{if(a)return a.subscribeEntity(e=>{let t=o.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[a])}function c(e){let t=(0,n.useContext)(s),a=(0,n.useRef)(e);a.current=e,(0,n.useEffect)(()=>{if(t)return t.subscribePresence(e=>a.current(e))},[t])}function d(e,t,a){let r=(0,n.useContext)(s),o=(0,n.useRef)(a);o.current=a,(0,n.useEffect)(()=>{if(r)return r.subscribeEntity(a=>{a.entityType===e&&a.entityUuid===t&&o.current(a)})},[r,e,t])}},64993:(e,t,a)=>{"use strict";a.d(t,{F:()=>o});var r=a(90508);a(1856);var n=a(65326),s=a(24377);function o(e){let{className:t,children:a,...o}=e;return(0,r.jsxs)(n.Root,{"data-slot":"scroll-area",className:(0,s.cn)("relative",t),...o,children:[(0,r.jsx)(n.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:a}),(0,r.jsx)(i,{}),(0,r.jsx)(n.Corner,{})]})}function i(e){let{className:t,orientation:a="vertical",...o}=e;return(0,r.jsx)(n.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:a,className:(0,s.cn)("flex touch-none p-px transition-colors select-none","vertical"===a&&"h-full w-2.5 border-l border-l-transparent","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent",t),...o,children:(0,r.jsx)(n.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},65626:(e,t,a)=>{"use strict";a.d(t,{K5:()=>l,Rf:()=>i,Yv:()=>r,bK:()=>o,qG:()=>s,tE:()=>n});let r={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},n={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:r.normal,ease:r.easeOut}},exit:{opacity:0,y:-4,transition:{duration:r.fast,ease:r.easeOut}}},s={initial:{opacity:0},animate:{opacity:1,transition:{duration:r.normal,ease:r.easeOut}},exit:{opacity:0,transition:{duration:r.fast,ease:r.easeOut}}};r.normal,r.easeOut,r.fast,r.easeOut;let o={initial:{},animate:{transition:{staggerChildren:r.stagger}}},i={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:r.normal,ease:r.easeOut}}},l={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:r.fast,ease:r.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:r.fast,ease:r.easeOut}}}},67712:(e,t,a)=>{"use strict";a.d(t,{q:()=>i});var r=a(55036);let n={debug:0,info:1,warn:2,error:3},s=r.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function o(e){return n[e]>=n[s]}let i={debug:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];o("debug")&&console.debug("[Chorus] ".concat(e),...a)},info:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];o("info")&&console.info("[Chorus] ".concat(e),...a)},warn:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];o("warn")&&console.warn("[Chorus] ".concat(e),...a)},error:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];o("error")&&console.error("[Chorus] ".concat(e),...a)}}},68923:(e,t,a)=>{"use strict";a.d(t,{CG:()=>c,Fm:()=>x,cj:()=>l,h:()=>m,qp:()=>p});var r=a(90508);a(1856);var n=a(9160),s=a(71350),o=a(49499),i=a(24377);function l(e){let{...t}=e;return(0,r.jsx)(s.Root,{"data-slot":"sheet",...t})}function c(e){let{...t}=e;return(0,r.jsx)(s.Trigger,{"data-slot":"sheet-trigger",...t})}function d(e){let{...t}=e;return(0,r.jsx)(s.Portal,{"data-slot":"sheet-portal",...t})}function u(e){let{className:t,...a}=e;return(0,r.jsx)(s.Overlay,{"data-slot":"sheet-overlay",className:(0,i.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}let f=(0,o.F)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",bottom:"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",left:"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"}},defaultVariants:{side:"right"}});function m(e){let{className:t,children:a,side:o="right",...l}=e;return(0,r.jsxs)(d,{children:[(0,r.jsx)(u,{}),(0,r.jsxs)(s.Content,{"data-slot":"sheet-content",className:(0,i.cn)(f({side:o}),t),...l,children:[a,(0,r.jsxs)(s.Close,{"data-slot":"sheet-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,r.jsx)(n.A,{className:"size-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function x(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sheet-header",className:(0,i.cn)("flex flex-col gap-2 p-4",t),...a})}function p(e){let{className:t,...a}=e;return(0,r.jsx)(s.Title,{"data-slot":"sheet-title",className:(0,i.cn)("text-foreground text-lg font-semibold",t),...a})}},91846:(e,t,a)=>{"use strict";a.d(t,{bq:()=>u,eb:()=>m,gC:()=>f,l6:()=>c,yv:()=>d});var r=a(90508);a(1856);var n=a(17730),s=a(60532),o=a(89967),i=a(48218),l=a(24377);function c(e){let{...t}=e;return(0,r.jsx)(i.Root,{"data-slot":"select",...t})}function d(e){let{...t}=e;return(0,r.jsx)(i.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:a="default",children:s,...o}=e;return(0,r.jsxs)(i.Trigger,{"data-slot":"select-trigger","data-size":a,className:(0,l.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o,children:[s,(0,r.jsx)(i.Icon,{asChild:!0,children:(0,r.jsx)(n.A,{className:"size-4 opacity-50"})})]})}function f(e){let{className:t,children:a,position:n="item-aligned",align:s="center",...o}=e;return(0,r.jsx)(i.Portal,{children:(0,r.jsxs)(i.Content,{"data-slot":"select-content",className:(0,l.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,align:s,...o,children:[(0,r.jsx)(x,{}),(0,r.jsx)(i.Viewport,{className:(0,l.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),(0,r.jsx)(p,{})]})})}function m(e){let{className:t,children:a,...n}=e;return(0,r.jsxs)(i.Item,{"data-slot":"select-item",className:(0,l.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...n,children:[(0,r.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,r.jsx)(i.ItemIndicator,{children:(0,r.jsx)(s.A,{className:"size-4"})})}),(0,r.jsx)(i.ItemText,{children:a})]})}function x(e){let{className:t,...a}=e;return(0,r.jsx)(i.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,r.jsx)(o.A,{className:"size-4"})})}function p(e){let{className:t,...a}=e;return(0,r.jsx)(i.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,r.jsx)(n.A,{className:"size-4"})})}},97438:(e,t,a)=>{"use strict";a.d(t,{Cf:()=>f,Es:()=>x,L3:()=>p,c7:()=>m,lG:()=>l,rr:()=>h,zM:()=>c});var r=a(90508);a(1856);var n=a(9160),s=a(71350),o=a(24377),i=a(22922);function l(e){let{...t}=e;return(0,r.jsx)(s.Root,{"data-slot":"dialog",...t})}function c(e){let{...t}=e;return(0,r.jsx)(s.Trigger,{"data-slot":"dialog-trigger",...t})}function d(e){let{...t}=e;return(0,r.jsx)(s.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...a}=e;return(0,r.jsx)(s.Overlay,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function f(e){let{className:t,children:a,showCloseButton:i=!0,...l}=e;return(0,r.jsxs)(d,{"data-slot":"dialog-portal",children:[(0,r.jsx)(u,{}),(0,r.jsxs)(s.Content,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...l,children:[a,i&&(0,r.jsxs)(s.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,r.jsx)(n.A,{}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function x(e){let{className:t,showCloseButton:a=!1,children:n,...l}=e;return(0,r.jsxs)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...l,children:[n,a&&(0,r.jsx)(s.Close,{asChild:!0,children:(0,r.jsx)(i.$,{variant:"outline",children:"Close"})})]})}function p(e){let{className:t,...a}=e;return(0,r.jsx)(s.Title,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",t),...a})}function h(e){let{className:t,...a}=e;return(0,r.jsx)(s.Description,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...a})}}},e=>{e.O(0,[12079,18944,12790,21932,16544,94655,70093,76803,14655,37880,3853,74951,65496,77358],()=>e(e.s=5877)),_N_E=e.O()}]);