@chorus-aidlc/chorus 0.8.2 → 0.9.1

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 (260) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +289 -289
  3. package/.next/standalone/.next/app-path-routes-manifest.json +36 -36
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +48 -48
  6. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +3 -3
  46. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  49. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  53. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  54. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  57. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  58. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  60. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  61. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/admin.html +1 -1
  63. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  64. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  70. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js +1 -1
  86. package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  92. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  104. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/mcp/route.js +5 -5
  107. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  109. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  123. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js +1 -1
  126. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  129. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  132. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.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_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  149. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  156. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/index.html +1 -1
  158. package/.next/standalone/.next/server/app/index.rsc +2 -2
  159. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  161. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  162. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  164. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  165. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  168. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  169. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  171. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +2 -2
  172. package/.next/standalone/.next/server/app/login.html +1 -1
  173. package/.next/standalone/.next/server/app/login.rsc +2 -2
  174. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  176. package/.next/standalone/.next/server/app/onboarding.rsc +2 -2
  177. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/projects.html +1 -1
  179. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  180. package/.next/standalone/.next/server/app/settings.html +1 -1
  181. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  182. package/.next/standalone/.next/server/app-paths-manifest.json +36 -36
  183. package/.next/standalone/.next/server/chunks/162.js +16 -0
  184. package/.next/standalone/.next/server/chunks/1871.js +1 -1
  185. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  186. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  187. package/.next/standalone/.next/server/chunks/4043.js +1 -0
  188. package/.next/standalone/.next/server/chunks/4090.js +2 -2
  189. package/.next/standalone/.next/server/chunks/5044.js +1 -1
  190. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  191. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  192. package/.next/standalone/.next/server/chunks/6592.js +1 -0
  193. package/.next/standalone/.next/server/chunks/6643.js +1 -1
  194. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  195. package/.next/standalone/.next/server/chunks/7578.js +2 -2
  196. package/.next/standalone/.next/server/chunks/8637.js +1 -1
  197. package/.next/standalone/.next/server/chunks/920.js +1 -1
  198. package/.next/standalone/.next/server/chunks/937.js +1 -1
  199. package/.next/standalone/.next/server/chunks/9508.js +2 -2
  200. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  201. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  202. package/.next/standalone/.next/server/pages/404.html +1 -1
  203. package/.next/standalone/.next/server/pages/500.html +1 -1
  204. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  205. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  206. package/.next/standalone/.next/static/chunks/3853-f94afe2f83089c0d.js +1 -0
  207. package/.next/standalone/.next/static/chunks/44046-5c0f7f8c0914988a.js +1 -0
  208. package/.next/standalone/.next/static/chunks/{4860.4aa0288b2953186b.js → 4860.60152a625f2a714f.js} +1 -1
  209. package/.next/standalone/.next/static/chunks/6028-fe4175ea5e6241ed.js +1 -0
  210. package/.next/standalone/.next/static/chunks/93346-c4468893138daac7.js +1 -0
  211. package/.next/standalone/.next/static/chunks/{99373.00844a02fe44575b.js → 99373.4d93aaaf56fe7819.js} +1 -1
  212. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-8409ca03f132910b.js +1 -0
  213. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-7f7a7f654cab4dc3.js +1 -0
  214. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-95cdcec5e6db551f.js +1 -0
  215. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-c36345b80cc5bf5c.js +1 -0
  216. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/{page-a01b45dbe80aeecf.js → page-b153aa34b940a24c.js} +1 -1
  217. package/.next/standalone/.next/static/chunks/{webpack-b999409365c6a0aa.js → webpack-8e0df5e10bc6b98f.js} +1 -1
  218. package/.next/standalone/.next/static/css/ea3f196c7951f8d6.css +1 -0
  219. package/.next/standalone/package.json +1 -1
  220. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  221. package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +1 -1
  222. package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +1 -1
  223. package/.next/standalone/public/chorus-plugin/bin/on-post-verify-task.sh +198 -115
  224. package/.next/standalone/public/chorus-plugin/bin/tests/test-on-post-verify-task.sh +302 -50
  225. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +166 -0
  226. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +10 -6
  227. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +6 -2
  228. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +17 -1
  229. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  230. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +6 -7
  231. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  232. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  233. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +7 -1
  234. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +166 -0
  235. package/.next/standalone/public/skill/chorus/SKILL.md +10 -6
  236. package/.next/standalone/public/skill/develop-chorus/SKILL.md +5 -1
  237. package/.next/standalone/public/skill/idea-chorus/SKILL.md +17 -1
  238. package/.next/standalone/public/skill/package.json +1 -1
  239. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +6 -7
  240. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  241. package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
  242. package/README.md +2 -4
  243. package/README.zh.md +2 -4
  244. package/package.json +1 -1
  245. package/prisma/migrations/20260524144057_remove_session_expires_at/migration.sql +11 -0
  246. package/prisma/schema.prisma +2 -2
  247. package/.next/standalone/.next/server/chunks/554.js +0 -1
  248. package/.next/standalone/.next/server/chunks/5869.js +0 -16
  249. package/.next/standalone/.next/server/chunks/8163.js +0 -1
  250. package/.next/standalone/.next/static/chunks/25846-d1c43e3a187a0c82.js +0 -1
  251. package/.next/standalone/.next/static/chunks/44046-732e5888413d45df.js +0 -1
  252. package/.next/standalone/.next/static/chunks/6028-0fcaf8b495e9bfc8.js +0 -1
  253. package/.next/standalone/.next/static/chunks/93346-9258abbb12887208.js +0 -1
  254. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-5e2b4f48ec70f0e8.js +0 -1
  255. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-ae96fc9386afff88.js +0 -1
  256. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-062c6fef8aef25a6.js +0 -1
  257. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-5326f2b34b200e50.js +0 -1
  258. package/.next/standalone/.next/static/css/a3f1e693b51f7540.css +0 -1
  259. /package/.next/standalone/.next/static/{3AEr6cS1BaPlwTuyPvMQF → yBxnuARbl0brBJS3_STaI}/_buildManifest.js +0 -0
  260. /package/.next/standalone/.next/static/{3AEr6cS1BaPlwTuyPvMQF → yBxnuARbl0brBJS3_STaI}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[85e3],{5725:(e,t,s)=>{"use strict";s.d(t,{b:()=>d});var a=s(1856),n=s(93367),l=s(90508),i="horizontal",r=["horizontal","vertical"],c=a.forwardRef((e,t)=>{var s;let{decorative:a,orientation:c=i,...d}=e,o=(s=c,r.includes(s))?c:i;return(0,l.jsx)(n.sG.div,{"data-orientation":o,...a?{role:"none"}:{"aria-orientation":"vertical"===o?o:void 0,role:"separator"},...d,ref:t})});c.displayName="Separator";var d=c},7045:(e,t,s)=>{"use strict";s.d(t,{ProjectSettingsModal:()=>v});var a=s(90508),n=s(1856),l=s(23675),i=s(39268),r=s(52309),c=s(85226),d=s(22922),o=s(14554),x=s(88064),u=s(15972),p=s(97438),m=s(84247),h=s(51817),f=s(52217);let g=(0,f.createServerReference)("60cfafb97dee121da111a8fbb6d24763894ee7029a",f.callServer,void 0,f.findSourceMapURL,"updateProjectAction"),j=(0,f.createServerReference)("40cb34bdc4fed2104114738bf7775d107b52ddb319",f.callServer,void 0,f.findSourceMapURL,"deleteProjectAction");function v(e){let{projectUuid:t,projectName:s,projectDescription:f}=e,v=(0,i.c)(),b=(0,l.useRouter)(),[N,A]=(0,n.useState)(!1),[y,C]=(0,n.useState)(s),[w,k]=(0,n.useState)(f||""),[E,F]=(0,n.useState)(!1),[B,S]=(0,n.useState)(!1),D=async()=>{F(!0);let e=await g(t,{name:y,description:w||null});F(!1),e.success&&(A(!1),b.refresh())},_=async()=>{S(!0);let e=await j(t);e&&!e.success&&S(!1)};return(0,a.jsxs)(p.lG,{open:N,onOpenChange:A,children:[(0,a.jsx)(p.zM,{asChild:!0,children:(0,a.jsxs)(d.$,{variant:"outline",size:"sm",className:"gap-1.5 rounded-lg border-[#E5E2DC] bg-white text-[12px] font-normal text-[#2C2C2C] hover:border-[#C67A52] hover:bg-white",children:[(0,a.jsx)(r.A,{className:"h-3.5 w-3.5 text-[#6B6B6B]"}),v("dashboard.settings")]})}),(0,a.jsxs)(p.Cf,{className:"gap-0 overflow-hidden rounded-2xl border-0 p-0 sm:max-w-[520px]",children:[(0,a.jsx)(p.c7,{className:"px-7 py-6",children:(0,a.jsx)(p.L3,{className:"text-[20px] font-semibold tracking-tight text-[#2C2C2C]",children:v("projectSettings.title")})}),(0,a.jsx)(m.Separator,{className:"bg-[#E5E2DC]"}),(0,a.jsxs)("div",{className:"flex flex-col gap-7 p-7",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,a.jsx)("h3",{className:"text-[14px] font-semibold text-[#2C2C2C]",children:v("projectSettings.basicInfo")}),(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsx)(x.J,{className:"text-[12px] font-medium text-[#6B6B6B]",children:v("projectSettings.projectName")}),(0,a.jsx)(o.p,{value:y,onChange:e=>C(e.target.value),className:"h-11 rounded-[10px] border-[#E5E2DC] text-[14px] text-[#2C2C2C] focus-visible:ring-[#C67A52]"})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsx)(x.J,{className:"text-[12px] font-medium text-[#6B6B6B]",children:v("projectSettings.description")}),(0,a.jsx)(u.T,{value:w,onChange:e=>k(e.target.value),rows:3,className:"resize-none rounded-[10px] border-[#E5E2DC] text-[14px] text-[#2C2C2C] focus-visible:ring-[#C67A52]"})]}),(0,a.jsx)(d.$,{onClick:D,disabled:E||!y.trim(),className:"w-fit rounded-[10px] bg-[#C67A52] px-6 text-[13px] font-semibold text-white hover:bg-[#B56A42]",children:E?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),v("projectSettings.saving")]}):v("projectSettings.saveChanges")})]}),(0,a.jsx)(m.Separator,{className:"bg-[#E5E2DC]"}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("h3",{className:"text-[14px] font-semibold text-[#C4574C]",children:v("projectSettings.dangerZone")}),(0,a.jsx)("div",{className:"rounded-xl border border-[#C4574C40] bg-[#C4574C08] px-[18px] py-4",children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[13px] font-semibold text-[#2C2C2C]",children:v("projectSettings.deleteTitle")}),(0,a.jsx)("span",{className:"text-[12px] text-[#6B6B6B]",children:v("projectSettings.deleteDescription")})]}),(0,a.jsxs)(h.Lt,{children:[(0,a.jsx)(h.tv,{asChild:!0,children:(0,a.jsx)(d.$,{variant:"destructive",size:"sm",className:"ml-4 shrink-0 rounded-lg bg-[#C4574C] px-[18px] text-[12px] font-medium hover:bg-[#B3463B]",children:v("common.delete")})}),(0,a.jsxs)(h.EO,{children:[(0,a.jsxs)(h.wd,{children:[(0,a.jsx)(h.r7,{children:v("projectOverview.deleteProject")}),(0,a.jsx)(h.$v,{children:v("projectOverview.deleteProjectConfirm",{name:s})})]}),(0,a.jsxs)(h.ck,{children:[(0,a.jsx)(h.Zr,{children:v("common.cancel")}),(0,a.jsx)(h.Rx,{variant:"destructive",onClick:_,disabled:B,children:B?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),v("common.delete")]}):v("common.delete")})]})]})]})]})})]})]})]})]})}},9715:(e,t,s)=>{"use strict";s.d(t,{IdeaTracker:()=>eK});var a=s(90508),n=s(39268),l=s(1856),i=s(5616),r=s(22922),c=s(81531),d=s(36755),o=s(29767),x=s(57223),u=s(63964),p=s(17730),m=s(78948),h=s(81750),f=s(96213),g=s(38106);let j={open:"open",researching:"researching",answer_questions:"answerQuestions",planning:"planning",review_proposal:"reviewProposal",building:"building",verify_work:"verifyWork",done:"done",closed:"closed"},v={open:"text-[#888780]",researching:"text-[#7F77DD]",answer_questions:"text-[#C47A20]",planning:"text-[#7F77DD]",review_proposal:"text-[#C47A20]",building:"text-[#7F77DD]",verify_work:"text-[#C47A20]",done:"text-[#1D9E75]",closed:"text-[#888780]"};function b(e){let{idea:t,onClick:s}=e,l=(0,n.c)("ideaTracker"),i=t.badgeHint?j[t.badgeHint]:null,r=t.badgeHint&&v[t.badgeHint]||"text-[#888780]";return(0,a.jsxs)("div",{className:"flex items-center justify-between px-3.5 py-3 transition-colors ".concat(s?"cursor-pointer hover:bg-[#FAF8F4]":""),onClick:s?()=>s(t.uuid):void 0,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2.5",children:[(0,a.jsx)("span",{className:"shrink-0 text-[11px] text-[#B4B2A9]",children:"IDEA"}),(0,a.jsx)("span",{className:"truncate text-[13px] text-[#2C2C2A]",children:t.title}),i&&(0,a.jsx)("span",{className:"shrink-0 rounded bg-[#F0EEEA] px-1.5 py-0.5 text-[11px] ".concat(r),children:l("badge.".concat(i))})]}),(0,a.jsx)("span",{className:"shrink-0 pl-4 text-[12px] text-[#888780]",children:(0,g.s)(t.createdAt)})]})}let N={human_conduct_required:{fill:"#7F77DD"},in_progress:{fill:"#378ADD"},todo:{stroke:"#888780"},done:{fill:"#1D9E75"}},A={todo:"todo",in_progress:"inProgress",human_conduct_required:"humanConductRequired",done:"done"};function y(e){let{status:t,ideas:s,defaultOpen:i=!0,onIdeaClick:r}=e,c=(0,n.c)("ideaTracker"),d=s.length>0,[o,x]=(0,l.useState)(!!d&&i),u=A[t]||"todo",g=N[t]||N.todo;return(0,a.jsxs)(h.Nt,{open:o,onOpenChange:x,children:[(0,a.jsxs)(h.R6,{className:"group flex w-full cursor-pointer items-center gap-2 px-0 pb-1.5 pt-0",children:[o?(0,a.jsx)(p.A,{className:"h-3.5 w-3.5 shrink-0 text-[#888780] transition-colors group-hover:text-[#2C2C2A]"}):(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-[#888780] transition-colors group-hover:text-[#2C2C2A]"}),(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:g.fill,border:g.stroke?"1.5px solid ".concat(g.stroke):void 0}}),(0,a.jsx)("span",{className:"text-[13px] font-medium transition-colors group-hover:text-[#2C2C2A] ".concat(d?"text-[#5F5E5A]":"text-[#B4B2A9]"),children:c("status.".concat(u))}),(0,a.jsx)("span",{className:"text-[12px] text-[#888780] transition-colors group-hover:text-[#2C2C2A]",children:s.length})]}),d&&(0,a.jsx)(h.Ke,{children:(0,a.jsx)("div",{className:"overflow-hidden rounded-lg bg-white",children:s.map((e,t)=>(0,a.jsxs)("div",{children:[t>0&&(0,a.jsx)("div",{className:"mx-0 h-px bg-[#F0EEEA]"}),(0,a.jsx)(f.D,{entityType:"idea",entityUuid:e.uuid,badgeInside:!0,children:(0,a.jsx)(b,{idea:e,onClick:r})})]},e.uuid))})})]})}let C=["human_conduct_required","in_progress","todo","done"];function w(e){var t;let{projectUuid:s,initialData:c,onIdeaClick:p,onNewIdea:m,onEmptyChange:h}=e,f=(0,n.c)("ideaTracker"),[g,j]=(0,l.useState)(null!=(t=null==c?void 0:c.groups)?t:{}),[v,b]=(0,l.useState)(!c),[N,A]=(0,l.useState)(null),w=(0,l.useCallback)(async()=>{try{let e=await fetch("/api/projects/".concat(s,"/ideas/tracker")),t=await e.json();t.success&&t.data?(j(t.data.groups),A(null)):A(t.error||f("error.loadFailed"))}catch(e){A(f("error.loadFailed"))}finally{b(!1)}},[s,f]);(0,u.eV)("idea",w),(0,u.eV)("proposal",w),(0,u.eV)("task",w),(0,l.useEffect)(()=>{c||w()},[w,c]);let k=C.reduce((e,t)=>e+(g[t]||[]).length,0);return((0,l.useEffect)(()=>{v||null==h||h(0===k)},[k,v,h]),v)?(0,a.jsx)("div",{className:"space-y-4",children:[1,2,3].map(e=>(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(x.E,{className:"h-5 w-32"}),(0,a.jsx)(x.E,{className:"h-12 w-full rounded-lg"}),(0,a.jsx)(x.E,{className:"h-12 w-full rounded-lg"})]},e))}):N&&0===Object.keys(g).length?(0,a.jsxs)("div",{className:"flex flex-col items-center gap-4 py-16",children:[(0,a.jsx)(d.A,{className:"h-10 w-10 text-[#E65100]"}),(0,a.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:N}),(0,a.jsx)(r.$,{variant:"outline",size:"sm",onClick:()=>{b(!0),A(null),w()},className:"border-[#E5E0D8] text-[#2C2C2C]",children:f("actions.retry")})]}):0===k?(0,a.jsxs)("div",{className:"flex min-h-[60vh] flex-col items-center justify-center gap-3",children:[(0,a.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-[#F5F2EC]",children:(0,a.jsx)(o.A,{className:"h-5 w-5 text-[#B4B2A9]"})}),(0,a.jsx)("p",{className:"text-[13px] font-medium text-[#6B6B6B]",children:f("empty.noIdeas")}),(0,a.jsx)("p",{className:"max-w-[260px] text-center text-[12px] leading-relaxed text-[#9A9A9A]",children:f("empty.getStarted")}),m&&(0,a.jsxs)(r.$,{onClick:m,size:"sm",className:"mt-2 gap-1.5 rounded-md bg-[#C67A52] px-4 py-2 text-white hover:bg-[#B56A42]",children:[(0,a.jsx)(i.A,{className:"h-4 w-4"}),f("actions.newIdea")]})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[N&&Object.keys(g).length>0&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 px-3 py-2 text-[12px] text-destructive",children:N}),(0,a.jsx)("div",{className:"space-y-4",children:C.map(e=>{let t=g[e]||[];return 0===t.length?null:(0,a.jsx)(y,{status:e,ideas:t,defaultOpen:"done"!==e,onIdeaClick:p},e)})})]})}var k=s(12790),E=s.n(k),F=s(48416),B=s(90795),S=s(85226),D=s(18789),_=s(71921),T=s(56770);let U=[{key:"todo",bg:"#E65100"},{key:"inProgress",bg:"#5A9E6F"},{key:"toVerify",bg:"#7B1FA2"},{key:"done",bg:"#00796B"}],M={idea:"bg-[#C67A52]",task:"bg-[#5A9E6F]",proposal:"bg-[#1976D2]",document:"bg-[#9A9A9A]"};function R(e){let{projectUuid:t,initialData:s}=e,i=(0,n.c)(),r=(0,n.c)("ideaTracker"),[c,d]=(0,l.useState)(null!=s?s:null),[x,p]=(0,l.useState)(!s),m=(0,l.useCallback)(async()=>{try{let e=await fetch("/api/projects/".concat(t,"/stats"));if(!e.ok)return;let s=await e.json();s.success&&d(s.data)}finally{p(!1)}},[t]);if((0,l.useEffect)(()=>{s||m()},[m,s]),(0,u.eV)(["idea","task","proposal","document"],m),x)return(0,a.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,a.jsx)(S.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})});if(!c)return null;let{stats:h,recentActivities:f}=c,g=[{label:r("stats.totalIdeas"),value:h.ideas.total,badge:h.ideas.open>0?r("stats.openCount",{count:h.ideas.open}):null,badgeStyle:"bg-[#C67A5220] text-[#C67A52]",href:"/projects/".concat(t,"/ideas"),iconBg:"bg-[#FFF3E0]",icon:(0,a.jsx)(o.A,{className:"h-5 w-5 text-[#E65100]"})},{label:r("stats.totalTasks"),value:h.tasks.total,badge:h.tasks.inProgress>0?r("stats.activeCount",{count:h.tasks.inProgress}):null,badgeStyle:"bg-[#5A9E6F20] text-[#5A9E6F]",href:"/projects/".concat(t,"/tasks"),iconBg:"bg-[#E3F2FD]",icon:(0,a.jsx)(D.A,{className:"h-5 w-5 text-[#1976D2]"})},{label:r("stats.totalProposals"),value:h.proposals.total,badge:h.proposals.pending>0?r("stats.pendingCount",{count:h.proposals.pending}):null,badgeStyle:"bg-[#C67A5220] text-[#C67A52]",href:"/projects/".concat(t,"/proposals"),iconBg:"bg-[#F3E5F5]",icon:(0,a.jsx)(_.A,{className:"h-5 w-5 text-[#7B1FA2]"})},{label:r("stats.totalDocuments"),value:h.documents.total,badge:null,badgeStyle:"",href:"/projects/".concat(t,"/documents"),iconBg:"bg-[#E8F5E9]",icon:(0,a.jsx)(T.A,{className:"h-5 w-5 text-[#5A9E6F]"})}],j=[h.tasks.todo,h.tasks.inProgress,h.tasks.toVerify,h.tasks.done],v=h.tasks.total,b=[{label:r("stats.todoCount",{count:h.tasks.todo}),color:"#E65100"},{label:r("stats.inProgressCount",{count:h.tasks.inProgress}),color:"#5A9E6F"},{label:r("stats.toVerifyCount",{count:h.tasks.toVerify}),color:"#7B1FA2"},{label:r("stats.doneCount",{count:h.tasks.done}),color:"#00796B"}];return(0,a.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,a.jsx)("div",{className:"grid grid-cols-2 gap-3 md:gap-4 lg:grid-cols-4",children:g.map(e=>(0,a.jsx)(E(),{href:e.href,children:(0,a.jsxs)(F.Zp,{className:"cursor-pointer rounded-2xl border-0 bg-white p-3 shadow-none transition-all hover:shadow-md md:p-5",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between md:mb-3.5",children:[(0,a.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg md:h-10 md:w-10 md:rounded-xl ".concat(e.iconBg),children:e.icon}),e.badge&&(0,a.jsx)("span",{className:"hidden rounded-lg px-2.5 py-1 text-[11px] font-medium sm:inline ".concat(e.badgeStyle),children:e.badge})]}),(0,a.jsx)("div",{className:"text-2xl font-semibold leading-none tracking-tight text-[#2C2C2C] md:text-[32px]",children:e.value}),(0,a.jsx)("div",{className:"mt-0.5 text-[12px] text-[#6B6B6B] md:text-[13px]",children:e.label})]})},e.label))}),(0,a.jsxs)("div",{className:"grid min-h-0 gap-5 lg:grid-cols-2",children:[(0,a.jsxs)(F.Zp,{className:"flex flex-col rounded-2xl border-0 bg-white p-6 shadow-none",children:[(0,a.jsxs)("div",{className:"mb-5 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-[16px] font-semibold text-[#2C2C2C]",children:r("stats.taskPipeline")}),(0,a.jsx)("span",{className:"text-[12px] text-[#9A9A9A]",children:r("stats.totalCount",{count:v})})]}),v>0?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-5 flex h-3 w-full overflow-hidden rounded-md",children:j.map((e,t)=>e>0?(0,a.jsx)("div",{className:"h-full",style:{width:"".concat(e/v*100,"%"),backgroundColor:U[t].bg}},U[t].key):null)}),(0,a.jsx)("div",{className:"flex flex-wrap gap-5",children:b.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("div",{className:"h-2.5 w-2.5 rounded-sm",style:{backgroundColor:e.color}}),(0,a.jsx)("span",{className:"text-[12px] text-[#6B6B6B]",children:e.label})]},e.color))})]}):(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center py-10 text-[13px] text-[#9A9A9A]",children:r("stats.noTasks")})]}),(0,a.jsxs)(F.Zp,{className:"flex flex-col rounded-2xl border-0 bg-white p-6 shadow-none",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-[16px] font-semibold text-[#2C2C2C]",children:r("stats.recentActivity")}),(0,a.jsx)(E(),{href:"/projects/".concat(t,"/activity"),className:"text-[12px] font-medium text-[#C67A52] hover:underline",children:r("stats.viewAll")})]}),f.length>0?(0,a.jsx)("div",{className:"flex flex-col",children:f.map((e,t)=>{let s=M[e.targetType]||"bg-[#9A9A9A]";return(0,a.jsxs)("div",{className:"flex items-start gap-3 py-3 ".concat(t<f.length-1?"border-b border-[#F5F2EC]":""),children:[(0,a.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded-full ".concat(s)}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("p",{className:"text-[13px] text-[#2C2C2C]",children:[e.actorName," ",e.action]}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:(0,B.fw)(e.createdAt,i)})]})]},e.uuid)})}):(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center py-10 text-[13px] text-[#9A9A9A]",children:r("stats.noActivity")})]})]})]})}var P=s(23675),z=s(95900),I=s(57893),L=s(9160),q=s(94903),$=s(97413),V=s(64993),O=s(57731),H=s(14554),J=s(15972),G=s(88064),K=s(51817),Z=s(5425),Q=s(84247),W=s(26468),X=s(49192),Y=s(97261),ee=s(16544),et=s(65626),es=s(73693);function ea(e){let{assignee:t}=e,s=(0,n.c)("common");return(0,a.jsxs)("div",{children:[(0,a.jsx)(G.J,{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:s("assignee")}),(0,a.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-3",children:t?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(es.eu,{className:"h-7 w-7",children:(0,a.jsx)(es.q5,{className:"agent"===t.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]",children:"agent"===t.type?(0,a.jsx)(Z.A,{className:"h-3.5 w-3.5"}):t.name.charAt(0).toUpperCase()})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium text-[#2C2C2C]",children:t.name}),(0,a.jsx)("div",{className:"text-xs text-[#6B6B6B]",children:s("agent"===t.type?"agent":"user")})]})]}):(0,a.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:s("unassigned")})})]})}function en(e){let{idea:t,onRefresh:s}=e,i=(0,n.c)("ideaTracker"),r=(0,n.c)("common"),[c,d]=(0,l.useState)(null),[o,x]=(0,l.useState)(!0),p=(0,l.useCallback)(async()=>{let e=await (0,X.z)(t.uuid);e.success&&e.data&&d(e.data),x(!1)},[t.uuid]);(0,l.useEffect)(()=>{p()},[p]),(0,u.eV)("idea",p);let m=async()=>{await p(),await s()};return o?(0,a.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,a.jsx)(S.A,{className:"h-5 w-5 animate-spin text-[#C67A52]"})}):(0,a.jsxs)(ee.P.div,{variants:et.qG,initial:"initial",animate:"animate",children:[(0,a.jsx)(ea,{assignee:t.assignee}),(0,a.jsx)(Q.Separator,{className:"my-5 bg-[#F5F2EC]"}),c&&c.rounds.length>0?(0,a.jsx)("div",{children:(0,a.jsx)(W.R,{ideaUuid:t.uuid,elaboration:c,onRefresh:m})}):"open"===t.status?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-8 text-center",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#FFF3E0]",children:(0,a.jsx)(Z.A,{className:"h-5 w-5 text-[#E65100]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-sm font-medium text-[#2C2C2C]",children:i("panel.elaborationNotStarted")}),(0,a.jsx)("p",{className:"mt-1 text-xs text-[#9A9A9A]",children:i("panel.elaborationNotStartedDesc")})]})]}):(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-8 text-center",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#E3F2FD]",children:(0,a.jsx)(Z.A,{className:"h-5 w-5 text-[#1976D2]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-sm font-medium text-[#2C2C2C]",children:i("panel.elaborationWaiting")}),(0,a.jsx)("p",{className:"mt-1 text-xs text-[#9A9A9A]",children:i("panel.elaborationWaitingDesc")})]})]}),t.content&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Q.Separator,{className:"my-5 bg-[#F5F2EC]"}),(0,a.jsxs)("div",{children:[(0,a.jsx)(G.J,{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:r("content")}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,a.jsx)(Y.MarkdownContent,{children:t.content})})})]})]})]})}var el=s(37915),ei=s(32470),er=s(47754),ec=s(92745);function ed(e){return e.replace(/\\n/g,"\n")}let eo={prd:"typePrd",tech_design:"typeTechDesign",adr:"typeAdr",spec:"typeSpec",guide:"typeGuide",design:"typeDesign",note:"typeNote",report:"typeReport",other:"typeOther"};var ex=s(52217);let eu=(0,ex.createServerReference)("6069d5893c952546dbbe150e494d758fde93dbba08",ex.callServer,void 0,ex.findSourceMapURL,"getProposalsForIdeaAction"),ep=(0,ex.createServerReference)("6050dd308d7c75c1229578f89c56198c125fd45636",ex.callServer,void 0,ex.findSourceMapURL,"getTasksForProposalAction");var em=s(67712);function eh(e){let{idea:t,projectUuid:s,onTaskClick:i,onDocClick:r,initialProposals:c}=e,d=(0,n.c)("ideaTracker"),[o,x]=(0,l.useState)(null!=c?c:[]),[p,m]=(0,l.useState)(!c),h=(0,l.useCallback)(async()=>{try{let e=await eu(s,t.uuid);if(e.success)return x(e.data),e.data}catch(e){em.q.error("Failed to fetch proposals:",e)}finally{m(!1)}return[]},[s,t.uuid]);(0,l.useEffect)(()=>{c||h()},[h,c]);let f=(0,l.useRef)(o);f.current=o;let{getPresence:g}=(0,er.xQ)();return((0,u.eV)("proposal",async()=>{let e=f.current;for(let l of(await h())){var t,s,a,n;let i=e.find(e=>e.uuid===l.uuid);if(!i)continue;let r=new Set((null!=(t=i.documentDrafts)?t:[]).map(e=>e.uuid)),c=new Set((null!=(s=i.taskDrafts)?s:[]).map(e=>e.uuid)),d=(null!=(a=l.documentDrafts)?a:[]).filter(e=>e.uuid&&!r.has(e.uuid)),o=(null!=(n=l.taskDrafts)?n:[]).filter(e=>e.uuid&&!c.has(e.uuid)),x=[...d.map(e=>e.uuid),...o.map(e=>e.uuid)];if(x.length>0){let e=g("proposal",l.uuid)[0];if(e)for(let t of x)(0,er.fv)({entityType:"proposal",entityUuid:l.uuid,subEntityType:"draft",subEntityUuid:t,agentUuid:e.agentUuid,agentName:e.agentName,action:"mutate"})}}}),p)?(0,a.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,a.jsx)(S.A,{className:"h-5 w-5 animate-spin text-[#C67A52]"})}):0===o.length?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-center",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#F3E5F5]",children:(0,a.jsx)(_.A,{className:"h-5 w-5 text-[#7B1FA2]"})}),(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A]",children:d("panel.noProposals")})]}):(0,a.jsx)("div",{className:"space-y-5",children:o.map(e=>(0,a.jsx)(eg,{proposal:e,projectUuid:s,onTaskClick:i,onDocClick:r},e.uuid))})}let ef={draft:"bg-[#F5F5F5] text-[#6B6B6B]",pending:"bg-[#FFF3E0] text-[#E65100]",approved:"bg-[#E8F5E9] text-[#5A9E6F]",rejected:"bg-[#FFEBEE] text-[#C4574C]",revised:"bg-[#E3F2FD] text-[#1976D2]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"};function eg(e){let{proposal:t,projectUuid:s,onTaskClick:i,onDocClick:c}=e,d=(0,n.c)("ideaTracker"),o=(0,n.c)(),x=(0,n.c)("proposals"),u=(0,n.c)("tasks"),p=(0,n.c)("documents"),h=t.documentDrafts||[],g=t.taskDrafts||[],[j,v]=(0,l.useState)(new Set),[b,N]=(0,l.useState)("cards"),[A,y]=(0,l.useState)([]),C="approved"===t.status;(0,l.useEffect)(()=>{C&&ep(s,t.uuid).then(e=>{e.success&&y(e.data||[])}).catch(e=>em.q.error("Failed to fetch materialized tasks:",e))},[C,s,t.uuid]);let w=(0,l.useMemo)(()=>{let e=new Map;for(let t of A)e.set(t.title,t);return e},[A]),{dagTasks:k,dagEdges:F,dagHeight:B}=(0,l.useMemo)(()=>{let e=g.map(e=>{let t=w.get(e.title);return{uuid:(null==t?void 0:t.uuid)||e.uuid,title:e.title,status:(null==t?void 0:t.status)||"open",priority:e.priority||"medium"}}),t=[],s=new Map(g.map(e=>[e.uuid,e]));for(let e of g)if(e.dependsOnDraftUuids)for(let a of e.dependsOnDraftUuids){let n=w.get(e.title),l=s.get(a),i=l?w.get(l.title):void 0;t.push({from:(null==n?void 0:n.uuid)||e.uuid,to:(null==i?void 0:i.uuid)||a})}return{dagTasks:e,dagEdges:t,dagHeight:Math.max(350,90*e.length)}},[g,w]),S=C?A.filter(e=>"done"===e.status||"closed"===e.status).length:0;return(0,a.jsxs)("div",{className:"space-y-5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("h3",{className:"text-[14px] font-semibold text-[#2C2C2C] truncate flex-1",children:t.title}),(0,a.jsx)(O.E,{className:"text-[11px] font-semibold border-0 shrink-0 ".concat(ef[t.status]||""),children:o("status.".concat(t.status))})]}),t.description&&(0,a.jsx)("div",{className:"max-h-[120px] overflow-y-auto text-[13px] leading-relaxed text-[#4A4A4A] prose prose-sm max-w-none [&_h1]:text-sm [&_h2]:text-[13px] [&_h3]:text-xs [&_p]:text-[13px] [&_p]:text-[#4A4A4A] [&_p]:my-1.5 [&_li]:text-[13px] [&_li]:text-[#4A4A4A] [&_ul]:my-1 [&_ol]:my-1 [&_strong]:text-[#2C2C2C]",children:(0,a.jsx)(Y.MarkdownContent,{children:ed(t.description)})}),(0,a.jsxs)(E(),{href:"/projects/".concat(s,"/proposals/").concat(t.uuid),className:"flex items-center gap-1 text-[13px] font-medium text-[#C67A52] hover:underline",children:[d("panel.viewProposal"),(0,a.jsx)(m.A,{className:"h-3.5 w-3.5"})]}),h.length>0&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-[#9A9A9A]",children:x(C?"documents":"documentDrafts")}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:h.length})]}),(0,a.jsx)("div",{className:"space-y-0",children:h.map((e,s)=>(0,a.jsx)(f.D,{entityType:"proposal",entityUuid:t.uuid,subEntityType:"draft",subEntityUuid:e.uuid||"draft-".concat(s),badgeInside:!0,children:(0,a.jsxs)(r.$,{variant:"ghost",className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-3.5 hover:bg-[#FAF8F4] transition-colors cursor-pointer -mx-1 px-1 rounded-lg",onClick:()=>e.content&&(null==c?void 0:c({title:e.title,type:e.type,content:e.content})),children:[(0,a.jsx)(el.A,{className:"h-3.5 w-3.5 shrink-0 text-[#B4B2A9]"}),(0,a.jsx)(O.E,{variant:"outline",className:"shrink-0 text-[10px] font-medium border-[#E5E0D8] text-[#6B6B6B] bg-[#F5F2EC] px-2 py-0.5 font-mono",children:p(eo[e.type]||"typeOther")}),(0,a.jsx)("span",{className:"flex-1 min-w-0 text-left text-[13px] text-[#2C2C2A] truncate",children:e.title})]})},e.uuid||s))})]}),(g.length>0||A.length>0)&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between pb-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-[#9A9A9A]",children:x(C?"tasks":"taskDrafts")}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:C&&A.length>0?A.length:g.length})]}),(0,a.jsxs)("span",{className:"text-[12px] text-[#9A9A9A]",children:[S,"/",C&&A.length>0?A.length:g.length]})]}),(0,a.jsx)("div",{className:"-mx-6 border-t border-[#E5E0D8]"}),F.length>0&&(0,a.jsxs)("div",{className:"flex gap-0.5 rounded-lg border border-[#E5E0D8] bg-[#F7F6F3] p-0.5 mt-3 w-fit",children:[(0,a.jsx)(r.$,{variant:"ghost",size:"sm",onClick:()=>N("cards"),className:"rounded-md px-2.5 py-1 h-auto text-[11px] font-medium transition-colors ".concat("cards"===b?"bg-white text-[#2C2C2C] shadow-sm":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:x("cardsView")}),(0,a.jsx)(r.$,{variant:"ghost",size:"sm",onClick:()=>N("dag"),className:"rounded-md px-2.5 py-1 h-auto text-[11px] font-medium transition-colors ".concat("dag"===b?"bg-white text-[#2C2C2C] shadow-sm":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:u("dagView")})]}),"cards"===b&&(0,a.jsx)("div",{className:"space-y-0",children:C&&A.length>0?A.map(e=>(0,a.jsx)(f.D,{entityType:"task",entityUuid:e.uuid,badgeInside:!0,children:(0,a.jsx)(eb,{task:{uuid:e.uuid,title:e.title},expanded:!1,onToggle:()=>{},onNavigate:i?()=>i(e.uuid):void 0,taskStatus:e.status})},e.uuid)):g.map((e,s)=>(0,a.jsx)(f.D,{entityType:"proposal",entityUuid:t.uuid,subEntityType:"draft",subEntityUuid:e.uuid,badgeInside:!0,children:(0,a.jsx)(eb,{task:e,expanded:j.has(s),onToggle:()=>{v(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})}})},e.uuid))}),"dag"===b&&(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsx)(ec._u,{tasks:k,edges:F,readonly:!0,height:B,onNodeClick:i})})]}),0===h.length&&0===g.length&&0===A.length&&(0,a.jsx)("p",{className:"text-xs text-[#9A9A9A] italic",children:x("emptyContainer")})]})}let ej={open:"border-[#D9D9D9] bg-white",assigned:"border-[#1976D2] bg-[#1976D2]",in_progress:"border-[#5A9E6F] bg-[#5A9E6F]",to_verify:"border-[#7B1FA2] bg-[#7B1FA2]",done:"border-[#00796B] bg-[#00796B]",closed:"border-[#9A9A9A] bg-[#9A9A9A]"},ev={open:null,assigned:null,in_progress:{className:"bg-[#E8F5E9] text-[#5A9E6F]",key:"inProgress"},to_verify:{className:"bg-[#F3E5F5] text-[#7B1FA2]",key:"toVerify"},done:{className:"bg-[#E0F2F1] text-[#00796B]",key:"done"},closed:{className:"bg-[#F5F5F5] text-[#9A9A9A]",key:"done"}};function eb(e){let{task:t,expanded:s,onToggle:l,onNavigate:i,taskStatus:c}=e,d=(0,n.c)("proposals"),o=(0,n.c)("acceptanceCriteria"),x=(0,n.c)("status"),u=t.acceptanceCriteriaItems||[],h=!!(t.description||u.length>0),f=c?ej[c]||ej.open:"border-[#D9D9D9] bg-white",g=c?ev[c]:null,j=(0,a.jsx)("span",{className:"shrink-0 h-2 w-2 rounded-full border-[1.5px] ".concat(f," transition-colors")}),v=(0,a.jsx)("span",{className:"flex-1 min-w-0 text-[13px] leading-snug truncate text-[#6B6B6B]",children:t.title}),b=g?(0,a.jsx)("span",{className:"shrink-0 rounded px-1.5 py-0.5 text-[10px] font-medium ".concat(g.className),children:x(g.key)}):null;return i?(0,a.jsxs)(r.$,{variant:"ghost",onClick:i,className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-4 cursor-pointer hover:bg-[#FAF8F4] -mx-1 px-1 rounded-lg transition-colors",children:[(0,a.jsx)(el.A,{className:"h-3.5 w-3.5 shrink-0 text-[#B4B2A9]"}),j,v,b]}):(0,a.jsxs)("div",{children:[(0,a.jsxs)(r.$,{variant:"ghost",onClick:h?l:void 0,className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-4 ".concat(h?"cursor-pointer hover:bg-[#FAF8F4] -mx-1 px-1 rounded-lg":""," transition-colors"),children:[s?(0,a.jsx)(p.A,{className:"h-3.5 w-3.5 shrink-0 text-[#B4B2A9]"}):(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-[#B4B2A9]"}),j,v,b]}),s&&h&&(0,a.jsxs)("div",{className:"pb-3 pl-5 space-y-3",children:[t.description&&(0,a.jsx)("p",{className:"text-[11px] leading-relaxed text-[#6B6B6B]",children:t.description}),u.length>0&&(0,a.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3 space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(ei.A,{className:"h-3.5 w-3.5 text-[#888780]"}),(0,a.jsx)("span",{className:"text-[11px] font-semibold text-[#2C2C2C]",children:d("taskAcceptanceCriteria")})]}),(0,a.jsx)("div",{className:"space-y-1.5",children:u.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,a.jsx)("p",{className:"text-[11px] leading-snug text-[#4A4A4A] flex-1",children:e.description}),!1!==e.required&&(0,a.jsx)("span",{className:"shrink-0 text-[10px] font-medium text-[#E65100]",children:o("required")})]},t))})]})]})]})}let eN=(0,s(66206).A)("message-square-text",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]);var eA=s(60532),ey=s(97964);let eC=(0,ex.createServerReference)("401f6f6cb27a3ada1b9f397af1c4c7b946e70e09fe",ex.callServer,void 0,ex.findSourceMapURL,"getElaborationAction");function ew(e){let{idea:t,proposals:s,tasks:i,onSelectTask:r}=e,c=(0,n.c)("ideaTracker"),d=(0,n.c)(),[x,u]=(0,l.useState)(null),[h,f]=(0,l.useState)(new Set);(0,l.useEffect)(()=>{"open"!==t.status&&eC(t.uuid).then(e=>{e.success&&e.data&&u(e.data)})},[t.uuid,t.status]);let g=(0,l.useMemo)(()=>"open"===t.status?"idea_created":"elaborating"===t.status||0===s.length?"elaboration":s.some(e=>"approved"===e.status)&&i.length>0?"tasks":"proposal",[t.status,s,i]),j=(0,l.useMemo)(()=>{let e=["idea_created","elaboration","proposal","tasks"],t=e.indexOf(g);return e.map((e,s)=>({id:e,labelKey:({idea_created:"panel.timeline.ideaCreated",elaboration:"panel.timeline.elaboration",proposal:"panel.timeline.proposal",tasks:"panel.timeline.tasksProgress"})[e],status:s<t?"completed":s===t?"active":"upcoming",icon:({idea_created:(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"}),elaboration:(0,a.jsx)(eN,{className:"h-3.5 w-3.5"}),proposal:(0,a.jsx)(_.A,{className:"h-3.5 w-3.5"}),tasks:(0,a.jsx)(ei.A,{className:"h-3.5 w-3.5"})})[e]}))},[g]);(0,l.useEffect)(()=>{let e=j.find(e=>"active"===e.status);e&&f(new Set([e.id]))},[g]);let v=(0,l.useCallback)(e=>{f(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),b=(0,l.useMemo)(()=>"open"===t.status?c("panel.timeline.noElaboration"):"skipped"===t.elaborationStatus?c("panel.timeline.elaborationSkipped"):"resolved"===t.elaborationStatus&&x?c("panel.timeline.elaborationComplete",{count:x.summary.totalQuestions}):"elaborating"===t.status?c("panel.timeline.elaborationInProgress"):x&&x.summary.totalQuestions>0?c("panel.timeline.elaborationComplete",{count:x.summary.totalQuestions}):c("panel.timeline.noElaboration"),[t.status,t.elaborationStatus,x,c]),N=(0,l.useMemo)(()=>{if(0===s.length)return c("panel.timeline.noProposal");let e=s.filter(e=>"approved"===e.status).length,t=s.filter(e=>"pending"===e.status).length;if(e>0&&1===s.length)return c("panel.timeline.proposalApproved");if(e>0)return c("panel.timeline.proposalsApproved",{count:e,total:s.length});if(t>0)return c("panel.timeline.proposalPending");switch(s[0].status){case"draft":default:return c("panel.timeline.proposalDraft");case"rejected":return c("panel.timeline.proposalRejected")}},[s,c]),A=(0,l.useMemo)(()=>{let e=0,t=0;for(let r of s){var a,n,l,i;e+=null!=(l=null==(a=r.documentDrafts)?void 0:a.length)?l:0,t+=null!=(i=null==(n=r.taskDrafts)?void 0:n.length)?i:0}return{docCount:e,taskDraftCount:t}},[s]),y=(0,l.useMemo)(()=>{let e=i.filter(e=>"done"===e.status||"closed"===e.status).length,t=i.filter(e=>"in_progress"===e.status).length;return{done:e,inProgress:t,toVerify:i.filter(e=>"to_verify"===e.status).length,open:i.filter(e=>"open"===e.status||"assigned"===e.status).length,total:i.length}},[i]);return(0,a.jsx)("div",{className:"space-y-0",children:j.map((e,n)=>{let l=h.has(e.id),o=n===j.length-1;return(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsxs)("div",{className:"flex flex-col items-center w-5 shrink-0",children:[(0,a.jsx)("div",{className:"mt-1",children:"completed"===e.status?(0,a.jsx)("div",{className:"h-5 w-5 rounded-full bg-[#E0F2F1] flex items-center justify-center",children:(0,a.jsx)(eA.A,{className:"h-3 w-3 text-[#00796B]"})}):"active"===e.status?(0,a.jsx)("div",{className:"h-5 w-5 rounded-full bg-[#C67A52] flex items-center justify-center",children:(0,a.jsx)(ey.A,{className:"h-2 w-2 fill-white text-white"})}):(0,a.jsx)("div",{className:"h-5 w-5 rounded-full border-2 border-dashed border-[#D9D9D9] flex items-center justify-center",children:(0,a.jsx)(ey.A,{className:"h-2 w-2 text-[#D9D9D9]"})})}),!o&&(0,a.jsx)("div",{className:"flex-1 w-px bg-[#E5E0D8] mt-1 min-h-[8px]"})]}),(0,a.jsxs)("div",{className:"flex-1 min-w-0 ".concat(o?"pb-0":"pb-4"),children:[(0,a.jsxs)("button",{onClick:()=>v(e.id),className:"flex items-center gap-1.5 w-full text-left group cursor-pointer",children:[l?(0,a.jsx)(p.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] shrink-0"}):(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] shrink-0"}),(0,a.jsx)("span",{className:"text-[13px] font-medium ".concat("active"===e.status?"text-[#C67A52]":"completed"===e.status?"text-[#2C2C2C]":"text-[#9A9A9A]"),children:c(e.labelKey)}),!l&&(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A] truncate ml-1",children:(e=>{switch(e.id){case"idea_created":return t.createdBy?t.createdBy.name:"";case"elaboration":return b;case"proposal":return N;case"tasks":return i.length>0?c("panel.timeline.tasksComplete",{done:y.done,total:y.total}):c("panel.timeline.noTasks");default:return""}})(e)})]}),(e=>{let n=h.has(e.id);switch(e.id){case"idea_created":return n?(0,a.jsxs)("div",{className:"mt-2 space-y-1.5",children:[t.createdBy&&(0,a.jsx)("p",{className:"text-[12px] text-[#6B6B6B]",children:c("panel.timeline.createdBy",{name:t.createdBy.name})}),(0,a.jsx)("p",{className:"text-[12px] text-[#9A9A9A]",children:(0,B.fw)(t.createdAt,d)}),t.content&&(0,a.jsxs)("p",{className:"text-[12px] text-[#6B6B6B] line-clamp-2",children:[t.content.slice(0,120),t.content.length>120?"...":""]})]}):null;case"elaboration":return n?(0,a.jsxs)("div",{className:"mt-2 space-y-1.5",children:[(0,a.jsx)("p",{className:"text-[12px] text-[#6B6B6B]",children:b}),x&&x.rounds.length>0&&(0,a.jsx)("p",{className:"text-[12px] text-[#9A9A9A]",children:c("panel.timeline.rounds",{count:x.rounds.length})})]}):null;case"proposal":return n?(0,a.jsxs)("div",{className:"mt-2 space-y-1.5",children:[(0,a.jsx)("p",{className:"text-[12px] text-[#6B6B6B]",children:N}),s.length>0&&(0,a.jsxs)("div",{className:"space-y-1",children:[A.docCount>0&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-[12px] text-[#9A9A9A]",children:[(0,a.jsx)(T.A,{className:"h-3 w-3"}),(0,a.jsx)("span",{children:c("panel.timeline.documents",{count:A.docCount})})]}),A.taskDraftCount>0&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-[12px] text-[#9A9A9A]",children:[(0,a.jsx)(ei.A,{className:"h-3 w-3"}),(0,a.jsx)("span",{children:c("panel.timeline.tasks",{count:A.taskDraftCount})})]})]})]}):null;case"tasks":return n?(0,a.jsx)("div",{className:"mt-2 space-y-2",children:0===i.length?(0,a.jsx)("p",{className:"text-[12px] text-[#9A9A9A]",children:c("panel.timeline.noTasks")}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("div",{className:"flex-1 h-1.5 rounded-full bg-[#F0EDE8] overflow-hidden flex",children:[y.done>0&&(0,a.jsx)("div",{className:"h-full bg-[#00796B]",style:{width:"".concat(y.done/y.total*100,"%")}}),y.inProgress>0&&(0,a.jsx)("div",{className:"h-full bg-[#1976D2]",style:{width:"".concat(y.inProgress/y.total*100,"%")}}),y.toVerify>0&&(0,a.jsx)("div",{className:"h-full bg-[#7B1FA2]",style:{width:"".concat(y.toVerify/y.total*100,"%")}})]}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A] shrink-0",children:c("panel.timeline.tasksComplete",{done:y.done,total:y.total})})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[i.slice(0,5).map(e=>(0,a.jsxs)("button",{onClick:()=>r(e.uuid),className:"flex items-center gap-2 w-full text-left rounded-md px-2 py-1.5 hover:bg-[#F5F2EC] transition-colors group cursor-pointer",children:[(0,a.jsx)(el.A,{className:"h-3 w-3 text-[#D9D9D9] shrink-0 group-hover:text-[#C67A52]"}),(0,a.jsx)("span",{className:"h-2 w-2 rounded-full shrink-0 ".concat((0,B.eT)(e.status))}),(0,a.jsx)("span",{className:"flex-1 text-[12px] text-[#2C2C2C] truncate group-hover:text-[#C67A52]",children:e.title})]},e.uuid)),i.length>5&&(0,a.jsx)("p",{className:"text-[11px] text-[#9A9A9A] px-2",children:c("panel.timeline.moreItems",{count:i.length-5})})]})]})}):null;default:return null}})(e)]})]},e.id)})})}let ek=(0,ex.createServerReference)("6013cbc19aa3119a1c2af52cfdd66bdda2781c7891",ex.callServer,void 0,ex.findSourceMapURL,"getReportsForIdeaAction");function eE(e){let{projectUuid:t,ideaUuid:s,proposals:i,onDocClick:c}=e,d=(0,n.c)("idea"),o=(0,n.c)("documents"),[x,p]=(0,l.useState)([]),[m,h]=(0,l.useState)(!0),f=i.some(e=>"approved"===e.status),g=(0,l.useCallback)(async()=>{if(!f){p([]),h(!1);return}try{let e=await ek(t,s);if(e.success){let t=[...e.data].sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());p(t.map(e=>{var t;return{uuid:e.uuid,title:e.title,type:e.type,content:null!=(t=e.content)?t:null,createdAt:e.createdAt}}))}}catch(e){em.q.error("Failed to fetch reports for idea:",e)}finally{h(!1)}},[t,s,f]);return((0,l.useEffect)(()=>{h(!0),g()},[g]),(0,u.eV)("document",g),m)?f?(0,a.jsx)("div",{className:"flex items-center justify-center py-3",children:(0,a.jsx)(S.A,{className:"h-4 w-4 animate-spin text-[#C67A52]"})}):null:0===x.length?null:(0,a.jsxs)("div",{className:"mt-6 space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-[#9A9A9A]",children:d("reportsList")}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:x.length}),(0,a.jsxs)("span",{className:"text-[11px] text-[#B4B2A9]",children:["\xb7 ",d("reportsAcrossProposals")]})]}),(0,a.jsx)("div",{className:"space-y-0",children:x.map(e=>(0,a.jsxs)(r.$,{variant:"ghost",className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-3.5 hover:bg-[#FAF8F4] transition-colors cursor-pointer -mx-1 px-1 rounded-lg",onClick:()=>{var t;return c({title:e.title,type:"report",content:null!=(t=e.content)?t:""})},children:[(0,a.jsx)(el.A,{className:"h-3.5 w-3.5 shrink-0 text-[#B4B2A9]"}),(0,a.jsx)(O.E,{variant:"outline",className:"shrink-0 text-[10px] font-medium border-[#E5E0D8] text-[#6B6B6B] bg-[#F5F2EC] px-2 py-0.5 font-mono",children:o(eo[e.type]||"typeOther")}),(0,a.jsx)("span",{className:"flex-1 min-w-0 text-left text-[13px] text-[#2C2C2A] truncate",children:e.title})]},e.uuid))})]})}var eF=s(76677);let eB=["in_progress","to_verify","open","assigned","done","closed"];function eS(e){let{tasks:t,projectUuid:s,proposalUuids:i,onSelectTask:r}=e,c=(0,n.c)("ideaTracker"),[d,o]=(0,l.useState)({}),x=(0,l.useMemo)(()=>t.map(e=>e.uuid),[t]),h=(0,l.useCallback)(async()=>{if(0===x.length)return;let e=await (0,eF.h)(x);e.success&&e.data&&o(e.data)},[x]);(0,l.useEffect)(()=>{h()},[h]),(0,u.eV)("task",h);let g=(0,l.useMemo)(()=>{let e=[];for(let s of eB){let a=t.filter(e=>e.status===s);a.length>0&&e.push({status:s,tasks:a})}let s=new Set(eB),a=t.filter(e=>!s.has(e.status));return a.length>0&&e.push({status:"other",tasks:a}),e},[t]),[j,v]=(0,l.useState)(new Set),b=(0,l.useMemo)(()=>{let e=t.length,s=t.filter(e=>"done"===e.status||"closed"===e.status).length,a=0,n=0,l=0,i=0;for(let e of t)e.acceptanceSummary&&(a+=e.acceptanceSummary.total,n+=e.acceptanceSummary.passed,l+=e.acceptanceSummary.required,i+=e.acceptanceSummary.requiredPassed);return{total:e,done:s,acTotal:a,acPassed:n,acRequired:l,acRequiredPassed:i}},[t]);return 0===t.length?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-center",children:[(0,a.jsx)(ei.A,{className:"h-8 w-8 text-[#D9D9D9]"}),(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A]",children:c("panel.taskList.noTasks")})]}):(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 rounded-lg bg-[#FAFAF7] px-3 py-2",children:[(0,a.jsx)("span",{className:"text-[12px] text-[#6B6B6B]",children:c("panel.taskList.summary",{done:b.done,total:b.total})}),b.acTotal>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[12px] text-[#D9D9D9]",children:"\xb7"}),(0,a.jsx)("span",{className:"text-[12px] text-[#6B6B6B]",children:c("panel.taskList.acSummary",{passed:b.acRequiredPassed,total:b.acRequired})})]}),i.length>0&&(0,a.jsxs)(E(),{href:"/projects/".concat(s,"/tasks?proposalUuids=").concat(i.join(",")),className:"ml-auto flex items-center gap-1 text-[13px] font-medium text-[#C67A52] shrink-0",children:[c("panel.taskList.viewKanban"),(0,a.jsx)(m.A,{className:"h-3.5 w-3.5"})]})]}),g.map(e=>{let t=j.has(e.status);return(0,a.jsxs)("div",{children:[(0,a.jsxs)("button",{onClick:()=>{var t;return t=e.status,void v(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:"flex items-center gap-2 w-full text-left py-1.5 group cursor-pointer",children:[t?(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 text-[#9A9A9A]"}):(0,a.jsx)(p.A,{className:"h-3.5 w-3.5 text-[#9A9A9A]"}),(0,a.jsx)("span",{className:"h-2 w-2 rounded-full shrink-0 ".concat((0,B.eT)(e.status))}),(0,a.jsx)("span",{className:"text-[13px] font-medium text-[#2C2C2C]",children:function(e,t){switch(e){case"in_progress":return t("panel.taskList.inProgress");case"to_verify":return t("panel.taskList.toVerify");case"open":return t("panel.taskList.open");case"assigned":return t("panel.taskList.assigned");case"done":return t("panel.taskList.done");case"closed":return t("panel.taskList.closed");default:return e}}(e.status,c)}),(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A] ml-auto",children:e.tasks.length})]}),!t&&(0,a.jsx)("div",{className:"ml-3 space-y-0.5",children:e.tasks.map(e=>{let t=d[e.uuid]||0,s=e.acceptanceSummary;return(0,a.jsx)(f.D,{entityType:"task",entityUuid:e.uuid,badgeInside:!0,children:(0,a.jsxs)("button",{onClick:()=>r(e.uuid),className:"flex items-center gap-2 w-full text-left rounded-md px-2.5 py-2 hover:bg-[#F5F2EC] transition-colors group cursor-pointer",children:[(0,a.jsx)(el.A,{className:"h-3.5 w-3.5 text-[#D9D9D9] shrink-0 group-hover:text-[#C67A52]"}),(0,a.jsx)("span",{className:"h-1.5 w-1.5 rounded-full shrink-0 ".concat((0,B.eT)(e.status))}),(0,a.jsx)("span",{className:"flex-1 text-[13px] text-[#2C2C2C] truncate group-hover:text-[#C67A52]",children:e.title}),s&&s.total>0&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 rounded-full bg-[#F0EDE8] px-1.5 py-0.5 text-[10px] text-[#6B6B6B]",children:[(0,a.jsx)(eA.A,{className:"h-2.5 w-2.5"}),s.requiredPassed,"/",s.required]}),e.assignee&&(0,a.jsxs)("span",{className:"shrink-0 inline-flex items-center gap-1 text-[10px] text-[#9A9A9A] max-w-[72px] truncate",title:e.assignee.name,children:[(0,a.jsx)(q.A,{className:"h-2.5 w-2.5 shrink-0"}),e.assignee.name.split(/[@\s]/)[0]]}),t>0&&(0,a.jsx)("span",{className:"inline-flex items-center justify-center h-4 min-w-[16px] rounded-full bg-[#E8F5E9] text-[#2E7D32] text-[9px] font-semibold shrink-0",title:c("panel.taskList.workersActive",{count:t}),children:t})]})},e.uuid)})})]},e.status)})]})}var eD=s(35680);function e_(e){let{ideaUuid:t}=e,s=(0,n.c)(),[i,r]=(0,l.useState)([]),[c,d]=(0,l.useState)(!0),o=(0,l.useCallback)(async()=>{d(!0),r((await (0,eD.x)(t)).activities),d(!1)},[t]);return(0,l.useEffect)(()=>{o()},[o]),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)(G.J,{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:s("common.activity")}),(0,a.jsx)("div",{className:"mt-2",children:c?(0,a.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,a.jsx)(S.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===i.length?(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:s("common.noActivity")}):i.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-stretch gap-2.5",children:[(0,a.jsxs)("div",{className:"flex flex-col items-center w-2 shrink-0",children:[(0,a.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded-full border-[1.5px] border-[#D9D9D9] bg-white"}),t<i.length-1&&(0,a.jsx)("div",{className:"flex-1 w-px bg-[#E5E0D8] mt-1"})]}),(0,a.jsxs)("div",{className:"flex-1 pb-3",children:[(0,a.jsx)("p",{className:"text-[13px] text-[#2C2C2C]",children:function(e,t){let{action:s,actorName:a}=e;switch(s){case"created":case"idea_created":return t("activity.ideaCreated",{actor:a});case"assigned":case"idea_assigned":return t("activity.ideaAssigned",{actor:a});case"claimed":case"idea_claimed":return t("activity.ideaClaimed",{actor:a});case"released":case"idea_released":return t("activity.ideaReleased",{actor:a});case"status_changed":case"idea_status_changed":return t("activity.ideaStatusChanged",{actor:a});case"elaboration_started":return t("activity.elaborationStarted",{actor:a});case"elaboration_answered":return t("activity.elaborationAnswered",{actor:a});case"elaboration_skipped":return t("activity.elaborationSkipped",{actor:a});case"elaboration_resolved":return t("activity.elaborationResolved",{actor:a});case"elaboration_followup":return t("activity.elaborationFollowup",{actor:a});default:return t("activity.genericAction",{actor:a,action:s})}}(e,s)}),(0,a.jsx)("p",{className:"text-[11px] text-[#9A9A9A]",children:(0,B.fw)(e.createdAt,s)})]})]},e.uuid))})]})}var eT=s(72642);function eU(e){let{ideaUuid:t,currentUserUuid:s,commentCount:i,onCommentCountChange:r}=e,c=(0,n.c)("ideaTracker"),[d,o]=(0,l.useState)("comments");return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex gap-1 rounded-lg bg-[#F5F2EC] p-0.5",children:[(0,a.jsxs)("button",{onClick:()=>o("comments"),className:"flex-1 rounded-md px-3 py-1.5 text-[13px] font-medium transition-colors flex items-center justify-center gap-1.5 cursor-pointer ".concat("comments"===d?"bg-white text-[#2C2C2C] shadow-sm":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:[c("panel.activityTab.comments"),i>0&&(0,a.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-[#F5F2EC] text-[#6B6B6B] text-[10px] font-semibold leading-none",children:i})]}),(0,a.jsx)("button",{onClick:()=>o("activity"),className:"flex-1 rounded-md px-3 py-1.5 text-[13px] font-medium transition-colors cursor-pointer ".concat("activity"===d?"bg-white text-[#2C2C2C] shadow-sm":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:c("panel.activityTab.activity")})]}),(0,a.jsx)("div",{children:"activity"===d?(0,a.jsx)(e_,{ideaUuid:t}):(0,a.jsx)(eT.$,{targetType:"idea",targetUuid:t,currentUserUuid:s,onCountChange:r,compact:!0})})]})}var eM=s(91418),eR=s(70633);function eP(e){let{title:t,type:s,content:i,mode:c="overlay",onClose:d,onBack:o}=e,x=(0,n.c)("documents"),[u,p]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=setTimeout(()=>p(!0),300);return()=>clearTimeout(e)},[]),(0,l.useEffect)(()=>{let e=e=>{"Escape"!==e.key||e.defaultPrevented||(e.preventDefault(),d())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[d]);let m="sidebyside"===c;return(0,a.jsxs)(a.Fragment,{children:[!m&&(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:d}),(0,a.jsxs)("div",{className:"fixed top-14 md:top-0 flex h-[calc(100%-3.5rem)] md:h-full w-full flex-col bg-white shadow-xl border-l border-[#E5E0D8] ".concat(m?"z-40 ".concat(u?"":"animate-in slide-in-from-right duration-300"):"z-50 right-0 ".concat(u?"":"animate-in slide-in-from-right duration-300")),style:{width:"min(100%, ".concat(B.L8,"px)"),...m?{right:"".concat(B.L8,"px")}:{}},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#F5F2EC] px-6 py-5",children:[o&&(0,a.jsx)(r.$,{variant:"ghost",size:"icon",className:"mr-2 h-8 w-8 shrink-0",onClick:o,children:(0,a.jsx)(eR.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:t}),(0,a.jsx)("div",{className:"mt-1.5",children:(0,a.jsx)(O.E,{variant:"outline",className:"text-[10px] font-medium border-[#E5E0D8] text-[#6B6B6B] bg-[#F5F2EC] px-2 py-0.5 font-mono",children:x(eo[s]||"typeOther")})})]}),(0,a.jsx)(r.$,{variant:"outline",size:"icon",className:"ml-4 h-8 w-8 shrink-0 border-[#E5E0D8]",onClick:d,children:(0,a.jsx)(L.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]}),(0,a.jsx)(V.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,a.jsx)("div",{className:"px-6 py-5 text-[13px] leading-relaxed text-[#2C2C2A] prose prose-sm max-w-none [&_h1]:text-lg [&_h1]:font-semibold [&_h1]:mt-4 [&_h1]:mb-2 [&_h2]:text-base [&_h2]:font-semibold [&_h2]:mt-3 [&_h2]:mb-1.5 [&_h3]:text-sm [&_h3]:font-medium [&_h3]:mt-2 [&_h3]:mb-1 [&_p]:text-[13px] [&_p]:text-[#4A4A4A] [&_p]:my-1.5 [&_li]:text-[13px] [&_li]:text-[#4A4A4A] [&_ul]:my-1 [&_ol]:my-1 [&_strong]:text-[#2C2C2C] [&_code]:text-[12px] [&_code]:bg-[#F5F2EC] [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_pre]:bg-[#FAF8F4] [&_pre]:p-3 [&_pre]:rounded-lg [&_pre]:my-2",children:(0,a.jsx)(Y.MarkdownContent,{children:ed(i)})})})]})]})}var ez=s(98480),eI=s(71645),eL=s(77381);let eq=(0,ex.createServerReference)("408d014f9a96037a922b7e6bf7e3cf1e0e28a96577",ex.callServer,void 0,ex.findSourceMapURL,"getIdeaAction"),e$=(0,ex.createServerReference)("40106e9c885a122b86951906d0e2409f8e4a62031b",ex.callServer,void 0,ex.findSourceMapURL,"getTaskAction");var eV=s(10836);function eO(e){let{ideaUuid:t,projectUuid:s,currentUserUuid:i,onClose:c}=e,d=(0,n.c)(),o=(0,n.c)("ideaTracker"),x=(0,n.c)("status"),p=(0,P.useRouter)(),[m,h]=(0,l.useState)(null),[f,j]=(0,l.useState)(!0),[v,b]=(0,l.useState)(null),[N,A]=(0,l.useState)([]),[y,C]=(0,l.useState)([]),[w,k]=(0,l.useState)("overview"),[E,F]=(0,l.useState)(new Set(["overview"])),[D,_]=(0,l.useState)(!1),[T,U]=(0,l.useState)(0),[M,R]=(0,l.useState)(!1),[Z,Q]=(0,l.useState)(!1),[W,X]=(0,l.useState)(!1),[Y,ee]=(0,l.useState)(""),[et,es]=(0,l.useState)(""),[ea,el]=(0,l.useState)(!1),[ei,er]=(0,l.useState)(null),[ec,ed]=(0,l.useState)(!1),[eo,ex]=(0,l.useState)(null),[ef,eg]=(0,l.useState)(null),[ej,ev]=(0,l.useState)(null),eb=(0,l.useCallback)(e=>{ev(null),ex(e)},[]),eN=(0,l.useCallback)(e=>{ex(null),eg(null),ev(e)},[]),[eA,ey]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=window.matchMedia("(min-width: 960px)");ey(e.matches);let t=e=>ey(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]);let[eC,ek]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=setTimeout(()=>ek(!0),300);return()=>clearTimeout(e)},[]);let eF=(0,l.useCallback)(e=>{let t=new URLSearchParams(window.location.search);t.set("tab",e),window.history.replaceState(null,"","".concat(window.location.pathname,"?").concat(t.toString()))},[]),eB=(0,l.useCallback)(async()=>{try{let e=await eq(t);e.success?(h(e.data),b(null)):b(o("Not found"===e.error?"panel.notFound":"panel.loadFailed"))}catch(e){b(o("panel.loadFailed"))}finally{j(!1)}},[t,o]);(0,l.useEffect)(()=>{j(!0),eB()},[eB]),(0,u.eV)("idea",eB),(0,u.eV)("proposal",eB),(0,u.eV)("task",eB);let eD=null==m?void 0:m.uuid,e_=null==m?void 0:m.status,eT=(0,l.useCallback)(async()=>{if(!eD||"open"===e_)return void A([]);try{let e=await eu(s,eD);e.success&&A(e.data)}catch(e){em.q.error("Failed to fetch proposals:",e)}},[s,eD,e_]);(0,l.useEffect)(()=>{eT()},[eT]),(0,u.eV)("proposal",eT);let eR=(0,l.useCallback)(async()=>{let e=N.filter(e=>"approved"===e.status);if(0===e.length)return void C([]);try{let t=(await Promise.all(e.map(e=>ep(s,e.uuid)))).flatMap(e=>e.success&&e.data?e.data.map(e=>{var t,s,a;return{uuid:e.uuid,title:e.title,status:e.status,commentCount:null!=(t=e.commentCount)?t:0,assignee:null!=(s=e.assignee)?s:null,acceptanceSummary:null!=(a=e.acceptanceSummary)?a:null}}):[]);C(t)}catch(e){em.q.error("Failed to fetch tasks:",e)}},[s,N]);(0,l.useEffect)(()=>{eR()},[eR]),(0,u.eV)("task",eR);let eO=(0,l.useMemo)(()=>m?function(e,t,s){let a=["overview"];return a.push("elaboration"),t.length>0&&a.push("proposal"),s.length>0&&a.push("tasks"),a.push("activity"),a}(0,N,y):["overview","activity"],[m,N,y]),eH=(0,l.useRef)(new URLSearchParams(window.location.search).get("tab")),eJ=m?function(e){switch(e){case"open":case"researching":case"answer_questions":return"elaboration";case"planning":case"review_proposal":return"proposal";case"building":case"verify_work":return"tasks";default:return"overview"}}(m.badgeHint):"overview";(0,l.useEffect)(()=>{let e;if(!m||D)return;let t=eH.current;if(t)if(!eO.includes(t))return;else e=t,eH.current=null,_(!0);else if(eO.includes(eJ))e=eJ;else{if("overview"!==eJ)return;e="overview"}k(e),F(t=>new Set([...t,e])),eF(e)},[null==m?void 0:m.uuid,eJ,eO]),(0,l.useEffect)(()=>{_(!1)},[t]),(0,l.useEffect)(()=>{eO.includes(w)||k("overview")},[eO,w]);let eG=(0,l.useMemo)(()=>y.filter(e=>"in_progress"===e.status||"assigned"===e.status||"to_verify"===e.status).length,[y]),eK=(0,l.useCallback)(()=>{if(!eo)return void eg(null);e$(eo).then(e=>{e.success&&eg(e.data)}).catch(e=>em.q.error("Failed to load task details:",e))},[eo]);(0,l.useEffect)(()=>{eK()},[eK]),(0,u.eV)("task",eK),(0,l.useEffect)(()=>{X(!1),ee((null==m?void 0:m.title)||""),es((null==m?void 0:m.content)||""),er(null)},[null==m?void 0:m.uuid,null==m?void 0:m.title,null==m?void 0:m.content]);let eZ=()=>{X(!1),ee((null==m?void 0:m.title)||""),es((null==m?void 0:m.content)||""),er(null)},eQ=async()=>{if(!m||!Y.trim())return void er(d("ideas.titleRequired"));el(!0),er(null);let e=await (0,eI.J)({ideaUuid:m.uuid,projectUuid:s,title:Y.trim(),content:et.trim()||null});el(!1),e.success?(X(!1),await eB(),p.refresh()):er(e.error||d("ideas.updateFailed"))},eW=async()=>{if(!m)return;Q(!0);let e=await (0,eL.Z)(m.uuid,s);Q(!1),e.success&&(c(),p.refresh())},eX=(null==m?void 0:m.derivedStatus)||"todo",eY=!!m&&"elaborated"!==m.status,e0=(null==m?void 0:m.elaborationStatus)==="resolved",e2=(null==m?void 0:m.status)==="elaborating"&&!e0;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:c}),(0,a.jsxs)("div",{className:"fixed right-0 top-14 md:top-0 z-50 flex h-[calc(100%-3.5rem)] md:h-full w-full md:w-[480px] flex-col bg-white shadow-xl border-l border-[#E5E0D8] ".concat(eC?"":"animate-in slide-in-from-right duration-300"),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-[#F5F2EC] px-6 py-5",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:f?(0,a.jsx)("div",{className:"h-5 w-40 animate-pulse rounded bg-[#F5F2EC]"}):m?W?(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:d("ideas.editIdea")}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:m.title}),(0,a.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,a.jsx)(O.E,{className:B._5[eX]||B._5.todo,children:m.badgeHint?o("badge.".concat(B.Wl[m.badgeHint]||"open")):x(B.Bj[eX]||"todo")}),(0,a.jsx)("span",{className:"text-xs text-[#9A9A9A]",children:(0,g.r)(m.createdAt)})]})]}):(0,a.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:o("panel.notFound")})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[m&&!W&&(0,a.jsx)(r.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:()=>ed(!0),title:d("ideas.actions.move"),"aria-label":d("ideas.actions.move"),children:(0,a.jsx)(z.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),m&&"elaborated"!==m.status&&!W&&(0,a.jsx)(r.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:()=>{m&&(ee(m.title),es(m.content||""),er(null),X(!0))},title:d("ideas.editIdea"),children:(0,a.jsx)(I.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,a.jsx)(r.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:W?eZ:c,children:(0,a.jsx)(L.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]})]}),m&&!f&&!W&&(0,a.jsx)("div",{className:"border-b border-[#F5F2EC] px-6",children:(0,a.jsx)("div",{className:"flex gap-0 -mb-px",children:eO.map(e=>(0,a.jsxs)("button",{onClick:()=>{k(e),_(!0),F(t=>new Set([...t,e])),eF(e)},className:"relative flex items-center gap-1.5 px-3 py-2.5 text-[13px] font-medium transition-colors cursor-pointer ".concat(w===e?"text-[#C67A52] border-b-2 border-[#C67A52]":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:[o("panel.tabs.".concat(e)),"tasks"===e&&eG>0&&(0,a.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-[#E3F2FD] text-[#1976D2] text-[10px] font-semibold leading-none",children:eG}),"activity"===e&&T>0&&(0,a.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-[#F5F2EC] text-[#6B6B6B] text-[10px] font-semibold leading-none",children:T})]},e))})}),(0,a.jsx)(V.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,a.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:f?(0,a.jsxs)("div",{className:"flex flex-1 items-center justify-center py-12",children:[(0,a.jsx)(S.A,{className:"h-6 w-6 animate-spin text-[#C67A52]"}),(0,a.jsx)("span",{className:"ml-2 text-sm text-[#9A9A9A]",children:o("loading")})]}):v?(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center py-12",children:(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A]",children:v})}):m?W?(0,a.jsxs)("div",{className:"space-y-5",children:[ei&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:ei}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(G.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:d("ideas.titleLabel")}),(0,a.jsx)(H.p,{id:"edit-title",value:Y,onChange:e=>ee(e.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(G.J,{htmlFor:"edit-content",className:"text-[13px] font-medium text-[#2C2C2C]",children:d("common.content")}),(0,a.jsx)(J.T,{id:"edit-content",value:et,onChange:e=>es(e.target.value),rows:8,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]})]}):(0,a.jsxs)(a.Fragment,{children:[E.has("overview")&&(0,a.jsxs)("div",{style:{display:"overview"===w?"block":"none"},children:[(0,a.jsx)(ew,{idea:m,proposals:N,tasks:y,onSelectTask:eb}),(0,a.jsx)(eE,{projectUuid:s,ideaUuid:m.uuid,proposals:N,onDocClick:eN})]}),eO.includes("elaboration")&&E.has("elaboration")&&(0,a.jsx)("div",{style:{display:"elaboration"===w?"block":"none"},children:(0,a.jsx)(en,{idea:m,onRefresh:eB})}),eO.includes("proposal")&&E.has("proposal")&&(0,a.jsx)("div",{style:{display:"proposal"===w?"block":"none"},children:(0,a.jsx)(eh,{idea:m,projectUuid:s,onTaskClick:eb,onDocClick:eN,initialProposals:N})}),eO.includes("tasks")&&E.has("tasks")&&(0,a.jsx)("div",{style:{display:"tasks"===w?"block":"none"},children:(0,a.jsx)(eS,{tasks:y,projectUuid:s,proposalUuids:N.filter(e=>"approved"===e.status).map(e=>e.uuid),onSelectTask:eb})}),E.has("activity")&&(0,a.jsx)("div",{style:{display:"activity"===w?"block":"none"},children:(0,a.jsx)(eU,{ideaUuid:m.uuid,currentUserUuid:i,commentCount:T,onCommentCountChange:U})})]}):null})}),m&&!f&&(0,a.jsx)("div",{className:"border-t border-[#F5F2EC] px-6 py-4",children:W?(0,a.jsxs)("div",{className:"flex items-center justify-end gap-3",children:[(0,a.jsx)(r.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:eZ,disabled:ea,children:d("common.cancel")}),(0,a.jsx)(r.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:eQ,disabled:ea||!Y.trim(),children:ea?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(S.A,{className:"mr-2 h-4 w-4 animate-spin"}),d("common.save")]}):d("common.save")})]}):(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[eY&&(0,a.jsxs)(r.$,{variant:"outline",className:"shrink-0 border-[#E5E0D8] rounded-md px-4 py-2 text-[13px] font-medium",onClick:()=>R(!0),children:[(0,a.jsx)(q.A,{className:"mr-2 h-4 w-4"}),m.assignee?d("common.reassign"):d("common.assign")]}),(0,a.jsx)("div",{className:"flex-1 min-w-0",children:e2&&(0,a.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:d("elaboration.elaborationRequiredHint")})}),(0,a.jsxs)(K.Lt,{children:[(0,a.jsx)(K.tv,{asChild:!0,children:(0,a.jsx)(r.$,{variant:"outline",size:"icon",className:"shrink-0 h-8 w-8 border-[#E5E0D8] text-[#EF4444] hover:bg-[#FFEBEE] hover:text-[#EF4444] hover:border-[#EF4444]",children:(0,a.jsx)($.A,{className:"h-4 w-4"})})}),(0,a.jsxs)(K.EO,{children:[(0,a.jsxs)(K.wd,{children:[(0,a.jsx)(K.r7,{children:d("ideas.deleteIdea")}),(0,a.jsx)(K.$v,{children:d("ideas.deleteIdeaConfirm",{title:m.title})})]}),(0,a.jsxs)(K.ck,{children:[(0,a.jsx)(K.Zr,{children:d("common.cancel")}),(0,a.jsx)(K.Rx,{variant:"destructive",onClick:eW,disabled:Z,children:Z?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(S.A,{className:"mr-2 h-4 w-4 animate-spin"}),d("common.delete")]}):d("common.delete")})]})]})]})]})})]}),(0,a.jsx)(ez.h,{open:ec,onOpenChange:ed,ideaUuid:t,projectUuid:s,onMoved:()=>c()}),M&&m&&(0,a.jsx)(eV.i,{idea:{uuid:m.uuid,title:m.title,content:m.content,status:m.status,assignee:m.assignee?{type:m.assignee.type,uuid:m.assignee.uuid,name:m.assignee.name}:null},projectUuid:s,currentUserUuid:i,onClose:()=>{R(!1),eB()}}),eo&&ef&&(0,a.jsx)(eM.v,{task:ef,projectUuid:s,currentUserUuid:i,mode:eA?"sidebyside":"overlay",onClose:()=>{ex(null),eg(null)},onBack:()=>{ex(null),eg(null)}}),ej&&(0,a.jsx)(eP,{title:ej.title,type:ej.type,content:ej.content,mode:eA?"sidebyside":"overlay",onClose:()=>ev(null),onBack:()=>ev(null)})]})}var eH=s(97438),eJ=s(42305);function eG(e){let{open:t,onOpenChange:s,projectUuid:i,onCreated:c}=e,d=(0,n.c)("ideaTracker"),o=(0,n.c)("common"),[x,u]=(0,l.useState)(""),[p,m]=(0,l.useState)(""),[h,f]=(0,l.useState)(!1),[g,j]=(0,l.useState)(null),v=async()=>{let e=x.trim();if(e){f(!0),j(null);try{var t;let a=await fetch("/api/projects/".concat(i,"/ideas"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e,content:p.trim()||void 0})}),n=await a.json();n.success&&(null==(t=n.data)?void 0:t.uuid)?(u(""),m(""),s(!1),null==c||c(n.data.uuid)):j(n.error||d("error.createFailed"))}catch(e){j(d("error.createFailed"))}finally{f(!1)}}};return(0,a.jsx)(eH.lG,{open:t,onOpenChange:s,children:(0,a.jsxs)(eH.Cf,{className:"sm:max-w-[480px]",children:[(0,a.jsx)(eH.c7,{children:(0,a.jsx)(eH.L3,{children:d("newIdea.title")})}),(0,a.jsxs)("div",{className:"space-y-4 py-2",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(G.J,{htmlFor:"idea-title",children:d("newIdea.ideaTitle")}),(0,a.jsx)(H.p,{id:"idea-title",value:x,onChange:e=>u(e.target.value),placeholder:d("newIdea.titlePlaceholder"),autoFocus:!0,onKeyDown:e=>{!(0,eJ.P)(e)&&"Enter"===e.key&&!e.shiftKey&&x.trim()&&(e.preventDefault(),v())}})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)(G.J,{htmlFor:"idea-content",children:[d("newIdea.description"),(0,a.jsxs)("span",{className:"ml-1 text-xs font-normal text-[#9A9A9A]",children:["(",o("optional"),")"]})]}),(0,a.jsx)(J.T,{id:"idea-content",value:p,onChange:e=>m(e.target.value),placeholder:d("newIdea.descriptionPlaceholder"),rows:4,className:"resize-none"})]}),g&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 px-3 py-2 text-[12px] text-destructive",children:g})]}),(0,a.jsxs)(eH.Es,{children:[(0,a.jsx)(r.$,{variant:"outline",onClick:()=>s(!1),disabled:h,children:o("cancel")}),(0,a.jsxs)(r.$,{onClick:v,disabled:h||!x.trim(),className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:[h?(0,a.jsx)(S.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,o("create")]})]})]})})}function eK(e){let{projectUuid:t,currentUserUuid:s,initialTrackerData:d,initialStatsData:o,initialSelectedIdeaUuid:x}=e,u=(0,n.c)("ideaTracker"),[p,m]=(0,l.useState)("ideas"),[h,f]=(0,l.useState)(!1),[g,j]=(0,l.useState)(!1),v="/projects/".concat(t,"/dashboard"),{selectedId:b,openPanel:N,closePanel:A}=(0,c.T)(v,x);return(0,a.jsxs)("div",{className:"flex h-full flex-col",children:[!h&&(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex gap-0.5 rounded-lg border border-[#E5E0D8] p-0.5",children:[(0,a.jsx)(r.$,{variant:"ghost",size:"sm",onClick:()=>m("ideas"),className:"rounded-md px-3 py-1 h-auto text-[12px] font-medium transition-colors ".concat("ideas"===p?"bg-white text-[#2C2C2C] shadow-sm":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:u("tabs.ideas")}),(0,a.jsx)(r.$,{variant:"ghost",size:"sm",onClick:()=>m("stats"),className:"rounded-md px-3 py-1 h-auto text-[12px] font-medium transition-colors ".concat("stats"===p?"bg-white text-[#2C2C2C] shadow-sm":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:u("tabs.stats")})]}),"ideas"===p&&(0,a.jsxs)(r.$,{onClick:()=>j(!0),size:"sm",className:"gap-1.5 rounded-md bg-[#C67A52] px-3.5 py-2 text-white hover:bg-[#B56A42]",children:[(0,a.jsx)(i.A,{className:"h-4 w-4"}),u("actions.newIdea")]})]}),"ideas"===p?(0,a.jsx)(w,{projectUuid:t,initialData:d,onIdeaClick:N,onNewIdea:()=>j(!0),onEmptyChange:f}):(0,a.jsx)(R,{projectUuid:t,initialData:o}),(0,a.jsx)(eG,{open:g,onOpenChange:j,projectUuid:t,onCreated:e=>N(e)}),b&&(0,a.jsx)(eO,{ideaUuid:b,projectUuid:t,currentUserUuid:s,onClose:A})]})}},29767:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},32470:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("list-checks",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]])},37915:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},38476:(e,t,s)=>{"use strict";s.r(t),s.d(t,{Collapsible:()=>j,CollapsibleContent:()=>A,CollapsibleTrigger:()=>b,Content:()=>E,Root:()=>w,Trigger:()=>k,createCollapsibleScope:()=>h});var a=s(1856),n=s(33328),l=s(21032),i=s(66249),r=s(99457),c=s(34124),d=s(93367),o=s(19900),x=s(40577),u=s(90508),p="Collapsible",[m,h]=(0,l.A)(p),[f,g]=m(p),j=a.forwardRef((e,t)=>{let{__scopeCollapsible:s,open:n,defaultOpen:l,disabled:r,onOpenChange:c,...o}=e,[m,h]=(0,i.i)({prop:n,defaultProp:null!=l&&l,onChange:c,caller:p});return(0,u.jsx)(f,{scope:s,disabled:r,contentId:(0,x.B)(),open:m,onOpenToggle:a.useCallback(()=>h(e=>!e),[h]),children:(0,u.jsx)(d.sG.div,{"data-state":C(m),"data-disabled":r?"":void 0,...o,ref:t})})});j.displayName=p;var v="CollapsibleTrigger",b=a.forwardRef((e,t)=>{let{__scopeCollapsible:s,...a}=e,l=g(v,s);return(0,u.jsx)(d.sG.button,{type:"button","aria-controls":l.contentId,"aria-expanded":l.open||!1,"data-state":C(l.open),"data-disabled":l.disabled?"":void 0,disabled:l.disabled,...a,ref:t,onClick:(0,n.mK)(e.onClick,l.onOpenToggle)})});b.displayName=v;var N="CollapsibleContent",A=a.forwardRef((e,t)=>{let{forceMount:s,...a}=e,n=g(N,e.__scopeCollapsible);return(0,u.jsx)(o.C,{present:s||n.open,children:e=>{let{present:s}=e;return(0,u.jsx)(y,{...a,ref:t,present:s})}})});A.displayName=N;var y=a.forwardRef((e,t)=>{let{__scopeCollapsible:s,present:n,children:l,...i}=e,o=g(N,s),[x,p]=a.useState(n),m=a.useRef(null),h=(0,c.s)(t,m),f=a.useRef(0),j=f.current,v=a.useRef(0),b=v.current,A=o.open||x,y=a.useRef(A),w=a.useRef(void 0);return a.useEffect(()=>{let e=requestAnimationFrame(()=>y.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,r.N)(()=>{let e=m.current;if(e){w.current=w.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();f.current=t.height,v.current=t.width,y.current||(e.style.transitionDuration=w.current.transitionDuration,e.style.animationName=w.current.animationName),p(n)}},[o.open,n]),(0,u.jsx)(d.sG.div,{"data-state":C(o.open),"data-disabled":o.disabled?"":void 0,id:o.contentId,hidden:!A,...i,ref:h,style:{"--radix-collapsible-content-height":j?"".concat(j,"px"):void 0,"--radix-collapsible-content-width":b?"".concat(b,"px"):void 0,...e.style},children:A&&l})});function C(e){return e?"open":"closed"}var w=j,k=b,E=A},52309:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},56669:(e,t,s)=>{Promise.resolve().then(s.bind(s,9715)),Promise.resolve().then(s.bind(s,7045))},57223:(e,t,s)=>{"use strict";s.d(t,{E:()=>l});var a=s(90508),n=s(24377);function l(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"skeleton",className:(0,n.cn)("bg-accent animate-pulse rounded-md",t),...s})}},71921:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]])},78948:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},84247:(e,t,s)=>{"use strict";s.d(t,{Separator:()=>i});var a=s(90508);s(1856);var n=s(5725),l=s(24377);function i(e){let{className:t,orientation:s="horizontal",decorative:i=!0,...r}=e;return(0,a.jsx)(n.b,{"data-slot":"separator",decorative:i,orientation:s,className:(0,l.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...r})}},95900:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])}},e=>{e.O(0,[41282,93151,41752,30996,57084,59764,12079,18944,12790,26885,21932,16544,53298,30724,27201,16551,97784,14753,45532,70552,86944,11207,76803,29660,84541,23466,44046,6028,9562,74951,65496,77358],()=>e(e.s=56669)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[96538],{5616:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(66206).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},8312:(e,t,r)=>{"use strict";r.d(t,{DocumentGrid:()=>b});var a=r(90508),n=r(12790),s=r.n(n),o=r(48416),i=r(57731),l=r(56770),d=r(39268),c=r(96213),u=r(23603),m=r(38106),p=r(71921),f=r(66206);let h=(0,f.A)("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]),x=(0,f.A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]);var v=r(75320);let g={prd:{labelKey:"documents.typePrd",color:"bg-[#E3F2FD] text-[#1976D2]",icon:p.A},spec:{labelKey:"documents.typeSpec",color:"bg-[#E8F5E9] text-[#5A9E6F]",icon:h},design:{labelKey:"documents.typeDesign",color:"bg-[#F3E5F5] text-[#7B1FA2]",icon:x},note:{labelKey:"documents.typeNote",color:"bg-[#FFF3E0] text-[#E65100]",icon:v.A},report:{labelKey:"documents.typeReport",color:"bg-[#FFF8E1] text-[#9A6B00]",icon:l.A},other:{labelKey:"documents.typeOther",color:"bg-[#F5F5F5] text-[#6B6B6B]",icon:l.A}};function b(e){let{documents:t,projectUuid:r}=e,n=(0,d.c)();return(0,a.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:t.map(e=>{let t=g[e.type],d=(null==t?void 0:t.icon)||l.A;return(0,a.jsx)(c.D,{entityType:"document",entityUuid:e.uuid,children:(0,a.jsxs)(o.Zp,{className:"group relative flex flex-col border-[#E5E0D8] transition-all hover:border-[#C67A52] hover:shadow-md",children:[(0,a.jsx)(s(),{href:"/projects/".concat(r,"/documents/").concat(e.uuid),className:"flex flex-1 flex-col p-5 pb-0",children:(0,a.jsxs)("div",{className:"mb-3 flex items-start gap-3",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-[#F5F2EC]",children:(0,a.jsx)(d,{className:"h-5 w-5 text-[#6B6B6B]"})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("h3",{className:"font-medium text-[#2C2C2C] leading-snug group-hover:text-[#C67A52] line-clamp-2",children:e.title}),(0,a.jsxs)("div",{className:"mt-1 flex items-center gap-2 text-xs text-[#9A9A9A]",children:[(0,a.jsxs)("span",{children:["v",e.version]}),(0,a.jsx)("span",{children:"\xb7"}),(0,a.jsx)("span",{children:n("documents.updated",{date:(0,m.r)(e.updatedAt)})})]})]})]})}),(0,a.jsxs)("div",{className:"flex items-center justify-between border-t border-[#F5F2EC] px-5 py-2.5",children:[(0,a.jsx)(i.E,{className:"text-[11px] ".concat((null==t?void 0:t.color)||""),children:n((null==t?void 0:t.labelKey)||"documents.typeOther")}),(0,a.jsx)("div",{onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),children:(0,a.jsx)(u.E,{documentUuid:e.uuid,variant:"compact"})})]})]})},e.uuid)})})}},9160:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(66206).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},14196:(e,t,r)=>{"use strict";r.d(t,{CreateDocumentDialog:()=>g});var a=r(90508),n=r(1856),s=r(23675),o=r(39268),i=r(5616),l=r(56770);let d=(0,r(66206).A)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var c=r(85226),u=r(22922),m=r(14554),p=r(88064),f=r(97438),h=r(91846),x=r(52217);let v=(0,x.createServerReference)("40db287be7a71635e0d03981e418abbd13e6e7f295",x.callServer,void 0,x.findSourceMapURL,"createDocumentAction");function g(e){let{projectUuid:t,trigger:r}=e,x=(0,o.c)(),g=(0,s.useRouter)(),b=(0,n.useRef)(null),[y,j]=(0,n.useState)(!1),[w,k]=(0,n.useState)(""),[N,C]=(0,n.useState)("prd"),[A,E]=(0,n.useState)(null),[z,P]=(0,n.useState)(""),[S,M]=(0,n.useState)(null),[D,F]=(0,n.useState)(!1),U=()=>{k(""),C("prd"),E(null),P(""),M(null),b.current&&(b.current.value="")},_=async()=>{if(!w.trim())return void M(x("documents.titleRequired"));F(!0),M(null);let e=await v({projectUuid:t,title:w.trim(),type:N,content:z});F(!1),e.success?(j(!1),U(),g.refresh(),e.documentUuid&&g.push("/projects/".concat(t,"/documents/").concat(e.documentUuid))):M(e.error||x("documents.createFailed"))};return(0,a.jsxs)(f.lG,{open:y,onOpenChange:e=>{j(e),e||U()},children:[(0,a.jsx)(f.zM,{asChild:!0,children:r||(0,a.jsxs)(u.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:[(0,a.jsx)(i.A,{className:"mr-2 h-4 w-4"}),x("documents.newDocument")]})}),(0,a.jsxs)(f.Cf,{className:"sm:max-w-[480px]",children:[(0,a.jsx)(f.c7,{children:(0,a.jsx)(f.L3,{children:x("documents.createDocument")})}),(0,a.jsxs)("div",{className:"space-y-4 py-2",children:[S&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:S}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)(p.J,{htmlFor:"doc-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:[x("documents.titleLabel")," *"]}),(0,a.jsx)(m.p,{id:"doc-title",value:w,onChange:e=>k(e.target.value),placeholder:x("documents.titlePlaceholder"),className:"border-[#E5E0D8] focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(p.J,{htmlFor:"doc-type",className:"text-[13px] font-medium text-[#2C2C2C]",children:x("documents.typeLabel")}),(0,a.jsxs)(h.l6,{value:N,onValueChange:C,children:[(0,a.jsx)(h.bq,{className:"border-[#E5E0D8] focus:ring-[#C67A52]",children:(0,a.jsx)(h.yv,{})}),(0,a.jsxs)(h.gC,{children:[(0,a.jsx)(h.eb,{value:"prd",children:"PRD"}),(0,a.jsx)(h.eb,{value:"spec",children:"Spec"}),(0,a.jsx)(h.eb,{value:"design",children:"Design"}),(0,a.jsx)(h.eb,{value:"note",children:"Note"}),(0,a.jsx)(h.eb,{value:"other",children:"Other"})]})]})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(p.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:x("documents.uploadMarkdown")}),(0,a.jsx)("div",{className:"flex cursor-pointer items-center gap-3 rounded-lg border border-dashed border-[#E5E0D8] p-4 transition-colors hover:border-[#C67A52] hover:bg-[#FFFBF8]",onClick:()=>{var e;return null==(e=b.current)?void 0:e.click()},children:A?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.A,{className:"h-5 w-5 text-[#C67A52]"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-sm font-medium text-[#2C2C2C] truncate",children:A}),(0,a.jsxs)("p",{className:"text-xs text-[#9A9A9A]",children:[z.length.toLocaleString()," ",x("documents.characters")]})]})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(d,{className:"h-5 w-5 text-[#9A9A9A]"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-sm text-[#6B6B6B]",children:x("documents.clickToUpload")}),(0,a.jsx)("p",{className:"text-xs text-[#9A9A9A]",children:".md, .txt, .markdown"})]})]})}),(0,a.jsx)("input",{ref:b,type:"file",accept:".md,.txt,.markdown",onChange:e=>{var t;let r=null==(t=e.target.files)?void 0:t[0];if(!r)return;E(r.name);let a=new FileReader;a.onload=e=>{var t;P(null==(t=e.target)?void 0:t.result)},a.readAsText(r)},className:"hidden"})]})]}),(0,a.jsxs)(f.Es,{children:[(0,a.jsx)(u.$,{variant:"outline",onClick:()=>j(!1),disabled:D,className:"border-[#E5E0D8]",children:x("common.cancel")}),(0,a.jsx)(u.$,{onClick:_,disabled:D||!w.trim(),className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:D?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),x("common.creating")]}):x("common.create")})]})]})]})}},14554:(e,t,r)=>{"use strict";r.d(t,{p:()=>s});var a=r(90508);r(1856);var n=r(24377);function s(e){let{className:t,type:r,...s}=e;return(0,a.jsx)("input",{type:r,"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})}},17730:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(66206).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},22922:(e,t,r)=>{"use strict";r.d(t,{$:()=>l});var a=r(90508);r(1856);var n=r(49499),s=r(54154),o=r(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:r="default",size:n="default",asChild:l=!1,...d}=e,c=l?s.bL:"button";return(0,a.jsx)(c,{"data-slot":"button","data-variant":r,"data-size":n,className:(0,o.cn)(i({variant:r,size:n,className:t})),...d})}},23603:(e,t,r)=>{"use strict";r.d(t,{E:()=>x});var a=r(90508),n=r(1856),s=r(67587),o=r(56770),i=r(66206);let l=(0,i.A)("file-type",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M11 18h2",key:"12mj7e"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5",key:"qbrxap"}]]),d=(0,i.A)("file-spreadsheet",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]);var c=r(85226);let u=(0,i.A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);var m=r(39268),p=r(66343),f=r(22922),h=r(67712);function x(e){let{document:t,documentUuid:i,variant:x="default"}=e,v=(0,m.c)(),{exportDocument:g,isExporting:b,exportError:y}=function(){let[e,t]=(0,n.useState)(!1),[a,s]=(0,n.useState)(null);return{exportDocument:(0,n.useCallback)(async(e,a)=>{t(!0),s(null);try{let t,s,i=function(e){let t=e.replace(/[\\/:*?"<>|]/g,"").replace(/\s+/g," ").trim().replace(/\s/g,"-");return t.length>0?t:"document"}(e.title);if("md"===a){let{exportAsMarkdownBlob:a}=await r.e(50681).then(r.bind(r,50681));t=a(e),s="md"}else if("pdf"===a){let{exportAsPdf:a}=await r.e(34966).then(r.bind(r,34966));t=await a(e),s="pdf"}else if("docx"===a){let{exportAsDocx:a}=await r.e(9634).then(r.bind(r,9634));t=await a(e),s="docx"}else throw Error("Unsupported export format: ".concat(String(a)));var n=t,o="".concat(i,".").concat(s);let l=URL.createObjectURL(n),d=document.createElement("a");d.href=l,d.download=o,d.rel="noopener",d.style.display="none",document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(l),1e3)}catch(e){s(e instanceof Error?e.message:String(e)),h.q.error("useDocumentExport export failed",e)}finally{t(!1)}},[]),isExporting:e,exportError:a}}(),[j,w]=(0,n.useState)(null);async function k(e){w(e);try{let d=t;if(!d&&i){var r,a,n,o,l;let e=await fetch("/api/documents/".concat(i)),t=await e.json();if(!t.success||!t.data)return void s.oR.error(v("export.exportError"));let c=t.data;d={title:c.title,content:null!=(n=c.content)?n:"",type:c.type,version:c.version,createdAt:c.createdAt,updatedAt:c.updatedAt,createdByName:null!=(o=null==(r=c.createdBy)?void 0:r.name)?o:"",projectName:null!=(l=null==(a=c.project)?void 0:a.name)?l:""}}d&&await g(d,e)}finally{w(null),y&&s.oR.error(y)}}let N=[{format:"md",labelKey:"export.formatMd",icon:o.A},{format:"pdf",labelKey:"export.formatPdf",icon:l},{format:"docx",labelKey:"export.formatDocx",icon:d}],C="compact"===x;return(0,a.jsxs)(p.rI,{children:[(0,a.jsx)(p.ty,{asChild:!0,children:(0,a.jsxs)(f.$,{variant:"ghost"===x?"ghost":"outline",size:C?"sm":"default",className:C?"h-6 text-[11px] text-muted-foreground hover:text-foreground":"border-[#E5E0D8] text-[#6B6B6B] gap-1.5",disabled:b,children:[b?(0,a.jsx)(c.A,{className:"".concat(C?"h-3 w-3":"h-4 w-4"," animate-spin")}):(0,a.jsx)(u,{className:C?"h-3 w-3":"h-4 w-4"}),!C&&v("export.exportDocument")]})}),(0,a.jsx)(p.SQ,{align:"end",className:"w-48",children:N.map(e=>{let{format:t,labelKey:r,icon:n}=e;return(0,a.jsxs)(p._2,{onClick:e=>{e.stopPropagation(),e.preventDefault(),k(t)},disabled:b,children:[j===t?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(n,{className:"h-4 w-4"}),v(r)]},t)})})]})}},24377:(e,t,r)=>{"use strict";r.d(t,{cn:()=>s});var a=r(49251),n=r(58849);function s(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.QP)((0,a.$)(t))}},30423:(e,t,r)=>{"use strict";r.d(t,{j:()=>n});let a=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function n(e){let t=function(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return Math.abs(t)}(e)%a.length;return a[t]}},38106:(e,t,r)=>{"use strict";function a(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let r=t.getFullYear(),a=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0");return"".concat(r,"-").concat(a,"-").concat(n," ").concat(s,":").concat(o)}function n(e,t){let r="string"==typeof e?new Date(e):e;return isNaN(r.getTime())?"":r.toLocaleDateString(t,{month:"short",day:"numeric"})}r.d(t,{r:()=>a,s:()=>n})},47754:(e,t,r)=>{"use strict";r.d(t,{fv:()=>h,xQ:()=>x});var a=r(1856),n=r(63964);let s=new Map,o=new Map,i=new Map,l=new Set,d=0;function c(e,t,r,a){return r?a?"".concat(e,":").concat(t,":").concat(r,":").concat(a):"".concat(e,":").concat(t,":").concat(r):"".concat(e,":").concat(t)}function u(){d++,l.forEach(e=>e())}function m(e){var t;let r=e.subEntityType,a=e.subEntityUuid,n=c(e.entityType,e.entityUuid,r,a),l=function(e,t,r,a,n){let s=c(e,t,a,n);return"".concat(s,":").concat(r)}(e.entityType,e.entityUuid,e.agentUuid,r,a),d=o.get(l);if(d&&Date.now()-d<3e3)return;o.set(l,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},p=(null!=(t=s.get(n))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);p.push(m),s.set(n,p);let f=i.get(l);f&&clearTimeout(f);let h=setTimeout(()=>{let t=s.get(n);if(t){let r=t.filter(t=>t.agentUuid!==e.agentUuid);0===r.length?s.delete(n):s.set(n,r)}o.delete(l),i.delete(l),u()},3e3);i.set(l,h),u()}function p(){return d}function f(e){return l.add(e),()=>{l.delete(e)}}function h(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function x(){return(0,a.useSyncExternalStore)(f,p,p),(0,n.S2)(m),{getPresence:(e,t,r,a)=>{if(r){var n;return null!=(n=s.get(c(e,t,r,a)))?n:[]}let o="".concat(e,":").concat(t),i=new Map;for(let[e,t]of s)if(e===o||e.startsWith(o+":"))for(let e of t){let t=i.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&i.set(e.agentUuid,e)}return[...i.values()]}}}},48416:(e,t,r)=>{"use strict";r.d(t,{BT:()=>l,Wu:()=>c,X9:()=>d,ZB:()=>i,Zp:()=>s,aR:()=>o,wL:()=>u});var a=r(90508);r(1856);var n=r(24377);function s(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card",className:(0,n.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...r})}function o(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-header",className:(0,n.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...r})}function i(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("leading-none font-semibold",t),...r})}function l(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...r})}function d(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-action",className:(0,n.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",t),...r})}function c(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-6",t),...r})}function u(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-footer",className:(0,n.cn)("flex items-center px-6 [.border-t]:pt-6",t),...r})}},57731:(e,t,r)=>{"use strict";r.d(t,{E:()=>l});var a=r(90508);r(1856);var n=r(49499),s=r(54154),o=r(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:r="default",asChild:n=!1,...l}=e,d=n?s.bL:"span";return(0,a.jsx)(d,{"data-slot":"badge","data-variant":r,className:(0,o.cn)(i({variant:r}),t),...l})}},58057:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Label:()=>o,Root:()=>i});var a=r(1856),n=r(93367),s=r(90508),o=a.forwardRef((e,t)=>(0,s.jsx)(n.sG.label,{...e,ref:t,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||(null==(r=e.onMouseDown)||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));o.displayName="Label";var i=o},58866:(e,t,r)=>{"use strict";r.d(t,{AnimatedEmptyState:()=>s});var a=r(90508),n=r(16544);function s(e){let{children:t}=e;return(0,a.jsx)(n.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},children:t})}},60532:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},63964:(e,t,r)=>{"use strict";r.d(t,{S2:()=>d,eV:()=>l,l9:()=>i,tS:()=>o,w0:()=>c});var a=r(90508),n=r(1856);r(23675);let s=(0,n.createContext)(null);function o(e){let{projectUuid:t,children:r}=e,o=(0,n.useRef)(new Set),i=(0,n.useRef)(new Set),l=(0,n.useRef)(new Set),d=(0,n.useCallback)(()=>{o.current.forEach(e=>e())},[]),c=(0,n.useCallback)(e=>{i.current.forEach(t=>t(e))},[]);(0,n.useEffect)(()=>{let e,r=null,a=0,n={};function s(){o(),(r=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let r=null;try{r=JSON.parse(t.data)}catch(e){return}if(!r)return;if("presence"===r.type)return void l.current.forEach(e=>e(r));let s=r;clearTimeout(e);let o=Date.now(),i=o-a;i>=3e3?(a=o,d()):e=setTimeout(()=>{a=Date.now(),d()},Math.max(1e3,3e3-i));let u=s.entityType;clearTimeout(n[u]),n[u]=setTimeout(()=>{c(s)},300)},r.onerror=()=>{}}function o(){r&&(r.close(),r=null)}function i(){if("visible"===document.visibilityState&&(!r||r.readyState===EventSource.CLOSED))for(let e of(s(),d(),["task","idea","proposal","document","project","project_group"]))c({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,d,c]);let u=(0,n.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),m=(0,n.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,n.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),f=(0,n.useMemo)(()=>({subscribe:u,subscribeEntity:m,subscribePresence:p}),[u,m,p]);return(0,a.jsx)(s.Provider,{value:f,children:r})}function i(e){let t=(0,n.useContext)(s),r=(0,n.useRef)(e);r.current=e,(0,n.useEffect)(()=>{if(!t)return;let e=()=>r.current();return e(),t.subscribe(e)},[t])}function l(e,t){let r=(0,n.useContext)(s),a=(0,n.useRef)(t);a.current=t;let o=(0,n.useRef)(e);o.current=e,(0,n.useEffect)(()=>{if(r)return r.subscribeEntity(e=>{let t=o.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&a.current(e)})},[r])}function d(e){let t=(0,n.useContext)(s),r=(0,n.useRef)(e);r.current=e,(0,n.useEffect)(()=>{if(t)return t.subscribePresence(e=>r.current(e))},[t])}function c(e,t,r){let a=(0,n.useContext)(s),o=(0,n.useRef)(r);o.current=r,(0,n.useEffect)(()=>{if(a)return a.subscribeEntity(r=>{r.entityType===e&&r.entityUuid===t&&o.current(r)})},[a,e,t])}},66343:(e,t,r)=>{"use strict";r.d(t,{SQ:()=>l,_2:()=>d,mB:()=>c,rI:()=>o,ty:()=>i});var a=r(90508);r(1856);var n=r(39025),s=r(24377);function o(e){let{...t}=e;return(0,a.jsx)(n.Root,{"data-slot":"dropdown-menu",...t})}function i(e){let{...t}=e;return(0,a.jsx)(n.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function l(e){let{className:t,sideOffset:r=4,...o}=e;return(0,a.jsx)(n.Portal,{children:(0,a.jsx)(n.Content,{"data-slot":"dropdown-menu-content",sideOffset:r,className:(0,s.cn)("bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md","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",t),...o})})}function d(e){let{className:t,inset:r,variant:o="default",...i}=e;return(0,a.jsx)(n.Item,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":o,className:(0,s.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0","data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive","data-[inset]:pl-8 [&_svg]:size-4",t),...i})}function c(e){let{className:t,...r}=e;return(0,a.jsx)(n.Separator,{"data-slot":"dropdown-menu-separator",className:(0,s.cn)("bg-border -mx-1 my-1 h-px",t),...r})}},67712:(e,t,r)=>{"use strict";r.d(t,{q:()=>i});var a=r(55036);let n={debug:0,info:1,warn:2,error:3},s=a.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function o(e){return n[e]>=n[s]}let i={debug:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];o("debug")&&console.debug("[Chorus] ".concat(e),...r)},info:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];o("info")&&console.info("[Chorus] ".concat(e),...r)},warn:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];o("warn")&&console.warn("[Chorus] ".concat(e),...r)},error:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];o("error")&&console.error("[Chorus] ".concat(e),...r)}}},71921:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(66206).A)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]])},75320:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(66206).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},86108:(e,t,r)=>{Promise.resolve().then(r.bind(r,52053)),Promise.resolve().then(r.bind(r,90299)),Promise.resolve().then(r.bind(r,65514)),Promise.resolve().then(r.bind(r,98861)),Promise.resolve().then(r.bind(r,38476)),Promise.resolve().then(r.bind(r,74542)),Promise.resolve().then(r.bind(r,71350)),Promise.resolve().then(r.bind(r,39025)),Promise.resolve().then(r.bind(r,75368)),Promise.resolve().then(r.bind(r,89684)),Promise.resolve().then(r.bind(r,58057)),Promise.resolve().then(r.bind(r,6512)),Promise.resolve().then(r.bind(r,25051)),Promise.resolve().then(r.bind(r,4374)),Promise.resolve().then(r.bind(r,19345)),Promise.resolve().then(r.bind(r,79919)),Promise.resolve().then(r.bind(r,17533)),Promise.resolve().then(r.bind(r,99545)),Promise.resolve().then(r.bind(r,63197)),Promise.resolve().then(r.bind(r,65326)),Promise.resolve().then(r.bind(r,48218)),Promise.resolve().then(r.bind(r,56260)),Promise.resolve().then(r.bind(r,60322)),Promise.resolve().then(r.bind(r,79834)),Promise.resolve().then(r.bind(r,6947)),Promise.resolve().then(r.bind(r,88878)),Promise.resolve().then(r.bind(r,34857)),Promise.resolve().then(r.bind(r,97006)),Promise.resolve().then(r.bind(r,45841)),Promise.resolve().then(r.t.bind(r,12790,23)),Promise.resolve().then(r.bind(r,14196)),Promise.resolve().then(r.bind(r,8312)),Promise.resolve().then(r.bind(r,58866))},88064:(e,t,r)=>{"use strict";r.d(t,{J:()=>o});var a=r(90508);r(1856);var n=r(58057),s=r(24377);function o(e){let{className:t,...r}=e;return(0,a.jsx)(n.Root,{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...r})}},89967:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(66206).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},91846:(e,t,r)=>{"use strict";r.d(t,{bq:()=>u,eb:()=>p,gC:()=>m,l6:()=>d,yv:()=>c});var a=r(90508);r(1856);var n=r(17730),s=r(60532),o=r(89967),i=r(48218),l=r(24377);function d(e){let{...t}=e;return(0,a.jsx)(i.Root,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,a.jsx)(i.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:r="default",children:s,...o}=e;return(0,a.jsxs)(i.Trigger,{"data-slot":"select-trigger","data-size":r,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,a.jsx)(i.Icon,{asChild:!0,children:(0,a.jsx)(n.A,{className:"size-4 opacity-50"})})]})}function m(e){let{className:t,children:r,position:n="item-aligned",align:s="center",...o}=e;return(0,a.jsx)(i.Portal,{children:(0,a.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,a.jsx)(f,{}),(0,a.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:r}),(0,a.jsx)(h,{})]})})}function p(e){let{className:t,children:r,...n}=e;return(0,a.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,a.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(i.ItemIndicator,{children:(0,a.jsx)(s.A,{className:"size-4"})})}),(0,a.jsx)(i.ItemText,{children:r})]})}function f(e){let{className:t,...r}=e;return(0,a.jsx)(i.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...r,children:(0,a.jsx)(o.A,{className:"size-4"})})}function h(e){let{className:t,...r}=e;return(0,a.jsx)(i.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...r,children:(0,a.jsx)(n.A,{className:"size-4"})})}},96213:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var a=r(90508),n=r(47754),s=r(30423),o=r(5425);function i(e){let{entityType:t,entityUuid:r,subEntityType:o,subEntityUuid:i,children:d,badgeInside:c}=e,{getPresence:u}=(0,n.xQ)(),m=u(t,r,o,i),p=m.length>0,f=p&&m.some(e=>"mutate"===e.action),h=p?f?m.find(e=>"mutate"===e.action):m[m.length-1]:null,x=h?(0,s.j)(h.agentName):"transparent";return(0,a.jsxs)("div",{className:"relative",style:p?{outline:"2px ".concat(f?"solid":"dashed"," ").concat(x),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[p&&(0,a.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(c?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,a.jsx)(l,{entry:e},e.agentUuid)),m.length>3&&(0,a.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",m.length-3]})]}),d]})}function l(e){let{entry:t}=e,r=(0,s.j)(t.agentName);return(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:r},children:[(0,a.jsx)(o.A,{className:"h-2.5 w-2.5"}),t.agentName]})}},97438:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>m,Es:()=>f,L3:()=>h,c7:()=>p,lG:()=>l,rr:()=>x,zM:()=>d});var a=r(90508);r(1856);var n=r(9160),s=r(71350),o=r(24377),i=r(22922);function l(e){let{...t}=e;return(0,a.jsx)(s.Root,{"data-slot":"dialog",...t})}function d(e){let{...t}=e;return(0,a.jsx)(s.Trigger,{"data-slot":"dialog-trigger",...t})}function c(e){let{...t}=e;return(0,a.jsx)(s.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...r}=e;return(0,a.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),...r})}function m(e){let{className:t,children:r,showCloseButton:i=!0,...l}=e;return(0,a.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,a.jsx)(u,{}),(0,a.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:[r,i&&(0,a.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,a.jsx)(n.A,{}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function p(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...r})}function f(e){let{className:t,showCloseButton:r=!1,children:n,...l}=e;return(0,a.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,r&&(0,a.jsx)(s.Close,{asChild:!0,children:(0,a.jsx)(i.$,{variant:"outline",children:"Close"})})]})}function h(e){let{className:t,...r}=e;return(0,a.jsx)(s.Title,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",t),...r})}function x(e){let{className:t,...r}=e;return(0,a.jsx)(s.Description,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...r})}}},e=>{e.O(0,[12079,18944,12790,21932,16544,53298,86944,76803,29660,65642,74951,65496,77358],()=>e(e.s=86108)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11709],{9959:(e,s,t)=>{Promise.resolve().then(t.bind(t,30384))},30384:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>W});var r=t(90508),a=t(1856),n=t(39268),l=t(12790),i=t.n(l),c=t(63964),o=t(1976),d=t(22922),x=t(48416),p=t(57731),m=t(81750),u=t(23217),h=t(29767),g=t(56770),j=t(71388),f=t(17730),b=t(78948),v=t(62898),N=t(5616),w=t(38931),C=t(83064),A=t(51581),y=t(10263),E=t(88634),k=t(5425),D=t(60532),B=t(25373),F=t(55764),G=t(24377);function T(e){let{className:s,value:t,...a}=e;return(0,r.jsx)(F.bL,{"data-slot":"progress",className:(0,G.cn)("bg-[#E5E2DC] relative h-1.5 w-full overflow-hidden rounded-full",s),...a,children:(0,r.jsx)(F.C1,{"data-slot":"progress-indicator",className:"h-full w-full flex-1 rounded-full transition-all duration-500 ease-out",style:{transform:"translateX(-".concat(100-(t||0),"%)"),backgroundColor:"var(--progress-indicator, #C67A52)"}})})}var S=t(95900),P=t(85226),_=t(97438);function O(e){let{open:s,onOpenChange:t,projectName:l,sourceGroupName:i,targetGroupName:c,onConfirm:o}=e,x=(0,n.c)(),[p,m]=(0,a.useTransition)();return(0,r.jsx)(_.lG,{open:s,onOpenChange:t,children:(0,r.jsxs)(_.Cf,{className:"sm:max-w-[440px] gap-0 p-0 rounded-[16px]",showCloseButton:!1,children:[(0,r.jsx)(_.L3,{className:"sr-only",children:x("projectGroups.moveTitle")}),(0,r.jsxs)("div",{className:"flex flex-col items-center gap-4 p-6",children:[(0,r.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-[#C67A5220]",children:(0,r.jsx)(S.A,{className:"h-[22px] w-[22px] text-[#C67A52]"})}),(0,r.jsx)("p",{className:"text-base font-semibold text-[#2C2C2C]",children:x("projectGroups.moveTitle")}),(0,r.jsx)(_.rr,{className:"text-center text-[13px] leading-[1.5] text-[#6B6B6B]",children:x("projectGroups.moveDescription",{projectName:l,sourceGroupName:i,targetGroupName:c})})]}),(0,r.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC]",children:[(0,r.jsx)(d.$,{variant:"outline",onClick:()=>t(!1),className:"rounded-lg border-[#E5E2DC] text-[13px]",children:x("common.cancel")}),(0,r.jsxs)(d.$,{onClick:()=>{m(async()=>{await o(),t(!1)})},disabled:p,className:"rounded-lg bg-[#C67A52] hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:[p?(0,r.jsx)(P.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(D.A,{className:"h-3.5 w-3.5"}),x(p?"common.processing":"projectGroups.confirmMove")]})]})]})})}var I=t(23675),R=t(14554),U=t(88064),$=t(15972),M=t(42305);function z(e){let{open:s,onOpenChange:t,onCreated:l}=e,i=(0,n.c)(),c=(0,I.useRouter)(),[o,x]=(0,a.useTransition)(),[p,m]=(0,a.useState)(""),[u,h]=(0,a.useState)(""),[g,j]=(0,a.useState)(null),f=()=>{p.trim()&&(j(null),x(async()=>{try{let e=await fetch("/api/project-groups",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:p.trim(),description:u.trim()||void 0})}),s=await e.json();s.success?(m(""),h(""),t(!1),null==l||l(),c.refresh()):j(s.error||i("projectGroups.createFailed"))}catch(e){j(i("common.genericError"))}}))};return(0,r.jsx)(_.lG,{open:s,onOpenChange:t,children:(0,r.jsxs)(_.Cf,{className:"sm:max-w-[480px] gap-0 p-0 rounded-[16px]",showCloseButton:!1,children:[(0,r.jsx)(_.c7,{className:"flex flex-row items-center justify-between p-[20px_24px] border-b border-[#E5E2DC]",children:(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)(E.A,{className:"h-5 w-5 text-[#C67A52]"}),(0,r.jsx)(_.L3,{className:"text-lg font-semibold tracking-[-0.3px] text-[#2C2C2C]",children:i("projectGroups.newGroupTitle")})]})}),(0,r.jsx)(_.rr,{className:"sr-only",children:i("projectGroups.newGroupTitle")}),(0,r.jsxs)("div",{className:"flex flex-col gap-5 p-6",children:[g&&(0,r.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:g}),(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsx)(U.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:i("projectGroups.groupName")}),(0,r.jsx)(R.p,{value:p,onChange:e=>m(e.target.value),placeholder:i("projectGroups.groupNamePlaceholder"),className:"h-10 rounded-lg border-[#E5E2DC]",onKeyDown:e=>{!(0,M.P)(e)&&"Enter"===e.key&&p.trim()&&f()}})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsx)(U.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:i("projectGroups.descriptionOptional")}),(0,r.jsx)($.T,{value:u,onChange:e=>h(e.target.value),placeholder:i("projectGroups.descriptionPlaceholder"),className:"min-h-[80px] rounded-lg border-[#E5E2DC]"})]})]}),(0,r.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC]",children:[(0,r.jsx)(d.$,{variant:"outline",onClick:()=>t(!1),className:"rounded-lg border-[#E5E2DC] text-[13px]",children:i("common.cancel")}),(0,r.jsxs)(d.$,{onClick:f,disabled:o||!p.trim(),className:"rounded-lg bg-[#C67A52] hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:[o?(0,r.jsx)(P.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(N.A,{className:"h-3.5 w-3.5"}),o?i("common.creating"):i("projectGroups.createGroup")]})]})]})})}var L=t(88738),Z=t(38280);function J(e){return e>=100?{bar:"#1D9E75",text:"#0F6E56"}:e>=60?{bar:"#5DCAA5",text:"#0F6E56"}:e>=30?{bar:"#FAC775",text:"#854F0B"}:{bar:"#F09595",text:"#A32D2D"}}function V(){let e=(0,n.c)("time");return s=>{let t=new Date,r=new Date(s),a=t.getTime()-r.getTime(),n=Math.floor(a/6e4),l=Math.floor(a/36e5),i=Math.floor(a/864e5);return n<1?e("justNow"):n<60?e("minutesAgo",{minutes:n}):l<24?e("hoursAgo",{hours:l}):0===i?e("today"):1===i?e("yesterday"):e("daysAgo",{days:i})}}function K(e){let{counts:s,compact:t=!1}=e,a=(0,n.c)();return(0,r.jsxs)("span",{className:"flex items-center gap-2 text-[#9A9A9A] ".concat(t?"text-[10px]":"text-[11px]"),children:[(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)(u.A,{className:"text-[#BDBDBD] ".concat(t?"h-[11px] w-[11px]":"h-3 w-3")}),s.tasks,!t&&" ".concat(a("projects.tasks"))]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)(h.A,{className:"text-[#BDBDBD] ".concat(t?"h-[11px] w-[11px]":"h-3 w-3")}),s.ideas,!t&&" ".concat(a("projects.ideas"))]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)(g.A,{className:"text-[#BDBDBD] ".concat(t?"h-[11px] w-[11px]":"h-3 w-3")}),s.documents,!t&&" ".concat(a("projects.docs"))]})]})}function H(e){let{project:s}=e,t=(0,n.c)(),a=V(),l=(0,Z.D)(s.name),i=(0,Z.g)(s.name),c=s.counts.tasks>0?Math.round(s.counts.doneTasks/s.counts.tasks*100):0,o=J(c),d=0===s.counts.tasks,x=100===c&&!d;return(0,r.jsxs)("div",{className:"flex flex-col gap-3 rounded-xl border border-[#E5E2DC] bg-white p-4 transition-colors hover:bg-[#F5F2EC]",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-[10px] font-bold",style:{backgroundColor:i.bg,color:i.text},children:l}),(0,r.jsx)("span",{className:"truncate text-[13px] font-semibold text-[#2C2C2C]",children:s.name}),d&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#FEF3C7] px-1.5 py-0 text-[10px] font-medium text-[#92400E]",children:t("projects.empty")}),x&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#D1FAE5] px-1.5 py-0 text-[10px] font-medium text-[#065F46]",children:t("projects.complete")})]}),(0,r.jsx)(K,{counts:s.counts}),(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsx)(T,{value:c,className:"h-1.5 w-full bg-[#F0EDE8]",style:{"--progress-indicator":o.bar}}),(0,r.jsxs)("div",{className:"flex justify-between",children:[(0,r.jsxs)("span",{className:"text-[11px] font-semibold",style:{color:o.text},children:[c,"%"]}),(0,r.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:a(s.updatedAt)})]})]})]})}function X(e){let{project:s,showDivider:t=!0}=e,a=(0,n.c)(),l=V(),i=(0,Z.D)(s.name),c=(0,Z.g)(s.name),o=s.counts.tasks>0?Math.round(s.counts.doneTasks/s.counts.tasks*100):0,d=J(o),x=0===s.counts.tasks,m=100===o&&!x;return(0,r.jsxs)("div",{className:"flex w-full flex-col gap-1.5 px-4 py-2.5 md:flex-row md:items-center md:gap-4 md:px-6 md:py-2",style:t?{borderBottom:"1px solid #0000000a"}:void 0,children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 md:min-w-0 md:flex-1 md:gap-4",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-[10px] font-bold md:h-9 md:w-9 md:rounded-[10px] md:text-[11px]",style:{backgroundColor:c.bg,color:c.text},children:i}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"truncate text-[13px] font-semibold text-[#2C2C2C]",children:s.name}),x&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#FEF3C7] px-1.5 py-0 text-[10px] font-medium text-[#92400E]",children:a("projects.empty")}),m&&(0,r.jsx)(p.E,{variant:"outline",className:"shrink-0 border-0 bg-[#D1FAE5] px-1.5 py-0 text-[10px] font-medium text-[#065F46]",children:a("projects.complete")})]}),(0,r.jsx)("div",{className:"hidden md:block",children:(0,r.jsx)(K,{counts:s.counts})})]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between md:hidden",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1.5 text-[10px] text-[#9A9A9A]",children:[(0,r.jsx)(K,{counts:s.counts,compact:!0}),(0,r.jsx)("span",{children:"\xb7"}),(0,r.jsx)("span",{children:l(s.updatedAt)})]}),(0,r.jsxs)("span",{className:"text-[10px] font-semibold",style:{color:d.text},children:[o,"%"]})]}),(0,r.jsx)("div",{className:"md:hidden",children:(0,r.jsx)(T,{value:o,className:"h-1 w-full bg-[#F0EDE8]",style:{"--progress-indicator":d.bar}})}),(0,r.jsxs)("div",{className:"hidden w-[200px] shrink-0 items-center gap-2 md:flex",children:[(0,r.jsx)(T,{value:o,className:"h-1.5 flex-1 bg-[#F0EDE8]",style:{"--progress-indicator":d.bar}}),(0,r.jsxs)("span",{className:"w-9 text-right text-[11px] font-semibold",style:{color:d.text},children:[o,"%"]})]}),(0,r.jsx)("span",{className:"hidden w-[80px] shrink-0 text-right text-[11px] text-[#9A9A9A] md:block",children:l(s.updatedAt)})]})}let Y="__ungrouped__";function q(e){let{group:s,projects:t,stats:l,onNewProject:c,defaultOpen:u=!1,viewMode:h}=e,g=(0,n.c)(),[w,C]=(0,a.useState)(u),A=l.totalTasks>0?Math.round(l.completedTasks/l.totalTasks*100):0;return(0,r.jsx)(o.gL,{droppableId:s.uuid,children:(e,a)=>(0,r.jsx)("div",{ref:e.innerRef,...e.droppableProps,children:(0,r.jsx)(m.Nt,{open:w,onOpenChange:C,children:(0,r.jsxs)(x.Zp,{className:"overflow-hidden rounded-2xl border-[#E5E2DC] gap-0 py-0 shadow-none transition-colors hover:border-[#C67A52]/40 ".concat(a.isDraggingOver?"border-[#C67A52] bg-[#C67A5208]":""),children:[(0,r.jsxs)("div",{className:"flex flex-col gap-2 px-4 py-2.5 md:flex-row md:items-center md:justify-between md:px-6 md:py-3",children:[(0,r.jsxs)(m.R6,{className:"flex flex-1 cursor-pointer items-center gap-2.5 text-left md:gap-3",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[#C67A5215] md:h-9 md:w-9",children:(0,r.jsx)(j.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 md:gap-2",children:[(0,r.jsx)("h2",{className:"truncate text-sm font-semibold text-[#2C2C2C] md:text-base",children:s.name}),(0,r.jsx)(p.E,{variant:"secondary",className:"shrink-0 border-0 bg-[#F0EDE8] text-[10px] font-medium text-[#6B6B6B] md:text-[11px]",children:t.length})]}),(0,r.jsxs)("div",{className:"mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-[10px] text-[#9A9A9A] md:text-[11px]",children:[(0,r.jsxs)("span",{children:[l.totalTasks," ",g("projects.tasks")," \xb7"," ",A,"% ",g("projectGroups.complete")]}),(0,r.jsxs)("span",{className:"hidden md:inline",children:[l.openIdeas," ",g("projectGroups.openIdeas")]})]})]}),w?(0,r.jsx)(f.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"}):(0,r.jsx)(b.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"})]}),(0,r.jsxs)("div",{className:"hidden items-center gap-2 md:flex",children:[(0,r.jsx)(i(),{href:"/project-groups/".concat(s.uuid),children:(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",className:"text-xs text-[#C67A52] hover:text-[#B56A42]",children:[g("projectGroups.viewDashboard"),(0,r.jsx)(v.A,{className:"ml-1 h-3 w-3"})]})}),(0,r.jsxs)(d.$,{variant:"outline",size:"sm",className:"border-[#E5E2DC] text-xs",onClick:c,children:[(0,r.jsx)(N.A,{className:"mr-1 h-3 w-3"}),g("projects.newProject")]})]})]}),(0,r.jsx)(m.Ke,{children:(0,r.jsxs)("div",{className:"border-t border-[#0000000a] py-0",children:[0!==t.length||a.isDraggingOver?(0,r.jsx)("div",{className:"grid"===h?"md:grid md:grid-cols-2 md:gap-4 md:p-5 lg:grid-cols-3":"",children:t.map((e,s)=>(0,r.jsx)(o.sx,{draggableId:e.uuid,index:s,children:(a,n)=>(0,r.jsx)("div",{ref:a.innerRef,...a.draggableProps,...a.dragHandleProps,children:(0,r.jsx)(i(),{href:"/projects/".concat(e.uuid,"/dashboard"),draggable:!1,onClick:e=>{n.isDragging&&e.preventDefault()},children:"grid"===h?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"md:hidden transition-colors hover:bg-[#F5F2EC] ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md rounded-lg bg-white":""),children:(0,r.jsx)(X,{project:e,showDivider:s<t.length-1})}),(0,r.jsx)("div",{className:"hidden md:block ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md":""),children:(0,r.jsx)(H,{project:e})})]}):(0,r.jsx)("div",{className:"transition-colors hover:bg-[#F5F2EC] ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md rounded-lg bg-white":""),children:(0,r.jsx)(X,{project:e,showDivider:s<t.length-1})})})})},e.uuid))}):(0,r.jsx)("p",{className:"py-4 text-center text-sm text-[#9A9A9A]",children:g("projectGroups.noProjectsInGroup")}),e.placeholder]})})]})})})})}function Q(e){let{projects:s,onNewProject:t,viewMode:l}=e,c=(0,n.c)(),[u,h]=(0,a.useState)(!1);return(0,r.jsx)(o.gL,{droppableId:Y,children:(e,a)=>0!==s.length||a.isDraggingOver?(0,r.jsx)("div",{ref:e.innerRef,...e.droppableProps,children:(0,r.jsx)(m.Nt,{open:u,onOpenChange:h,children:(0,r.jsxs)(x.Zp,{className:"overflow-hidden rounded-2xl border-[#E5E2DC] gap-0 py-0 shadow-none transition-colors hover:border-[#C67A52]/40 ".concat(a.isDraggingOver?"border-[#C67A52] bg-[#C67A5208]":""),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 md:px-6 md:py-3",children:[(0,r.jsxs)(m.R6,{className:"flex flex-1 cursor-pointer items-center gap-2.5 text-left md:gap-3",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[#F0EDE8] md:h-9 md:w-9",children:(0,r.jsx)(w.A,{className:"h-4 w-4 text-[#9A9A9A]"})}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 md:gap-2",children:[(0,r.jsx)("h2",{className:"text-sm font-semibold text-[#6B6B6B] md:text-base",children:c("projectGroups.ungrouped")}),(0,r.jsx)(p.E,{variant:"secondary",className:"shrink-0 border-0 bg-[#F0EDE8] text-[10px] font-medium text-[#6B6B6B] md:text-[11px]",children:s.length})]}),u?(0,r.jsx)(f.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"}):(0,r.jsx)(b.A,{className:"ml-auto h-3.5 w-3.5 shrink-0 text-[#9A9A9A] md:h-4 md:w-4"})]}),(0,r.jsx)("div",{className:"hidden items-center gap-2 md:flex",children:(0,r.jsxs)(d.$,{variant:"outline",size:"sm",className:"shrink-0 border-[#E5E2DC] text-xs",onClick:t,children:[(0,r.jsx)(N.A,{className:"mr-1 h-3 w-3"}),c("projects.newProject")]})})]}),(0,r.jsx)(m.Ke,{children:(0,r.jsxs)("div",{className:"border-t border-[#0000000a] py-0",children:[0===s.length?(0,r.jsx)("p",{className:"py-4 text-center text-sm text-[#9A9A9A]",children:c("projectGroups.noProjectsInGroup")}):(0,r.jsx)("div",{className:"grid"===l?"md:grid md:grid-cols-2 md:gap-4 md:p-5 lg:grid-cols-3":"",children:s.map((e,t)=>(0,r.jsx)(o.sx,{draggableId:e.uuid,index:t,children:(a,n)=>(0,r.jsx)("div",{ref:a.innerRef,...a.draggableProps,...a.dragHandleProps,children:(0,r.jsx)(i(),{href:"/projects/".concat(e.uuid,"/dashboard"),draggable:!1,onClick:e=>{n.isDragging&&e.preventDefault()},children:"grid"===l?(0,r.jsx)("div",{className:n.isDragging?"rotate-1 opacity-90 shadow-md":"",children:(0,r.jsx)(H,{project:e})}):(0,r.jsx)("div",{className:"transition-colors hover:bg-[#F5F2EC] ".concat(n.isDragging?"rotate-1 opacity-90 shadow-md rounded-lg bg-white":""),children:(0,r.jsx)(X,{project:e,showDivider:t<s.length-1})})})})},e.uuid))}),e.placeholder]})})]})})}):(0,r.jsx)("div",{ref:e.innerRef,...e.droppableProps,className:"hidden",children:e.placeholder})})}function W(){var e,s,t,l,i;let p=(0,n.c)(),[m,u]=(0,a.useState)([]),[h,g]=(0,a.useState)([]),[j,f]=(0,a.useState)(!0),[b,v]=(0,a.useState)(null),[F,G]=(0,a.useState)(()=>{{let e=localStorage.getItem("chorus_projects_view_mode");if("list"===e||"grid"===e)return e}return"list"});(0,a.useEffect)(()=>{localStorage.setItem("chorus_projects_view_mode",F)},[F]);let[T,S]=(0,a.useState)(!1),[P,_]=(0,a.useState)(null),[I,R]=(0,a.useState)(!1),[U,$]=(0,a.useState)(!1),M=(0,a.useCallback)(async()=>{try{let[e,s]=await Promise.all([fetch("/api/projects?pageSize=200"),fetch("/api/project-groups")]),t=await e.json(),r=await s.json();t.success&&u(t.data.data||t.data||[]),r.success&&g(r.data.groups||[])}catch(e){}finally{f(!1)}},[]);(0,a.useEffect)(()=>{M(),fetch("/api/agents?pageSize=100").then(e=>e.json()).then(e=>{e.success&&R((e.data.data||e.data||[]).some(e=>{var s;return(null!=(s=e.effectivePermissions)?s:[]).includes("project:write")}))}).catch(()=>{})},[M]),(0,c.eV)(["project","project_group"],()=>{M()});let Z=new Map,J=[];for(let e of m)if(e.groupUuid){let s=Z.get(e.groupUuid)||[];s.push(e),Z.set(e.groupUuid,s)}else J.push(e);function V(e){var s;if(!e)return p("projectGroups.ungrouped");let t=h.find(s=>s.uuid===e);return null!=(s=null==t?void 0:t.name)?s:p("projectGroups.ungrouped")}async function K(){if(!b)return;let e=await fetch("/api/projects/".concat(b.projectUuid,"/group"),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({groupUuid:b.targetGroupUuid})}),s=await e.json();if(!s.success)throw Error(s.error||p("projectGroups.moveFailed"));await M()}return j?(0,r.jsx)("div",{className:"bg-[#FAF8F4] p-4 md:px-8 md:py-6",children:(0,r.jsx)("p",{className:"text-sm text-[#6B6B6B]",children:p("projects.loadingProjects")})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.JY,{onDragEnd:function(e){let{destination:s,source:t,draggableId:r}=e;if(!s||s.droppableId===t.droppableId)return;let a=m.find(e=>e.uuid===r);if(!a)return;let n=s.droppableId===Y?null:s.droppableId,l=a.groupUuid;v({projectUuid:a.uuid,projectName:a.name,sourceGroupName:V(l),targetGroupUuid:n,targetGroupName:V(n)})},children:(0,r.jsxs)("div",{className:"bg-[#FAF8F4] p-4 md:px-8 md:py-6",children:[(0,r.jsxs)("div",{className:"mb-4 md:mb-6",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold text-[#2C2C2C]",children:p("projects.title")}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsxs)("div",{className:"hidden overflow-hidden rounded-lg border border-[#E5E2DC] md:flex",children:[(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",onClick:()=>G("list"),className:"flex items-center gap-1.5 rounded-none px-2.5 py-1.5 text-xs font-medium transition-colors ".concat("list"===F?"bg-[#F5F2EC] text-[#C67A52]":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:[(0,r.jsx)(C.A,{className:"h-3.5 w-3.5"}),p("projects.listView")]}),(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",onClick:()=>G("grid"),className:"flex items-center gap-1.5 rounded-none px-2.5 py-1.5 text-xs font-medium transition-colors ".concat("grid"===F?"bg-[#F5F2EC] text-[#C67A52]":"text-[#9A9A9A] hover:text-[#6B6B6B]"),children:[(0,r.jsx)(A.A,{className:"h-3.5 w-3.5"}),p("projects.gridView")]})]}),(0,r.jsxs)(d.$,{className:"hidden rounded-xl bg-[#C67A52] px-5 text-white hover:bg-[#B56A42] md:flex",onClick:()=>S(!0),children:[(0,r.jsx)(N.A,{className:"mr-2 h-4 w-4"}),p("projectGroups.newProjectGroup")]})]})]}),(0,r.jsx)("p",{className:"mt-1 text-sm text-[#6B6B6B]",children:p("projects.subtitle")})]}),0===m.length&&0===h.length?(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsx)(x.Zp,{className:"border-[#C67A5230] bg-[#C67A520A] p-6 md:p-8",children:(0,r.jsxs)("div",{className:"flex items-start gap-4",children:[(0,r.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-[#C67A5220]",children:(0,r.jsx)(y.A,{className:"h-5 w-5 text-[#C67A52]"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-lg font-semibold text-[#2C2C2C]",children:p("projects.onboarding.welcomeTitle")}),(0,r.jsx)("p",{className:"mt-1 text-sm text-[#6B6B6B]",children:p("projects.onboarding.welcomeDesc")})]})]})}),(0,r.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,r.jsxs)(x.Zp,{className:"border-[#E5E2DC] p-5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 mb-2",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-[#C67A5215]",children:(0,r.jsx)(E.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.whatIsGroupTitle")})]}),(0,r.jsx)("p",{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:p("projects.onboarding.whatIsGroupDesc")})]}),(0,r.jsxs)(x.Zp,{className:"border-[#E5E2DC] p-5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 mb-2",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-[#C67A5215]",children:(0,r.jsx)(w.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.whatIsProjectTitle")})]}),(0,r.jsx)("p",{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:p("projects.onboarding.whatIsProjectDesc")})]})]}),(0,r.jsx)(x.Zp,{className:"border-[#E5E2DC] p-6 md:p-8",children:(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center",children:[(0,r.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[#C67A52] text-xs font-bold text-white",children:"1"}),(0,r.jsx)("div",{className:"mt-2 h-full w-px bg-[#E5E2DC]"})]}),(0,r.jsxs)("div",{className:"flex-1 pb-6",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.step1Title")}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-[#6B6B6B]",children:p("projects.onboarding.step1Desc")}),(0,r.jsxs)(d.$,{className:"mt-3 rounded-xl bg-[#C67A52] text-white hover:bg-[#B56A42]",onClick:()=>S(!0),children:[(0,r.jsx)(E.A,{className:"mr-2 h-4 w-4"}),p("projects.onboarding.createGroupBtn")]})]})]}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("div",{className:"flex flex-col items-center",children:(0,r.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[#E5E2DC] text-xs font-bold text-[#9A9A9A]",children:"2"})}),(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#9A9A9A]",children:p("projects.onboarding.step2Title")}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-[#9A9A9A]",children:p("projects.onboarding.step2Desc")})]})]})]})}),I&&(0,r.jsx)(x.Zp,{className:"border-[#E5E2DC] bg-[#F5F2EC] p-5 md:p-6",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[#C67A5215]",children:(0,r.jsx)(k.A,{className:"h-4 w-4 text-[#C67A52]"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-[#2C2C2C]",children:p("projects.onboarding.agentTipTitle")}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-[#6B6B6B]",children:p("projects.onboarding.agentTipDesc")}),(0,r.jsxs)("div",{className:"mt-3 relative",children:[(0,r.jsx)("pre",{className:"rounded-lg bg-white border border-[#E5E2DC] p-3 pr-10 text-xs text-[#2C2C2C] whitespace-pre-wrap break-words",children:p("projects.onboarding.agentPromptDefault")}),(0,r.jsx)(d.$,{variant:"ghost",size:"icon",className:"absolute right-2 top-2 h-7 w-7 text-[#9A9A9A] hover:text-[#C67A52]",onClick:()=>{navigator.clipboard.writeText(p("projects.onboarding.agentPromptDefault")),$(!0),setTimeout(()=>$(!1),2e3)},children:U?(0,r.jsx)(D.A,{className:"h-3.5 w-3.5 text-green-600"}):(0,r.jsx)(B.A,{className:"h-3.5 w-3.5"})})]}),U&&(0,r.jsx)("p",{className:"mt-1.5 text-xs text-green-600",children:p("projects.onboarding.copiedPrompt")})]})]})})]}):(0,r.jsxs)("div",{className:"space-y-4",children:[h.map((e,s)=>{let t=Z.get(e.uuid)||[],a=function(e){let s=0,t=0,r=0;for(let a of e)s+=a.counts.tasks,t+=a.counts.doneTasks,r+=a.counts.ideas;return{totalTasks:s,completedTasks:t,openIdeas:r}}(t);return(0,r.jsx)(q,{group:e,projects:t,stats:a,defaultOpen:0===s,viewMode:F,onNewProject:()=>_({groupUuid:e.uuid,groupName:e.name})},e.uuid)}),(0,r.jsx)(Q,{projects:J,viewMode:F,onNewProject:()=>_({groupUuid:null,groupName:p("projectGroups.ungrouped")})}),(0,r.jsxs)(d.$,{className:"w-full rounded-xl bg-[#C67A52] text-white hover:bg-[#B56A42] md:hidden",onClick:()=>S(!0),children:[(0,r.jsx)(N.A,{className:"mr-2 h-4 w-4"}),p("projectGroups.newProjectGroup")]})]})]})}),(0,r.jsx)(O,{open:null!==b,onOpenChange:e=>{e||v(null)},projectName:null!=(e=null==b?void 0:b.projectName)?e:"",sourceGroupName:null!=(s=null==b?void 0:b.sourceGroupName)?s:"",targetGroupName:null!=(t=null==b?void 0:b.targetGroupName)?t:"",onConfirm:K}),(0,r.jsx)(z,{open:T,onOpenChange:S,onCreated:()=>{S(!1),M()}}),(0,r.jsx)(L.C,{open:null!==P,onOpenChange:e=>{e||_(null)},groupUuid:null!=(l=null==P?void 0:P.groupUuid)?l:null,groupName:null!=(i=null==P?void 0:P.groupName)?i:"",onCreated:()=>{_(null),M()}})]})}},57731:(e,s,t)=>{"use strict";t.d(s,{E:()=>c});var r=t(90508);t(1856);var a=t(49499),n=t(54154),l=t(24377);let i=(0,a.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 c(e){let{className:s,variant:t="default",asChild:a=!1,...c}=e,o=a?n.bL:"span";return(0,r.jsx)(o,{"data-slot":"badge","data-variant":t,className:(0,l.cn)(i({variant:t}),s),...c})}},63964:(e,s,t)=>{"use strict";t.d(s,{S2:()=>o,eV:()=>c,l9:()=>i,tS:()=>l,w0:()=>d});var r=t(90508),a=t(1856);t(23675);let n=(0,a.createContext)(null);function l(e){let{projectUuid:s,children:t}=e,l=(0,a.useRef)(new Set),i=(0,a.useRef)(new Set),c=(0,a.useRef)(new Set),o=(0,a.useCallback)(()=>{l.current.forEach(e=>e())},[]),d=(0,a.useCallback)(e=>{i.current.forEach(s=>s(e))},[]);(0,a.useEffect)(()=>{let e,t=null,r=0,a={};function n(){l(),(t=new EventSource(s?"/api/events?projectUuid=".concat(s):"/api/events")).onmessage=s=>{let t=null;try{t=JSON.parse(s.data)}catch(e){return}if(!t)return;if("presence"===t.type)return void c.current.forEach(e=>e(t));let n=t;clearTimeout(e);let l=Date.now(),i=l-r;i>=3e3?(r=l,o()):e=setTimeout(()=>{r=Date.now(),o()},Math.max(1e3,3e3-i));let x=n.entityType;clearTimeout(a[x]),a[x]=setTimeout(()=>{d(n)},300)},t.onerror=()=>{}}function l(){t&&(t.close(),t=null)}function i(){if("visible"===document.visibilityState&&(!t||t.readyState===EventSource.CLOSED))for(let e of(n(),o(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return n(),document.addEventListener("visibilitychange",i),()=>{for(let s in l(),clearTimeout(e),a)clearTimeout(a[s]);document.removeEventListener("visibilitychange",i)}},[s,o,d]);let x=(0,a.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),p=(0,a.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),m=(0,a.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),u=(0,a.useMemo)(()=>({subscribe:x,subscribeEntity:p,subscribePresence:m}),[x,p,m]);return(0,r.jsx)(n.Provider,{value:u,children:t})}function i(e){let s=(0,a.useContext)(n),t=(0,a.useRef)(e);t.current=e,(0,a.useEffect)(()=>{if(!s)return;let e=()=>t.current();return e(),s.subscribe(e)},[s])}function c(e,s){let t=(0,a.useContext)(n),r=(0,a.useRef)(s);r.current=s;let l=(0,a.useRef)(e);l.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribeEntity(e=>{let s=l.current;(Array.isArray(s)?s.includes(e.entityType):e.entityType===s)&&r.current(e)})},[t])}function o(e){let s=(0,a.useContext)(n),t=(0,a.useRef)(e);t.current=e,(0,a.useEffect)(()=>{if(s)return s.subscribePresence(e=>t.current(e))},[s])}function d(e,s,t){let r=(0,a.useContext)(n),l=(0,a.useRef)(t);l.current=t,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(t=>{t.entityType===e&&t.entityUuid===s&&l.current(t)})},[r,e,s])}},81750:(e,s,t)=>{"use strict";t.d(s,{Ke:()=>c,Nt:()=>l,R6:()=>i});var r=t(90508),a=t(38476),n=t(24377);function l(e){let{...s}=e;return(0,r.jsx)(a.Root,{"data-slot":"collapsible",...s})}function i(e){let{...s}=e;return(0,r.jsx)(a.Trigger,{"data-slot":"collapsible-trigger",...s})}function c(e){let{className:s,...t}=e;return(0,r.jsx)(a.Content,{"data-slot":"collapsible-content",className:(0,n.cn)("overflow-hidden data-[state=open]:animate-[collapsible-down_250ms_ease-in-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-in-out]",s),...t})}}},e=>{e.O(0,[8893,12079,18944,12790,21932,16544,56527,37880,4842,93346,74951,65496,77358],()=>e(e.s=9959)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[51670],{12210:(e,t,a)=>{"use strict";a.d(t,{d:()=>i});var s=a(90508);a(1856);var r=a(60322),n=a(24377);function i(e){let{className:t,...a}=e;return(0,s.jsx)(r.Root,{"data-slot":"switch",className:(0,n.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:ring-ring/50 inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...a,children:(0,s.jsx)(r.Thumb,{"data-slot":"switch-thumb",className:(0,n.cn)("bg-background pointer-events-none block size-4 rounded-full ring-0 shadow-lg transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})})}},15272:(e,t,a)=>{var s={"./en.json":[99373,99373],"./zh.json":[4860,4860]};function r(e){if(!a.o(s,e))return Promise.resolve().then(()=>{var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=s[e],r=t[0];return a.e(t[1]).then(()=>a.t(r,19))}r.keys=()=>Object.keys(s),r.id=15272,e.exports=r},25359:(e,t,a)=>{"use strict";a.d(t,{AL:()=>i,IB:()=>s,L$:()=>n,q:()=>r});let s=["en","zh"],r="en",n={en:"English",zh:"中文"};function i(){if("undefined"==typeof navigator)return r;let e=navigator.language.split("-")[0];return s.includes(e)?e:r}},32277:(e,t,a)=>{"use strict";a.d(t,{LocaleProvider:()=>u,Y:()=>c});var s=a(90508),r=a(1856),n=a(57472),i=a(25359),l=a(67712);let o="chorus-locale",d=(0,r.createContext)(null);function c(){let e=(0,r.useContext)(d);if(!e)throw Error("useLocale must be used within LocaleProvider");return e}function u(e){let{children:t}=e,[c,u]=(0,r.useState)(i.q),[m,x]=(0,r.useState)(null),[g,f]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e,t=localStorage.getItem(o);t&&i.IB.includes(t)?e=t:(e=(0,i.AL)(),localStorage.setItem(o,e)),u(e),document.cookie="chorus-locale=".concat(e,";path=/;max-age=").concat(31536e3,";SameSite=Lax"),f(!0)},[]),(0,r.useEffect)(()=>{g&&a(15272)("./".concat(c,".json")).then(e=>{x(e.default)}).catch(e=>{l.q.error("Failed to load messages for locale ".concat(c,":"),e),a(15272)("./".concat(i.q,".json")).then(e=>{x(e.default)})})},[c,g]);let h=(0,r.useCallback)(e=>{u(e),localStorage.setItem(o,e),document.cookie="chorus-locale=".concat(e,";path=/;max-age=").concat(31536e3,";SameSite=Lax"),document.documentElement.lang=e},[]);return g&&m?(0,s.jsx)(d.Provider,{value:{locale:c,setLocale:h},children:(0,s.jsx)(n.A,{locale:c,messages:m,children:t})}):null}},38106:(e,t,a)=>{"use strict";function s(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let a=t.getFullYear(),s=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0"),n=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0");return"".concat(a,"-").concat(s,"-").concat(r," ").concat(n,":").concat(i)}function r(e,t){let a="string"==typeof e?new Date(e):e;return isNaN(a.getTime())?"":a.toLocaleDateString(t,{month:"short",day:"numeric"})}a.d(t,{r:()=>s,s:()=>r})},51817:(e,t,a)=>{"use strict";a.d(t,{$v:()=>f,EO:()=>u,Lt:()=>l,Rx:()=>h,Zr:()=>p,ck:()=>x,r7:()=>g,tv:()=>o,wd:()=>m});var s=a(90508);a(1856);var r=a(90299),n=a(24377),i=a(22922);function l(e){let{...t}=e;return(0,s.jsx)(r.Root,{"data-slot":"alert-dialog",...t})}function o(e){let{...t}=e;return(0,s.jsx)(r.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function d(e){let{...t}=e;return(0,s.jsx)(r.Portal,{"data-slot":"alert-dialog-portal",...t})}function c(e){let{className:t,...a}=e;return(0,s.jsx)(r.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,n.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 u(e){let{className:t,size:a="default",...i}=e;return(0,s.jsxs)(d,{children:[(0,s.jsx)(c,{}),(0,s.jsx)(r.Content,{"data-slot":"alert-dialog-content","data-size":a,className:(0,n.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 group/alert-dialog-content 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 data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",t),...i})]})}function m(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,n.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...a})}function x(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,n.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...a})}function g(e){let{className:t,...a}=e;return(0,s.jsx)(r.Title,{"data-slot":"alert-dialog-title",className:(0,n.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...a})}function f(e){let{className:t,...a}=e;return(0,s.jsx)(r.Description,{"data-slot":"alert-dialog-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...a})}function h(e){let{className:t,variant:a="default",size:l="default",...o}=e;return(0,s.jsx)(i.$,{variant:a,size:l,asChild:!0,children:(0,s.jsx)(r.Action,{"data-slot":"alert-dialog-action",className:(0,n.cn)(t),...o})})}function p(e){let{className:t,variant:a="outline",size:l="default",...o}=e;return(0,s.jsx)(i.$,{variant:a,size:l,asChild:!0,children:(0,s.jsx)(r.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,n.cn)(t),...o})})}},57731:(e,t,a)=>{"use strict";a.d(t,{E:()=>o});var s=a(90508);a(1856);var r=a(49499),n=a(54154),i=a(24377);let l=(0,r.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 o(e){let{className:t,variant:a="default",asChild:r=!1,...o}=e,d=r?n.bL:"span";return(0,s.jsx)(d,{"data-slot":"badge","data-variant":a,className:(0,i.cn)(l({variant:a}),t),...o})}},87386:(e,t,a)=>{Promise.resolve().then(a.bind(a,97216))},97216:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>O});var s=a(90508),r=a(1856),n=a(39268),i=a(22922),l=a(51817),o=a(81149),d=a(84052),c=a(5616),u=a(85619),m=a(57893),x=a(17730),g=a(78948),f=a(97645),h=a(36557),p=a(9160),v=a(12790),b=a.n(v),j=a(37750),y=a(26965),N=a(57731),w=a(32277),k=a(52217);let S=(0,k.createServerReference)("00c154b24639883e24929daf40c7659938375e92d1",k.callServer,void 0,k.findSourceMapURL,"getApiKeysAction"),A=(0,k.createServerReference)("4018fb015c7e90ac5f114d555142c90190e149e477",k.callServer,void 0,k.findSourceMapURL,"deleteApiKeyAction"),C=(0,k.createServerReference)("40ed94d6eaa158fef112b1a77ba9a2e91bf3c30430",k.callServer,void 0,k.findSourceMapURL,"getAgentSessionsAction"),R=(0,k.createServerReference)("40e1269f3365a5fc47efe77ae48b5d7cbe1215699a",k.callServer,void 0,k.findSourceMapURL,"closeSessionAction"),z=(0,k.createServerReference)("40557d985a27adc0c0faaf43f493f821d243228741",k.callServer,void 0,k.findSourceMapURL,"reopenSessionAction"),K=(0,k.createServerReference)("40d310e569cfefc90bcf228f7615c06b0f53c94274",k.callServer,void 0,k.findSourceMapURL,"updateAgentAction");var U=a(65332),E=a(25359),L=a(48416),P=a(12210),$=a(88064),_=a(67712);let q={taskAssigned:!0,taskStatusChanged:!0,taskVerified:!0,taskReopened:!0,proposalSubmitted:!0,proposalApproved:!0,proposalRejected:!0,ideaClaimed:!0,commentAdded:!0,elaborationRequested:!0,elaborationAnswered:!0,mentioned:!0},D=[{labelKey:"taskEvents",items:[{key:"taskAssigned",labelKey:"taskAssigned"},{key:"taskStatusChanged",labelKey:"taskStatusChanged"},{key:"taskVerified",labelKey:"taskVerified"},{key:"taskReopened",labelKey:"taskReopened"}]},{labelKey:"proposalEvents",items:[{key:"proposalSubmitted",labelKey:"proposalSubmitted"},{key:"proposalApproved",labelKey:"proposalApproved"},{key:"proposalRejected",labelKey:"proposalRejected"}]},{labelKey:"ideaEvents",items:[{key:"ideaClaimed",labelKey:"ideaClaimed"}]},{labelKey:"elaborationEvents",items:[{key:"elaborationRequested",labelKey:"elaborationRequested"},{key:"elaborationAnswered",labelKey:"elaborationAnswered"}]},{labelKey:"commentEvents",items:[{key:"commentAdded",labelKey:"commentAdded"}]},{labelKey:"mentionEvents",items:[{key:"mentioned",labelKey:"mentioned"}]}];function I(){let e=(0,n.c)("notifications.preferences"),[t,a]=(0,r.useState)(q),[i,l]=(0,r.useState)(!0),o=(0,r.useRef)(null);(0,r.useEffect)(()=>{!async function(){try{let e=await fetch("/api/notifications/preferences");if(e.ok){let t=await e.json();if(t.success&&t.data){let{taskAssigned:e,taskStatusChanged:s,taskVerified:r,taskReopened:n,proposalSubmitted:i,proposalApproved:l,proposalRejected:o,ideaClaimed:d,commentAdded:c,elaborationRequested:u,elaborationAnswered:m,mentioned:x}=t.data;a({taskAssigned:e,taskStatusChanged:s,taskVerified:r,taskReopened:n,proposalSubmitted:i,proposalApproved:l,proposalRejected:o,ideaClaimed:d,commentAdded:c,elaborationRequested:null==u||u,elaborationAnswered:null==m||m,mentioned:null==x||x})}}}catch(e){_.q.error("Failed to fetch notification preferences:",e)}finally{l(!1)}}()},[]);let d=(0,r.useCallback)(e=>{o.current&&clearTimeout(o.current),o.current=setTimeout(async()=>{try{await fetch("/api/notifications/preferences",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}catch(e){_.q.error("Failed to save notification preferences:",e)}},500)},[]);return i?null:(0,s.jsx)("div",{className:"space-y-6",children:D.map(r=>(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("h3",{className:"text-sm font-medium text-foreground",children:e(r.labelKey)}),(0,s.jsx)("div",{className:"space-y-3",children:r.items.map(r=>(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)($.J,{htmlFor:r.key,className:"text-sm text-muted-foreground cursor-pointer",children:e(r.labelKey)}),(0,s.jsx)(P.d,{id:r.key,checked:t[r.key],onCheckedChange:e=>((e,s)=>{let r={...t,[e]:s};a(r),d(r)})(r.key,e)})]},r.key))})]},r.labelKey))})}var B=a(38106),T=a(44775);let F=new Set(a(93810).lp);function O(){let e=(0,n.c)(),{locale:t,setLocale:a}=(0,w.Y)(),[v,k]=(0,r.useState)([]),[P,$]=(0,r.useState)(!0),[q,D]=(0,r.useState)(!1),[O,M]=(0,r.useState)(!1),[Z,V]=(0,r.useState)(null),[Y,G]=(0,r.useState)({}),[W,J]=(0,r.useState)({}),[H,Q]=(0,r.useState)({}),[X,ee]=(0,r.useState)(!1),[et,ea]=(0,r.useState)(null),[es,er]=(0,r.useState)(""),[en,ei]=(0,r.useState)("custom"),[el,eo]=(0,r.useState)([]),[ed,ec]=(0,r.useState)(""),[eu,em]=(0,r.useState)(!1);(0,r.useEffect)(()=>{ex()},[]);let ex=async()=>{try{let e=await S();e.success&&e.data&&k(e.data)}catch(e){_.q.error("Failed to fetch API keys:",e)}finally{$(!1)}},eg=async()=>{if(Z)try{let e=await A(Z);e.success?k(v.filter(e=>e.uuid!==Z)):_.q.error("Failed to delete API key:",e.error)}catch(e){_.q.error("Failed to delete API key:",e)}finally{M(!1),V(null)}},ef=async e=>{let t=Y[e];if(G(a=>({...a,[e]:!t})),!t&&!W[e]){Q(t=>({...t,[e]:!0}));let t=await C(e);t.success&&t.data&&J(a=>({...a,[e]:t.data})),Q(t=>({...t,[e]:!1}))}},eh=async(e,t)=>{(await R(e)).success&&J(a=>({...a,[t]:(a[t]||[]).map(t=>t.uuid===e?{...t,status:"closed"}:t)}))},ep=async(e,t)=>{(await z(e)).success&&J(a=>({...a,[t]:(a[t]||[]).map(t=>t.uuid===e?{...t,status:"active",lastActiveAt:new Date().toISOString()}:t)}))},ev=()=>{ee(!1),ea(null),er(""),ei("custom"),eo([]),ec("")},eb=async e=>{if(e.preventDefault(),!et||!es)return;let t="custom"===en?[]:[en],a="custom"===en?el:[];em(!0);try{let e=await K({agentUuid:et.agentUuid,name:es,roles:t,permissions:a,persona:ed||null});if(e.success){let e=Array.from(function(e,t){let a=new Set;if(e)for(let t of e){let e=t.endsWith("_agent")?t:"".concat(t,"_agent"),s=T.o[e];if(s)for(let e of s)a.add(e)}if(t)for(let e of t)F.has(e)&&a.add(e);return a}(t,a));k(s=>s.map(s=>s.agentUuid===et.agentUuid?{...s,name:es,roles:t,permissions:a,effectivePermissions:e,persona:ed||null}:s)),ev()}else _.q.error("Failed to update agent:",e.error)}catch(e){_.q.error("Failed to update agent:",e)}finally{em(!1)}};return P?(0,s.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,s.jsx)("div",{className:"text-[#6B6B6B]",children:e("common.loading")})}):(0,s.jsxs)("div",{className:"p-4 md:p-8",children:[(0,s.jsx)("div",{className:"mb-6 text-xs text-[#9A9A9A]",children:e("settings.breadcrumb")}),(0,s.jsxs)("div",{className:"mb-8",children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold text-[#2C2C2C]",children:e("settings.title")}),(0,s.jsx)("p",{className:"mt-1 text-[13px] text-[#6B6B6B]",children:e("settings.subtitle")})]}),(0,s.jsxs)("div",{className:"mb-8 space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(o.A,{className:"h-5 w-5 text-muted-foreground"}),(0,s.jsx)("h2",{className:"text-base font-semibold text-foreground",children:e("settings.language")})]}),(0,s.jsx)("p",{className:"text-[13px] text-muted-foreground",children:e("settings.languageDesc")}),(0,s.jsx)("div",{className:"flex gap-3",children:E.IB.map(e=>(0,s.jsx)(i.$,{variant:t===e?"default":"outline",size:"sm",onClick:()=>a(e),className:"min-w-[100px]",children:E.L$[e]},e))})]}),(0,s.jsxs)(L.Zp,{className:"mb-8",children:[(0,s.jsxs)(L.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(d.A,{className:"h-5 w-5 text-muted-foreground"}),(0,s.jsx)(L.ZB,{children:e("settings.setupGuide")})]}),(0,s.jsx)(L.BT,{children:e("settings.setupGuideDesc")})]}),(0,s.jsx)(L.Wu,{children:(0,s.jsx)(b(),{href:"/onboarding",children:(0,s.jsx)(i.$,{variant:"outline",children:e("settings.openSetupGuide")})})})]}),(0,s.jsx)("div",{className:"mb-8 border-t border-border"}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("h2",{className:"text-base font-semibold text-foreground",children:e("settings.agents")}),(0,s.jsxs)(i.$,{onClick:()=>D(!0),children:[(0,s.jsx)(c.A,{className:"mr-2 h-4 w-4"}),e("settings.createApiKey")]})]}),(0,s.jsx)("p",{className:"text-[13px] text-muted-foreground",children:e("settings.agentsDesc")}),0===v.length?(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-12 text-center",children:[(0,s.jsx)("div",{className:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-secondary",children:(0,s.jsx)(u.A,{className:"h-6 w-6 text-muted-foreground"})}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:e("settings.noApiKeys")})]}):(0,s.jsx)("div",{className:"space-y-3",children:v.map(t=>{var a;return(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-5",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-lg ".concat(t.roles.includes("developer_agent")?"bg-green-100":"bg-primary/10"),children:(0,s.jsx)(u.A,{className:"h-[18px] w-[18px] ".concat(t.roles.includes("developer_agent")?"text-green-600":"text-primary")})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm font-medium text-foreground",children:t.name||t.keyPrefix+"..."}),(0,s.jsxs)("div",{className:"text-xs text-muted-foreground",children:[t.keyPrefix,"... \xb7 ",e("settings.created")," ",(0,B.r)(t.createdAt)]})]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)(i.$,{variant:"outline",size:"sm",onClick:()=>(e=>{var t,a;let s=(t=e.roles,a=e.permissions,1===t.length&&t[0]in T.o&&0===a.length?t[0]:"custom"),r=e.effectivePermissions;ea(e),er(e.name||""),ei(s),eo("custom"===s?r:[]),ec(e.persona||""),ee(!0)})(t),children:[(0,s.jsx)(m.A,{className:"mr-1.5 h-3.5 w-3.5"}),e("settings.editAgent")]}),(0,s.jsx)(i.$,{variant:"outline",size:"sm",onClick:()=>{V(t.uuid),M(!0)},className:"text-destructive hover:text-destructive",children:e("common.delete")})]})]}),(0,s.jsxs)("div",{className:"mt-4 border-t border-border pt-3",children:[(0,s.jsxs)("button",{onClick:()=>ef(t.agentUuid),className:"flex w-full items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[Y[t.agentUuid]?(0,s.jsx)(x.A,{className:"h-3.5 w-3.5"}):(0,s.jsx)(g.A,{className:"h-3.5 w-3.5"}),(0,s.jsx)(f.A,{className:"h-3.5 w-3.5"}),(0,s.jsx)("span",{children:e("sessions.title")}),W[t.agentUuid]&&(0,s.jsx)(N.E,{variant:"secondary",className:"ml-1 h-4 px-1.5 text-[10px]",children:W[t.agentUuid].filter(e=>"active"===e.status).length})]}),Y[t.agentUuid]&&(0,s.jsx)("div",{className:"mt-2 space-y-2",children:H[t.agentUuid]?(0,s.jsx)("div",{className:"text-xs text-muted-foreground py-2",children:e("common.loading")}):(null==(a=W[t.agentUuid])?void 0:a.length)?W[t.agentUuid].map(a=>(0,s.jsxs)("div",{className:"flex items-center justify-between rounded-lg p-2.5 text-xs ".concat("closed"===a.status?"bg-muted/50 text-muted-foreground":"bg-secondary"),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,s.jsx)("div",{className:"h-2 w-2 rounded-full flex-shrink-0 ".concat("active"===a.status?"bg-green-500":"inactive"===a.status?"bg-yellow-500":"bg-gray-400")}),(0,s.jsx)("span",{className:"font-medium truncate",children:a.name}),(0,s.jsx)(N.E,{variant:"outline",className:"text-[10px] h-4 px-1 ".concat("active"===a.status?"border-green-300 text-green-700":"inactive"===a.status?"border-yellow-300 text-yellow-700":"border-gray-300 text-gray-500"),children:e("sessions.status".concat(a.status.charAt(0).toUpperCase()+a.status.slice(1)))}),(0,s.jsx)("span",{className:"text-muted-foreground",children:e("sessions.checkins",{count:a.checkins.length})})]}),"closed"===a.status?(0,s.jsx)(i.$,{variant:"ghost",size:"sm",className:"h-6 px-2 text-[10px] text-green-600 hover:text-green-700",onClick:()=>ep(a.uuid,t.agentUuid),children:e("sessions.reopen")}):(0,s.jsx)(i.$,{variant:"ghost",size:"sm",className:"h-6 px-2 text-[10px] text-destructive hover:text-destructive",onClick:()=>eh(a.uuid,t.agentUuid),children:e("sessions.close")})]},a.uuid)):(0,s.jsx)("div",{className:"text-xs text-muted-foreground py-2 italic",children:e("sessions.noSessions")})})]})]},t.uuid)})})]}),(0,s.jsx)("div",{className:"mb-8 border-t border-border"}),(0,s.jsxs)(L.Zp,{children:[(0,s.jsxs)(L.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(h.A,{className:"h-5 w-5 text-muted-foreground"}),(0,s.jsx)(L.ZB,{children:e("notifications.preferences.title")})]}),(0,s.jsx)(L.BT,{children:e("notifications.preferences.description")})]}),(0,s.jsx)(L.Wu,{children:(0,s.jsx)(I,{})})]}),q&&(0,s.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/25",children:(0,s.jsx)("div",{className:"max-h-[90vh] w-full max-w-[520px] overflow-y-auto rounded-2xl bg-card shadow-xl",children:(0,s.jsx)(j.Y,{createAgentAndKey:U.I,onAgentCreated:()=>{ex()},onClose:()=>{D(!1)}})})}),X&&et&&(0,s.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/25",children:(0,s.jsx)("div",{className:"max-h-[90vh] w-full max-w-[520px] overflow-y-auto rounded-2xl bg-card shadow-xl",children:(0,s.jsxs)("form",{onSubmit:eb,children:[(0,s.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:e("settings.editAgent")}),(0,s.jsx)(i.$,{type:"button",variant:"ghost",size:"icon",onClick:ev,className:"h-8 w-8",children:(0,s.jsx)(p.A,{className:"h-4 w-4"})})]}),(0,s.jsx)("div",{className:"p-6",children:(0,s.jsx)(y.L,{name:es,onNameChange:er,preset:en,permissions:el,onPermissionsChange:e=>{ei(e.preset),eo(e.permissions)},persona:ed,onPersonaChange:ec,nameInputId:"editName",personaInputId:"edit-agent-persona"})}),(0,s.jsxs)("div",{className:"flex justify-end gap-3 border-t border-border px-6 py-4",children:[(0,s.jsx)(i.$,{type:"button",variant:"outline",onClick:ev,children:e("common.cancel")}),(0,s.jsx)(i.$,{type:"submit",disabled:!es||"custom"===en&&0===el.length||eu,children:eu?e("settings.saving"):e("settings.saveChanges")})]})]})})}),(0,s.jsx)(l.Lt,{open:O,onOpenChange:M,children:(0,s.jsxs)(l.EO,{children:[(0,s.jsxs)(l.wd,{children:[(0,s.jsx)(l.r7,{children:e("settings.confirmDeleteTitle")}),(0,s.jsx)(l.$v,{children:e("settings.confirmDeleteDesc")})]}),(0,s.jsxs)(l.ck,{children:[(0,s.jsx)(l.Zr,{children:e("common.cancel")}),(0,s.jsx)(l.Rx,{onClick:eg,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:e("common.delete")})]})]})})]})}}},e=>{e.O(0,[12079,18944,12790,21932,53298,34775,32190,74951,65496,77358],()=>e(e.s=87386)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[51670],{12210:(e,t,a)=>{"use strict";a.d(t,{d:()=>i});var s=a(90508);a(1856);var r=a(60322),n=a(24377);function i(e){let{className:t,...a}=e;return(0,s.jsx)(r.Root,{"data-slot":"switch",className:(0,n.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:ring-ring/50 inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...a,children:(0,s.jsx)(r.Thumb,{"data-slot":"switch-thumb",className:(0,n.cn)("bg-background pointer-events-none block size-4 rounded-full ring-0 shadow-lg transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})})}},15272:(e,t,a)=>{var s={"./en.json":[99373,99373],"./zh.json":[4860,4860]};function r(e){if(!a.o(s,e))return Promise.resolve().then(()=>{var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=s[e],r=t[0];return a.e(t[1]).then(()=>a.t(r,19))}r.keys=()=>Object.keys(s),r.id=15272,e.exports=r},25359:(e,t,a)=>{"use strict";a.d(t,{AL:()=>i,IB:()=>s,L$:()=>n,q:()=>r});let s=["en","zh"],r="en",n={en:"English",zh:"中文"};function i(){if("undefined"==typeof navigator)return r;let e=navigator.language.split("-")[0];return s.includes(e)?e:r}},32277:(e,t,a)=>{"use strict";a.d(t,{LocaleProvider:()=>u,Y:()=>c});var s=a(90508),r=a(1856),n=a(57472),i=a(25359),l=a(67712);let o="chorus-locale",d=(0,r.createContext)(null);function c(){let e=(0,r.useContext)(d);if(!e)throw Error("useLocale must be used within LocaleProvider");return e}function u(e){let{children:t}=e,[c,u]=(0,r.useState)(i.q),[m,x]=(0,r.useState)(null),[g,f]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e,t=localStorage.getItem(o);t&&i.IB.includes(t)?e=t:(e=(0,i.AL)(),localStorage.setItem(o,e)),u(e),document.cookie="chorus-locale=".concat(e,";path=/;max-age=").concat(31536e3,";SameSite=Lax"),f(!0)},[]),(0,r.useEffect)(()=>{g&&a(15272)("./".concat(c,".json")).then(e=>{x(e.default)}).catch(e=>{l.q.error("Failed to load messages for locale ".concat(c,":"),e),a(15272)("./".concat(i.q,".json")).then(e=>{x(e.default)})})},[c,g]);let h=(0,r.useCallback)(e=>{u(e),localStorage.setItem(o,e),document.cookie="chorus-locale=".concat(e,";path=/;max-age=").concat(31536e3,";SameSite=Lax"),document.documentElement.lang=e},[]);return g&&m?(0,s.jsx)(d.Provider,{value:{locale:c,setLocale:h},children:(0,s.jsx)(n.A,{locale:c,messages:m,children:t})}):null}},38106:(e,t,a)=>{"use strict";function s(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let a=t.getFullYear(),s=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0"),n=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0");return"".concat(a,"-").concat(s,"-").concat(r," ").concat(n,":").concat(i)}function r(e,t){let a="string"==typeof e?new Date(e):e;return isNaN(a.getTime())?"":a.toLocaleDateString(t,{month:"short",day:"numeric"})}a.d(t,{r:()=>s,s:()=>r})},51817:(e,t,a)=>{"use strict";a.d(t,{$v:()=>f,EO:()=>u,Lt:()=>l,Rx:()=>h,Zr:()=>p,ck:()=>x,r7:()=>g,tv:()=>o,wd:()=>m});var s=a(90508);a(1856);var r=a(90299),n=a(24377),i=a(22922);function l(e){let{...t}=e;return(0,s.jsx)(r.Root,{"data-slot":"alert-dialog",...t})}function o(e){let{...t}=e;return(0,s.jsx)(r.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function d(e){let{...t}=e;return(0,s.jsx)(r.Portal,{"data-slot":"alert-dialog-portal",...t})}function c(e){let{className:t,...a}=e;return(0,s.jsx)(r.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,n.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 u(e){let{className:t,size:a="default",...i}=e;return(0,s.jsxs)(d,{children:[(0,s.jsx)(c,{}),(0,s.jsx)(r.Content,{"data-slot":"alert-dialog-content","data-size":a,className:(0,n.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 group/alert-dialog-content 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 data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",t),...i})]})}function m(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,n.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...a})}function x(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,n.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...a})}function g(e){let{className:t,...a}=e;return(0,s.jsx)(r.Title,{"data-slot":"alert-dialog-title",className:(0,n.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...a})}function f(e){let{className:t,...a}=e;return(0,s.jsx)(r.Description,{"data-slot":"alert-dialog-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...a})}function h(e){let{className:t,variant:a="default",size:l="default",...o}=e;return(0,s.jsx)(i.$,{variant:a,size:l,asChild:!0,children:(0,s.jsx)(r.Action,{"data-slot":"alert-dialog-action",className:(0,n.cn)(t),...o})})}function p(e){let{className:t,variant:a="outline",size:l="default",...o}=e;return(0,s.jsx)(i.$,{variant:a,size:l,asChild:!0,children:(0,s.jsx)(r.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,n.cn)(t),...o})})}},57731:(e,t,a)=>{"use strict";a.d(t,{E:()=>o});var s=a(90508);a(1856);var r=a(49499),n=a(54154),i=a(24377);let l=(0,r.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 o(e){let{className:t,variant:a="default",asChild:r=!1,...o}=e,d=r?n.bL:"span";return(0,s.jsx)(d,{"data-slot":"badge","data-variant":a,className:(0,i.cn)(l({variant:a}),t),...o})}},87386:(e,t,a)=>{Promise.resolve().then(a.bind(a,97216))},97216:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>O});var s=a(90508),r=a(1856),n=a(39268),i=a(22922),l=a(51817),o=a(81149),d=a(84052),c=a(5616),u=a(85619),m=a(57893),x=a(17730),g=a(78948),f=a(97645),h=a(36557),p=a(9160),v=a(12790),b=a.n(v),j=a(37750),y=a(26965),N=a(57731),k=a(32277),w=a(52217);let S=(0,w.createServerReference)("00c154b24639883e24929daf40c7659938375e92d1",w.callServer,void 0,w.findSourceMapURL,"getApiKeysAction"),A=(0,w.createServerReference)("4018fb015c7e90ac5f114d555142c90190e149e477",w.callServer,void 0,w.findSourceMapURL,"deleteApiKeyAction"),C=(0,w.createServerReference)("40ed94d6eaa158fef112b1a77ba9a2e91bf3c30430",w.callServer,void 0,w.findSourceMapURL,"getAgentSessionsAction"),R=(0,w.createServerReference)("40e1269f3365a5fc47efe77ae48b5d7cbe1215699a",w.callServer,void 0,w.findSourceMapURL,"closeSessionAction"),z=(0,w.createServerReference)("40557d985a27adc0c0faaf43f493f821d243228741",w.callServer,void 0,w.findSourceMapURL,"reopenSessionAction"),K=(0,w.createServerReference)("40d310e569cfefc90bcf228f7615c06b0f53c94274",w.callServer,void 0,w.findSourceMapURL,"updateAgentAction");var U=a(65332),E=a(25359),L=a(48416),P=a(12210),$=a(88064),_=a(67712);let q={taskAssigned:!0,taskStatusChanged:!0,taskVerified:!0,taskReopened:!0,proposalSubmitted:!0,proposalApproved:!0,proposalRejected:!0,ideaClaimed:!0,commentAdded:!0,elaborationRequested:!0,elaborationAnswered:!0,mentioned:!0},D=[{labelKey:"taskEvents",items:[{key:"taskAssigned",labelKey:"taskAssigned"},{key:"taskStatusChanged",labelKey:"taskStatusChanged"},{key:"taskVerified",labelKey:"taskVerified"},{key:"taskReopened",labelKey:"taskReopened"}]},{labelKey:"proposalEvents",items:[{key:"proposalSubmitted",labelKey:"proposalSubmitted"},{key:"proposalApproved",labelKey:"proposalApproved"},{key:"proposalRejected",labelKey:"proposalRejected"}]},{labelKey:"ideaEvents",items:[{key:"ideaClaimed",labelKey:"ideaClaimed"}]},{labelKey:"elaborationEvents",items:[{key:"elaborationRequested",labelKey:"elaborationRequested"},{key:"elaborationAnswered",labelKey:"elaborationAnswered"}]},{labelKey:"commentEvents",items:[{key:"commentAdded",labelKey:"commentAdded"}]},{labelKey:"mentionEvents",items:[{key:"mentioned",labelKey:"mentioned"}]}];function I(){let e=(0,n.c)("notifications.preferences"),[t,a]=(0,r.useState)(q),[i,l]=(0,r.useState)(!0),o=(0,r.useRef)(null);(0,r.useEffect)(()=>{!async function(){try{let e=await fetch("/api/notifications/preferences");if(e.ok){let t=await e.json();if(t.success&&t.data){let{taskAssigned:e,taskStatusChanged:s,taskVerified:r,taskReopened:n,proposalSubmitted:i,proposalApproved:l,proposalRejected:o,ideaClaimed:d,commentAdded:c,elaborationRequested:u,elaborationAnswered:m,mentioned:x}=t.data;a({taskAssigned:e,taskStatusChanged:s,taskVerified:r,taskReopened:n,proposalSubmitted:i,proposalApproved:l,proposalRejected:o,ideaClaimed:d,commentAdded:c,elaborationRequested:null==u||u,elaborationAnswered:null==m||m,mentioned:null==x||x})}}}catch(e){_.q.error("Failed to fetch notification preferences:",e)}finally{l(!1)}}()},[]);let d=(0,r.useCallback)(e=>{o.current&&clearTimeout(o.current),o.current=setTimeout(async()=>{try{await fetch("/api/notifications/preferences",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}catch(e){_.q.error("Failed to save notification preferences:",e)}},500)},[]);return i?null:(0,s.jsx)("div",{className:"space-y-6",children:D.map(r=>(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("h3",{className:"text-sm font-medium text-foreground",children:e(r.labelKey)}),(0,s.jsx)("div",{className:"space-y-3",children:r.items.map(r=>(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)($.J,{htmlFor:r.key,className:"text-sm text-muted-foreground cursor-pointer",children:e(r.labelKey)}),(0,s.jsx)(P.d,{id:r.key,checked:t[r.key],onCheckedChange:e=>((e,s)=>{let r={...t,[e]:s};a(r),d(r)})(r.key,e)})]},r.key))})]},r.labelKey))})}var B=a(38106),T=a(44775);let F=new Set(a(93810).lp);function O(){let e=(0,n.c)(),{locale:t,setLocale:a}=(0,k.Y)(),[v,w]=(0,r.useState)([]),[P,$]=(0,r.useState)(!0),[q,D]=(0,r.useState)(!1),[O,M]=(0,r.useState)(!1),[Z,V]=(0,r.useState)(null),[Y,G]=(0,r.useState)({}),[W,J]=(0,r.useState)({}),[H,Q]=(0,r.useState)({}),[X,ee]=(0,r.useState)(!1),[et,ea]=(0,r.useState)(null),[es,er]=(0,r.useState)(""),[en,ei]=(0,r.useState)("custom"),[el,eo]=(0,r.useState)([]),[ed,ec]=(0,r.useState)(""),[eu,em]=(0,r.useState)(!1);(0,r.useEffect)(()=>{ex()},[]);let ex=async()=>{try{let e=await S();e.success&&e.data&&w(e.data)}catch(e){_.q.error("Failed to fetch API keys:",e)}finally{$(!1)}},eg=async()=>{if(Z)try{let e=await A(Z);e.success?w(v.filter(e=>e.uuid!==Z)):_.q.error("Failed to delete API key:",e.error)}catch(e){_.q.error("Failed to delete API key:",e)}finally{M(!1),V(null)}},ef=async e=>{let t=Y[e];if(G(a=>({...a,[e]:!t})),!t&&!W[e]){Q(t=>({...t,[e]:!0}));let t=await C(e);t.success&&t.data&&J(a=>({...a,[e]:t.data})),Q(t=>({...t,[e]:!1}))}},eh=async(e,t)=>{(await R(e)).success&&J(a=>({...a,[t]:(a[t]||[]).map(t=>t.uuid===e?{...t,status:"closed"}:t)}))},ep=async(e,t)=>{(await z(e)).success&&J(a=>({...a,[t]:(a[t]||[]).map(t=>t.uuid===e?{...t,status:"active",lastActiveAt:new Date().toISOString()}:t)}))},ev=()=>{ee(!1),ea(null),er(""),ei("custom"),eo([]),ec("")},eb=async e=>{if(e.preventDefault(),!et||!es)return;let t="custom"===en?[]:[en],a="custom"===en?el:[];em(!0);try{let e=await K({agentUuid:et.agentUuid,name:es,roles:t,permissions:a,persona:ed||null});if(e.success){let e=Array.from(function(e,t){let a=new Set;if(e)for(let t of e){let e=t.endsWith("_agent")?t:"".concat(t,"_agent"),s=T.o[e];if(s)for(let e of s)a.add(e)}if(t)for(let e of t)F.has(e)&&a.add(e);return a}(t,a));w(s=>s.map(s=>s.agentUuid===et.agentUuid?{...s,name:es,roles:t,permissions:a,effectivePermissions:e,persona:ed||null}:s)),ev()}else _.q.error("Failed to update agent:",e.error)}catch(e){_.q.error("Failed to update agent:",e)}finally{em(!1)}};return P?(0,s.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,s.jsx)("div",{className:"text-[#6B6B6B]",children:e("common.loading")})}):(0,s.jsxs)("div",{className:"p-4 md:p-8",children:[(0,s.jsx)("div",{className:"mb-6 text-xs text-[#9A9A9A]",children:e("settings.breadcrumb")}),(0,s.jsxs)("div",{className:"mb-8",children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold text-[#2C2C2C]",children:e("settings.title")}),(0,s.jsx)("p",{className:"mt-1 text-[13px] text-[#6B6B6B]",children:e("settings.subtitle")})]}),(0,s.jsxs)("div",{className:"mb-8 space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(o.A,{className:"h-5 w-5 text-muted-foreground"}),(0,s.jsx)("h2",{className:"text-base font-semibold text-foreground",children:e("settings.language")})]}),(0,s.jsx)("p",{className:"text-[13px] text-muted-foreground",children:e("settings.languageDesc")}),(0,s.jsx)("div",{className:"flex gap-3",children:E.IB.map(e=>(0,s.jsx)(i.$,{variant:t===e?"default":"outline",size:"sm",onClick:()=>a(e),className:"min-w-[100px]",children:E.L$[e]},e))})]}),(0,s.jsxs)(L.Zp,{className:"mb-8",children:[(0,s.jsxs)(L.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(d.A,{className:"h-5 w-5 text-muted-foreground"}),(0,s.jsx)(L.ZB,{children:e("settings.setupGuide")})]}),(0,s.jsx)(L.BT,{children:e("settings.setupGuideDesc")})]}),(0,s.jsx)(L.Wu,{children:(0,s.jsx)(b(),{href:"/onboarding",children:(0,s.jsx)(i.$,{variant:"outline",children:e("settings.openSetupGuide")})})})]}),(0,s.jsx)("div",{className:"mb-8 border-t border-border"}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("h2",{className:"text-base font-semibold text-foreground",children:e("settings.agents")}),(0,s.jsxs)(i.$,{onClick:()=>D(!0),children:[(0,s.jsx)(c.A,{className:"mr-2 h-4 w-4"}),e("settings.createApiKey")]})]}),(0,s.jsx)("p",{className:"text-[13px] text-muted-foreground",children:e("settings.agentsDesc")}),0===v.length?(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-12 text-center",children:[(0,s.jsx)("div",{className:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-secondary",children:(0,s.jsx)(u.A,{className:"h-6 w-6 text-muted-foreground"})}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:e("settings.noApiKeys")})]}):(0,s.jsx)("div",{className:"space-y-3",children:v.map(t=>{var a;return(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-5",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-lg ".concat(t.roles.includes("developer_agent")?"bg-green-100":"bg-primary/10"),children:(0,s.jsx)(u.A,{className:"h-[18px] w-[18px] ".concat(t.roles.includes("developer_agent")?"text-green-600":"text-primary")})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm font-medium text-foreground",children:t.name||t.keyPrefix+"..."}),(0,s.jsxs)("div",{className:"text-xs text-muted-foreground",children:[t.keyPrefix,"... \xb7 ",e("settings.created")," ",(0,B.r)(t.createdAt)]})]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)(i.$,{variant:"outline",size:"sm",onClick:()=>(e=>{var t,a;let s=(t=e.roles,a=e.permissions,1===t.length&&t[0]in T.o&&0===a.length?t[0]:"custom"),r=e.effectivePermissions;ea(e),er(e.name||""),ei(s),eo("custom"===s?r:[]),ec(e.persona||""),ee(!0)})(t),children:[(0,s.jsx)(m.A,{className:"mr-1.5 h-3.5 w-3.5"}),e("settings.editAgent")]}),(0,s.jsx)(i.$,{variant:"outline",size:"sm",onClick:()=>{V(t.uuid),M(!0)},className:"text-destructive hover:text-destructive",children:e("common.delete")})]})]}),(0,s.jsxs)("div",{className:"mt-4 border-t border-border pt-3",children:[(0,s.jsxs)("button",{onClick:()=>ef(t.agentUuid),className:"flex w-full items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[Y[t.agentUuid]?(0,s.jsx)(x.A,{className:"h-3.5 w-3.5"}):(0,s.jsx)(g.A,{className:"h-3.5 w-3.5"}),(0,s.jsx)(f.A,{className:"h-3.5 w-3.5"}),(0,s.jsx)("span",{children:e("sessions.title")}),W[t.agentUuid]&&(0,s.jsx)(N.E,{variant:"secondary",className:"ml-1 h-4 px-1.5 text-[10px]",children:W[t.agentUuid].length})]}),Y[t.agentUuid]&&(0,s.jsx)("div",{className:"mt-2 space-y-2",children:H[t.agentUuid]?(0,s.jsx)("div",{className:"text-xs text-muted-foreground py-2",children:e("common.loading")}):(null==(a=W[t.agentUuid])?void 0:a.length)?W[t.agentUuid].map(a=>(0,s.jsxs)("div",{className:"flex items-center justify-between rounded-lg p-2.5 text-xs ".concat("closed"===a.status?"bg-muted/50 text-muted-foreground":"bg-secondary"),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,s.jsx)("div",{className:"h-2 w-2 rounded-full flex-shrink-0 ".concat("active"===a.status?"bg-green-500":"bg-gray-400")}),(0,s.jsx)("span",{className:"font-medium truncate",children:a.name}),(0,s.jsx)(N.E,{variant:"outline",className:"text-[10px] h-4 px-1 ".concat("active"===a.status?"border-green-300 text-green-700":"border-gray-300 text-gray-500"),children:e("sessions.status".concat(a.status.charAt(0).toUpperCase()+a.status.slice(1)))}),(0,s.jsx)("span",{className:"text-muted-foreground",children:e("sessions.checkins",{count:a.checkins.length})})]}),"closed"===a.status?(0,s.jsx)(i.$,{variant:"ghost",size:"sm",className:"h-6 px-2 text-[10px] text-green-600 hover:text-green-700",onClick:()=>ep(a.uuid,t.agentUuid),children:e("sessions.reopen")}):(0,s.jsx)(i.$,{variant:"ghost",size:"sm",className:"h-6 px-2 text-[10px] text-destructive hover:text-destructive",onClick:()=>eh(a.uuid,t.agentUuid),children:e("sessions.close")})]},a.uuid)):(0,s.jsx)("div",{className:"text-xs text-muted-foreground py-2 italic",children:e("sessions.noSessions")})})]})]},t.uuid)})})]}),(0,s.jsx)("div",{className:"mb-8 border-t border-border"}),(0,s.jsxs)(L.Zp,{children:[(0,s.jsxs)(L.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(h.A,{className:"h-5 w-5 text-muted-foreground"}),(0,s.jsx)(L.ZB,{children:e("notifications.preferences.title")})]}),(0,s.jsx)(L.BT,{children:e("notifications.preferences.description")})]}),(0,s.jsx)(L.Wu,{children:(0,s.jsx)(I,{})})]}),q&&(0,s.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/25",children:(0,s.jsx)("div",{className:"max-h-[90vh] w-full max-w-[520px] overflow-y-auto rounded-2xl bg-card shadow-xl",children:(0,s.jsx)(j.Y,{createAgentAndKey:U.I,onAgentCreated:()=>{ex()},onClose:()=>{D(!1)}})})}),X&&et&&(0,s.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/25",children:(0,s.jsx)("div",{className:"max-h-[90vh] w-full max-w-[520px] overflow-y-auto rounded-2xl bg-card shadow-xl",children:(0,s.jsxs)("form",{onSubmit:eb,children:[(0,s.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:e("settings.editAgent")}),(0,s.jsx)(i.$,{type:"button",variant:"ghost",size:"icon",onClick:ev,className:"h-8 w-8",children:(0,s.jsx)(p.A,{className:"h-4 w-4"})})]}),(0,s.jsx)("div",{className:"p-6",children:(0,s.jsx)(y.L,{name:es,onNameChange:er,preset:en,permissions:el,onPermissionsChange:e=>{ei(e.preset),eo(e.permissions)},persona:ed,onPersonaChange:ec,nameInputId:"editName",personaInputId:"edit-agent-persona"})}),(0,s.jsxs)("div",{className:"flex justify-end gap-3 border-t border-border px-6 py-4",children:[(0,s.jsx)(i.$,{type:"button",variant:"outline",onClick:ev,children:e("common.cancel")}),(0,s.jsx)(i.$,{type:"submit",disabled:!es||"custom"===en&&0===el.length||eu,children:eu?e("settings.saving"):e("settings.saveChanges")})]})]})})}),(0,s.jsx)(l.Lt,{open:O,onOpenChange:M,children:(0,s.jsxs)(l.EO,{children:[(0,s.jsxs)(l.wd,{children:[(0,s.jsx)(l.r7,{children:e("settings.confirmDeleteTitle")}),(0,s.jsx)(l.$v,{children:e("settings.confirmDeleteDesc")})]}),(0,s.jsxs)(l.ck,{children:[(0,s.jsx)(l.Zr,{children:e("common.cancel")}),(0,s.jsx)(l.Rx,{onClick:eg,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:e("common.delete")})]})]})})]})}}},e=>{e.O(0,[12079,18944,12790,21932,53298,34775,32190,74951,65496,77358],()=>e(e.s=87386)),_N_E=e.O()}]);