@chorus-aidlc/chorus 0.14.6 → 0.15.0

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 (613) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +448 -402
  3. package/.next/standalone/.next/app-path-routes-manifest.json +46 -41
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +15 -15
  6. package/.next/standalone/.next/routes-manifest.json +16 -0
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +2 -2
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +2 -2
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +3 -3
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  51. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  52. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  55. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  56. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  58. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  59. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/admin.html +2 -2
  61. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  62. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/api/agent-connections/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.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  84. package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js +1 -0
  91. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js.nft.json +1 -0
  92. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -0
  93. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
  104. package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  110. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js +1 -0
  113. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js.nft.json +1 -0
  114. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -0
  115. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js +1 -0
  116. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -0
  117. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -0
  118. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
  131. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  135. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
  138. package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  141. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  145. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  148. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  151. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  154. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  157. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  160. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js +1 -1
  163. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
  166. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/mcp/route.js +2 -2
  169. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  172. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  175. package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  178. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  181. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  183. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  184. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  187. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  190. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  193. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  196. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
  199. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js +1 -0
  203. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -0
  204. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -0
  205. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  206. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  208. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  210. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  211. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  212. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  213. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  214. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  215. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  216. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  217. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  218. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  219. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
  220. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
  221. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  223. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  224. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  225. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  226. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  228. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  229. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  230. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js +1 -0
  231. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js.nft.json +1 -0
  232. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -0
  233. package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
  234. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  235. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  236. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  237. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  238. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  239. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  240. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  241. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  242. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  243. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  245. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  246. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  247. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  248. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  249. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  252. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  253. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  255. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  256. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  258. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  259. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  260. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  261. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  262. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  263. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  264. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  265. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/index.html +2 -2
  267. package/.next/standalone/.next/server/app/index.rsc +2 -2
  268. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  269. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  270. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  271. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  272. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  273. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  274. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  275. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  276. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  277. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  278. package/.next/standalone/.next/server/app/login.html +2 -2
  279. package/.next/standalone/.next/server/app/login.rsc +2 -2
  280. package/.next/standalone/.next/server/app/onboarding/page.js +1 -1
  281. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  282. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  283. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  284. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  285. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  286. package/.next/standalone/.next/server/app/projects.html +2 -2
  287. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  288. package/.next/standalone/.next/server/app/settings.html +2 -2
  289. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  290. package/.next/standalone/.next/server/app-paths-manifest.json +46 -41
  291. package/.next/standalone/.next/server/chunks/1114.js +1 -1
  292. package/.next/standalone/.next/server/chunks/1318.js +1 -1
  293. package/.next/standalone/.next/server/chunks/1524.js +1 -0
  294. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  295. package/.next/standalone/.next/server/chunks/1722.js +1 -0
  296. package/.next/standalone/.next/server/chunks/{2789.js → 2547.js} +3 -3
  297. package/.next/standalone/.next/server/chunks/2572.js +2 -0
  298. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  299. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  300. package/.next/standalone/.next/server/chunks/330.js +1 -0
  301. package/.next/standalone/.next/server/chunks/3525.js +1 -0
  302. package/.next/standalone/.next/server/chunks/4827.js +1 -1
  303. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  304. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  305. package/.next/standalone/.next/server/chunks/6506.js +4 -4
  306. package/.next/standalone/.next/server/chunks/6515.js +2 -2
  307. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  308. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  309. package/.next/standalone/.next/server/chunks/8454.js +1 -1
  310. package/.next/standalone/.next/server/chunks/8540.js +1 -1
  311. package/.next/standalone/.next/server/chunks/920.js +1 -1
  312. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  313. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  314. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  315. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  316. package/.next/standalone/.next/server/pages/404.html +2 -2
  317. package/.next/standalone/.next/server/pages/500.html +1 -1
  318. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  319. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  320. package/.next/standalone/.next/static/chunks/11595.f1e55e827d67f2bc.js +1 -0
  321. package/.next/standalone/.next/static/chunks/18351-12dc856208d79e10.js +1 -0
  322. package/.next/standalone/.next/static/chunks/22987-8fd965ab4ff87546.js +1 -0
  323. package/.next/standalone/.next/static/chunks/{33456.c48dc366aa90b234.js → 33456.4817cdce41593c7e.js} +1 -1
  324. package/.next/standalone/.next/static/chunks/37938-0b9a2b891c04b166.js +1 -0
  325. package/.next/standalone/.next/static/chunks/4340-a33120fb742af57e.js +1 -0
  326. package/.next/standalone/.next/static/chunks/4860.bb2749ebaf8eb15f.js +1 -0
  327. package/.next/standalone/.next/static/chunks/53402-be6989c3f3968e7b.js +1 -0
  328. package/.next/standalone/.next/static/chunks/6698-1c55791b2d0820d5.js +1 -0
  329. package/.next/standalone/.next/static/chunks/68326-61feeb2f6cddd338.js +1 -0
  330. package/.next/standalone/.next/static/chunks/72974-714dcca796895c40.js +1 -0
  331. package/.next/standalone/.next/static/chunks/75137-c9e8422c9d4e1f52.js +1 -0
  332. package/.next/standalone/.next/static/chunks/7777-13466138aa42bd5f.js +1 -0
  333. package/.next/standalone/.next/static/chunks/78917-f91904c6c2d12dab.js +1 -0
  334. package/.next/standalone/.next/static/chunks/80748-e971c5a5d6ef967d.js +1 -0
  335. package/.next/standalone/.next/static/chunks/94426-39b6da238425f9b7.js +10 -0
  336. package/.next/standalone/.next/static/chunks/94470-0c74a933d5a2902f.js +1 -0
  337. package/.next/standalone/.next/static/chunks/94643-ba1ebff5769d2b50.js +1 -0
  338. package/.next/standalone/.next/static/chunks/99373.ae03246bdf49c700.js +1 -0
  339. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-177a3fa88be94b4a.js +1 -0
  340. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-7462c5eb92130796.js +1 -0
  341. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-559ec0f534a12956.js +1 -0
  342. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-03b8510273520572.js +1 -0
  343. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/{page-d6c226fd56b5ebb5.js → page-4a8ac49308a4e23b.js} +1 -1
  344. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-03408be00dc4822b.js +1 -0
  345. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-be353989e67e7b55.js +1 -0
  346. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-ebf4c28014025b7b.js → page-c70af8cac7bdc483.js} +1 -1
  347. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-bbde7e85e3388813.js → page-715b000c156a080c.js} +1 -1
  348. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-6df01fa989cca27b.js → page-7a5ef281f6819ed4.js} +1 -1
  349. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-e786a59c24eb5bda.js +1 -0
  350. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-559ec0f534a12956.js +1 -0
  351. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-559ec0f534a12956.js +1 -0
  352. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-559ec0f534a12956.js +1 -0
  353. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-559ec0f534a12956.js +1 -0
  354. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-559ec0f534a12956.js +1 -0
  355. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-559ec0f534a12956.js +1 -0
  356. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-559ec0f534a12956.js +1 -0
  357. package/.next/standalone/.next/static/chunks/app/api/agents/route-559ec0f534a12956.js +1 -0
  358. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-559ec0f534a12956.js +1 -0
  359. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-559ec0f534a12956.js +1 -0
  360. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-559ec0f534a12956.js +1 -0
  361. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-559ec0f534a12956.js +1 -0
  362. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-559ec0f534a12956.js +1 -0
  363. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-559ec0f534a12956.js +1 -0
  364. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-559ec0f534a12956.js +1 -0
  365. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-559ec0f534a12956.js +1 -0
  366. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-559ec0f534a12956.js +1 -0
  367. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-559ec0f534a12956.js +1 -0
  368. package/.next/standalone/.next/static/chunks/app/api/comments/route-559ec0f534a12956.js +1 -0
  369. package/.next/standalone/.next/static/chunks/app/api/daemon/connection-heartbeat/route-559ec0f534a12956.js +1 -0
  370. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-559ec0f534a12956.js +1 -0
  371. package/.next/standalone/.next/static/chunks/app/api/daemon/directory-request/report/route-559ec0f534a12956.js +1 -0
  372. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-559ec0f534a12956.js +1 -0
  373. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-559ec0f534a12956.js +1 -0
  374. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-559ec0f534a12956.js +1 -0
  375. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-559ec0f534a12956.js +1 -0
  376. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-559ec0f534a12956.js +1 -0
  377. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-559ec0f534a12956.js +1 -0
  378. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-559ec0f534a12956.js +1 -0
  379. package/.next/standalone/.next/static/chunks/app/api/daemon-directory-requests/[uuid]/route-559ec0f534a12956.js +1 -0
  380. package/.next/standalone/.next/static/chunks/app/api/daemon-directory-requests/route-559ec0f534a12956.js +1 -0
  381. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-559ec0f534a12956.js +1 -0
  382. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-559ec0f534a12956.js +1 -0
  383. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-559ec0f534a12956.js +1 -0
  384. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-559ec0f534a12956.js +1 -0
  385. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-559ec0f534a12956.js +1 -0
  386. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-559ec0f534a12956.js +1 -0
  387. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-559ec0f534a12956.js +1 -0
  388. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-559ec0f534a12956.js +1 -0
  389. package/.next/standalone/.next/static/chunks/app/api/events/route-559ec0f534a12956.js +1 -0
  390. package/.next/standalone/.next/static/chunks/app/api/health/route-559ec0f534a12956.js +1 -0
  391. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-559ec0f534a12956.js +1 -0
  392. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-559ec0f534a12956.js +1 -0
  393. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-559ec0f534a12956.js +1 -0
  394. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-559ec0f534a12956.js +1 -0
  395. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-559ec0f534a12956.js +1 -0
  396. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-559ec0f534a12956.js +1 -0
  397. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/wake-preview/route-559ec0f534a12956.js +1 -0
  398. package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-559ec0f534a12956.js +1 -0
  399. package/.next/standalone/.next/static/chunks/app/api/mcp/route-559ec0f534a12956.js +1 -0
  400. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-559ec0f534a12956.js +1 -0
  401. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-559ec0f534a12956.js +1 -0
  402. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-559ec0f534a12956.js +1 -0
  403. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-559ec0f534a12956.js +1 -0
  404. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-559ec0f534a12956.js +1 -0
  405. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-559ec0f534a12956.js +1 -0
  406. package/.next/standalone/.next/static/chunks/app/api/notifications/route-559ec0f534a12956.js +1 -0
  407. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-559ec0f534a12956.js +1 -0
  408. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-559ec0f534a12956.js +1 -0
  409. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-559ec0f534a12956.js +1 -0
  410. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-559ec0f534a12956.js +1 -0
  411. package/.next/standalone/.next/static/chunks/app/api/project-visits/pin/route-559ec0f534a12956.js +1 -0
  412. package/.next/standalone/.next/static/chunks/app/api/project-visits/route-559ec0f534a12956.js +1 -0
  413. package/.next/standalone/.next/static/chunks/app/api/project-visits/visit/route-559ec0f534a12956.js +1 -0
  414. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-559ec0f534a12956.js +1 -0
  415. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/agent-cwds/route-559ec0f534a12956.js +1 -0
  416. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-559ec0f534a12956.js +1 -0
  417. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-559ec0f534a12956.js +1 -0
  418. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-559ec0f534a12956.js +1 -0
  419. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-559ec0f534a12956.js +1 -0
  420. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-559ec0f534a12956.js +1 -0
  421. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-559ec0f534a12956.js +1 -0
  422. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-559ec0f534a12956.js +1 -0
  423. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-559ec0f534a12956.js +1 -0
  424. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-559ec0f534a12956.js +1 -0
  425. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-559ec0f534a12956.js +1 -0
  426. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-559ec0f534a12956.js +1 -0
  427. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-559ec0f534a12956.js +1 -0
  428. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-559ec0f534a12956.js +1 -0
  429. package/.next/standalone/.next/static/chunks/app/api/projects/agent-cwd-options/route-559ec0f534a12956.js +1 -0
  430. package/.next/standalone/.next/static/chunks/app/api/projects/route-559ec0f534a12956.js +1 -0
  431. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-559ec0f534a12956.js +1 -0
  432. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-559ec0f534a12956.js +1 -0
  433. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-559ec0f534a12956.js +1 -0
  434. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-559ec0f534a12956.js +1 -0
  435. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-559ec0f534a12956.js +1 -0
  436. package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-559ec0f534a12956.js +1 -0
  437. package/.next/standalone/.next/static/chunks/app/api/references/route-559ec0f534a12956.js +1 -0
  438. package/.next/standalone/.next/static/chunks/app/api/search/route-559ec0f534a12956.js +1 -0
  439. package/.next/standalone/.next/static/chunks/app/api/session/route-559ec0f534a12956.js +1 -0
  440. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-559ec0f534a12956.js +1 -0
  441. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-559ec0f534a12956.js +1 -0
  442. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-559ec0f534a12956.js +1 -0
  443. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-559ec0f534a12956.js +1 -0
  444. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-559ec0f534a12956.js +1 -0
  445. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-559ec0f534a12956.js +1 -0
  446. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-559ec0f534a12956.js +1 -0
  447. package/.next/standalone/.next/static/chunks/app/onboarding/page-df7c97cefb508201.js +1 -0
  448. package/.next/standalone/.next/static/chunks/{webpack-af2cb28ef7bbd7c2.js → webpack-84e2db1b2418c974.js} +1 -1
  449. package/.next/standalone/.next/static/css/ef995b001437e3ef.css +1 -0
  450. package/.next/standalone/.next/static/oHZy43Le4b2I7pg7_cQ0Z/_buildManifest.js +1 -0
  451. package/.next/standalone/package.json +1 -1
  452. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  453. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  454. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +1 -1
  455. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  456. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
  457. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  458. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  459. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  460. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  461. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
  462. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
  463. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +1 -1
  464. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +1 -1
  465. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +1 -1
  466. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +1 -1
  467. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
  468. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
  469. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +1 -1
  470. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
  471. package/README.ja.md +2 -0
  472. package/README.ko.md +2 -0
  473. package/README.md +3 -0
  474. package/README.zh.md +2 -0
  475. package/cli/client-args.mjs +8 -0
  476. package/cli/codex-spawner.mjs +5 -5
  477. package/cli/control-handler.mjs +31 -2
  478. package/cli/daemon-config.mjs +35 -0
  479. package/cli/daemon-install-config.mjs +26 -0
  480. package/cli/daemon-rest-client.mjs +27 -2
  481. package/cli/daemon.mjs +110 -20
  482. package/cli/directory-discovery.mjs +184 -0
  483. package/cli/event-router.mjs +12 -4
  484. package/cli/turn-reporter.mjs +11 -3
  485. package/cli/waker.mjs +35 -8
  486. package/package.json +1 -1
  487. package/prisma/migrations/20260731093000_add_daemon_backend_session_id/migration.sql +1 -0
  488. package/prisma/migrations/20260801113000_add_project_agent_cwd_discovery/migration.sql +50 -0
  489. package/prisma/migrations/20260802140000_add_assignment_runtime_cwd_snapshot/migration.sql +7 -0
  490. package/prisma/schema.prisma +134 -60
  491. package/.next/standalone/.next/server/chunks/2004.js +0 -1
  492. package/.next/standalone/.next/server/chunks/2112.js +0 -1
  493. package/.next/standalone/.next/server/chunks/3219.js +0 -2
  494. package/.next/standalone/.next/static/chunks/11595.c580c5690d176cce.js +0 -1
  495. package/.next/standalone/.next/static/chunks/14160-7bcee6e9e8bc5233.js +0 -1
  496. package/.next/standalone/.next/static/chunks/15653-31c406c41bf58048.js +0 -1
  497. package/.next/standalone/.next/static/chunks/18351-2a408c4f57ddb3a7.js +0 -1
  498. package/.next/standalone/.next/static/chunks/24870-5b0be64361f5ef70.js +0 -1
  499. package/.next/standalone/.next/static/chunks/26232-110019cebde19691.js +0 -1
  500. package/.next/standalone/.next/static/chunks/33806-cb339e86820a87c4.js +0 -1
  501. package/.next/standalone/.next/static/chunks/37035-514bbb31cd13bda1.js +0 -1
  502. package/.next/standalone/.next/static/chunks/37938-c09acf52d7f85cb4.js +0 -1
  503. package/.next/standalone/.next/static/chunks/39479-5af3460208d8cc56.js +0 -1
  504. package/.next/standalone/.next/static/chunks/4860.baf6a285246198af.js +0 -1
  505. package/.next/standalone/.next/static/chunks/60178-d6276df1c07d7735.js +0 -10
  506. package/.next/standalone/.next/static/chunks/68326-924445654ed47e6f.js +0 -1
  507. package/.next/standalone/.next/static/chunks/78917-1498676a1ffe5ded.js +0 -1
  508. package/.next/standalone/.next/static/chunks/94470-1076452151689267.js +0 -1
  509. package/.next/standalone/.next/static/chunks/94643-7c7f2efab0640658.js +0 -1
  510. package/.next/standalone/.next/static/chunks/99373.ad871bd0bbfc5eb7.js +0 -1
  511. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-78259279cf6c6919.js +0 -1
  512. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-2af5f2f159c8e32b.js +0 -1
  513. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-8cf720e8efb6ac7d.js +0 -1
  514. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-59dcf0ba7ce877ec.js +0 -1
  515. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-af35d50848f01875.js +0 -1
  516. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-cb6fdf592863833c.js +0 -1
  517. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-e60bc39bf2957f77.js +0 -1
  518. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  519. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-8cf720e8efb6ac7d.js +0 -1
  520. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-8cf720e8efb6ac7d.js +0 -1
  521. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-8cf720e8efb6ac7d.js +0 -1
  522. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-8cf720e8efb6ac7d.js +0 -1
  523. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  524. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-8cf720e8efb6ac7d.js +0 -1
  525. package/.next/standalone/.next/static/chunks/app/api/agents/route-8cf720e8efb6ac7d.js +0 -1
  526. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  527. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-8cf720e8efb6ac7d.js +0 -1
  528. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-8cf720e8efb6ac7d.js +0 -1
  529. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-8cf720e8efb6ac7d.js +0 -1
  530. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-8cf720e8efb6ac7d.js +0 -1
  531. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-8cf720e8efb6ac7d.js +0 -1
  532. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-8cf720e8efb6ac7d.js +0 -1
  533. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-8cf720e8efb6ac7d.js +0 -1
  534. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-8cf720e8efb6ac7d.js +0 -1
  535. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-8cf720e8efb6ac7d.js +0 -1
  536. package/.next/standalone/.next/static/chunks/app/api/comments/route-8cf720e8efb6ac7d.js +0 -1
  537. package/.next/standalone/.next/static/chunks/app/api/daemon/connection-heartbeat/route-8cf720e8efb6ac7d.js +0 -1
  538. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-8cf720e8efb6ac7d.js +0 -1
  539. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-8cf720e8efb6ac7d.js +0 -1
  540. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-8cf720e8efb6ac7d.js +0 -1
  541. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-8cf720e8efb6ac7d.js +0 -1
  542. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-8cf720e8efb6ac7d.js +0 -1
  543. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-8cf720e8efb6ac7d.js +0 -1
  544. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-8cf720e8efb6ac7d.js +0 -1
  545. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-8cf720e8efb6ac7d.js +0 -1
  546. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-8cf720e8efb6ac7d.js +0 -1
  547. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-8cf720e8efb6ac7d.js +0 -1
  548. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-8cf720e8efb6ac7d.js +0 -1
  549. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-8cf720e8efb6ac7d.js +0 -1
  550. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-8cf720e8efb6ac7d.js +0 -1
  551. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  552. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-8cf720e8efb6ac7d.js +0 -1
  553. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-8cf720e8efb6ac7d.js +0 -1
  554. package/.next/standalone/.next/static/chunks/app/api/events/route-8cf720e8efb6ac7d.js +0 -1
  555. package/.next/standalone/.next/static/chunks/app/api/health/route-8cf720e8efb6ac7d.js +0 -1
  556. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-8cf720e8efb6ac7d.js +0 -1
  557. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-8cf720e8efb6ac7d.js +0 -1
  558. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-8cf720e8efb6ac7d.js +0 -1
  559. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-8cf720e8efb6ac7d.js +0 -1
  560. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-8cf720e8efb6ac7d.js +0 -1
  561. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  562. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/wake-preview/route-8cf720e8efb6ac7d.js +0 -1
  563. package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-8cf720e8efb6ac7d.js +0 -1
  564. package/.next/standalone/.next/static/chunks/app/api/mcp/route-8cf720e8efb6ac7d.js +0 -1
  565. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-8cf720e8efb6ac7d.js +0 -1
  566. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-8cf720e8efb6ac7d.js +0 -1
  567. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-8cf720e8efb6ac7d.js +0 -1
  568. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-8cf720e8efb6ac7d.js +0 -1
  569. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-8cf720e8efb6ac7d.js +0 -1
  570. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-8cf720e8efb6ac7d.js +0 -1
  571. package/.next/standalone/.next/static/chunks/app/api/notifications/route-8cf720e8efb6ac7d.js +0 -1
  572. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-8cf720e8efb6ac7d.js +0 -1
  573. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-8cf720e8efb6ac7d.js +0 -1
  574. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  575. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-8cf720e8efb6ac7d.js +0 -1
  576. package/.next/standalone/.next/static/chunks/app/api/project-visits/pin/route-8cf720e8efb6ac7d.js +0 -1
  577. package/.next/standalone/.next/static/chunks/app/api/project-visits/route-8cf720e8efb6ac7d.js +0 -1
  578. package/.next/standalone/.next/static/chunks/app/api/project-visits/visit/route-8cf720e8efb6ac7d.js +0 -1
  579. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-8cf720e8efb6ac7d.js +0 -1
  580. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-8cf720e8efb6ac7d.js +0 -1
  581. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-8cf720e8efb6ac7d.js +0 -1
  582. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-8cf720e8efb6ac7d.js +0 -1
  583. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-8cf720e8efb6ac7d.js +0 -1
  584. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-8cf720e8efb6ac7d.js +0 -1
  585. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-8cf720e8efb6ac7d.js +0 -1
  586. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-8cf720e8efb6ac7d.js +0 -1
  587. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-8cf720e8efb6ac7d.js +0 -1
  588. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-8cf720e8efb6ac7d.js +0 -1
  589. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  590. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-8cf720e8efb6ac7d.js +0 -1
  591. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-8cf720e8efb6ac7d.js +0 -1
  592. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-8cf720e8efb6ac7d.js +0 -1
  593. package/.next/standalone/.next/static/chunks/app/api/projects/route-8cf720e8efb6ac7d.js +0 -1
  594. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-8cf720e8efb6ac7d.js +0 -1
  595. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-8cf720e8efb6ac7d.js +0 -1
  596. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-8cf720e8efb6ac7d.js +0 -1
  597. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-8cf720e8efb6ac7d.js +0 -1
  598. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  599. package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  600. package/.next/standalone/.next/static/chunks/app/api/references/route-8cf720e8efb6ac7d.js +0 -1
  601. package/.next/standalone/.next/static/chunks/app/api/search/route-8cf720e8efb6ac7d.js +0 -1
  602. package/.next/standalone/.next/static/chunks/app/api/session/route-8cf720e8efb6ac7d.js +0 -1
  603. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  604. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-8cf720e8efb6ac7d.js +0 -1
  605. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-8cf720e8efb6ac7d.js +0 -1
  606. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-8cf720e8efb6ac7d.js +0 -1
  607. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-8cf720e8efb6ac7d.js +0 -1
  608. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-8cf720e8efb6ac7d.js +0 -1
  609. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-8cf720e8efb6ac7d.js +0 -1
  610. package/.next/standalone/.next/static/chunks/app/onboarding/page-006bf9e9d6a991f1.js +0 -1
  611. package/.next/standalone/.next/static/css/f46eab37c942ff33.css +0 -1
  612. package/.next/standalone/.next/static/t-ZaS6bNyv62NUlewVISp/_buildManifest.js +0 -1
  613. /package/.next/standalone/.next/static/{t-ZaS6bNyv62NUlewVISp → oHZy43Le4b2I7pg7_cQ0Z}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69305],{5877:(e,t,a)=>{Promise.resolve().then(a.bind(a,40890))},14554:(e,t,a)=>{"use strict";a.d(t,{p:()=>n});var r=a(90508);a(1856);var s=a(24377);function n(e){let{className:t,type:a,...n}=e;return(0,r.jsx)("input",{type:a,"data-slot":"input",className:(0,s.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),...n})}},15272:(e,t,a)=>{var r={"./en.json":[99373,99373],"./ja.json":[11595,11595],"./ko.json":[33456,33456],"./zh.json":[4860,4860]};function s(e){if(!a.o(r,e))return Promise.resolve().then(()=>{var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=r[e],s=t[0];return a.e(t[1]).then(()=>a.t(s,19))}s.keys=()=>Object.keys(r),s.id=15272,e.exports=s},25359:(e,t,a)=>{"use strict";a.d(t,{AL:()=>o,IB:()=>r,L$:()=>n,q:()=>s});let r=["en","zh","ko","ja"],s="en",n={en:"English",zh:"中文",ko:"한국어",ja:"日本語"};function o(){if("undefined"==typeof navigator)return s;let e=navigator.language.split("-")[0];return r.includes(e)?e:s}},32277:(e,t,a)=>{"use strict";a.d(t,{LocaleProvider:()=>u,Y:()=>d});var r=a(90508),s=a(1856),n=a(57472),o=a(25359),i=a(67712);let l="chorus-locale",c=(0,s.createContext)(null);function d(){let e=(0,s.useContext)(c);if(!e)throw Error("useLocale must be used within LocaleProvider");return e}function u(e){let{children:t}=e,[d,u]=(0,s.useState)(o.q),[m,x]=(0,s.useState)(null),[p,f]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e,t=localStorage.getItem(l);t&&o.IB.includes(t)?e=t:(e=(0,o.AL)(),localStorage.setItem(l,e)),u(e),document.cookie="chorus-locale=".concat(e,";path=/;max-age=").concat(31536e3,";SameSite=Lax"),f(!0)},[]),(0,s.useEffect)(()=>{p&&a(15272)("./".concat(d,".json")).then(e=>{x(e.default)}).catch(e=>{i.q.error("Failed to load messages for locale ".concat(d,":"),e),a(15272)("./".concat(o.q,".json")).then(e=>{x(e.default)})})},[d,p]);let h=(0,s.useCallback)(e=>{u(e),localStorage.setItem(l,e),document.cookie="chorus-locale=".concat(e,";path=/;max-age=").concat(31536e3,";SameSite=Lax"),document.documentElement.lang=e},[]);return p&&m?(0,r.jsx)(c.Provider,{value:{locale:d,setLocale:h},children:(0,r.jsx)(n.A,{locale:d,messages:m,children:t})}):null}},38280:(e,t,a)=>{"use strict";a.d(t,{Dj:()=>s,gl:()=>n,sB:()=>o});let r=[{bg:"#F5C4B3",text:"#712B13",darkBg:"#4a2a1e",darkText:"#F5C4B3"},{bg:"#FAC775",text:"#633806",darkBg:"#4a3a1a",darkText:"#FAD79B"},{bg:"#CECBF6",text:"#3C3489",darkBg:"#2f2c52",darkText:"#CECBF6"},{bg:"#B5D4F4",text:"#0C447C",darkBg:"#1e3450",darkText:"#B5D4F4"},{bg:"#C0DD97",text:"#27500A",darkBg:"#2c3d1c",darkText:"#C0DD97"},{bg:"#9FE1CB",text:"#085041",darkBg:"#183d34",darkText:"#9FE1CB"},{bg:"#F4C0D1",text:"#72243E",darkBg:"#48242f",darkText:"#F4C0D1"},{bg:"#FADBB5",text:"#6B3A10",darkBg:"#463421",darkText:"#FADBB5"}];function s(e){let t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[1][0]).toUpperCase():e.slice(0,2).toUpperCase()}function n(e){let t=0;for(let a=0;a<e.length;a++)t=e.charCodeAt(a)+((t<<5)-t);return r[Math.abs(t)%r.length]}function o(e){return{"--icon-bg":e.bg,"--icon-text":e.text,"--icon-bg-dark":e.darkBg,"--icon-text-dark":e.darkText}}},39674:(e,t,a)=>{"use strict";a.d(t,{Xi:()=>l,av:()=>c,j7:()=>i,tU:()=>o});var r=a(90508);a(1856);var s=a(79834),n=a(24377);function o(e){let{className:t,...a}=e;return(0,r.jsx)(s.Root,{"data-slot":"tabs",className:(0,n.cn)("flex flex-col gap-2",t),...a})}function i(e){let{className:t,...a}=e;return(0,r.jsx)(s.List,{"data-slot":"tabs-list",className:(0,n.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",t),...a})}function l(e){let{className:t,...a}=e;return(0,r.jsx)(s.Trigger,{"data-slot":"tabs-trigger",className:(0,n.cn)("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...a})}function c(e){let{className:t,...a}=e;return(0,r.jsx)(s.Content,{"data-slot":"tabs-content",className:(0,n.cn)("flex-1 outline-none",t),...a})}},40890:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>eY});var r=a(90508),s=a(1856),n=a(23675),o=a(91814),i=a(39268),l=a(12790),c=a.n(l),d=a(22922),u=a(32239),m=a(56770),x=a(50609),p=a(23217),f=a(20094),h=a(97645),g=a(94152),j=a(70633),b=a(17730),v=a(52309),y=a(90683),w=a(9111),k=a(62990),N=a(97438),C=a(67712);let A=[{cx:54,cy:135,topY:117},{cx:96,cy:114,topY:96},{cx:120,cy:118,topY:108},{cx:155,cy:115,topY:105},{cx:146,cy:148,topY:130},{cx:95,cy:149,topY:138},{cx:133,cy:168,topY:158}],E=Array.from({length:7},(e,t)=>t).sort((e,t)=>A[e].topY-A[t].topY),S={bulb:2e3,document:1500,stars:2500,flash:400},F=function(){let e={floor:"floor.png"};for(let t=0;t<7;t++)e["char".concat(t,"-frame1")]="char".concat(t,"-frame1.png"),e["char".concat(t,"-frame2")]="char".concat(t,"-frame2.png");return e}();function P(e){let{slots:t,projectName:a,agentCount:n,collapsed:o=!1,effects:i,onEffectsConsumed:l}=e,c=(0,s.useRef)(null),d=(0,s.useRef)({}),u=(0,s.useRef)(!1),m=(0,s.useRef)(0),x=(0,s.useRef)(0),p=(0,s.useRef)(0),f=(0,s.useRef)(Array.from({length:7},()=>({state:"empty",cycleIndex:0,frameTicks:0,ticksPerFrame:1,stateTimer:0}))),h=(0,s.useRef)(t),g=(0,s.useRef)(a),j=(0,s.useRef)(n),b=(0,s.useRef)(o),v=(0,s.useRef)([]);(0,s.useEffect)(()=>{h.current=t;for(let r=0;r<7;r++){var e,a;let s=null!=(a=null==(e=t[r])?void 0:e.state)?a:"empty",n=f.current[r];n.state!==s&&(n.state=s,n.cycleIndex=0,n.frameTicks=0,n.stateTimer=0)}},[t]),(0,s.useEffect)(()=>{g.current=a},[a]),(0,s.useEffect)(()=>{j.current=n},[n]),(0,s.useEffect)(()=>{b.current=o},[o]),(0,s.useEffect)(()=>{i&&0!==i.length&&(i.forEach(e=>{var t;v.current.push({type:e.type,slotIndex:null!=(t=e.slotIndex)?t:0,elapsed:0,duration:S[e.type]})}),null==l||l())},[i,l]);let y=(0,s.useCallback)(e=>{e.fillStyle="#d0d0e0",e.fillRect(0,0,256,16),e.fillStyle="#e4e4f0",e.fillRect(0,0,256,1),e.fillStyle="#9999aa",e.fillRect(0,15,256,1),e.font="bold 7px monospace",e.textBaseline="middle",e.fillStyle="#333",e.textAlign="left";let t=g.current,a=t.length>20?t.slice(0,18)+"..":t;e.fillText(a,6,8),e.textAlign="right",e.fillStyle="#336";let r=j.current;e.fillText("".concat(r," agent").concat(1!==r?"s":""),250,8),e.textAlign="start",e.textBaseline="alphabetic"},[]),w=(0,s.useCallback)((e,t)=>{let a=h.current[t];if(!(null==a?void 0:a.sessionName))return;let r=A[t];e.font="5px monospace",e.textAlign="center",e.textBaseline="bottom";let s=a.sessionName.length>12?a.sessionName.slice(0,10)+"..":a.sessionName,n=e.measureText(s).width,o=r.cx,i=r.topY-4;e.fillStyle="rgba(0,0,0,0.55)",e.fillRect(o-n/2-2,i-6,n+4,7),e.fillStyle="#fff",e.fillText(s,o,i),e.textAlign="start",e.textBaseline="alphabetic"},[]),k=(0,s.useCallback)(e=>{for(let t of v.current){let a=t.elapsed/t.duration,r=A[t.slotIndex]||A[0];switch(t.type){case"bulb":{let t=a<.1?a/.1:a>.8?(1-a)/.2:1,s=r.cx,n=r.topY-14-2*Math.sin(a*Math.PI*4);e.fillStyle="rgba(255, 220, 50, ".concat(.3*t,")"),e.beginPath(),e.arc(s,n,8,0,2*Math.PI),e.fill(),e.fillStyle="rgba(255, 230, 80, ".concat(t,")"),e.beginPath(),e.arc(s,n,4,0,2*Math.PI),e.fill(),e.fillStyle="rgba(255, 255, 200, ".concat(t,")"),e.fillRect(s-1,n-1,2,2),e.fillStyle="rgba(180, 180, 180, ".concat(t,")"),e.fillRect(s-2,n+3,4,2);break}case"document":{let t=256+(r.cx-256)*Math.min(2*a,1),s=r.topY-10+-15*Math.sin(a*Math.PI);e.globalAlpha=a>.8?(1-a)/.2:1,e.fillStyle="#f8f8f0",e.fillRect(t,s,8,10),e.strokeStyle="#aaa",e.lineWidth=.5,e.strokeRect(t,s,8,10),e.fillStyle="#ccc",e.fillRect(t+1.5,s+2,5,1),e.fillRect(t+1.5,s+4,4,1),e.fillRect(t+1.5,s+6,5,1),e.globalAlpha=1;break}case"stars":{let t=a>.7?(1-a)/.3:1,s=r.cx,n=r.cy;for(let r=0;r<8;r++){let o=r/8*Math.PI*2+a*Math.PI*3,i=10+15*a,l=s+Math.cos(o)*i,c=n+Math.sin(o)*i,d=["#FFD700","#FF6B6B","#4ECDC4","#A78BFA"];e.fillStyle=d[r%d.length],e.globalAlpha=t*(.5+.5*Math.sin(a*Math.PI*6+r));let u=1.5+.5*Math.sin(a*Math.PI*4+r);e.fillRect(l-u/2,c-u/2,u,u)}e.globalAlpha=1;break}case"flash":{let t=a<.3?a/.3:(1-a)/.7;e.fillStyle="rgba(255, 255, 255, ".concat(.6*t,")"),e.fillRect(0,16,256,240)}}}},[]),N=(0,s.useCallback)((e,t)=>{e.clearRect(0,0,768,768),e.save(),e.scale(3,3);let a=t.floor;for(let r of((null==a?void 0:a.complete)&&a.naturalWidth&&e.drawImage(a,0,0,256,256),E)){let a=f.current[r];if("empty"===a.state)continue;let s="typing"===a.state&&a.cycleIndex%2==1,n=t["char".concat(r,"-frame").concat(s?2:1)];if((null==n?void 0:n.complete)&&n.naturalWidth){"celebrate"===a.state&&(e.save(),e.globalAlpha=.85+.15*Math.sin(Date.now()/200));let t="looking"===a.state?+Math.sin(Date.now()/300):0;0!==t&&(e.save(),e.translate(0,t)),e.drawImage(n,0,0,256,256),0!==t&&e.restore(),"celebrate"===a.state&&e.restore()}w(e,r)}y(e),k(e),e.restore()},[y,w,k]),P=(0,s.useCallback)(e=>{for(let t=0;t<7;t++){let a=f.current[t];"empty"!==a.state&&(a.stateTimer+=e,"celebrate"===a.state&&a.stateTimer>=3e3&&(a.state="idle",a.cycleIndex=0,a.frameTicks=0,a.stateTimer=0),"looking"===a.state&&a.stateTimer>=1500&&(a.state="idle",a.cycleIndex=0,a.frameTicks=0,a.stateTimer=0),"typing"===a.state&&(a.frameTicks++,a.frameTicks>=a.ticksPerFrame&&(a.frameTicks=0,a.cycleIndex=(a.cycleIndex+1)%2)))}let t=v.current;for(let a=t.length-1;a>=0;a--)t[a].elapsed+=e,t[a].elapsed>=t[a].duration&&t.splice(a,1)},[]),T=(0,s.useCallback)(e=>{if(b.current){m.current=requestAnimationFrame(T),x.current=e;return}let t=e-x.current;x.current=e,p.current+=t;let a=!1;for(;p.current>=10;)p.current-=10,P(10),a=!0;if(a){let e=c.current,t=null==e?void 0:e.getContext("2d");t&&u.current&&N(t,d.current)}m.current=requestAnimationFrame(T)},[P,N]);return(0,s.useEffect)(()=>{let e=!1;return new Promise(e=>{let t={},a=Object.entries(F),r=0,s=a.length;a.forEach(a=>{let[n,o]=a,i=new Image;i.onload=()=>{++r===s&&e(t)},i.onerror=()=>{C.q.warn("Failed to load sprite:",n,o),++r===s&&e(t)},i.src="".concat("/sprites/").concat(o),t[n]=i})}).then(t=>{if(e)return;d.current=t,u.current=!0;let a=c.current,r=null==a?void 0:a.getContext("2d");r&&(r.imageSmoothingEnabled=!1,N(r,t)),x.current=performance.now(),m.current=requestAnimationFrame(T)}),()=>{e=!0,m.current&&cancelAnimationFrame(m.current)}},[N,T]),(0,r.jsx)("canvas",{ref:c,width:768,height:768,className:"w-full",style:{imageRendering:"pixelated",aspectRatio:"1 / 1"}})}var T=a(52217);let R=(0,T.createServerReference)("40e86d050039a5b4bcf337033323019ea0a057684c",T.callServer,void 0,T.findSourceMapURL,"getProjectActiveSessionsAction");var _=a(63964);let D=(0,s.createContext)(null);function I(e){let{children:t}=e,[a,n]=(0,s.useState)(!1),[o,i]=(0,s.useState)(!1),l=(0,s.useMemo)(()=>({open:a,setOpen:n,available:o,setAvailable:i}),[a,o]);return(0,r.jsx)(D.Provider,{value:l,children:t})}function B(e){let{projectUuid:t,projectName:a}=e,n=(0,i.c)("pixelCanvas"),{open:o,setOpen:l,setAvailable:c}=function(){let e=(0,s.useContext)(D);if(!e)throw Error("usePixelActivity must be used within a PixelActivityProvider");return e}(),[d,u]=(0,s.useState)(Array.from({length:7},()=>({state:"empty"}))),[m,x]=(0,s.useState)(0),[p,f]=(0,s.useState)([]);(0,s.useEffect)(()=>(c(!0),()=>{c(!1),l(!1)}),[c,l]);let h=(0,s.useCallback)(async()=>{let e=await R(t);if(!e.success||!e.data)return;let a=e.data;u(Array.from({length:7},(e,t)=>{let r=a[t];return r?{state:"typing",sessionName:r.sessionName}:{state:"empty"}})),x(a.length)},[t]);(0,_.l9)(h);let g=(0,s.useCallback)(()=>{f([])},[]);return(0,r.jsx)(N.lG,{open:o,onOpenChange:l,children:(0,r.jsxs)(N.Cf,{className:"sm:max-w-2xl p-4",children:[(0,r.jsxs)(N.L3,{className:"text-sm",children:[a," — ",n("title")]}),(0,r.jsx)(N.rr,{className:"sr-only",children:n("title")}),(0,r.jsx)("div",{className:"overflow-hidden rounded-lg border border-border",children:(0,r.jsx)(P,{slots:d,projectName:a,agentCount:m,collapsed:!o,effects:p,onEffectsConsumed:g})})]})})}var U=a(59208),M=a(16349),O=a(6748),z=a(18789),L=a(17001),q=a(94643),$=a(72530);let Y={online:"border-[#E7E1D7] dark:border-[#2a2a2e] bg-card hover:bg-[#FBF4EF] dark:hover:bg-[#26241f] hover:border-[#E2D6C9] dark:hover:border-[#3a3a40]",idle:"border-[#EAE5DC] dark:border-[#2a2a2e] bg-card hover:bg-[#F6F2EC] dark:hover:bg-[#26241f]",loading:"border-[#EAE5DC] dark:border-[#2a2a2e] bg-card",error:"border-[#EBD9C4] dark:border-[#3a2f1a] bg-[#FFF9F2] dark:bg-[#2a2113] hover:bg-[#FEF3E4] dark:hover:bg-[#332a17]"};function H(){let e,t=(0,i.c)("agentPresence"),{status:a,onlineCount:n,connections:o,executionsByConnection:l,setModalOpen:c}=(0,U.$d)(),u=(0,s.useContext)(D),m=(0,$.wo)(a,n);if("error"===a)e=(0,r.jsx)("span",{className:"truncate text-[12px] font-medium text-[#B45309] dark:text-[#E0A34E]",children:t("unavailable")});else if("loading"===a)e=(0,r.jsx)("span",{className:"truncate text-[12px] text-muted-foreground/70",children:t("loading")});else{let a=n>0?"text-[#15803D] dark:text-[#4FD07A]":"text-foreground/80";e=(0,r.jsxs)("span",{className:"flex min-w-0 items-baseline gap-1.5 truncate text-[12px]",children:[(0,r.jsx)("span",{className:"text-[15px] font-semibold leading-none tabular-nums ".concat(a),children:n}),(0,r.jsx)("span",{className:"truncate text-muted-foreground",children:t("onlineUnit",{count:n})})]})}let x=(0,q.Jk)((0,q.fb)(o,l),l).filter(e=>e.onlineCount>0);return(0,r.jsx)("div",{className:"fixed bottom-4 right-4 md:bottom-6 md:right-6 z-40",children:(0,r.jsxs)(L.AM,{children:[(0,r.jsx)(L.Wv,{asChild:!0,children:(0,r.jsxs)(d.$,{variant:"ghost","aria-label":t("pillAria"),className:"group relative h-auto gap-2 rounded-full border px-4 py-2.5 shadow-lg transition-all hover:shadow-xl ".concat(Y[m]),children:[(0,r.jsx)($.No,{state:m}),(0,r.jsx)(O.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),e]})}),(0,r.jsx)(L.hl,{align:"end",side:"top",sideOffset:8,className:"max-h-[70vh] w-[min(92vw,400px)] overflow-y-auto p-3",children:(0,r.jsx)(G,{groups:x,executionsByConnection:l,onOpenChat:()=>c(!0),extraActions:(null==u?void 0:u.available)?(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",onClick:()=>u.setOpen(!0),className:"w-full justify-center gap-2 text-[12px] font-medium text-muted-foreground hover:text-foreground",children:[(0,r.jsx)(z.A,{className:"h-3.5 w-3.5"}),t("openPixelWorkspace")]}):void 0})})]})})}function G(e){let{groups:t,executionsByConnection:a,onOpenChat:s,extraActions:n}=e,o=(0,i.c)("agentPresence"),l=(0,q.le)();return(0,r.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,r.jsx)("div",{className:"flex items-center justify-between",children:(0,r.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-wide text-muted-foreground",children:o("popoverTitle")})}),(0,r.jsxs)(d.$,{size:"sm",onClick:s,className:"w-full justify-center gap-2 text-[12px] font-medium",children:[(0,r.jsx)(O.A,{className:"h-3.5 w-3.5"}),o("openChat")]}),(0,r.jsx)($.HM,{groups:t,executionsByConnection:a,nowMs:l}),n]})}var W=a(62926),K=a(67587),V=a(11966),J=a(42533),Q=a(1861),X=a(43057),Z=a(83553),ee=a(95886),et=a(11080);let ea=(0,s.createContext)(null),er=new Set(["agent_checkin"]);function es(e){let{children:t}=e,[a,n]=(0,s.useState)(0),l=(0,s.useRef)(new Set),c=(0,o.r)(),d=(0,i.c)("notifications"),u=(0,s.useCallback)(()=>{l.current.forEach(e=>e())},[]),m=(0,s.useCallback)(async()=>{try{let e=await (0,k.tm)("/api/notifications?readFilter=unread&take=0");if(e.ok){let t=await e.json();t.success&&n(t.data.unreadCount)}}catch(e){}},[]),x=(0,s.useCallback)(()=>{m(),u()},[m,u]),p=(0,s.useCallback)(e=>{if(!e.action||er.has(e.action)||!e.entityTitle||!e.actorName)return;let t=d("types.".concat(e.action)),a=e.entityTitle,s="".concat(e.actorName," \xb7 ").concat(t);(0,K.oR)(a,{description:s,icon:function(e){switch(e){case"task_assigned":case"idea_claimed":return(0,r.jsx)(V.A,{className:"h-4 w-4 text-[#C67A52]"});case"proposal_approved":case"task_verified":return(0,r.jsx)(J.A,{className:"h-4 w-4 text-green-600"});case"proposal_rejected":case"task_reopened":return(0,r.jsx)(Q.A,{className:"h-4 w-4 text-red-500"});case"comment_added":return(0,r.jsx)(X.A,{className:"h-4 w-4 text-orange-500"});case"mentioned":return(0,r.jsx)(Z.A,{className:"h-4 w-4 text-blue-600"});case"proposal_submitted":return(0,r.jsx)(ee.A,{className:"h-4 w-4 text-blue-500"});case"task_status_changed":return(0,r.jsx)(et.A,{className:"h-4 w-4 text-blue-500"});default:return(0,r.jsx)(ee.A,{className:"h-4 w-4 text-muted-foreground"})}}(e.action),duration:5e3,action:e.entityType&&e.entityUuid&&e.projectUuid?{label:d("viewDetail"),onClick:()=>c.push(function(e,t,a){let r="/projects/".concat(a);switch(e){case"task":return"".concat(r,"/tasks/").concat(t);case"idea":return"".concat(r,"/dashboard?panel=").concat(t);case"proposal":return"".concat(r,"/proposals/").concat(t);case"document":return"".concat(r,"/documents/").concat(t);default:return r}}(e.entityType,e.entityUuid,e.projectUuid))}:void 0})},[d,c]);(0,s.useEffect)(()=>{let e,t=null;function a(){r(),(t=new EventSource("/api/events/notifications")).onmessage=t=>{try{let e=JSON.parse(t.data);"number"==typeof e.unreadCount&&n(e.unreadCount),"new_notification"===e.type&&p(e)}catch(e){}clearTimeout(e),e=setTimeout(u,300)},t.onerror=()=>{}}function r(){t&&(t.close(),t=null)}function s(){"visible"===document.visibilityState?(a(),m()):r()}return a(),m(),document.addEventListener("visibilitychange",s),()=>{r(),clearTimeout(e),document.removeEventListener("visibilitychange",s)}},[m,u,p]);let f=(0,s.useMemo)(()=>({unreadCount:a,refreshNotifications:x}),[a,x]);return(0,r.jsx)(ea.Provider,{value:f,children:t})}function en(){let e=(0,s.useContext)(ea);return e||{unreadCount:0,refreshNotifications:()=>{}}}var eo=a(75579),ei=a(79363),el=a(90031),ec=a(9160),ed=a(78948),eu=a(66343);let em="chorus_sidebar_quick_access_expanded";var ex=a(38280);function ep(e){let{project:t,pinnedRow:a,mobile:s,onPin:n,onUnpin:o,onRemove:l}=e,u=(0,i.c)(),m=(0,ex.Dj)(t.name),x=(0,ex.gl)(t.name);return(0,r.jsxs)("div",{className:"group relative flex items-center rounded-md transition-colors hover:bg-secondary",children:[(0,r.jsxs)(c(),{href:"/projects/".concat(t.uuid,"/dashboard"),className:"flex min-w-0 flex-1 items-center gap-2 px-2 py-1.5 leading-tight",children:[(0,r.jsx)("span",{className:"project-icon flex shrink-0 items-center justify-center font-bold ".concat(s?"h-6 w-6 rounded-md text-[9px]":"h-5 w-5 rounded text-[8px]"),style:(0,ex.sB)(x),"aria-hidden":"true",children:m}),(0,r.jsxs)("span",{className:"flex min-w-0 flex-col",children:[(0,r.jsx)("span",{className:"truncate text-foreground ".concat(s?"text-[14px]":"text-[13px]"),children:t.name}),t.groupName&&(0,r.jsx)("span",{className:"truncate text-[11px] text-muted-foreground",children:t.groupName})]})]}),a?(0,r.jsx)(d.$,{variant:"ghost",size:"icon",onClick:()=>o(t.uuid),"aria-label":u("quickAccess.unpinProject",{name:t.name}),title:u("quickAccess.unpin"),className:"mr-1 h-6 w-6 shrink-0 text-primary hover:text-primary",children:(0,r.jsx)(ei.A,{className:"h-3.5 w-3.5 fill-current"})}):(0,r.jsxs)(eu.rI,{children:[(0,r.jsx)(eu.ty,{asChild:!0,children:(0,r.jsx)(d.$,{variant:"ghost",size:"icon","aria-label":u("quickAccess.moreActions",{name:t.name}),className:"mr-1 h-6 w-6 shrink-0 text-muted-foreground hover:text-primary data-[state=open]:opacity-100 ".concat(s?"":"opacity-0 focus-visible:opacity-100 group-hover:opacity-100 group-focus-within:opacity-100"),children:(0,r.jsx)(el.A,{className:"h-3.5 w-3.5"})})}),(0,r.jsxs)(eu.SQ,{align:"end",className:"min-w-[10rem]",children:[(0,r.jsxs)(eu._2,{onClick:()=>n(t.uuid),children:[(0,r.jsx)(ei.A,{className:"h-4 w-4"}),u("quickAccess.pinToSidebar")]}),(0,r.jsxs)(eu._2,{onClick:()=>l(t.uuid),children:[(0,r.jsx)(ec.A,{className:"h-4 w-4"}),u("quickAccess.removeFromRecent")]})]})]})]})}function ef(e){let{mobile:t=!1,collapsedInProject:a=!1}=e,n=(0,i.c)(),{pinned:o,recent:l,pin:c,unpin:u,remove:m}=(0,eo.E)(),[x,p]=(0,s.useState)(!1);(0,s.useEffect)(()=>{a&&p(function(){try{let e=window.localStorage.getItem(em);if(null===e)return!1;if("true"===e)return!0;return!1}catch(e){return!1}}())},[a]);let f=l.slice(0,5),h=o.length+f.length>0,g=!a||x;if(!a&&!h)return null;let j=t?"text-[13px]":"text-[11px]";return(0,r.jsxs)("div",{className:"flex flex-col gap-0.5 px-4",children:[a?(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",onClick:()=>{p(e=>{let t=!e;try{window.localStorage.setItem(em,t?"true":"false")}catch(e){}return t})},"aria-expanded":g,className:"w-full justify-start gap-2 px-2 font-medium uppercase tracking-wider text-muted-foreground hover:text-foreground ".concat(j),children:[g?(0,r.jsx)(b.A,{className:"h-3.5 w-3.5 shrink-0"}):(0,r.jsx)(ed.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:n("quickAccess.title")})]}):(0,r.jsx)("div",{className:"px-2 pb-1 font-medium uppercase tracking-wider text-muted-foreground ".concat(j),children:n("quickAccess.title")}),g&&h&&(0,r.jsxs)("div",{className:"flex flex-col gap-0.5",children:[o.map(e=>(0,r.jsx)(ep,{project:e,pinnedRow:!0,mobile:t,onPin:c,onUnpin:u,onRemove:m},e.uuid)),f.map(e=>(0,r.jsx)(ep,{project:e,pinnedRow:!1,mobile:t,onPin:c,onUnpin:u,onRemove:m},e.uuid))]})]})}var eh=a(36557),eg=a(11426),ej=a(16544),eb=a(65626),ev=a(39674),ey=a(64993),ew=a(57731);let ek=[{bg:"bg-amber-100 dark:bg-amber-900/30",text:"text-amber-800 dark:text-amber-300"},{bg:"bg-blue-100 dark:bg-blue-900/30",text:"text-blue-800 dark:text-blue-300"},{bg:"bg-emerald-100 dark:bg-emerald-900/30",text:"text-emerald-800 dark:text-emerald-300"},{bg:"bg-violet-100 dark:bg-violet-900/30",text:"text-violet-800 dark:text-violet-300"},{bg:"bg-rose-100 dark:bg-rose-900/30",text:"text-rose-800 dark:text-rose-300"},{bg:"bg-cyan-100 dark:bg-cyan-900/30",text:"text-cyan-800 dark:text-cyan-300"},{bg:"bg-orange-100 dark:bg-orange-900/30",text:"text-orange-800 dark:text-orange-300"},{bg:"bg-indigo-100 dark:bg-indigo-900/30",text:"text-indigo-800 dark:text-indigo-300"}],eN=new Set(["agent_checkin"]);function eC(e){let{onClose:t}=e,a=(0,i.c)("notifications"),n=(0,o.r)(),{refreshNotifications:l}=en(),u=(0,s.useCallback)(e=>{let t=Date.now()-new Date(e).getTime(),r=Math.floor(t/6e4),s=Math.floor(t/36e5),n=Math.floor(t/864e5);return r<1?a("justNow"):r<60?a("minutesAgo",{count:r}):s<24?a("hoursAgo",{count:s}):a("daysAgo",{count:n})},[a]),[m,x]=(0,s.useState)([]),[p,f]=(0,s.useState)([]),[h,g]=(0,s.useState)(0),[j,b]=(0,s.useState)(0),[v,y]=(0,s.useState)(!0),w=(0,s.useCallback)(async(e,t)=>{let a=new URLSearchParams({limit:"20",offset:String(t)});e&&a.set("unreadOnly","true");let r=await (0,k.tm)("/api/notifications?".concat(a));if(!r.ok)return null;let s=await r.json();return s.success?s.data:null},[]);(0,s.useEffect)(()=>{let e=!1;return async function(){y(!0);let[t,a]=await Promise.all([w(!1,0),w(!0,0)]);e||(t&&(x(t.notifications),g(t.notifications.length<20?t.notifications.length:999)),a&&(f(a.notifications),b(a.unreadCount)),y(!1))}(),()=>{e=!0}},[w]);let N=async()=>{await (0,k.tm)("/api/notifications/read-all",{method:"POST"}),f([]),b(0),x(e=>e.map(e=>e.readAt?e:{...e,readAt:new Date().toISOString()})),l()},C=async e=>{e.readAt||((0,k.tm)("/api/notifications/".concat(e.uuid,"/read"),{method:"PATCH"}),f(t=>t.filter(t=>t.uuid!==e.uuid)),x(t=>t.map(t=>t.uuid===e.uuid?{...t,readAt:new Date().toISOString()}:t)),l()),t(),n.push(function(e){let{action:t,entityType:a,entityUuid:r,projectUuid:s}=e,n="/projects/".concat(s);if("report_created"===t)return"".concat(n,"/dashboard?panel=").concat(r,"&tab=overview");switch(a){case"task":return"".concat(n,"/tasks/").concat(r);case"idea":return"".concat(n,"/dashboard?panel=").concat(r);case"proposal":return"".concat(n,"/proposals/").concat(r);case"document":return"".concat(n,"/documents/").concat(r);default:return n}}(e))},A=async e=>{let t=e?p:m,a=await w(e,t.length);a&&(e?f(e=>[...e,...a.notifications]):x(e=>[...e,...a.notifications]))},E=e=>{let{Icon:t,color:s}=function(e){switch(e){case"task_assigned":case"idea_claimed":return{Icon:V.A,color:"text-primary"};case"proposal_approved":case"task_verified":return{Icon:J.A,color:"text-green-600"};case"proposal_rejected":case"task_reopened":return{Icon:Q.A,color:"text-red-500"};case"comment_added":return{Icon:X.A,color:"text-orange-500"};case"mentioned":return{Icon:Z.A,color:"text-blue-600"};case"proposal_submitted":return{Icon:ee.A,color:"text-blue-500"};case"task_status_changed":return{Icon:et.A,color:"text-blue-500"};case"report_created":return{Icon:eg.A,color:"text-emerald-600"};default:return{Icon:ee.A,color:"text-muted-foreground"}}}(e.action),n=function(e){let t=0;for(let a=0;a<e.length;a++)t=31*t+e.charCodeAt(a)|0;return ek[Math.abs(t)%ek.length]}(e.projectUuid),o=!e.readAt;return(0,r.jsx)(ej.P.div,{variants:eb.Rf,children:(0,r.jsxs)("button",{onClick:()=>C(e),className:"flex w-full gap-3 px-4 py-3 text-left hover:bg-muted/50 transition-colors border-b border-border last:border-b-0",children:[(0,r.jsx)("div",{className:"mt-1.5 flex-shrink-0",children:o?(0,r.jsx)("div",{className:"h-2 w-2 rounded-full bg-primary"}):(0,r.jsx)("div",{className:"h-2 w-2"})}),(0,r.jsx)("div",{className:"mt-0.5 flex-shrink-0",children:(0,r.jsx)(t,{className:"h-4 w-4 ".concat(s)})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)(ew.E,{variant:"secondary",className:"mb-1 block h-auto max-w-full whitespace-normal break-words px-1.5 py-0 text-[10px] font-medium ".concat(n.bg," ").concat(n.text," border-0"),children:e.projectName}),(0,r.jsx)("div",{className:"text-[13px] font-medium text-foreground break-words",children:e.entityTitle}),(0,r.jsx)("div",{className:"text-[12px] text-muted-foreground break-words",children:a("types.".concat(e.action))}),(0,r.jsxs)("div",{className:"mt-0.5 text-[11px] text-muted-foreground break-words",children:[e.actorName," \xb7 ",u(e.createdAt)]})]})]})},e.uuid)},S=(e,t,s)=>{let n=e.filter(e=>!eN.has(e.action));return v?(0,r.jsxs)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:[a("loadMore"),"..."]}):0===n.length?(0,r.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:t?a("noUnread"):a("noNotifications")}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ej.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:.04},children:n.map(E)}),n.length<s&&(0,r.jsx)("div",{className:"p-3 text-center",children:(0,r.jsx)(d.$,{variant:"ghost",size:"sm",className:"text-xs",onClick:()=>A(t),children:a("loadMore")})})]})};return(0,r.jsxs)("div",{className:"w-[calc(100vw-2rem)] max-w-[360px]",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:a("title")}),(0,r.jsx)(d.$,{variant:"ghost",size:"sm",className:"h-auto p-0 text-xs text-primary hover:text-primary/80",onClick:N,children:a("markAllRead")})]}),(0,r.jsxs)(ev.tU,{defaultValue:"unread",className:"gap-0",children:[(0,r.jsxs)(ev.j7,{className:"w-full rounded-none border-b border-border bg-transparent px-4 py-0 h-9",children:[(0,r.jsxs)(ev.Xi,{value:"unread",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:[a("tabUnread")," ",j>0&&"(".concat(j,")")]}),(0,r.jsx)(ev.Xi,{value:"all",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:a("tabAll")})]}),(0,r.jsx)(ev.av,{value:"all",className:"mt-0",children:(0,r.jsx)(ej.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,r.jsx)(ey.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:S(m,!1,h)})},"tab-all")}),(0,r.jsx)(ev.av,{value:"unread",className:"mt-0",children:(0,r.jsx)(ej.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,r.jsx)(ey.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:S(p,!0,j)})},"tab-unread")})]}),(0,r.jsx)("div",{className:"border-t border-border px-4 py-2 text-center",children:(0,r.jsx)(c(),{href:"/settings",onClick:t,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:a("notificationPreferences")})})]})}function eA(){let{unreadCount:e}=en(),[t,a]=(0,s.useState)(!1);return(0,r.jsxs)(L.AM,{open:t,onOpenChange:a,children:[(0,r.jsx)(L.Wv,{asChild:!0,children:(0,r.jsxs)(d.$,{variant:"ghost",size:"icon",className:"relative h-8 w-8 text-muted-foreground hover:text-foreground",children:[(0,r.jsx)(eh.A,{className:"h-4 w-4"}),e>0&&(0,r.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-primary px-1 text-[10px] font-medium text-white animate-[pulse-badge_1.5s_ease-in-out_infinite]",children:e>99?"99+":e})]})}),(0,r.jsx)(L.hl,{align:"start",sideOffset:8,className:"w-auto p-0 rounded-lg",children:(0,r.jsx)(eC,{onClose:()=>a(!1)})})]})}var eE=a(68923),eS=a(30044),eF=a(9225),eP=a(85226),eT=a(67103),eR=a(24377),e_=a(14554),eD=a(91846),eI=a(42305);let eB=["all","task","idea","proposal","document","project"],eU={task:"bg-[#EBF5FF] dark:bg-[#132638] text-[#2563EB] dark:text-[#6AA0F5] border-[#2563EB]/20",idea:"bg-[#FEF9C3] dark:bg-[#332e0f] text-[#A16207] dark:text-[#E0B44E] border-[#A16207]/20",proposal:"bg-[#FFF7ED] dark:bg-[#33270f] text-primary border-primary/20",document:"bg-[#F3E8FF] dark:bg-[#261636] text-[#7C3AED] dark:text-[#B79AF0] border-[#7C3AED]/20",project:"bg-[#ECFDF5] dark:bg-[#122a20] text-[#059669] dark:text-[#4FD1A0] border-[#059669]/20",project_group:"bg-[#F0FDFA] dark:bg-[#122a29] text-[#0D9488] dark:text-[#4FD1C0] border-[#0D9488]/20"},eM={all:"filterAll",task:"filterTasks",idea:"filterIdeas",proposal:"filterProposals",document:"filterDocuments",project:"filterProjects",project_group:"filterProjects"};function eO(e){let{currentProjectUuid:t,currentProjectName:a,currentGroupUuid:n,currentGroupName:l}=e,c=(0,i.c)("search"),u=(0,i.c)("time"),m=(0,o.r)(),[x,p]=(0,s.useState)(""),[f,h]=(0,s.useState)(t?"project":n?"group":"global"),[g,j]=(0,s.useState)([]),[b,v]=(0,s.useState)(!1),[y,w]=(0,s.useState)(!1),[k,A]=(0,s.useState)("all"),[E,S]=(0,s.useState)(0),F=(0,s.useRef)(null),P=(0,s.useRef)([]),T=(0,s.useRef)(void 0);(0,s.useEffect)(()=>{h(t?"project":n?"group":"global")},[t,n]),(0,s.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key&&!e.defaultPrevented&&(e.preventDefault(),w(!0))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,s.useEffect)(()=>{y?setTimeout(()=>{var e;return null==(e=F.current)?void 0:e.focus()},0):(p(""),j([]),A("all"))},[y]);let R=(0,s.useCallback)(async function(e,a){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all";if(!e.trim()){j([]),v(!1);return}v(!0);try{let s=new URLSearchParams({q:e.trim(),scope:a,limit:"20"});"project"===a&&t?s.set("scopeUuid",t):"group"===a&&n&&s.set("scopeUuid",n),"all"!==r&&s.set("types",r);let o=await fetch("/api/search?".concat(s.toString()),{credentials:"include"});if(!o.ok){C.q.error("Search failed:",o.status),j([]);return}let i=await o.json();i.success?j(i.data.results):j([])}catch(e){C.q.error("Search error:",e),j([])}finally{v(!1)}},[t,n]),_=(0,s.useCallback)(e=>{p(e),T.current&&clearTimeout(T.current),e.trim()?T.current=setTimeout(()=>{R(e,f,k)},300):(j([]),v(!1))},[f,k,R]),D=(0,s.useCallback)(e=>{h(e),x.trim()&&R(x,e,k)},[x,k,R]),I=(0,s.useCallback)(e=>{A(e),S(0),x.trim()&&R(x,f,e)},[x,f,R]);(0,s.useEffect)(()=>{S(0)},[g]);let B=(0,s.useCallback)(e=>{switch(w(!1),e.entityType){case"task":e.projectUuid&&m.push("/projects/".concat(e.projectUuid,"/tasks/").concat(e.uuid));break;case"idea":e.projectUuid&&m.push("/projects/".concat(e.projectUuid,"/dashboard?panel=").concat(e.uuid));break;case"proposal":e.projectUuid&&m.push("/projects/".concat(e.projectUuid,"/proposals/").concat(e.uuid));break;case"document":e.projectUuid&&m.push("/projects/".concat(e.projectUuid,"/documents/").concat(e.uuid));break;case"project":m.push("/projects/".concat(e.uuid,"/dashboard"));break;case"project_group":m.push("/projects")}},[m]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(d.$,{variant:"outline",size:"icon",onClick:()=>w(!0),className:"md:w-full md:justify-start md:gap-3 h-9 md:px-3 text-muted-foreground font-normal",children:[(0,r.jsx)(eS.A,{className:"h-4 w-4 shrink-0"}),(0,r.jsx)("span",{className:"hidden md:inline truncate text-sm",children:c("placeholder")}),(0,r.jsxs)("kbd",{className:"ml-auto pointer-events-none hidden md:flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium",children:[(0,r.jsx)(eF.A,{className:"h-3 w-3"}),(0,r.jsx)("span",{children:"K"})]})]}),(0,r.jsx)(N.lG,{open:y,onOpenChange:w,children:(0,r.jsxs)(N.Cf,{className:"w-[calc(100vw-2rem)] sm:max-w-[600px] p-0 gap-0 overflow-hidden [&>button]:hidden [&>*]:min-w-0 top-4 sm:top-[20%] translate-y-0","aria-describedby":void 0,children:[(0,r.jsx)(N.L3,{className:"sr-only",children:c("placeholder")}),(0,r.jsxs)("div",{className:"flex items-center gap-2 border-b px-3 sm:px-4 py-3",children:[(0,r.jsx)(eS.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,r.jsx)(e_.p,{ref:F,type:"text",placeholder:c("placeholder"),value:x,onChange:e=>_(e.target.value),onKeyDown:e=>{!(0,eI.P)(e)&&("ArrowDown"===e.key?(e.preventDefault(),S(e=>{var t;let a=Math.min(e+1,g.length-1);return null==(t=P.current[a])||t.scrollIntoView({block:"nearest"}),a})):"ArrowUp"===e.key?(e.preventDefault(),S(e=>{var t;let a=Math.max(e-1,0);return null==(t=P.current[a])||t.scrollIntoView({block:"nearest"}),a})):"Enter"===e.key&&g.length>0&&(e.preventDefault(),B(g[E])))},className:"border-0 shadow-none focus-visible:ring-0 h-8 px-0 text-sm min-w-0"}),b&&(0,r.jsx)(eP.A,{className:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"}),(0,r.jsxs)(eD.l6,{value:f,onValueChange:e=>D(e),children:[(0,r.jsx)(eD.bq,{className:"w-auto h-7 text-xs gap-1 border-dashed shrink-0",children:(0,r.jsx)(eD.yv,{})}),(0,r.jsxs)(eD.gC,{children:[(0,r.jsx)(eD.eb,{value:"global",children:c("scopeGlobal")}),n&&(0,r.jsx)(eD.eb,{value:"group",children:l||c("scopeGroup")}),t&&(0,r.jsx)(eD.eb,{value:"project",children:a||c("scopeProject")})]})]})]}),x.trim()&&(0,r.jsx)("div",{className:"flex items-center gap-1 border-b px-4 py-2 overflow-x-auto",children:eB.map(e=>(0,r.jsx)(d.$,{variant:k===e?"default":"ghost",size:"sm",onClick:()=>I(e),className:(0,eR.cn)("h-7 px-3 text-xs rounded-full shrink-0",k===e?"bg-foreground text-background hover:bg-foreground/90":"text-muted-foreground hover:text-foreground"),children:c(eM[e])},e))}),(0,r.jsx)(ey.F,{className:"max-h-[400px]",children:(0,r.jsx)(eT.N,{mode:"wait",children:x.trim()?b?(0,r.jsx)(ej.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:eb.Yv.fast},children:(0,r.jsxs)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:[(0,r.jsx)(eP.A,{className:"h-5 w-5 animate-spin mx-auto mb-2"}),c("placeholder"),"..."]})},"loading"):0===g.length?(0,r.jsx)(ej.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:eb.Yv.fast},children:(0,r.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:c("noResults")})},"no-results"):(0,r.jsx)(ej.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:eb.Yv.staggerFast},className:"p-2",children:g.map((e,t)=>(0,r.jsx)(ej.P.div,{variants:eb.Rf,children:(0,r.jsxs)("button",{ref:e=>{P.current[t]=e},onClick:()=>B(e),onMouseEnter:()=>S(t),className:(0,eR.cn)("block w-full text-left px-3 py-2.5 rounded-lg transition-colors cursor-pointer overflow-hidden",t===E?"bg-accent":"hover:bg-accent/50"),children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 mb-0.5",children:[(0,r.jsx)(ew.E,{variant:"outline",className:(0,eR.cn)("text-[10px] px-1.5 py-0 shrink-0",eU[e.entityType]||"bg-muted text-muted-foreground"),children:c("entityType.".concat(e.entityType))}),e.status&&(0,r.jsx)(ew.E,{variant:"secondary",className:"text-[10px] px-1.5 py-0 shrink-0",children:e.status}),e.projectName&&(0,r.jsx)("span",{className:"text-[10px] text-muted-foreground line-clamp-1 ml-auto",children:e.projectName})]}),(0,r.jsx)("div",{className:"font-medium text-sm line-clamp-1 break-all",children:e.title}),e.snippet&&(0,r.jsx)("div",{className:"text-xs text-muted-foreground line-clamp-1 mt-0.5 break-all",children:e.snippet}),(0,r.jsx)("div",{className:"text-[10px] text-muted-foreground mt-1",children:(e=>{let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);return t<60?u("justNow"):t<3600?u("minutesAgo",{minutes:Math.floor(t/60)}):t<86400?u("hoursAgo",{hours:Math.floor(t/3600)}):u("daysAgo",{days:Math.floor(t/86400)})})(e.updatedAt)})]})},"".concat(e.entityType,"-").concat(e.uuid)))},"results-".concat(k)):(0,r.jsx)(ej.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:eb.Yv.fast},children:(0,r.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:c("placeholder")})},"empty")})}),(0,r.jsxs)("div",{className:"hidden sm:flex items-center justify-between border-t px-4 py-2 text-[10px] text-muted-foreground",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↑"}),(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↓"}),c("filterAll")]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"⏎"}),"Open"]})]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"Esc"}),"Close"]})]})]})})]})}function ez(e){let{children:t}=e,a=function(e){let t=e.match(/^(\/projects\/[a-f0-9-]{36}\/(tasks|documents|proposals))\/.+$/);return t?t[1]:e}((0,n.usePathname)());return(0,r.jsx)(ej.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:eb.Yv.normal,ease:eb.Yv.easeOut},className:"flex-1 flex flex-col",children:t},a)}var eL=a(73748);let eq=e=>{let{style:t,...a}=e,{resolvedTheme:s}=(0,eL.D)();return(0,r.jsx)(K.l$,{theme:"dark"===s?"dark":"light",className:"toaster group",...a,style:{...t,"--normal-bg":"var(--color-card)","--normal-text":"var(--color-foreground)","--normal-border":"var(--color-border)"}})};function e$(e){let{currentProjectUuid:t}=e,{recordVisit:a}=(0,eo.E)(),r=(0,s.useRef)(null);return(0,s.useEffect)(()=>{t&&r.current!==t&&(r.current=t,a(t))},[t,a]),null}function eY(e){let{children:t}=e,a=(0,o.r)(),l=(0,n.usePathname)(),N=(0,i.c)(),[A,E]=(0,s.useState)(null),[S,F]=(0,s.useState)(null),[P,T]=(0,s.useState)([]),[R,D]=(0,s.useState)(!0),[O,z]=(0,s.useState)(!1),[L,$]=(0,s.useState)(!1),[Y,G]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");G(e.matches);let t=e=>G(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,s.useEffect)(()=>{$(!1)},[l]);let K=function(e){let t=e.match(/^\/projects\/([a-f0-9-]{36})(\/|$)/);return t?t[1]:null}(l),V=function(e){let t=e.match(/^\/project-groups\/([a-f0-9-]{36})(\/|$)/);return t?t[1]:null}(l),[J,Q]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(!V)return void Q(null);(0,k.tm)("/api/project-groups/".concat(V)).then(e=>e.ok?e.json():null).then(e=>{(null==e?void 0:e.success)&&Q(e.data.name)}).catch(()=>Q(null))},[V]);let X="/projects"===l||"/settings"===l||l.startsWith("/project-groups"),Z=K&&!X,ee=l.match(/^\/projects\/[a-f0-9-]{36}\/(tasks|graph)(\/|$)/);(0,s.useEffect)(()=>{et()},[]),(0,s.useEffect)(()=>{if(!K||X){F(null),T([]);return}let e=!1;return async function(){try{var t;let a=await (0,k.tm)("/api/projects/".concat(K));if(!a.ok||e)return;let r=await a.json();if(!r.success||e)return;let s={uuid:r.data.uuid,name:r.data.name,groupUuid:null!=(t=r.data.groupUuid)?t:null};if(F(s),s.groupUuid){let t=await (0,k.tm)("/api/project-groups/".concat(s.groupUuid));if(!t.ok||e)return;let a=await t.json();a.success&&!e&&T((a.data.projects||[]).filter(e=>e.uuid!==K))}else T([])}catch(e){C.q.error("Failed to fetch current project:",e)}}(),()=>{e=!0}},[K,X]);let et=async()=>{try{let e=await (0,k.tm)("/api/session");if(401===e.status&&(e=await (0,k.tm)("/api/session")),401===e.status||!e.ok)return void D(!1);let t=await e.json();t.success&&t.data.user&&E({uuid:t.data.user.uuid,email:t.data.user.email,name:t.data.user.name||t.data.user.email})}catch(e){C.q.error("Session check failed:",e)}D(!1)},ea=async()=>{try{await (0,k.ri)()}catch(e){(0,k.w9)()}a.push("/login")};if(R)return(0,r.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-background",children:(0,r.jsx)("div",{className:"text-muted-foreground",children:N("common.loading")})});let er=[{href:"/projects",label:N("nav.projects"),icon:g.A}],en=e=>e.endsWith("/dashboard")?l===e:"/projects"===e?"/projects"===l:l===e||l.startsWith(e+"/"),ei=e=>{var t;let{mobile:s=!1}=e,n=s?"text-[15px]":"text-[13px]",o=s?"h-5 w-5":"h-4 w-4",i=s?"gap-1.5":"gap-1",l=s?"h-10":"",g=s?"text-[13px]":"text-[11px]",w=s?"text-[15px]":"text-[13px]",k=s?"text-[12px]":"text-[11px]";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex flex-col gap-8 p-6",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-7 w-7"}),(0,r.jsx)("span",{className:"text-base font-semibold text-foreground",children:N("common.appName")})]}),(0,r.jsx)("div",{className:"hidden md:block",children:(0,r.jsx)(eA,{})})]}),!s&&(0,r.jsx)(eO,{currentProjectUuid:K||void 0,currentProjectName:null==S?void 0:S.name,currentGroupUuid:V||void 0,currentGroupName:J||void 0}),(0,r.jsx)("nav",{className:"flex flex-col ".concat(i),children:Z&&K?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c(),{href:"/projects",children:(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",className:"w-full justify-start gap-2.5 text-muted-foreground hover:text-foreground ".concat(n," ").concat(l),children:[(0,r.jsx)(j.A,{className:s?"h-4 w-4":"h-3 w-3"}),N("nav.backToProjects")]})}),S&&(0,r.jsxs)("div",{className:"relative mt-2",children:[(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",onClick:()=>P.length>0&&z(!O),className:"w-full justify-between px-3 py-1.5 ".concat(0===P.length?"cursor-default":""),children:[(0,r.jsx)("span",{className:"truncate font-semibold uppercase tracking-wider text-foreground ".concat(g),children:S.name}),P.length>0&&(0,r.jsx)(b.A,{className:"h-3 w-3 text-muted-foreground transition-transform ".concat(O?"rotate-180":"")})]}),(0,r.jsx)(eT.N,{children:O&&P.length>0&&(0,r.jsx)(ej.P.div,{variants:eb.K5,initial:"initial",animate:"animate",exit:"exit",className:"absolute left-0 right-0 top-full z-10 mt-1 origin-top rounded-lg border border-border bg-card py-1 shadow-lg",children:P.map(e=>(0,r.jsx)(d.$,{variant:"ghost",size:"sm",onClick:()=>{z(!1),a.push("/projects/".concat(e.uuid,"/dashboard"))},className:"w-full justify-start px-3 py-2 ".concat(n," [&>*]:truncate text-muted-foreground"),children:(0,r.jsx)("span",{className:"truncate",children:e.name})},e.uuid))})})]}),(0,r.jsx)("div",{className:"mt-2 flex flex-col ".concat(i),children:[{href:"/projects/".concat(K,"/dashboard"),label:N("nav.overview"),icon:u.A},{href:"/projects/".concat(K,"/documents"),label:N("nav.documents"),icon:m.A},{href:"/projects/".concat(K,"/proposals"),label:N("nav.proposals"),icon:x.A},{href:"/projects/".concat(K,"/tasks"),label:N("nav.tasks"),icon:p.A},{href:"/projects/".concat(K,"/graph"),label:N("nav.graph"),icon:f.A},{href:"/projects/".concat(K,"/activity"),label:N("nav.activity"),icon:h.A}].map(e=>{let t=en(e.href),a=e.icon;return(0,r.jsx)(c(),{href:e.href,children:(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",className:"relative w-full justify-start gap-2.5 ".concat(n," ").concat(l," ").concat(t?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"),children:[t&&(0,r.jsx)(ej.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,r.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,r.jsx)(a,{className:"".concat(o," ").concat(t?"text-primary":"")}),e.label]})]})},e.href)})})]}):(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("div",{className:"flex flex-col ".concat(i),children:er.map(e=>{let t=en(e.href),a=e.icon;return(0,r.jsx)(c(),{href:e.href,children:(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",className:"relative w-full justify-start gap-2.5 ".concat(n," ").concat(l," ").concat(t?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"),children:[t&&(0,r.jsx)(ej.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,r.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,r.jsx)(a,{className:"".concat(o," ").concat(t?"text-primary":"")}),e.label]})]})},e.href)})})})})]}),(0,r.jsx)(ef,{mobile:s,collapsedInProject:!!Z}),(0,r.jsxs)("div",{className:"mt-auto flex flex-col gap-1 px-4 pb-4",children:[(0,r.jsx)(c(),{href:"/settings",children:(0,r.jsxs)(d.$,{variant:"ghost",size:"sm",className:"relative w-full justify-start gap-2.5 ".concat(n," ").concat(l," ").concat(en("/settings")?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"),children:[en("/settings")&&(0,r.jsx)(ej.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,r.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,r.jsx)(v.A,{className:"".concat(o," ").concat(en("/settings")?"text-primary":"")}),N("nav.settings")]})]})}),(0,r.jsx)(W.H,{mobile:s}),(0,r.jsx)("div",{className:"px-2 pt-1",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"flex items-center justify-center rounded-full bg-primary font-medium text-primary-foreground ".concat(s?"h-10 w-10 text-base":"h-9 w-9 text-sm"),children:(null==A||null==(t=A.name)?void 0:t.charAt(0))||"U"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate font-medium text-foreground ".concat(w),children:null==A?void 0:A.name}),(0,r.jsx)("div",{className:"truncate text-muted-foreground ".concat(k),children:null==A?void 0:A.email})]}),(0,r.jsx)(d.$,{variant:"ghost",size:"icon",onClick:ea,title:N("common.signOut"),className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:(0,r.jsx)(y.A,{className:"h-4 w-4"})})]})})]})]})};return(0,r.jsxs)(es,{children:[(0,r.jsx)(M.OJ,{children:(0,r.jsxs)(eo.K,{children:[(0,r.jsx)(e$,{currentProjectUuid:K}),(0,r.jsx)(U.Oj,{children:(0,r.jsxs)(I,{children:[(0,r.jsx)(q.MH,{}),(0,r.jsx)(H,{}),(0,r.jsxs)("div",{className:"flex min-h-screen bg-background",children:[(0,r.jsx)("header",{className:"fixed top-0 left-0 right-0 z-30 border-b border-border bg-card md:hidden",children:(0,r.jsxs)("div",{className:"flex h-14 items-center justify-between px-4",children:[(0,r.jsx)("button",{onClick:()=>$(!0),"aria-label":N("nav.openMenu"),children:(0,r.jsx)(w.A,{className:"h-5 w-5 text-muted-foreground"})}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-6 w-6"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-foreground",children:N("common.appName")})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(eO,{currentProjectUuid:K||void 0,currentProjectName:null==S?void 0:S.name,currentGroupUuid:V||void 0,currentGroupName:J||void 0}),(0,r.jsx)(eA,{})]})]})}),(0,r.jsx)(eE.cj,{open:L,onOpenChange:$,children:(0,r.jsx)(eE.h,{side:"left",className:"w-[280px] p-0",children:(0,r.jsx)("div",{className:"flex h-full flex-col justify-between overflow-y-auto",children:(0,r.jsx)(ei,{mobile:!0})})})}),(0,r.jsx)("aside",{className:"hidden md:sticky md:top-0 md:flex h-screen w-[220px] flex-shrink-0 flex-col justify-between overflow-y-auto border-r border-border bg-card",children:(0,r.jsx)(ei,{})}),Z&&K?(0,r.jsxs)(_.tS,{projectUuid:K,children:[(0,r.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,r.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(ee?"":"max-w-[1200px]"),children:(0,r.jsx)(ez,{children:t})})}),(0,r.jsx)(B,{projectUuid:K,projectName:(null==S?void 0:S.name)||""})]}):"/projects"===l||l.startsWith("/project-groups")?(0,r.jsx)(_.tS,{children:(0,r.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,r.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(ee?"":"max-w-[1200px]"),children:(0,r.jsx)(ez,{children:t})})})}):(0,r.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,r.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(ee?"":"max-w-[1200px]"),children:(0,r.jsx)(ez,{children:t})})})]})]})})]})}),(0,r.jsx)(eq,{position:Y?"top-center":"top-right",closeButton:!Y})]})}},62926:(e,t,a)=>{"use strict";a.d(t,{H:()=>f});var r=a(90508),s=a(1856),n=a(73748),o=a(39268),i=a(57930),l=a(86589),c=a(68842),d=a(81149),u=a(22922),m=a(66343),x=a(32277),p=a(25359);function f(e){let{mobile:t=!1}=e,a=(0,o.c)(),{theme:f,setTheme:h}=(0,n.D)(),{locale:g,setLocale:j}=(0,x.Y)(),[b,v]=(0,s.useState)(!1);(0,s.useEffect)(()=>v(!0),[]);let y=b?f:void 0,w="light"===y?i.A:"dark"===y?l.A:c.A,k=a("light"===y?"theme.light":"dark"===y?"theme.dark":"theme.system"),N=t?"h-8 min-w-8 px-2":"h-7 min-w-7 px-1.5",C=t?"h-4 w-4":"h-3.5 w-3.5";return(0,r.jsxs)("div",{className:"flex items-center gap-1 px-2 pt-0.5",children:[(0,r.jsxs)(m.rI,{children:[(0,r.jsx)(m.ty,{asChild:!0,children:(0,r.jsxs)(u.$,{variant:"ghost",size:"sm",className:"".concat(N," justify-center gap-1.5 text-muted-foreground hover:text-foreground"),"aria-label":a("theme.toggleLabel"),title:a("theme.toggleLabel"),children:[(0,r.jsx)(w,{className:C}),(0,r.jsx)("span",{className:"text-[12px] font-medium",suppressHydrationWarning:!0,children:b?k:a("theme.system")})]})}),(0,r.jsxs)(m.SQ,{align:"start",side:"top",className:"w-40",children:[(0,r.jsx)(m.lp,{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:a("theme.toggleLabel")}),(0,r.jsxs)(m.Hr,{value:null!=y?y:"system",onValueChange:e=>h(e),children:[(0,r.jsxs)(m.Ht,{value:"light",children:[(0,r.jsx)(i.A,{className:"mr-2 h-4 w-4"}),a("theme.light")]}),(0,r.jsxs)(m.Ht,{value:"dark",children:[(0,r.jsx)(l.A,{className:"mr-2 h-4 w-4"}),a("theme.dark")]}),(0,r.jsxs)(m.Ht,{value:"system",children:[(0,r.jsx)(c.A,{className:"mr-2 h-4 w-4"}),a("theme.system")]})]})]})]}),(0,r.jsx)("span",{className:"h-4 w-px bg-border","aria-hidden":!0}),(0,r.jsxs)(m.rI,{children:[(0,r.jsx)(m.ty,{asChild:!0,children:(0,r.jsxs)(u.$,{variant:"ghost",size:"sm",className:"".concat(N," justify-center gap-1.5 text-muted-foreground hover:text-foreground"),"aria-label":a("settings.language"),title:a("settings.language"),children:[(0,r.jsx)(d.A,{className:C}),(0,r.jsx)("span",{className:"text-[12px] font-medium leading-none",children:p.L$[g]})]})}),(0,r.jsxs)(m.SQ,{align:"start",side:"top",className:"w-40",children:[(0,r.jsx)(m.lp,{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:a("settings.language")}),(0,r.jsx)(m.Hr,{value:g,onValueChange:e=>j(e),children:p.IB.map(e=>(0,r.jsx)(m.Ht,{value:e,children:p.L$[e]},e))})]})]})]})}},63964:(e,t,a)=>{"use strict";a.d(t,{S2:()=>c,eV:()=>l,l9:()=>i,tS:()=>o,w0:()=>d});var r=a(90508),s=a(1856);a(91814);let n=(0,s.createContext)(null);function o(e){let{projectUuid:t,children:a}=e,o=(0,s.useRef)(new Set),i=(0,s.useRef)(new Set),l=(0,s.useRef)(new Set),c=(0,s.useRef)(new Set),d=(0,s.useCallback)(()=>{o.current.forEach(e=>e())},[]),u=(0,s.useCallback)(e=>{i.current.forEach(t=>t(e))},[]);(0,s.useEffect)(()=>{let e,a=null,r=0,s={};function n(){o(),(a=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let a=null;try{a=JSON.parse(t.data)}catch(e){return}if(!a)return;if("presence"===a.type)return void l.current.forEach(e=>e(a));if("execution"===a.type)return void c.current.forEach(e=>e(a));let n=a;clearTimeout(e);let o=Date.now(),i=o-r;i>=3e3?(r=o,d()):e=setTimeout(()=>{r=Date.now(),d()},Math.max(1e3,3e3-i));let m=n.entityType;clearTimeout(s[m]),s[m]=setTimeout(()=>{u(n)},300)},a.onerror=()=>{}}function o(){a&&(a.close(),a=null)}function i(){if("visible"===document.visibilityState&&(!a||a.readyState===EventSource.CLOSED))for(let e of(n(),d(),["task","idea","proposal","document","project","project_group"]))u({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return n(),document.addEventListener("visibilitychange",i),()=>{for(let t in o(),clearTimeout(e),s)clearTimeout(s[t]);document.removeEventListener("visibilitychange",i)}},[t,d,u]);let m=(0,s.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),x=(0,s.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,s.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),f=(0,s.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),h=(0,s.useMemo)(()=>({subscribe:m,subscribeEntity:x,subscribePresence:p,subscribeExecution:f}),[m,x,p,f]);return(0,r.jsx)(n.Provider,{value:h,children:a})}function i(e){let t=(0,s.useContext)(n),a=(0,s.useRef)(e);a.current=e,(0,s.useEffect)(()=>{if(!t)return;let e=()=>a.current();return e(),t.subscribe(e)},[t])}function l(e,t){let a=(0,s.useContext)(n),r=(0,s.useRef)(t);r.current=t;let o=(0,s.useRef)(e);o.current=e,(0,s.useEffect)(()=>{if(a)return a.subscribeEntity(e=>{let t=o.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[a])}function c(e){let t=(0,s.useContext)(n),a=(0,s.useRef)(e);a.current=e,(0,s.useEffect)(()=>{if(t)return t.subscribePresence(e=>a.current(e))},[t])}function d(e,t,a){let r=(0,s.useContext)(n),o=(0,s.useRef)(a);o.current=a,(0,s.useEffect)(()=>{if(r)return r.subscribeEntity(a=>{a.entityType===e&&a.entityUuid===t&&o.current(a)})},[r,e,t])}},65626:(e,t,a)=>{"use strict";a.d(t,{K5:()=>l,Rf:()=>i,Yv:()=>r,bK:()=>o,qG:()=>n,tE:()=>s});let r={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},s={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:r.normal,ease:r.easeOut}},exit:{opacity:0,y:-4,transition:{duration:r.fast,ease:r.easeOut}}},n={initial:{opacity:0},animate:{opacity:1,transition:{duration:r.normal,ease:r.easeOut}},exit:{opacity:0,transition:{duration:r.fast,ease:r.easeOut}}};r.normal,r.easeOut,r.fast,r.easeOut;let o={initial:{},animate:{transition:{staggerChildren:r.stagger}}},i={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:r.normal,ease:r.easeOut}}},l={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:r.fast,ease:r.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:r.fast,ease:r.easeOut}}}},66343:(e,t,a)=>{"use strict";a.d(t,{Hr:()=>p,Ht:()=>u,SQ:()=>c,_2:()=>d,lp:()=>m,mB:()=>x,rI:()=>i,ty:()=>l});var r=a(90508);a(1856);var s=a(97964),n=a(39025),o=a(24377);function i(e){let{...t}=e;return(0,r.jsx)(n.Root,{"data-slot":"dropdown-menu",...t})}function l(e){let{...t}=e;return(0,r.jsx)(n.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function c(e){let{className:t,sideOffset:a=4,...s}=e;return(0,r.jsx)(n.Portal,{children:(0,r.jsx)(n.Content,{"data-slot":"dropdown-menu-content",sideOffset:a,className:(0,o.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),...s})})}function d(e){let{className:t,inset:a,variant:s="default",...i}=e;return(0,r.jsx)(n.Item,{"data-slot":"dropdown-menu-item","data-inset":a,"data-variant":s,className:(0,o.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 u(e){let{className:t,children:a,...i}=e;return(0,r.jsxs)(n.RadioItem,{"data-slot":"dropdown-menu-radio-item",className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-4",t),...i,children:[(0,r.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,r.jsx)(n.ItemIndicator,{children:(0,r.jsx)(s.A,{className:"size-2 fill-current"})})}),a]})}function m(e){let{className:t,inset:a,...s}=e;return(0,r.jsx)(n.Label,{"data-slot":"dropdown-menu-label","data-inset":a,className:(0,o.cn)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",t),...s})}function x(e){let{className:t,...a}=e;return(0,r.jsx)(n.Separator,{"data-slot":"dropdown-menu-separator",className:(0,o.cn)("bg-border -mx-1 my-1 h-px",t),...a})}function p(e){let{...t}=e;return(0,r.jsx)(n.RadioGroup,{"data-slot":"dropdown-menu-radio-group",...t})}},68923:(e,t,a)=>{"use strict";a.d(t,{CG:()=>c,Fm:()=>p,cj:()=>l,h:()=>x,qp:()=>f});var r=a(90508);a(1856);var s=a(9160),n=a(71350),o=a(49499),i=a(24377);function l(e){let{...t}=e;return(0,r.jsx)(n.Root,{"data-slot":"sheet",...t})}function c(e){let{...t}=e;return(0,r.jsx)(n.Trigger,{"data-slot":"sheet-trigger",...t})}function d(e){let{...t}=e;return(0,r.jsx)(n.Portal,{"data-slot":"sheet-portal",...t})}function u(e){let{className:t,...a}=e;return(0,r.jsx)(n.Overlay,{"data-slot":"sheet-overlay",className:(0,i.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}let m=(0,o.F)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",bottom:"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",left:"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"}},defaultVariants:{side:"right"}});function x(e){let{className:t,children:a,side:o="right",...l}=e;return(0,r.jsxs)(d,{children:[(0,r.jsx)(u,{}),(0,r.jsxs)(n.Content,{"data-slot":"sheet-content",className:(0,i.cn)(m({side:o}),t),...l,children:[a,(0,r.jsxs)(n.Close,{"data-slot":"sheet-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,r.jsx)(s.A,{className:"size-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function p(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"sheet-header",className:(0,i.cn)("flex flex-col gap-2 p-4",t),...a})}function f(e){let{className:t,...a}=e;return(0,r.jsx)(n.Title,{"data-slot":"sheet-title",className:(0,i.cn)("text-foreground text-lg font-semibold",t),...a})}},75579:(e,t,a)=>{"use strict";a.d(t,{E:()=>u,K:()=>d});var r=a(90508),s=a(1856),n=a(62990),o=a(63964),i=a(67712);let l={pinned:[],recent:[]},c=(0,s.createContext)(null);function d(e){let{children:t}=e,[a,d]=(0,s.useState)(l),[u,m]=(0,s.useState)(!1),x=(0,s.useCallback)(async()=>{try{let a=await (0,n.tm)("/api/project-visits");if(!a.ok)return;let r=await a.json();if((null==r?void 0:r.success)&&r.data){var e,t;d({pinned:null!=(e=r.data.pinned)?e:[],recent:null!=(t=r.data.recent)?t:[]})}}catch(e){i.q.error("Failed to fetch project quick-access:",e)}finally{m(!0)}},[]);(0,s.useEffect)(()=>{x()},[x]),(0,o.eV)(["project","project_group"],()=>{x()});let p=(0,s.useCallback)(async e=>{try{let r=await (0,n.tm)("/api/project-visits/pin",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectUuid:e})});if(!r.ok)return;let s=await r.json();if((null==s?void 0:s.success)&&s.data){var t,a;d({pinned:null!=(t=s.data.pinned)?t:[],recent:null!=(a=s.data.recent)?a:[]})}}catch(e){i.q.error("Failed to pin project:",e)}},[]),f=(0,s.useCallback)(async e=>{try{let r=await (0,n.tm)("/api/project-visits/pin",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectUuid:e})});if(!r.ok)return;let s=await r.json();if((null==s?void 0:s.success)&&s.data){var t,a;d({pinned:null!=(t=s.data.pinned)?t:[],recent:null!=(a=s.data.recent)?a:[]})}}catch(e){i.q.error("Failed to unpin project:",e)}},[]),h=(0,s.useCallback)(async e=>{try{let r=await (0,n.tm)("/api/project-visits",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectUuid:e})});if(!r.ok)return;let s=await r.json();if((null==s?void 0:s.success)&&s.data){var t,a;d({pinned:null!=(t=s.data.pinned)?t:[],recent:null!=(a=s.data.recent)?a:[]})}}catch(e){i.q.error("Failed to remove project from recent:",e)}},[]),g=(0,s.useCallback)(async e=>{try{(await (0,n.tm)("/api/project-visits/visit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectUuid:e})})).ok&&await x()}catch(e){i.q.error("Failed to record project visit:",e)}},[x]),j=(0,s.useMemo)(()=>new Set(a.pinned.map(e=>e.uuid)),[a.pinned]),b=(0,s.useRef)(j);b.current=j;let v=(0,s.useCallback)(e=>b.current.has(e),[]),y=(0,s.useMemo)(()=>({pinned:a.pinned,recent:a.recent,loaded:u,pin:p,unpin:f,remove:h,recordVisit:g,isPinned:v}),[a.pinned,a.recent,u,p,f,h,g,v]);return(0,r.jsx)(c.Provider,{value:y,children:t})}function u(){let e=(0,s.useContext)(c);if(!e)throw Error("useProjectQuickAccess must be used within a ProjectQuickAccessProvider");return e}}},e=>{e.O(0,[93151,41752,12079,18944,27290,12790,26885,14655,21932,30724,16544,94170,83285,27201,16551,97784,14753,45532,70552,89836,15183,38296,87325,39025,14160,94643,74951,65496,77358],()=>e(e.s=5877)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[14997],{17475:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(66206).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},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"),s=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),n=String(t.getMinutes()).padStart(2,"0");return"".concat(r,"-").concat(a,"-").concat(s," ").concat(o,":").concat(n)}function s(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:()=>s})},52309:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(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"}]])},71350:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Close:()=>eo,Content:()=>er,Description:()=>es,Dialog:()=>A,DialogClose:()=>U,DialogContent:()=>_,DialogDescription:()=>q,DialogOverlay:()=>S,DialogPortal:()=>R,DialogTitle:()=>z,DialogTrigger:()=>w,Overlay:()=>et,Portal:()=>ee,Root:()=>Q,Title:()=>ea,Trigger:()=>X,WarningProvider:()=>J,createDialogScope:()=>N});var a=r(1856),s=r(33328),o=r(34124),n=r(21032),l=r(40577),i=r(66249),c=r(63569),d=r(80491),u=r(17533),p=r(19900),x=r(93367),m=r(12139),g=r(46523),h=r(2188),f=r(54154),j=r(90508),b="Dialog",[v,N]=(0,n.A)(b),[y,C]=v(b),A=e=>{let{__scopeDialog:t,children:r,open:s,defaultOpen:o,onOpenChange:n,modal:c=!0}=e,d=a.useRef(null),u=a.useRef(null),[p,x]=(0,i.i)({prop:s,defaultProp:null!=o&&o,onChange:n,caller:b});return(0,j.jsx)(y,{scope:t,triggerRef:d,contentRef:u,contentId:(0,l.B)(),titleId:(0,l.B)(),descriptionId:(0,l.B)(),open:p,onOpenChange:x,onOpenToggle:a.useCallback(()=>x(e=>!e),[x]),modal:c,children:r})};A.displayName=b;var D="DialogTrigger",w=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,n=C(D,r),l=(0,o.s)(t,n.triggerRef);return(0,j.jsx)(x.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":$(n.open),...a,ref:l,onClick:(0,s.mK)(e.onClick,n.onOpenToggle)})});w.displayName=D;var k="DialogPortal",[E,O]=v(k,{forceMount:void 0}),R=e=>{let{__scopeDialog:t,forceMount:r,children:s,container:o}=e,n=C(k,t);return(0,j.jsx)(E,{scope:t,forceMount:r,children:a.Children.map(s,e=>(0,j.jsx)(p.C,{present:r||n.open,children:(0,j.jsx)(u.Portal,{asChild:!0,container:o,children:e})}))})};R.displayName=k;var P="DialogOverlay",S=a.forwardRef((e,t)=>{let r=O(P,e.__scopeDialog),{forceMount:a=r.forceMount,...s}=e,o=C(P,e.__scopeDialog);return o.modal?(0,j.jsx)(p.C,{present:a||o.open,children:(0,j.jsx)(I,{...s,ref:t})}):null});S.displayName=P;var T=(0,f.TL)("DialogOverlay.RemoveScroll"),I=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,s=C(P,r);return(0,j.jsx)(g.A,{as:T,allowPinchZoom:!0,shards:[s.contentRef],children:(0,j.jsx)(x.sG.div,{"data-state":$(s.open),...a,ref:t,style:{pointerEvents:"auto",...a.style}})})}),M="DialogContent",_=a.forwardRef((e,t)=>{let r=O(M,e.__scopeDialog),{forceMount:a=r.forceMount,...s}=e,o=C(M,e.__scopeDialog);return(0,j.jsx)(p.C,{present:a||o.open,children:o.modal?(0,j.jsx)(F,{...s,ref:t}):(0,j.jsx)(G,{...s,ref:t})})});_.displayName=M;var F=a.forwardRef((e,t)=>{let r=C(M,e.__scopeDialog),n=a.useRef(null),l=(0,o.s)(t,r.contentRef,n);return a.useEffect(()=>{let e=n.current;if(e)return(0,h.Eq)(e)},[]),(0,j.jsx)(B,{...e,ref:l,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,s.mK)(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),null==(t=r.triggerRef.current)||t.focus()}),onPointerDownOutside:(0,s.mK)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,s.mK)(e.onFocusOutside,e=>e.preventDefault())})}),G=a.forwardRef((e,t)=>{let r=C(M,e.__scopeDialog),s=a.useRef(!1),o=a.useRef(!1);return(0,j.jsx)(B,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var a,n;null==(a=e.onCloseAutoFocus)||a.call(e,t),t.defaultPrevented||(s.current||null==(n=r.triggerRef.current)||n.focus(),t.preventDefault()),s.current=!1,o.current=!1},onInteractOutside:t=>{var a,n;null==(a=e.onInteractOutside)||a.call(e,t),t.defaultPrevented||(s.current=!0,"pointerdown"===t.detail.originalEvent.type&&(o.current=!0));let l=t.target;(null==(n=r.triggerRef.current)?void 0:n.contains(l))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&o.current&&t.preventDefault()}})}),B=a.forwardRef((e,t)=>{let{__scopeDialog:r,trapFocus:s,onOpenAutoFocus:n,onCloseAutoFocus:l,...i}=e,u=C(M,r),p=a.useRef(null),x=(0,o.s)(t,p);return(0,m.Oh)(),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(d.n,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:n,onUnmountAutoFocus:l,children:(0,j.jsx)(c.qW,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":$(u.open),...i,ref:x,onDismiss:()=>u.onOpenChange(!1)})}),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Z,{titleId:u.titleId}),(0,j.jsx)(Y,{contentRef:p,descriptionId:u.descriptionId})]})]})}),K="DialogTitle",z=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,s=C(K,r);return(0,j.jsx)(x.sG.h2,{id:s.titleId,...a,ref:t})});z.displayName=K;var W="DialogDescription",q=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,s=C(W,r);return(0,j.jsx)(x.sG.p,{id:s.descriptionId,...a,ref:t})});q.displayName=W;var H="DialogClose",U=a.forwardRef((e,t)=>{let{__scopeDialog:r,...a}=e,o=C(H,r);return(0,j.jsx)(x.sG.button,{type:"button",...a,ref:t,onClick:(0,s.mK)(e.onClick,()=>o.onOpenChange(!1))})});function $(e){return e?"open":"closed"}U.displayName=H;var L="DialogTitleWarning",[J,V]=(0,n.q)(L,{contentName:M,titleName:K,docsSlug:"dialog"}),Z=e=>{let{titleId:t}=e,r=V(L),s="`".concat(r.contentName,"` requires a `").concat(r.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(r.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(r.docsSlug);return a.useEffect(()=>{t&&(document.getElementById(t)||console.error(s))},[s,t]),null},Y=e=>{let{contentRef:t,descriptionId:r}=e,s=V("DialogDescriptionWarning"),o="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(s.contentName,"}.");return a.useEffect(()=>{var e;let a=null==(e=t.current)?void 0:e.getAttribute("aria-describedby");r&&a&&(document.getElementById(r)||console.warn(o))},[o,t,r]),null},Q=A,X=w,ee=R,et=S,er=_,ea=z,es=q,eo=U},77298:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>k});var a=r(90508),s=r(1856),o=r(23675),n=r(91814),l=r(39268),i=r(12790),c=r.n(i),d=r(48416),u=r(22922),p=r(71388),x=r(52309),m=r(5616),g=r(78948),h=r(62990),f=r(97438),j=r(14554),b=r(88064),v=r(97413),N=r(17475);function y(e){let{open:t,onOpenChange:r,groupUuid:o,groupName:i,groupDescription:c,projectCount:d,onUpdated:p}=e,m=(0,l.c)("projectGroups"),g=(0,n.r)(),[y,C]=(0,s.useState)(i),[A,D]=(0,s.useState)(null!=c?c:""),[w,k]=(0,s.useState)(!1),[E,O]=(0,s.useState)(!1),[R,P]=(0,s.useState)(!1),[S,T]=(0,s.useState)(!1),I=async()=>{if(y.trim()){k(!0);try{let e=await (0,h.tm)("/api/project-groups/".concat(o),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:y.trim(),description:A.trim()||null})});(await e.json()).success&&p()}finally{k(!1)}}},M=async()=>{O(!0);try{let e=await (0,h.tm)(S?"/api/project-groups/".concat(o,"?deleteProjects=true"):"/api/project-groups/".concat(o),{method:"DELETE"});(await e.json()).success&&(r(!1),g.push("/projects"))}finally{O(!1)}};return(0,a.jsx)(f.lG,{open:t,onOpenChange:e=>{e&&(C(i),D(null!=c?c:""),P(!1),T(!1)),r(e)},children:(0,a.jsxs)(f.Cf,{className:"max-w-[480px] gap-0 p-0",children:[(0,a.jsx)(f.c7,{className:"border-b border-[#E5E2DC] dark:border-[#2a2a2e] px-6 py-5",children:(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(x.A,{className:"h-5 w-5 text-primary"}),(0,a.jsx)(f.L3,{className:"text-[18px] font-semibold tracking-tight text-foreground",children:m("manageGroup")})]})}),(0,a.jsxs)("div",{className:"space-y-5 px-6 py-5",children:[(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(b.J,{className:"text-[13px] font-medium text-foreground",children:m("groupName")}),(0,a.jsx)(j.p,{value:y,onChange:e=>C(e.target.value),className:"h-10 rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e] text-[13px] focus-visible:ring-primary"})]}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(b.J,{className:"text-[13px] font-medium text-foreground",children:m("descriptionOptional")}),(0,a.jsx)("textarea",{value:A,onChange:e=>D(e.target.value),rows:3,className:"w-full rounded-lg border border-[#E5E2DC] dark:border-[#2a2a2e] px-3 py-2.5 text-[13px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-1",placeholder:m("descriptionPlaceholder")})]}),(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)(u.$,{onClick:I,disabled:w||!y.trim()||y===i&&A===(null!=c?c:""),className:"rounded-lg bg-primary text-[13px] font-medium text-white hover:bg-[#B56A42]",children:m(w?"saving":"saveChanges")})})]}),(0,a.jsx)("div",{className:"border-t border-[#E5E2DC] dark:border-[#2a2a2e] px-6 py-5",children:R?(0,a.jsxs)("div",{className:"space-y-3 rounded-lg border border-red-200 bg-red-50 p-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[13px] font-semibold text-red-700",children:[(0,a.jsx)(N.A,{className:"h-4 w-4"}),m("deleteConfirmTitle")]}),(0,a.jsx)("p",{className:"text-[12px] text-red-600",children:m("deleteConfirmDesc")}),d>0&&(0,a.jsxs)("div",{className:"space-y-2 pt-1",children:[(0,a.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 text-[12px] text-foreground",children:[(0,a.jsx)("input",{type:"radio",name:"deleteOption",checked:!S,onChange:()=>T(!1),className:"accent-primary"}),m("deleteKeepProjects",{count:d})]}),(0,a.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 text-[12px] text-red-600",children:[(0,a.jsx)("input",{type:"radio",name:"deleteOption",checked:S,onChange:()=>T(!0),className:"accent-red-600"}),m("deleteWithProjects",{count:d})]})]}),(0,a.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,a.jsx)(u.$,{variant:"outline",size:"sm",onClick:()=>P(!1),className:"rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e] text-[12px]",children:m("cancel")}),(0,a.jsxs)(u.$,{size:"sm",onClick:M,disabled:E,className:"rounded-lg bg-red-600 text-[12px] text-white hover:bg-red-700",children:[(0,a.jsx)(v.A,{className:"mr-1 h-3 w-3"}),m(E?"deleting":"confirmDelete")]})]})]}):(0,a.jsxs)("button",{onClick:()=>P(!0),className:"flex w-full cursor-pointer items-center gap-2 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-left text-[13px] font-medium text-red-600 transition-colors hover:border-red-300 hover:bg-red-100",children:[(0,a.jsx)(v.A,{className:"h-4 w-4"}),m("deleteGroup")]})})]})})}var C=r(88738),A=r(38280),D=r(38106);let w={task:"#5A9E6F",idea:"#C67A52",proposal:"#1976D2",document:"#9A9A9A"};function k(){let e=(0,o.useParams)(),t=(0,n.r)(),r=(0,l.c)(),[i,f]=(0,s.useState)(null),[j,b]=(0,s.useState)(!0),[v,N]=(0,s.useState)(null),[k,E]=(0,s.useState)(!1),[O,R]=(0,s.useState)(!1),P=async()=>{try{let a=await (0,h.tm)("/api/project-groups/".concat(e.uuid,"/dashboard"));if(!a.ok){if(404===a.status)return void t.push("/projects");N(r("common.genericError"));return}let s=await a.json();s.success?f(s.data):N(s.error||r("common.genericError"))}catch(e){N(r("common.genericError"))}finally{b(!1)}};if((0,s.useEffect)(()=>{P()},[e.uuid]),j)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,a.jsx)("span",{className:"text-[13px] text-[#9A9A9A]",children:r("common.loading")})});if(v||!i)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,a.jsx)("span",{className:"text-[13px] text-[#9A9A9A]",children:v||r("common.genericError")})});let{group:S,stats:T,projects:I,recentActivity:M}=i,_=[{label:r("groupDashboard.statProjects"),value:T.projectCount,valueColor:"text-foreground"},{label:r("groupDashboard.statTotalTasks"),value:T.totalTasks,valueColor:"text-primary"},{label:r("groupDashboard.statCompletionRate"),value:"".concat(T.completionRate,"%"),valueColor:"text-[#5A9E6F] dark:text-[#6FD19A]"},{label:r("groupDashboard.statOpenIdeas"),value:T.openIdeas,valueColor:"text-foreground"},{label:r("groupDashboard.statActiveProposals"),value:T.activeProposals,valueColor:"text-primary"}];return(0,a.jsxs)("div",{className:"flex h-full flex-col gap-6 bg-background p-4 md:p-6 lg:p-8",children:[(0,a.jsx)("div",{className:"flex items-center justify-between",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-[12px]",children:[(0,a.jsx)(c(),{href:"/projects",className:"text-primary hover:underline",children:r("nav.projects")}),(0,a.jsx)("span",{className:"text-[#9A9A9A]",children:"/"}),(0,a.jsx)("span",{className:"text-[#9A9A9A]",children:S.name})]})}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3.5",children:[(0,a.jsx)("div",{className:"flex h-11 w-11 items-center justify-center rounded-xl bg-primary",children:(0,a.jsx)(p.A,{className:"h-[22px] w-[22px] text-white"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-[24px] font-semibold tracking-tight text-foreground",children:S.name}),(0,a.jsx)("p",{className:"text-[13px] text-muted-foreground",children:r("groupDashboard.subtitle",{count:T.projectCount})})]})]}),(0,a.jsxs)(u.$,{variant:"outline",size:"sm",onClick:()=>E(!0),className:"gap-2 rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e] bg-card text-[13px] font-medium text-foreground hover:border-primary hover:bg-card",children:[(0,a.jsx)(x.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),r("projectGroups.manageGroup")]})]}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-4 sm:grid-cols-3 lg:grid-cols-5",children:_.map(e=>(0,a.jsxs)(d.Zp,{className:"rounded-2xl border-[#E5E2DC] dark:border-[#2a2a2e] bg-card !gap-1 p-4 !py-4 shadow-none",children:[(0,a.jsx)("p",{className:"text-[12px] font-normal text-[#9A9A9A]",children:e.label}),(0,a.jsx)("p",{className:"mt-1.5 text-[32px] font-semibold leading-none tracking-tight ".concat(e.valueColor),children:e.value})]},e.label))}),(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-6 lg:flex-row",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-[14px] font-semibold text-foreground",children:r("groupDashboard.projectsInGroup")}),(0,a.jsxs)(u.$,{size:"sm",onClick:()=>R(!0),className:"gap-1.5 rounded-lg bg-primary text-[12px] font-medium text-white hover:bg-[#B56A42]",children:[(0,a.jsx)(m.A,{className:"h-3.5 w-3.5"}),r("groupDashboard.newProject")]})]}),(0,a.jsx)("div",{className:"flex flex-col gap-2",children:I.length>0?I.map(e=>{let t=(0,A.Dj)(e.name),s=(0,A.gl)(e.name);return(0,a.jsx)(c(),{href:"/projects/".concat(e.uuid,"/dashboard"),children:(0,a.jsxs)("div",{className:"flex cursor-pointer items-center justify-between rounded-xl border border-[#E5E2DC] dark:border-[#2a2a2e] bg-card py-3 px-4 transition-all hover:border-primary hover:shadow-sm",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"project-icon flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-[11px] font-bold",style:(0,A.sB)(s),children:t}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[13px] font-semibold text-foreground",children:e.name}),(0,a.jsx)("p",{className:"text-[11px] text-[#9A9A9A]",children:r("groupDashboard.projectStats",{tasks:e.taskCount,completion:e.completionRate})})]})]}),(0,a.jsx)(g.A,{className:"h-4 w-4 text-[#9A9A9A]"})]})},e.uuid)}):(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center rounded-xl border border-dashed border-[#E5E2DC] dark:border-[#2a2a2e] bg-background px-8 py-12",children:[(0,a.jsx)(p.A,{className:"mb-3 h-8 w-8 text-[#D0CCC4]"}),(0,a.jsx)("p",{className:"text-[13px] font-medium text-[#9A9A9A]",children:r("groupDashboard.noProjects")}),(0,a.jsx)("p",{className:"mt-1 text-[11px] text-[#C0BDB7]",children:r("groupDashboard.noProjectsHint")})]})})]}),(0,a.jsxs)("div",{className:"flex w-full flex-col gap-4 lg:w-[420px] lg:shrink-0",children:[(0,a.jsx)("h2",{className:"text-[14px] font-semibold text-foreground",children:r("dashboard.recentActivity")}),(0,a.jsx)(d.Zp,{className:"flex flex-col overflow-hidden rounded-2xl border-[#E5E2DC] dark:border-[#2a2a2e] bg-card !gap-0 !py-0 shadow-none",children:M.length>0?M.slice(0,5).map((e,t)=>{var s;let o=null!=(s=w[e.targetType])?s:"#9A9A9A";return(0,a.jsxs)("div",{className:"flex items-start gap-3 px-4 py-3.5 ".concat(t<Math.min(M.length,5)-1?"border-b border-[#E5E2DC] dark:border-[#2a2a2e]":""),children:[(0,a.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded",style:{backgroundColor:o}}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"text-[12px] leading-[1.4] text-foreground",children:function(e){var t;let r=null!=(t=({created:"created",updated:"updated",approved:"approved",rejected:"rejected",claimed:"claimed",completed:"completed",verified:"verified",submitted:"submitted",assigned:"assigned",status_changed:"updated"})[e.action])?t:e.action,a=e.targetType;return"".concat(a.charAt(0).toUpperCase()+a.slice(1)," ").concat(r)}(e)}),(0,a.jsxs)("p",{className:"mt-1 text-[11px] text-[#9A9A9A]",children:[e.projectName," \xb7"," ",function(e,t){let r=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(r<1)return t("time.justNow");if(r<60)return t("time.minutesAgo",{minutes:r});let a=Math.floor(r/60);if(a<24)return t("time.hoursAgo",{hours:a});let s=Math.floor(a/24);return s<7?t("time.daysAgo",{days:s}):(0,D.r)(e)}(e.createdAt,r)]})]})]},e.uuid)}):(0,a.jsx)("div",{className:"flex items-center justify-center p-8",children:(0,a.jsx)("p",{className:"text-[13px] text-[#9A9A9A]",children:r("dashboard.noRecentActivity")})})})]})]}),(0,a.jsx)(C.C,{open:O,onOpenChange:R,groupUuid:S.uuid,groupName:S.name,onCreated:()=>{R(!1),P()}}),(0,a.jsx)(y,{open:k,onOpenChange:E,groupUuid:S.uuid,groupName:S.name,groupDescription:S.description,projectCount:T.projectCount,onUpdated:()=>{E(!1),P()}})]})}},96967:(e,t,r)=>{Promise.resolve().then(r.bind(r,77298))},97413:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(66206).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])}},e=>{e.O(0,[12079,18944,27290,12790,14655,21932,16544,15653,37035,74951,65496,77358],()=>e(e.s=96967)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2734,3216,4342,4977,5869,6476,6623,7719,8489,11140,12015,12170,12662,13056,13566,14966,17453,17948,21220,23519,24058,24869,27406,27819,29246,30754,31025,32515,33004,33105,33157,33836,34561,37624,38189,38629,38764,39672,40494,40568,41654,42129,42371,44192,44533,44843,45058,48597,48653,48673,50070,50575,52451,52703,52772,55223,56202,56856,57128,58118,59442,60468,60523,65580,66469,68928,70473,70637,70703,71406,73708,73804,78301,80064,80272,82082,82641,82765,85879,86384,86759,87188,87682,90090,90113,90469,91946,93184,93691,97629,97636,98150,98400],{51540:()=>{}},_=>{_.O(0,[74951,65496,77358],()=>_(_.s=51540)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[85e3],{18789:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]])},29622:(e,t,s)=>{"use strict";s.d(t,{IdeaTracker:()=>ee});var a=s(90508),r=s(39268),n=s(1856),l=s(83064),d=s(64131);let o=(0,s(66206).A)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);var i=s(5616),c=s(22922),x=s(81531),u=s(36755),m=s(29767),p=s(57223),h=s(63964),g=s(17730),f=s(78948),j=s(81750),b=s(96213),v=s(48127),y=s(34956),N=s(38106),k=s(77390),w=s(29654),A=s(85226),C=s(20578),E=s(57731),S=s(68876),F=s(3848);function _(e){let{references:t,isLoading:s}=e,n=(0,r.c)();return(0,a.jsx)("div",{className:"space-y-2",children:s?(0,a.jsxs)("p",{className:"flex items-center gap-1.5 text-xs italic text-muted-foreground",children:[(0,a.jsx)(A.A,{className:"h-3 w-3 animate-spin"}),n("references.loading")]}):0===t.length?(0,a.jsx)("p",{className:"text-xs italic text-muted-foreground",children:n("references.empty")}):t.map(e=>{var t,s;let r=(0,S.N2)(e.type)?S.qQ[e.type]:null,l=null!=(t=null==r?void 0:r.icon)?t:y.A;return(0,a.jsxs)("div",{className:"rounded-lg border border-border bg-background p-2.5",children:[(0,a.jsx)("div",{className:"mb-1 flex items-center gap-2",children:(0,a.jsxs)(E.E,{className:"gap-1 border-0 text-[10px] font-medium ".concat(null!=(s=null==r?void 0:r.badgeClass)?s:"bg-secondary text-muted-foreground"),children:[(0,a.jsx)(l,{className:"h-3 w-3"}),r?n(r.labelKey):e.type]})}),(0,a.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",title:e.title,className:"flex min-w-0 items-center gap-1 text-sm font-medium text-primary hover:underline",children:[(0,a.jsx)("span",{className:"truncate",children:e.title}),(0,a.jsx)(C.A,{className:"h-3 w-3 shrink-0"})]}),(0,a.jsx)(F.L,{notes:e.notes})]},e.uuid)})})}let D={open:"open",researching:"researching",answer_questions:"answerQuestions",planning:"planning",review_proposal:"reviewProposal",building:"building",verify_work:"verifyWork",done:"done",closed:"closed"},P={open:"text-muted-foreground",researching:"text-[#7F77DD] dark:text-[#A99FF0]",answer_questions:"text-[#C47A20] dark:text-[#E0A050]",planning:"text-[#7F77DD] dark:text-[#A99FF0]",review_proposal:"text-[#C47A20] dark:text-[#E0A050]",building:"text-[#7F77DD] dark:text-[#A99FF0]",verify_work:"text-[#C47A20] dark:text-[#E0A050]",done:"text-[#1D9E75] dark:text-[#4FD1A0]",closed:"text-muted-foreground"};function M(e){var t,s;let{idea:l,onClick:o,depth:i=0,showConnector:c=!1}=e,x=(0,r.c)("ideaTracker"),u=(0,r.c)(),m=l.badgeHint?D[l.badgeHint]:null,p=l.badgeHint&&P[l.badgeHint]||"text-muted-foreground",h=null!=(t=l.childCount)?t:0,g=null!=(s=l.referenceCount)?s:0,[b,A]=(0,n.useState)(!1),[C,E]=(0,n.useState)([]),[S,F]=(0,n.useState)(!1),[M,B]=(0,n.useState)(!1),I=!0===l.isContainer;return(0,a.jsxs)(j.Nt,{open:b,onOpenChange:e=>{A(e),!e||M||S||(B(!0),F(!0),(0,w.j)("idea",l.uuid).then(e=>{e.success&&E(e.references),F(!1)}))},children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-3.5 py-3 transition-colors ".concat(o?"cursor-pointer hover:bg-background":""),onClick:o?()=>o(l.uuid):void 0,style:i>0?{paddingLeft:"".concat(14+22*i,"px")}:void 0,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2.5",children:[c&&(0,a.jsx)(v.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground","aria-hidden":!0}),(0,a.jsx)("span",{className:"shrink-0 text-[11px] font-semibold tracking-wide ".concat(I?"text-primary":"font-normal tracking-normal text-muted-foreground"),children:x(I?"lineage.typeTheme":"lineage.typeIdea")}),(0,a.jsx)("span",{className:"truncate text-[13px] text-foreground ".concat(I?"font-medium":""),children:l.title}),m&&(0,a.jsx)("span",{className:"shrink-0 rounded bg-secondary px-1.5 py-0.5 text-[11px] ".concat(p),children:x("badge.".concat(m))}),I&&l.childProgress&&l.childProgress.total>0?(0,a.jsxs)("span",{className:"flex shrink-0 items-center gap-1 rounded bg-primary/[0.12] px-1.5 py-0.5 text-[11px] font-medium text-primary",title:x("lineage.childrenDone",{done:l.childProgress.done,total:l.childProgress.total}),children:[(0,a.jsx)(k.C,{done:l.childProgress.done,total:l.childProgress.total,size:12,stroke:2}),l.childProgress.done,"/",l.childProgress.total]}):h>0?(0,a.jsxs)("span",{className:"flex shrink-0 items-center gap-1 rounded bg-primary/[0.12] px-1.5 py-0.5 text-[11px] font-medium text-primary",children:[(0,a.jsx)(d.A,{className:"h-2.5 w-2.5","aria-hidden":!0}),x("lineage.derivedCount",{count:h})]}):null,g>0&&(0,a.jsxs)(j.R6,{onClick:e=>e.stopPropagation(),"aria-label":u("references.countLabel",{count:g}),title:u("references.countLabel",{count:g}),className:"group/refs flex shrink-0 items-center gap-1 rounded bg-secondary px-1.5 py-0.5 text-[11px] font-medium text-muted-foreground transition-colors hover:text-foreground",children:[(0,a.jsx)(f.A,{className:"h-2.5 w-2.5 transition-transform ".concat(b?"rotate-90":""),"aria-hidden":!0}),(0,a.jsx)(y.A,{className:"h-2.5 w-2.5","aria-hidden":!0}),g]})]}),(0,a.jsx)("span",{className:"shrink-0 pl-4 text-[12px] text-muted-foreground",children:(0,N.s)(l.createdAt)})]}),g>0&&(0,a.jsx)(j.Ke,{onClick:e=>e.stopPropagation(),children:(0,a.jsx)("div",{className:"px-3.5 pb-3",style:i>0?{paddingLeft:"".concat(14+22*i,"px")}:void 0,children:(0,a.jsx)(_,{references:C,isLoading:S})})})]})}let B={human_conduct_required:{fill:"#7F77DD"},in_progress:{fill:"#378ADD"},todo:{stroke:"#888780"},done:{fill:"#1D9E75"}},I={todo:"todo",in_progress:"inProgress",human_conduct_required:"humanConductRequired",done:"done"};function z(e){let{status:t,ideas:s,defaultOpen:l=!0,onIdeaClick:d}=e,o=(0,r.c)("ideaTracker"),i=s.length>0,[c,x]=(0,n.useState)(!!i&&l),u=I[t]||"todo",m=B[t]||B.todo;return(0,a.jsxs)(j.Nt,{open:c,onOpenChange:x,children:[(0,a.jsxs)(j.R6,{className:"group flex w-full cursor-pointer items-center gap-2 px-0 pb-1.5 pt-0",children:[c?(0,a.jsx)(g.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground transition-colors group-hover:text-foreground"}):(0,a.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground transition-colors group-hover:text-foreground"}),(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:m.fill,border:m.stroke?"1.5px solid ".concat(m.stroke):void 0}}),(0,a.jsx)("span",{className:"text-[13px] font-medium transition-colors group-hover:text-foreground ".concat(i?"text-foreground/80":"text-muted-foreground/60"),children:o("status.".concat(u))}),(0,a.jsx)("span",{className:"text-[12px] text-muted-foreground transition-colors group-hover:text-foreground",children:s.length})]}),i&&(0,a.jsx)(j.Ke,{children:(0,a.jsx)("div",{className:"overflow-hidden rounded-lg bg-card",children:s.map((e,t)=>(0,a.jsxs)("div",{children:[t>0&&(0,a.jsx)("div",{className:"mx-0 h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"}),(0,a.jsx)(b.D,{entityType:"idea",entityUuid:e.uuid,badgeInside:!0,children:(0,a.jsx)(M,{idea:e,onClick:d})})]},e.uuid))})})]})}function O(e){let{ideas:t,onIdeaClick:s}=e,r=(0,n.useMemo)(()=>(function(e){let t=new Map(e.map(e=>[e.uuid,e])),s=new Map,a=[];for(let l of e){var r,n;let e=null!=(r=l.parentUuid)?r:null;if(e&&t.has(e)){let t=null!=(n=s.get(e))?n:[];t.push(l),s.set(e,t)}else a.push(l)}let l=[],d=new Set,o=(e,t,a)=>{var r;if(!d.has(e.uuid))for(let n of(d.add(e.uuid),a.push({idea:e,depth:t,showConnector:t>0}),null!=(r=s.get(e.uuid))?r:[]))o(n,t+1,a)};for(let e of a){let t=[];o(e,0,t),t.length>0&&l.push(t)}for(let t of e)d.has(t.uuid)||(d.add(t.uuid),l.push([{idea:t,depth:0,showConnector:!1}]));return l})(t),[t]);return(0,a.jsx)("div",{className:"space-y-2.5",children:r.map(e=>(0,a.jsx)("div",{"data-testid":"lineage-tree-group",className:"overflow-hidden rounded-lg bg-card",children:e.map((e,t)=>(0,a.jsxs)("div",{children:[t>0&&(0,a.jsx)("div",{className:"mx-0 h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"}),(0,a.jsx)(b.D,{entityType:"idea",entityUuid:e.idea.uuid,badgeInside:!0,children:(0,a.jsx)(M,{idea:e.idea,onClick:s,depth:e.depth,showConnector:e.showConnector})})]},e.idea.uuid))},e[0].idea.uuid))})}let T=["human_conduct_required","in_progress","todo","done"];function U(e){var t;let{projectUuid:s,initialData:l,viewMode:d,onIdeaClick:o,onNewIdea:x,onEmptyChange:g}=e,f=(0,r.c)("ideaTracker"),[j,b]=(0,n.useState)(null!=(t=null==l?void 0:l.groups)?t:{}),[v,y]=(0,n.useState)(!l),[N,k]=(0,n.useState)(null),w=(0,n.useCallback)(async()=>{try{let e=await fetch("/api/projects/".concat(s,"/ideas/tracker")),t=await e.json();t.success&&t.data?(b(t.data.groups),k(null)):k(t.error||f("error.loadFailed"))}catch(e){k(f("error.loadFailed"))}finally{y(!1)}},[s,f]);(0,h.eV)("idea",w),(0,h.eV)("proposal",w),(0,h.eV)("task",w),(0,n.useEffect)(()=>{l||w()},[w,l]);let A=T.reduce((e,t)=>e+(j[t]||[]).length,0);(0,n.useEffect)(()=>{v||null==g||g(0===A)},[A,v,g]);let C=T.flatMap(e=>j[e]||[]);return 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)(p.E,{className:"h-5 w-32"}),(0,a.jsx)(p.E,{className:"h-12 w-full rounded-lg"}),(0,a.jsx)(p.E,{className:"h-12 w-full rounded-lg"})]},e))}):N&&0===Object.keys(j).length?(0,a.jsxs)("div",{className:"flex flex-col items-center gap-4 py-16",children:[(0,a.jsx)(u.A,{className:"h-10 w-10 text-[#E65100] dark:text-[#F0A050]"}),(0,a.jsx)("p",{className:"text-[13px] text-muted-foreground",children:N}),(0,a.jsx)(c.$,{variant:"outline",size:"sm",onClick:()=>{y(!0),k(null),w()},className:"border-border text-foreground",children:f("actions.retry")})]}):0===A?(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-secondary",children:(0,a.jsx)(m.A,{className:"h-5 w-5 text-muted-foreground"})}),(0,a.jsx)("p",{className:"text-[13px] font-medium text-muted-foreground",children:f("empty.noIdeas")}),(0,a.jsx)("p",{className:"max-w-[260px] text-center text-[12px] leading-relaxed text-muted-foreground",children:f("empty.getStarted")}),x&&(0,a.jsxs)(c.$,{onClick:x,size:"sm",className:"mt-2 gap-1.5 rounded-md bg-primary 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(j).length>0&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 px-3 py-2 text-[12px] text-destructive",children:N}),"tree"===d?(0,a.jsx)(O,{ideas:C,onIdeaClick:o}):(0,a.jsx)("div",{className:"space-y-4",children:T.map(e=>{let t=j[e]||[];return 0===t.length?null:(0,a.jsx)(z,{status:e,ideas:t,defaultOpen:"done"!==e,onIdeaClick:o},e)})})]})}var L=s(12790),R=s.n(L),V=s(48416),$=s(90795),q=s(18789),H=s(71921),Z=s(56770);let K=[{key:"todo",bg:"#E65100"},{key:"inProgress",bg:"#5A9E6F"},{key:"toVerify",bg:"#7B1FA2"},{key:"done",bg:"#00796B"}],J={idea:"bg-primary",task:"bg-[#5A9E6F]",proposal:"bg-[#1976D2]",document:"bg-[#9A9A9A]"};function Q(e){let{projectUuid:t,initialData:s}=e,l=(0,r.c)(),d=(0,r.c)("ideaTracker"),[o,i]=(0,n.useState)(null!=s?s:null),[c,x]=(0,n.useState)(!s),u=(0,n.useCallback)(async()=>{try{let e=await fetch("/api/projects/".concat(t,"/stats"));if(!e.ok)return;let s=await e.json();s.success&&i(s.data)}finally{x(!1)}},[t]);if((0,n.useEffect)(()=>{s||u()},[u,s]),(0,h.eV)(["idea","task","proposal","document"],u),c)return(0,a.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,a.jsx)(A.A,{className:"h-6 w-6 animate-spin text-muted-foreground"})});if(!o)return null;let{stats:p,recentActivities:g}=o,f=[{label:d("stats.totalIdeas"),value:p.ideas.total,badge:p.ideas.open>0?d("stats.openCount",{count:p.ideas.open}):null,badgeStyle:"bg-primary/[0.13] text-primary",href:"/projects/".concat(t,"/dashboard"),iconBg:"bg-[#FFF3E0] dark:bg-[#3a2a12]",icon:(0,a.jsx)(m.A,{className:"h-5 w-5 text-[#E65100] dark:text-[#F0A050]"})},{label:d("stats.totalTasks"),value:p.tasks.total,badge:p.tasks.inProgress>0?d("stats.activeCount",{count:p.tasks.inProgress}):null,badgeStyle:"bg-[#5A9E6F20] text-[#5A9E6F] dark:text-[#6FD19A]",href:"/projects/".concat(t,"/tasks"),iconBg:"bg-[#E3F2FD] dark:bg-[#13253a]",icon:(0,a.jsx)(q.A,{className:"h-5 w-5 text-[#1976D2] dark:text-[#5AA9F0]"})},{label:d("stats.totalProposals"),value:p.proposals.total,badge:p.proposals.pending>0?d("stats.pendingCount",{count:p.proposals.pending}):null,badgeStyle:"bg-primary/[0.13] text-primary",href:"/projects/".concat(t,"/proposals"),iconBg:"bg-[#F3E5F5] dark:bg-[#281630]",icon:(0,a.jsx)(H.A,{className:"h-5 w-5 text-[#7B1FA2] dark:text-[#C98FE0]"})},{label:d("stats.totalDocuments"),value:p.documents.total,badge:null,badgeStyle:"",href:"/projects/".concat(t,"/documents"),iconBg:"bg-[#E8F5E9] dark:bg-[#14281a]",icon:(0,a.jsx)(Z.A,{className:"h-5 w-5 text-[#5A9E6F] dark:text-[#6FD19A]"})}],j=[p.tasks.todo,p.tasks.inProgress,p.tasks.toVerify,p.tasks.done],b=p.tasks.total,v=[{label:d("stats.todoCount",{count:p.tasks.todo}),color:"#E65100"},{label:d("stats.inProgressCount",{count:p.tasks.inProgress}),color:"#5A9E6F"},{label:d("stats.toVerifyCount",{count:p.tasks.toVerify}),color:"#7B1FA2"},{label:d("stats.doneCount",{count:p.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:f.map(e=>(0,a.jsx)(R(),{href:e.href,children:(0,a.jsxs)(V.Zp,{className:"cursor-pointer rounded-2xl border-0 bg-card 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-foreground md:text-[32px]",children:e.value}),(0,a.jsx)("div",{className:"mt-0.5 text-[12px] text-muted-foreground 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)(V.Zp,{className:"flex flex-col rounded-2xl border-0 bg-card 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-foreground",children:d("stats.taskPipeline")}),(0,a.jsx)("span",{className:"text-[12px] text-muted-foreground",children:d("stats.totalCount",{count:b})})]}),b>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/b*100,"%"),backgroundColor:K[t].bg}},K[t].key):null)}),(0,a.jsx)("div",{className:"flex flex-wrap gap-5",children:v.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-muted-foreground",children:e.label})]},e.color))})]}):(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center py-10 text-[13px] text-muted-foreground",children:d("stats.noTasks")})]}),(0,a.jsxs)(V.Zp,{className:"flex flex-col rounded-2xl border-0 bg-card 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-foreground",children:d("stats.recentActivity")}),(0,a.jsx)(R(),{href:"/projects/".concat(t,"/activity"),className:"text-[12px] font-medium text-primary hover:underline",children:d("stats.viewAll")})]}),g.length>0?(0,a.jsx)("div",{className:"flex flex-col",children:g.map((e,t)=>{let s=J[e.targetType]||"bg-[#9A9A9A]";return(0,a.jsxs)("div",{className:"flex items-start gap-3 py-3 ".concat(t<g.length-1?"border-b border-secondary":""),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-foreground",children:[e.actorName," ",e.action]}),(0,a.jsx)("span",{className:"text-[11px] text-muted-foreground",children:(0,$.fw)(e.createdAt,l)})]})]},e.uuid)})}):(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center py-10 text-[13px] text-muted-foreground",children:d("stats.noActivity")})]})]})]})}var G=s(15370),W=s(875);let X=["ideas","lineage","stats"],Y=e=>"chorus:dashboard-view:".concat(e);function ee(e){let{projectUuid:t,projectName:s,currentUserUuid:u,initialTrackerData:m,initialStatsData:p,initialSelectedIdeaUuid:h}=e,g=(0,r.c)("ideaTracker"),[f,j]=(0,n.useState)(()=>{var e;return(e=null==m?void 0:m.groups)&&Object.values(e).some(e=>e.some(e=>{var t;return!!e.parentUuid||(null!=(t=e.childCount)?t:0)>0}))?"lineage":"ideas"}),[b,v]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=function(e){let t=null;try{t=window.localStorage.getItem(Y(e))}catch(e){return null}return X.includes(t)?t:null}(t);e&&j(e)},[t]);let[y,N]=(0,n.useState)(()=>!!m&&0===Object.values(m.groups).reduce((e,t)=>e+t.length,0)),k="/projects/".concat(t,"/dashboard"),{selectedId:w,openPanel:A,closePanel:C}=(0,x.T)(k,h),E=[{id:"ideas",label:g("tabs.ideas"),icon:l.A},{id:"lineage",label:g("tabs.lineage"),icon:d.A},{id:"stats",label:g("tabs.stats"),icon:o}];return(0,a.jsxs)("div",{className:"flex h-full flex-col",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("div",{className:"inline-flex items-center gap-0.5 rounded-lg bg-[#EFEBE3] dark:bg-[#201e1a] p-0.5",children:E.map(e=>{let{id:s,label:r,icon:n}=e;return(0,a.jsxs)("button",{type:"button",onClick:()=>(e=>{j(e);try{window.localStorage.setItem(Y(t),e)}catch(e){}})(s),"aria-pressed":f===s,className:"flex cursor-pointer items-center gap-1.5 rounded-md px-3 py-1.5 text-[12px] transition-colors ".concat(f===s?"bg-card font-medium text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[(0,a.jsx)(n,{className:"h-3.5 w-3.5"}),r]},s)})}),"stats"!==f&&!y&&(0,a.jsxs)(c.$,{onClick:()=>v(!0),size:"sm",className:"gap-1.5 rounded-md bg-primary px-3.5 py-2 text-white hover:bg-[#B56A42]",children:[(0,a.jsx)(i.A,{className:"h-4 w-4"}),g("actions.newIdea")]})]}),"stats"===f?(0,a.jsx)(Q,{projectUuid:t,initialData:p}):(0,a.jsx)(U,{projectUuid:t,initialData:m,viewMode:"lineage"===f?"tree":"flat",onIdeaClick:A,onNewIdea:()=>v(!0),onEmptyChange:N}),(0,a.jsx)(W.i,{open:b,onOpenChange:v,projectUuid:t,projectName:s,onCreated:e=>A(e)}),w&&(0,a.jsx)(G.D,{ideaUuid:w,projectUuid:t,currentUserUuid:u,onClose:C,onNavigate:A})]})}},41644:(e,t,s)=>{Promise.resolve().then(s.bind(s,29622)),Promise.resolve().then(s.bind(s,82126)),Promise.resolve().then(s.bind(s,97723))},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"}]])},57223:(e,t,s)=>{"use strict";s.d(t,{E:()=>n});var a=s(90508),r=s(24377);function n(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"skeleton",className:(0,r.cn)("bg-accent animate-pulse rounded-md",t),...s})}},82126:(e,t,s)=>{"use strict";s.d(t,{ProjectSettingsModal:()=>b});var a=s(90508),r=s(1856),n=s(91814),l=s(39268),d=s(52309),o=s(85226),i=s(22922),c=s(14554),x=s(88064),u=s(15972),m=s(97438),p=s(84247),h=s(51817),g=s(52217);let f=(0,g.createServerReference)("606bacd9753c7fd59bb31dfe9dceb01afda160b770",g.callServer,void 0,g.findSourceMapURL,"updateProjectAction"),j=(0,g.createServerReference)("403f5a598f7439db44a3ad10983d666bf3b4bb6e9a",g.callServer,void 0,g.findSourceMapURL,"deleteProjectAction");function b(e){let{projectUuid:t,projectName:s,projectDescription:g}=e,b=(0,l.c)(),v=(0,n.r)(),[y,N]=(0,r.useState)(!1),[k,w]=(0,r.useState)(s),[A,C]=(0,r.useState)(g||""),[E,S]=(0,r.useState)(!1),[F,_]=(0,r.useState)(!1),D=async()=>{S(!0);let e=await f(t,{name:k,description:A||null});S(!1),e.success&&(N(!1),v.refresh())},P=async()=>{_(!0);let e=await j(t);e&&!e.success&&_(!1)};return(0,a.jsxs)(m.lG,{open:y,onOpenChange:N,children:[(0,a.jsx)(m.zM,{asChild:!0,children:(0,a.jsxs)(i.$,{variant:"outline",size:"sm",className:"gap-1.5 rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e] bg-card text-[12px] font-normal text-foreground hover:border-primary hover:bg-card",children:[(0,a.jsx)(d.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),b("dashboard.settings")]})}),(0,a.jsxs)(m.Cf,{className:"gap-0 overflow-hidden rounded-2xl border-0 p-0 sm:max-w-[520px]",children:[(0,a.jsx)(m.c7,{className:"px-7 py-6",children:(0,a.jsx)(m.L3,{className:"text-[20px] font-semibold tracking-tight text-foreground",children:b("projectSettings.title")})}),(0,a.jsx)(p.Separator,{className:"bg-[#E5E2DC] dark:bg-[#26241f]"}),(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-foreground",children:b("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-muted-foreground",children:b("projectSettings.projectName")}),(0,a.jsx)(c.p,{value:k,onChange:e=>w(e.target.value),className:"h-11 rounded-[10px] border-[#E5E2DC] dark:border-[#2a2a2e] text-[14px] text-foreground focus-visible:ring-primary"})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsx)(x.J,{className:"text-[12px] font-medium text-muted-foreground",children:b("projectSettings.description")}),(0,a.jsx)(u.T,{value:A,onChange:e=>C(e.target.value),rows:3,className:"resize-none rounded-[10px] border-[#E5E2DC] dark:border-[#2a2a2e] text-[14px] text-foreground focus-visible:ring-primary"})]}),(0,a.jsx)(i.$,{onClick:D,disabled:E||!k.trim(),className:"w-fit rounded-[10px] bg-primary px-6 text-[13px] font-semibold text-white hover:bg-[#B56A42]",children:E?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.A,{className:"mr-2 h-4 w-4 animate-spin"}),b("projectSettings.saving")]}):b("projectSettings.saveChanges")})]}),(0,a.jsx)(p.Separator,{className:"bg-[#E5E2DC] dark:bg-[#26241f]"}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("h3",{className:"text-[14px] font-semibold text-[#C4574C] dark:text-[#F0897E]",children:b("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-foreground",children:b("projectSettings.deleteTitle")}),(0,a.jsx)("span",{className:"text-[12px] text-muted-foreground",children:b("projectSettings.deleteDescription")})]}),(0,a.jsxs)(h.Lt,{children:[(0,a.jsx)(h.tv,{asChild:!0,children:(0,a.jsx)(i.$,{variant:"destructive",size:"sm",className:"ml-4 shrink-0 rounded-lg bg-[#C4574C] px-[18px] text-[12px] font-medium hover:bg-[#B3463B]",children:b("common.delete")})}),(0,a.jsxs)(h.EO,{children:[(0,a.jsxs)(h.wd,{children:[(0,a.jsx)(h.r7,{children:b("projectOverview.deleteProject")}),(0,a.jsx)(h.$v,{children:b("projectOverview.deleteProjectConfirm",{name:s})})]}),(0,a.jsxs)(h.ck,{children:[(0,a.jsx)(h.Zr,{children:b("common.cancel")}),(0,a.jsx)(h.Rx,{variant:"destructive",onClick:P,disabled:F,children:F?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.A,{className:"mr-2 h-4 w-4 animate-spin"}),b("common.delete")]}):b("common.delete")})]})]})]})]})})]})]})]})]})}},83064:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]])},97723:(e,t,s)=>{"use strict";s.d(t,{CollapsibleMarkdown:()=>o});var a=s(90508),r=s(1856),n=s(39268),l=s(22922),d=s(97261);function o(e){let{content:t,className:s}=e,o=(0,n.c)(),[i,c]=(0,r.useState)(!1),[x,u]=(0,r.useState)(!1),m=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=m.current;if(!e)return;let t=()=>u(e.scrollHeight>81);t();let s=new ResizeObserver(t);return s.observe(e),()=>s.disconnect()},[t]),(0,a.jsxs)("div",{className:s,children:[(0,a.jsx)("div",{ref:m,className:"overflow-hidden [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_p:first-child]:mt-0 [&_p:last-child]:mb-0",style:i?void 0:{maxHeight:80},children:(0,a.jsx)(d.MarkdownContent,{children:t})}),x&&(0,a.jsx)(l.$,{variant:"link",size:"sm",onClick:()=>c(e=>!e),className:"h-auto p-0 text-[#E07A5F] dark:text-[#F0A088] text-xs font-medium mt-1",children:o(i?"common.showLess":"common.showMore")})]})}}},e=>{e.O(0,[41282,93151,41752,30996,57084,59764,12079,18944,27290,12790,26885,14655,21932,30724,16544,94170,83285,27201,16551,97784,14753,45532,70552,89836,15183,38296,87325,60178,31308,94643,68326,18351,24870,26232,94470,74951,65496,77358],()=>e(e.s=41644)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[13280],{22081:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let a=r(90508),n=r(1856),l=r(38878);function s(e){return{default:e&&"default"in e?e.default:e}}r(23667);let o={loader:()=>Promise.resolve(s(()=>null)),loading:null,ssr:!0},i=function(e){let t={...o,...e},r=(0,n.lazy)(()=>t.loader().then(s)),i=t.loading;function u(e){let s=i?(0,a.jsx)(i,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,u=o?n.Suspense:n.Fragment,d=t.ssr?(0,a.jsxs)(a.Fragment,{children:[null,(0,a.jsx)(r,{...e})]}):(0,a.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,a.jsx)(r,{...e})});return(0,a.jsx)(u,{...o?{fallback:s}:{},children:d})}return u.displayName="LoadableComponent",u}},23217:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(66206).A)("square-check-big",[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},23667:(e,t,r)=>{"use strict";function a(e){let{moduleIds:t}=e;return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return a}}),r(90508),r(38129),r(66516),r(83745)},38878:(e,t,r)=>{"use strict";function a(e){let{reason:t,children:r}=e;return r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return a}}),r(52330)},40026:(e,t,r)=>{Promise.resolve().then(r.bind(r,79412))},49889:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}});let a=r(32728)._(r(22081));function n(e,t){var r;let n={};"function"==typeof e&&(n.loader=e);let l={...n,...t};return(0,a.default)({...l,modules:null==(r=l.loadableGenerated)?void 0:r.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},58866:(e,t,r)=>{"use strict";r.d(t,{AnimatedEmptyState:()=>l});var a=r(90508),n=r(16544);function l(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})}},62205:(e,t,r)=>{"use strict";r.d(t,{a:()=>n});var a=r(1856);function n(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");t(e.matches);let r=e=>t(e.matches);return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[]),e}},63117:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{bindSnapshot:function(){return s},createAsyncLocalStorage:function(){return l},createSnapshot:function(){return o}});let r=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class a{disable(){throw r}getStore(){}run(){throw r}exit(){throw r}enterWith(){throw r}static bind(e){return e}}let n="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function l(){return n?new n:new a}function s(e){return n?n.bind(e):a.bind(e)}function o(){return n?n.snapshot():function(e,...t){return e(...t)}}},66516:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return a.workAsyncStorageInstance}});let a=r(92919)},76542:(e,t,r)=>{"use strict";r.d(t,{U:()=>i});var a=r(89929);function n(e,t){return e.parent===t.parent?1:2}function l(e){var t=e.children;return t?t[0]:e.t}function s(e){var t=e.children;return t?t[t.length-1]:e.t}function o(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}function i(e,t){let r=new Map;for(let t of e)r.set(t.id,t);let i=new Map,u=new Map;for(let e of t)"lineage"===e.kind?i.has(e.target)||i.set(e.target,e.source):"depends"!==e.kind||u.has(e.target)||u.set(e.target,e.source);let d=e=>{if("idea"===e.type){let t=i.get(e.id);return void 0!==t&&r.has(t)?t:void 0}if("task"===e.type){let t=u.get(e.id);if(void 0!==t&&r.has(t))return t}return void 0!==e.ownerId&&r.has(e.ownerId)?e.ownerId:void 0},c=new Map,p=new Map,h=[];for(let t of e){let e=d(t);if(void 0===e)h.push(t);else{p.set(t.id,e);let r=c.get(e);r?r.push(t):c.set(e,[t])}}let f=(e,t)=>{var r;t.add(e.id);let a=null!=(r=c.get(e.id))?r:[],n=[];for(let e of a)t.has(e.id)||n.push(f(e,t));return{id:e.id,children:n}},m=(function(){var e=n,t=1,r=1,a=null;function i(n){var l=function(e){for(var t,r,a,n,l,s=new o(e,0),i=[s];t=i.pop();)if(a=t._.children)for(t.children=Array(l=a.length),n=l-1;n>=0;--n)i.push(r=t.children[n]=new o(a[n],n)),r.parent=t;return(s.parent=new o(null,0)).children=[s],s}(n);if(l.eachAfter(u),l.parent.m=-l.z,l.eachBefore(d),a)n.eachBefore(c);else{var s=n,i=n,p=n;n.eachBefore(function(e){e.x<s.x&&(s=e),e.x>i.x&&(i=e),e.depth>p.depth&&(p=e)});var h=s===i?1:e(s,i)/2,f=h-s.x,m=t/(i.x+h+f),g=r/(p.depth||1);n.eachBefore(function(e){e.x=(e.x+f)*m,e.y=e.depth*g})}return n}function u(t){var r=t.children,a=t.parent.children,n=t.i?a[t.i-1]:null;if(r){!function(e){for(var t,r=0,a=0,n=e.children,l=n.length;--l>=0;)t=n[l],t.z+=r,t.m+=r,r+=t.s+(a+=t.c)}(t);var o=(r[0].z+r[r.length-1].z)/2;n?(t.z=n.z+e(t._,n._),t.m=t.z-o):t.z=o}else n&&(t.z=n.z+e(t._,n._));t.parent.A=function(t,r,a){if(r){for(var n,o,i,u=t,d=t,c=r,p=u.parent.children[0],h=u.m,f=d.m,m=c.m,g=p.m;c=s(c),u=l(u),c&&u;)p=l(p),(d=s(d)).a=t,(i=c.z+m-u.z-h+e(c._,u._))>0&&(!function(e,t,r){var a=r/(t.i-e.i);t.c-=a,t.s+=r,e.c+=a,t.z+=r,t.m+=r}((n=c,o=a,n.a.parent===t.parent?n.a:o),t,i),h+=i,f+=i),m+=c.m,h+=u.m,g+=p.m,f+=d.m;c&&!s(d)&&(d.t=c,d.m+=m-f),u&&!l(p)&&(p.t=u,p.m+=h-g,a=t)}return a}(t,n,t.parent.A||a[0])}function d(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function c(e){e.x*=t,e.y=e.depth*r}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(a=!1,t=+e[0],r=+e[1],i):a?null:[t,r]},i.nodeSize=function(e){return arguments.length?(a=!0,t=+e[0],r=+e[1],i):a?[t,r]:null},i})().nodeSize([72,280]),g=new Map,x=[],y=0;for(let e of h){let t=f(e,new Set),r=(0,a.Ay)(t);m(r);let n=1/0,l=-1/0;r.each(e=>{e.x<n&&(n=e.x),e.x>l&&(l=e.x)}),Number.isFinite(n)||(n=0,l=0);let s=y-n;r.eachBefore(e=>{let t=e.data.id;g.set(t,{id:t,x:e.y,y:e.x+s,depth:e.depth}),x.push({id:t,depth:e.depth})}),y=l+s+96}return{positions:g,outline:x,treeParentById:p}}o.prototype=Object.create(a.bP.prototype)},79412:(e,t,r)=>{"use strict";r.d(t,{ResourceGraph:()=>R});var a=r(90508),n=r(1856),l=r(49889),s=r.n(l),o=r(39268),i=r(29767),u=r(71921),d=r(23217),c=r(56770),p=r(66206);let h=(0,p.A)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);var f=r(9160),m=r(30044);let g=(0,p.A)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]),x=(0,p.A)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);var y=r(89967),v=r(17730),b=r(22922),j=r(48416),w=r(39077),k=r(14554),S=r(88064),N=r(92691),C=r(58866),A=r(81531),M=r(62205),_=r(42305),z=r(63964),E=r(76542),I=r(67712),O=r(15370),P=r(35963),U=r(24522),F=r(95185);let B=s()(()=>r.e(38366).then(r.bind(r,15985)).then(e=>e.ForceGraphCanvas),{loadableGenerated:{webpack:()=>[15985]},ssr:!1,loading:()=>(0,a.jsx)("div",{className:"absolute inset-0 flex items-center justify-center text-sm text-muted-foreground",children:"…"})}),L={idea:{color:"#7C4DFF",darkColor:"#9B82FF",Icon:i.A},proposal:{color:"#2563EB",darkColor:"#5A8DEF",Icon:u.A},task:{color:"#E8833A",darkColor:"#F0964E",Icon:d.A},document:{color:"#00897B",darkColor:"#1CA695",Icon:c.A}},q={idea:!0,proposal:!0,task:!0,document:!0};function R(e){var t;let{projectUuid:r,currentUserUuid:l}=e,s=(0,o.c)(),i=(0,M.a)(),[u,d]=(0,n.useState)(null),[c,p]=(0,n.useState)(null),[R,T]=(0,n.useState)(q),V="/projects/".concat(r,"/graph"),{selectedId:$,openPanel:H,closePanel:Z}=(0,A.T)(V,null),[G,K]=(0,n.useState)(null),[J,Q]=(0,n.useState)(null),[W,X]=(0,n.useState)(null),[Y,ee]=(0,n.useState)(()=>new Set),[et,er]=(0,n.useState)(()=>new Set),[ea,en]=(0,n.useState)(""),[el,es]=(0,n.useState)(0),[eo,ei]=(0,n.useState)(null),[eu,ed]=(0,n.useState)(!1),ec=(0,n.useRef)(!1),ep=(0,n.useRef)(0),eh=(0,n.useRef)(null),ef=(0,n.useCallback)(async()=>{var e,t;null==(e=eh.current)||e.abort();let a=new AbortController;eh.current=a;let n=++ep.current;try{let e=await fetch("/api/projects/".concat(r,"/resource-graph"),{signal:a.signal}),l=await e.json();if(a.signal.aborted||n!==ep.current)return;if(!e.ok||!l.success||!l.data)return void p(null!=(t=l.error)?t:s("graph.loadFailed"));let o=l.data,i=new Set(o.nodes.map(e=>e.uuid)),u=e=>{let t=!1,r=new Set;for(let a of e)i.has(a)?r.add(a):t=!0;return t?r:e};ee(u),er(u),p(null),d(o)}catch(e){if(a.signal.aborted||n!==ep.current)return;console.error("[resource-graph] fetch failed",e),p(s("graph.loadFailed"))}},[r,s]);(0,n.useEffect)(()=>(p(null),d(null),ee(new Set),er(new Set),en(""),es(0),ei(null),ec.current=!1,ef(),()=>{var e;null==(e=eh.current)||e.abort()}),[r,ef]),(0,z.eV)("idea",ef),(0,z.eV)("proposal",ef),(0,z.eV)("task",ef),(0,z.eV)("document",ef);let em=(0,n.useCallback)(e=>{T(t=>({...t,[e]:!t[e]}))},[]),eg=(0,n.useCallback)((e,t)=>{"idea"===t?ee(t=>{let r=new Set(t);if(r.has(e)){var a;r.delete(e);let t=(null!=(a=null==u?void 0:u.nodes)?a:[]).filter(t=>{var r;return"proposal"===t.type&&(null!=(r=t.sourceIdeaUuids)?r:[]).includes(e)}).map(e=>e.uuid);t.length>0&&er(e=>{let r=!1,a=new Set(e);for(let e of t)a.delete(e)&&(r=!0);return r?a:e})}else r.add(e);return r}):"proposal"===t&&er(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},[u]),ex=Y.size>0||et.size>0,ey=(0,n.useCallback)(()=>{if(!u)return;let e=new Set,t=new Set;for(let r of u.nodes)"idea"===r.type?e.add(r.uuid):"proposal"===r.type&&t.add(r.uuid);ee(e),er(t)},[u]),ev=(0,n.useCallback)(()=>{ee(new Set),er(new Set)},[]),{forceNodes:eb,forceLinks:ej,isEmpty:ew}=(0,n.useMemo)(()=>{if(!u)return{forceNodes:[],forceLinks:[],isEmpty:!0};let{visibleNodeUuids:e,visibleEdgeIndices:t,childCountByHub:r}=function(e,t,r){var a,n,l,s,o,i;let{nodes:u,edges:d}=e,c=new Set,p=new Map,h=[];for(let e of u)"idea"===e.type?c.add(e.uuid):"proposal"===e.type?p.set(e.uuid,e):h.push(e);let f=new Map;for(let e of c)f.set(e,0);for(let e of p.keys())f.set(e,0);for(let e of p.values())for(let t of null!=(a=e.sourceIdeaUuids)?a:[])c.has(t)&&f.set(t,(null!=(n=f.get(t))?n:0)+1);for(let e of h){let t=null!=(l=e.proposalUuid)?l:null;null!==t&&p.has(t)&&f.set(t,(null!=(s=f.get(t))?s:0)+1)}let m=new Set(c),g=new Set;for(let e of p.values()){let r=(null!=(o=e.sourceIdeaUuids)?o:[]).filter(e=>c.has(e));(0===r.length||r.some(e=>t.has(e)))&&(g.add(e.uuid),m.add(e.uuid))}for(let e of h){let t=null!=(i=e.proposalUuid)?i:null;if(null===t||!p.has(t)){m.add(e.uuid);continue}g.has(t)&&r.has(t)&&m.add(e.uuid)}let x=[];for(let e=0;e<d.length;e++){let t=d[e];m.has(t.from)&&m.has(t.to)&&x.push(e)}return{visibleNodeUuids:m,visibleEdgeIndices:x,childCountByHub:f}}(u,Y,et),a=u.nodes.filter(t=>e.has(t.uuid)&&R[t.type]),n=new Set(a.map(e=>e.uuid)),l=t.map(e=>u.edges[e]).filter(e=>n.has(e.from)&&n.has(e.to)),s=new Set(u.nodes.filter(e=>"idea"===e.type).map(e=>e.uuid)),o=new Map;for(let e of u.nodes){var i;if("proposal"!==e.type)continue;let t=(null!=(i=e.sourceIdeaUuids)?i:[]).find(e=>s.has(e));o.set(e.uuid,t)}let d=new Set(o.keys());return{forceNodes:a.map(e=>{var t,a;let n="idea"===e.type||"proposal"===e.type?null!=(t=r.get(e.uuid))?t:0:void 0,l="idea"===e.type?Y.has(e.uuid):"proposal"===e.type?et.has(e.uuid):void 0;return{id:e.uuid,type:e.type,title:e.title,status:e.status,childCount:n,expanded:l,hasAffordance:(a=e.type,("idea"===a||"proposal"===a)&&(null!=n?n:0)>0),ownerId:(e=>{if("proposal"===e.type)return o.get(e.uuid);if("task"===e.type||"document"===e.type){var t;let r=null!=(t=e.proposalUuid)?t:void 0;return r&&d.has(r)?r:void 0}})(e)}}),forceLinks:l.map(e=>({source:e.from,target:e.to,kind:e.kind})),isEmpty:0===a.length}},[u,Y,et,R]),ek=(0,n.useMemo)(()=>{if(!u)return null;var e=u.nodes.filter(e=>R[e.type]);let t=ea.trim().toLowerCase();if(""===t)return null;let r=new Set;for(let a of e)a.title.toLowerCase().includes(t)&&r.add(a.uuid);return r},[u,ea,R]),eS=null!==ek,eN=(0,n.useMemo)(()=>{if(null===ek||0===ek.size)return[];let{outline:e}=(0,E.U)(eb,ej),t=[];for(let r of e)ek.has(r.id)&&t.push(r.id);return t},[ek,eb,ej]),eC=eN.length,eA=eC>0?(el%eC+eC)%eC:0,eM=eC>0?eN[eA]:null,e_=(0,n.useRef)(eN);e_.current=eN;let ez=(0,n.useRef)(el);ez.current=el,(0,n.useEffect)(()=>{if(!u||null===ek||0===ek.size)return;let{ideaUuids:e,proposalUuids:t}=function(e,t){let r=new Set,a=new Set,n=new Set,l=new Map,s=new Map;for(let t of e.nodes)s.set(t.uuid,t),"idea"===t.type?n.add(t.uuid):"proposal"===t.type&&l.set(t.uuid,t);let o=e=>{var t;return(null!=(t=e.sourceIdeaUuids)?t:[]).find(e=>n.has(e))};for(let e of t){var i;let t=s.get(e);if(void 0===t||"idea"===t.type)continue;if("proposal"===t.type){let e=o(t);void 0!==e&&r.add(e);continue}let n=null!=(i=t.proposalUuid)?i:null;if(null===n)continue;let u=l.get(n);if(void 0===u)continue;a.add(n);let d=o(u);void 0!==d&&r.add(d)}return{ideaUuids:r,proposalUuids:a}}(u,ek);e.size>0&&ee(t=>{let r=!1,a=new Set(t);for(let t of e)a.has(t)||(a.add(t),r=!0);return r?a:t}),t.size>0&&er(e=>{let r=!1,a=new Set(e);for(let e of t)a.has(e)||(a.add(e),r=!0);return r?a:e})},[u,ek]),(0,n.useEffect)(()=>{let e=ec.current;!eS&&e&&(es(0),ei(null)),ec.current=eS},[eS]),(0,n.useEffect)(()=>{es(0)},[ea]),(0,n.useEffect)(()=>{if(null===ek)return;let e=setTimeout(()=>{let e=e_.current;if(0===e.length)return void ei(null);let t=(ez.current%e.length+e.length)%e.length;ei(e[t])},200);return()=>clearTimeout(e)},[ea,ek]);let eE=(0,n.useCallback)(e=>{let t=e_.current,r=t.length;if(0===r)return;let a=((ez.current+e)%r+r)%r;es(a),ei(t[a])},[]),eI=(0,n.useCallback)(()=>{en("")},[]),eO=(0,n.useCallback)(e=>{(0,_.P)(e)||("Enter"===e.key?(e.preventDefault(),eE(e.shiftKey?-1:1)):"Escape"===e.key&&(e.preventDefault(),eI()))},[eI,eE]),eP=(0,n.useCallback)(e=>{X(null),K(e)},[]),eU=(0,n.useCallback)(e=>{K(null),Q(null),X(e)},[]);(0,n.useEffect)(()=>{if(!G)return void Q(null);let e=!1;return(0,F.Q)(G).then(t=>{e||(t.success?Q(t.data):I.q.error("Failed to load task for graph panel:",t.error))}).catch(t=>{e||I.q.error("Failed to load task for graph panel:",t)}),()=>{e=!0}},[G]);let[eF,eB]=(0,n.useState)(null);(0,n.useEffect)(()=>{if(!eF)return;let e=new AbortController;return(async()=>{try{var t;let r=await fetch("/api/documents/".concat(eF),{signal:e.signal}),a=await r.json();if(e.signal.aborted)return;if(!r.ok||!a.success||!a.data)return void I.q.error("Failed to load document for graph panel:",a.error);eU({title:a.data.title,type:a.data.type,content:null!=(t=a.data.content)?t:""})}catch(t){if(e.signal.aborted)return;I.q.error("Failed to load document for graph panel:",t)}})(),()=>e.abort()},[eF,eU]);let eL=(0,n.useCallback)((e,t,r)=>{if(r&&("idea"===t||"proposal"===t))return void eg(e,t);switch(t){case"idea":return void H(e,"elaboration");case"proposal":{var a,n;let t=(null!=(n=null==u||null==(a=u.nodes.find(t=>t.uuid===e))?void 0:a.sourceIdeaUuids)?n:[])[0];if(!t)return void I.q.warn("[resource-graph] proposal node has no project-local source idea; cannot open panel",{proposalUuid:e});H(t,"proposal");return}case"task":return void eP(e);case"document":K(null),Q(null),X(null),eB(e);return}},[u,H,eP,eg]),eq=null!=(t=null!=$?$:G)?t:eF,eR=(0,n.useCallback)(()=>{X(null),eB(null)},[]),eD=(0,a.jsxs)(a.Fragment,{children:[$&&(0,a.jsx)(O.D,{ideaUuid:$,projectUuid:r,currentUserUuid:l,onClose:Z,onNavigate:H},$),G&&J&&(0,a.jsx)(P.v,{task:J,projectUuid:r,currentUserUuid:l,mode:"overlay",onClose:()=>{K(null),Q(null)}}),W&&(0,a.jsx)(U.K,{title:W.title,type:W.type,content:W.content,mode:"overlay",onClose:eR})]});return c?(0,a.jsxs)("div",{className:"p-4 md:p-8",children:[(0,a.jsx)(D,{t:s}),(0,a.jsx)(j.Zp,{className:"border-border p-6 text-sm text-[#B71C1C] dark:text-[#F08078]",children:c}),eD]}):u?(0,a.jsxs)("div",{className:"flex h-full min-h-0 flex-col p-4 md:p-8",children:[(0,a.jsx)(D,{t:s}),(0,a.jsxs)("div",{className:"relative flex-1 min-h-[600px] overflow-hidden rounded-[10px] border border-border bg-background",children:[ew&&(0,a.jsx)(C.AnimatedEmptyState,{children:(0,a.jsxs)(j.Zp,{className:"m-12 flex flex-col items-center justify-center border-border p-8 text-center",children:[(0,a.jsx)("h3",{className:"mb-2 text-base font-medium text-foreground",children:s("graph.emptyTitle")}),(0,a.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:s("graph.emptyDesc")})]})}),!ew&&(0,a.jsx)(B,{nodes:eb,links:ej,selectedId:eq,onNodeClick:eL,matchIds:ek,currentMatchId:eM,centerNodeId:eo}),(0,a.jsx)("div",{className:"absolute right-3 top-3 z-10",children:i&&!eu?(0,a.jsx)(b.$,{type:"button",variant:"outline",size:"icon",onClick:()=>ed(!0),"aria-label":s("graph.controls.open"),"data-testid":"graph-controls-toggle",className:"bg-card/95 shadow-sm backdrop-blur",children:(0,a.jsx)(h,{className:"h-4 w-4"})}):(0,a.jsxs)(j.Zp,{className:"w-[208px] border-border bg-card/95 p-2.5 shadow-sm backdrop-blur",children:[i&&(0,a.jsx)("div",{className:"mb-1.5 flex justify-end",children:(0,a.jsx)(b.$,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>ed(!1),"aria-label":s("graph.controls.close"),"data-testid":"graph-controls-collapse",className:"text-muted-foreground",children:(0,a.jsx)(f.A,{className:"h-3.5 w-3.5"})})}),!ew&&(0,a.jsxs)("div",{className:"mb-2","data-testid":"graph-search",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsxs)("div",{className:"relative flex-1",children:[(0,a.jsx)(m.A,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-[#9A9A9A]","aria-hidden":"true"}),(0,a.jsx)(k.p,{type:"text",value:ea,onChange:e=>en(e.target.value),onKeyDown:eO,placeholder:s("graph.search.placeholder"),"aria-label":s("graph.search.placeholder"),"data-testid":"graph-search-input",className:"h-8 pl-8 pr-8 text-xs"}),""!==ea&&(0,a.jsx)(b.$,{type:"button",variant:"ghost",size:"icon-xs",onClick:eI,"aria-label":s("graph.search.clear"),"data-testid":"graph-search-clear",className:"absolute right-1 top-1/2 -translate-y-1/2 text-muted-foreground",children:(0,a.jsx)(f.A,{className:"h-3.5 w-3.5"})})]}),(0,a.jsx)(N.Bc,{delayDuration:300,children:(0,a.jsxs)(N.m_,{children:[(0,a.jsx)(N.k$,{asChild:!0,children:(0,a.jsx)(b.$,{type:"button",variant:"ghost",size:"icon-sm",onClick:ex?ev:ey,"aria-label":ex?s("graph.collapseAll"):s("graph.expandAll"),"data-testid":"graph-expand-toggle",className:"shrink-0 text-muted-foreground",children:ex?(0,a.jsx)(g,{className:"h-3.5 w-3.5"}):(0,a.jsx)(x,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(N.ZI,{side:"bottom",children:ex?s("graph.collapseAll"):s("graph.expandAll")})]})})]}),eS&&(0,a.jsxs)("div",{className:"mt-1.5 flex items-center justify-between gap-2","data-testid":"graph-search-nav",children:[eC>0?(0,a.jsx)("span",{className:"text-[11px] tabular-nums text-muted-foreground","data-testid":"graph-search-count",children:s("graph.search.count",{current:eA+1,total:eC})}):(0,a.jsx)("span",{className:"text-[11px] text-[#B07B00] dark:text-[#E0A050]","data-testid":"graph-search-no-matches",children:s("graph.search.noMatches")}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(b.$,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>eE(-1),disabled:0===eC,"aria-label":s("graph.search.prev"),"data-testid":"graph-search-prev",children:(0,a.jsx)(y.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(b.$,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>eE(1),disabled:0===eC,"aria-label":s("graph.search.next"),"data-testid":"graph-search-next",children:(0,a.jsx)(v.A,{className:"h-3.5 w-3.5"})})]})]})]}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-x-2 gap-y-1.5",children:["idea","proposal","task","document"].map(e=>{let t=L[e],r="graph-filter-".concat(e);return(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(w.S,{id:r,checked:R[e],onCheckedChange:()=>em(e)}),(0,a.jsx)("span",{className:"graph-swatch h-2 w-2 shrink-0 rounded-full",style:{"--swatch":t.color,"--swatch-dark":t.darkColor}}),(0,a.jsx)(S.J,{htmlFor:r,className:"cursor-pointer text-xs text-foreground",children:s("graph.filters.".concat(e))})]},e)})})]})})]}),eD]}):(0,a.jsxs)("div",{className:"p-4 md:p-8",children:[(0,a.jsx)(D,{t:s}),(0,a.jsx)(j.Zp,{className:"flex items-center justify-center border-border p-12 text-sm text-muted-foreground",children:s("graph.loading")}),eD]})}function D(e){let{t}=e;return(0,a.jsx)("div",{className:"mb-6 flex items-center justify-between",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:t("graph.title")}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t("graph.subtitle")})]})})}},92919:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return a}});let a=(0,r(63117).createAsyncLocalStorage)()}},e=>{e.O(0,[41282,93151,41752,30996,57084,59764,12079,18944,27290,12790,26885,14655,21932,30724,16544,94170,83285,27201,16551,97784,14753,45532,70552,89836,15183,38296,87325,60178,31308,94643,68326,18351,24870,26232,94470,74951,65496,77358],()=>e(e.s=40026)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[19835],{11031:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("clipboard-check",[["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:"m9 14 2 2 4-4",key:"df797q"}]])},16159:(e,t,s)=>{"use strict";s.d(t,{DiscussionDrawer:()=>p});var a=s(90508),r=s(1856),n=s(39268);let i=(0,s(66206).A)("message-circle",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]]);var l=s(22922),o=s(57731),d=s(68923),c=s(96213),m=s(63964),u=s(68326),x=s(73448);function p(e){let{proposalUuid:t,currentUserUuid:s,commentCount:p}=e,h=(0,n.c)(),[f,g]=(0,r.useState)(p),b=(0,r.useCallback)(async()=>{try{let e=await (0,x.d)("proposal",t);if(!e.success)return;g(e.total)}catch(e){}},[t]);return(0,m.w0)("proposal",t,b),(0,a.jsx)(c.D,{entityType:"proposal",entityUuid:t,subEntityType:"comment",children:(0,a.jsxs)(d.cj,{children:[(0,a.jsx)(d.CG,{asChild:!0,children:(0,a.jsxs)(l.$,{variant:"outline",size:"sm",className:"gap-1.5 border-border text-foreground",children:[(0,a.jsx)(i,{className:"h-4 w-4"}),(0,a.jsx)("span",{children:h("proposals.discussion")}),f>0&&(0,a.jsx)(o.E,{className:"ml-0.5 h-5 min-w-5 justify-center rounded-full border-0 bg-[#E07A5F] px-1.5 text-[10px] font-semibold text-white",children:f})]})}),(0,a.jsxs)(d.h,{side:"right",className:"w-full sm:w-[420px] sm:max-w-[420px] p-0 flex flex-col",children:[(0,a.jsx)(d.Fm,{className:"border-b border-[#F0EDE8] dark:border-[#26241f] px-6 py-4",children:(0,a.jsxs)(d.qp,{className:"flex items-center gap-2 text-base",children:[(0,a.jsx)(i,{className:"h-[18px] w-[18px]"}),h("proposals.discussion"),f>0&&(0,a.jsx)("span",{className:"rounded-full bg-[#F0EDE8] dark:bg-[#1f1e1c] px-2 py-0.5 text-xs font-medium text-muted-foreground",children:f})]})}),(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:(0,a.jsx)(u.$m,{targetType:"proposal",targetUuid:t,currentUserUuid:s,onCountChange:g})})]})]})})}},23603:(e,t,s)=>{"use strict";s.d(t,{E:()=>f});var a=s(90508),r=s(1856),n=s(67587),i=s(56770),l=s(66206);let o=(0,l.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,l.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=s(85226);let m=(0,l.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 u=s(39268),x=s(66343),p=s(22922),h=s(67712);function f(e){let{document:t,documentUuid:l,variant:f="default"}=e,g=(0,u.c)(),{exportDocument:b,isExporting:j,exportError:v}=function(){let[e,t]=(0,r.useState)(!1),[a,n]=(0,r.useState)(null);return{exportDocument:(0,r.useCallback)(async(e,a)=>{t(!0),n(null);try{let t,n,l=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 s.e(50681).then(s.bind(s,50681));t=a(e),n="md"}else if("pdf"===a){let{exportAsPdf:a}=await s.e(34966).then(s.bind(s,34966));t=await a(e),n="pdf"}else if("docx"===a){let{exportAsDocx:a}=await s.e(9634).then(s.bind(s,9634));t=await a(e),n="docx"}else throw Error("Unsupported export format: ".concat(String(a)));var r=t,i="".concat(l,".").concat(n);let o=URL.createObjectURL(r),d=document.createElement("a");d.href=o,d.download=i,d.rel="noopener",d.style.display="none",document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(o),1e3)}catch(e){n(e instanceof Error?e.message:String(e)),h.q.error("useDocumentExport export failed",e)}finally{t(!1)}},[]),isExporting:e,exportError:a}}(),[y,N]=(0,r.useState)(null);async function k(e){N(e);try{let d=t;if(!d&&l){var s,a,r,i,o;let e=await fetch("/api/documents/".concat(l)),t=await e.json();if(!t.success||!t.data)return void n.oR.error(g("export.exportError"));let c=t.data;d={title:c.title,content:null!=(r=c.content)?r:"",type:c.type,version:c.version,createdAt:c.createdAt,updatedAt:c.updatedAt,createdByName:null!=(i=null==(s=c.createdBy)?void 0:s.name)?i:"",projectName:null!=(o=null==(a=c.project)?void 0:a.name)?o:""}}d&&await b(d,e)}finally{N(null),v&&n.oR.error(v)}}let w=[{format:"md",labelKey:"export.formatMd",icon:i.A},{format:"pdf",labelKey:"export.formatPdf",icon:o},{format:"docx",labelKey:"export.formatDocx",icon:d}],A="compact"===f;return(0,a.jsxs)(x.rI,{children:[(0,a.jsx)(x.ty,{asChild:!0,children:(0,a.jsxs)(p.$,{variant:"ghost"===f?"ghost":"outline",size:A?"sm":"default",className:A?"h-6 text-[11px] text-muted-foreground hover:text-foreground":"border-border text-muted-foreground gap-1.5",disabled:j,children:[j?(0,a.jsx)(c.A,{className:"".concat(A?"h-3 w-3":"h-4 w-4"," animate-spin")}):(0,a.jsx)(m,{className:A?"h-3 w-3":"h-4 w-4"}),!A&&g("export.exportDocument")]})}),(0,a.jsx)(x.SQ,{align:"end",className:"w-48",children:w.map(e=>{let{format:t,labelKey:s,icon:r}=e;return(0,a.jsxs)(x._2,{onClick:e=>{e.stopPropagation(),e.preventDefault(),k(t)},disabled:j,children:[y===t?(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(r,{className:"h-4 w-4"}),g(s)]},t)})})]})}},24375:(e,t,s)=>{"use strict";s.d(t,{SourceIdeasCard:()=>en});var a=s(90508),r=s(1856),n=s(39268),i=s(29767);let l=(0,s(66206).A)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var o=s(48416),d=s(91814),c=s(95900),m=s(57893),u=s(9160),x=s(5425),p=s(85226),h=s(60532),f=s(94903),g=s(42533),b=s(97413),j=s(57731),v=s(22922),y=s(14554),N=s(15972),k=s(88064),w=s(64993),A=s(51817),C=s(73693),F=s(92691),E=s(94643),S=s(29532),D=s(68326),P=s(7196),U=s(50535),R=s(76313),T=s(97261),M=s(36875),z=s(45956),$=s(88395),B=s(41323),_=s(26332),O=s(52217);let q=(0,O.createServerReference)("60939e95a8faa1db86c44f57ffe03adefffdc52884",O.callServer,void 0,O.findSourceMapURL,"skipElaborationAction");var L=s(32111),I=s(54534),V=s(67712),G=s(67574),Z=s(60193),J=s(48046),H=s(2201),W=s(21180),K=s(24128),Q=s(63964),X=s(11166),Y=s(16544),ee=s(65626),et=s(38106);let es={open:"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]",elaborating:"bg-[#E3F2FD] dark:bg-[#13253a] text-[#1976D2] dark:text-[#5AA9F0]",elaborated:"bg-[#E0F2F1] dark:bg-[#12292a] text-[#00796B] dark:text-[#4FD1C0]"},ea={open:"open",elaborating:"elaborating",elaborated:"elaborated"};function er(e){var t,s,i,l,o,O;let{idea:er,projectUuid:en,currentUserUuid:ei,isUsedInProposal:el,onClose:eo,onDeleted:ed}=e,ec=(0,n.c)(),em=(0,d.r)(),[eu,ex]=(0,r.useState)([]),[ep,eh]=(0,r.useState)(!0),[ef,eg]=(0,r.useState)(!1),[eb,ej]=(0,r.useState)(null),ev=(0,r.useCallback)(async()=>{let e=await (0,B.z)(er.uuid);e.success&&e.data&&ej(e.data)},[er.uuid]);(0,r.useEffect)(()=>{ev()},[ev]),(0,Q.eV)("idea",ev);let[ey,eN]=(0,r.useState)([]),[ek,ew]=(0,r.useState)([]),eA=(0,r.useCallback)(async()=>{if("elaborated"!==er.status){eN([]),ew([]);return}try{let e=await (0,L.U)(en,er.uuid);if(!e.success||!e.data)return;eN(e.data.map(e=>({status:e.status})));let t=e.data.filter(e=>"approved"===e.status),s=await Promise.all(t.map(e=>(0,I.c)(en,e.uuid)));ew(s.flatMap(e=>e.success&&e.data?e.data.map(e=>({status:e.status})):[]))}catch(e){V.q.error("Failed to load start-development gating data:",e)}},[er.uuid,er.status,en]);(0,r.useEffect)(()=>{eA()},[eA]),(0,Q.eV)("proposal",eA),(0,Q.eV)("task",eA);let[eC,eF]=(0,r.useState)(!1),[eE,eS]=(0,r.useState)(""),[eD,eP]=(0,r.useState)(!1),[eU,eR]=(0,r.useState)(null),[eT,eM]=(0,r.useState)(!1),[ez,e$]=(0,r.useState)(null),[eB,e_]=(0,r.useState)(!1),{start:eO,pickerState:eq,confirmPick:eL,cancelPick:eI,isResolving:eV}=(0,H.E)({reassignNoWake:K.U}),[eG,eZ]=(0,r.useState)(!1),[eJ,eH]=(0,r.useState)(er.title),[eW,eK]=(0,r.useState)(er.content||""),[eQ,eX]=(0,r.useState)(!1),[eY,e0]=(0,r.useState)(null),[e1,e2]=(0,r.useState)(!1),[e5,e4]=(0,r.useState)(!1),[e3,e6]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=setTimeout(()=>e6(!0),300);return()=>clearTimeout(e)},[]);let e9="elaborated"!==er.status,e8=(0,X.o)({ideaStatus:er.status,elaborationStatus:er.elaborationStatus,elaboration:eb}),e7="elaborating"===er.status&&(!er.elaborationStatus||"resolved"!==er.elaborationStatus)&&(0,S.RU)(null!=(l=er.assignee)?l:null,{type:"user",uuid:ei}),te="elaborated"!==er.status;(0,r.useEffect)(()=>{!async function(){eh(!0),ex((await (0,P.x)(er.uuid)).activities),eh(!1)}()},[er.uuid]),(0,r.useEffect)(()=>{eZ(!1),eH(er.title),eK(er.content||""),e0(null)},[er.uuid,er.title,er.content]);let tt=()=>{eZ(!1),eH(er.title),eK(er.content||""),e0(null)},ts=async()=>{if(!eJ.trim())return void e0(ec("ideas.titleRequired"));eX(!0),e0(null);let e=await (0,U.J)({ideaUuid:er.uuid,projectUuid:en,title:eJ.trim(),content:eW.trim()||null});eX(!1),e.success?(eZ(!1),em.refresh()):e0(e.error||ec("ideas.updateFailed"))},ta=async()=>{e2(!0);let e=await (0,R.Z)(er.uuid,en);e2(!1),e.success&&(null==ed||ed(),eo(),em.refresh())},tr=async()=>{eM(!0),e$(null);let e=await (0,_.e)(er.uuid);eM(!1),e.success?(e_(!0),em.refresh()):e$(e.error||ec("elaboration.verifyFailed"))},tn=async()=>{if(!eE.trim())return void eR(ec("elaboration.skipReasonRequired"));eP(!0),eR(null);let e=await q(er.uuid,eE.trim());eP(!1),e.success?(eF(!1),eS(""),em.refresh()):eR(e.error||ec("common.genericError"))};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:eo}),(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-card shadow-xl border-l border-border ".concat(e3?"":"animate-in slide-in-from-right duration-300"),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-secondary px-6 py-5",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:eG?(0,a.jsx)("h2",{className:"text-base font-semibold text-foreground",children:ec("ideas.editIdea")}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-foreground truncate",children:er.title}),(0,a.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,a.jsx)(j.E,{className:es[er.status]||"",children:ec("status.".concat(ea[er.status]||er.status))}),(0,a.jsx)("span",{className:"text-xs text-[#9A9A9A]",children:(0,et.r)(er.createdAt)})]})]})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[!eG&&(0,a.jsx)(v.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:()=>e4(!0),title:ec("ideas.actions.move"),"aria-label":ec("ideas.actions.move"),children:(0,a.jsx)(c.A,{className:"h-4 w-4 text-muted-foreground"})}),te&&!eG&&(0,a.jsx)(v.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:()=>{eH(er.title),eK(er.content||""),e0(null),eZ(!0)},children:(0,a.jsx)(m.A,{className:"h-4 w-4 text-muted-foreground"})}),(0,a.jsx)(v.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:eG?tt:eo,children:(0,a.jsx)(u.A,{className:"h-4 w-4 text-muted-foreground"})})]})]}),(0,a.jsx)(w.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:eG?(0,a.jsxs)("div",{className:"space-y-5",children:[eY&&(0,a.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:eY}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(k.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-foreground",children:ec("ideas.titleLabel")}),(0,a.jsx)(y.p,{id:"edit-title",value:eJ,onChange:e=>eH(e.target.value),className:"border-border text-sm focus-visible:ring-primary",autoFocus:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(k.J,{htmlFor:"edit-content",className:"text-[13px] font-medium text-foreground",children:ec("common.content")}),(0,a.jsx)(N.T,{id:"edit-content",value:eW,onChange:e=>eK(e.target.value),rows:8,className:"border-border text-sm resize-none focus-visible:ring-primary"})]})]}):(0,a.jsxs)(Y.P.div,{variants:ee.qG,initial:"initial",animate:"animate",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:ec("common.assignee")}),(0,a.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-background p-3",children:er.assignee?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(C.eu,{className:"h-7 w-7",children:(0,a.jsx)(C.q5,{className:(0,S.bB)(er.assignee)?"bg-primary text-white":"bg-border text-muted-foreground",children:(0,S.bB)(er.assignee)?(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"}):er.assignee.name.charAt(0).toUpperCase()})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-foreground",children:er.assignee.name}),(0,a.jsx)("div",{className:"text-xs text-muted-foreground",children:(0,S.bB)(er.assignee)?"".concat(ec("common.agent")," • ").concat(er.assignee.assignedAt?(0,et.r)(er.assignee.assignedAt):""):ec("common.user")}),"agent_instance"===er.assignee.type&&er.assignee.instance&&(0,a.jsx)("div",{className:"mt-1",children:(0,a.jsx)(E.jQ,{cwd:er.assignee.instance.cwd,host:er.assignee.instance.host})})]})]}):(0,a.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:ec("common.unassigned")})})]}),eb&&eb.rounds.length>0&&(0,a.jsx)("div",{className:"mt-5",children:(0,a.jsx)($.R,{ideaUuid:er.uuid,elaboration:eb,onRefresh:async()=>{let e=await (0,B.z)(er.uuid);e.success&&e.data&&ej(e.data)}})}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:ec("common.content")}),(0,a.jsx)("div",{className:"mt-2",children:er.content?(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-foreground",children:(0,a.jsx)(T.MarkdownContent,{children:er.content})}):(0,a.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:ec("common.noContent")})})]}),(0,a.jsxs)("div",{className:"mt-5 flex-1",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:ec("common.activity")}),(0,a.jsx)("div",{className:"mt-2 space-y-3",children:ep?(0,a.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,a.jsx)(p.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===eu.length?(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:ec("common.noActivity")}):eu.map(e=>(0,a.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,a.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded-full bg-[#9A9A9A]"}),(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("p",{className:"text-[13px] text-foreground",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"edited":case"idea_edited":return t("activity.ideaEdited",{actor:a});case"reparented":case"idea_reparented":return t("activity.ideaReparented",{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"".concat(a,": ").concat(s)}}(e,ec)}),(0,a.jsx)("p",{className:"text-[11px] text-[#9A9A9A]",children:function(e,t){let s=new Date(e),a=new Date().getTime()-s.getTime(),r=Math.floor(a/6e4),n=Math.floor(a/36e5),i=Math.floor(a/864e5);return r<1?t("time.justNow"):r<60?t("time.minutesAgo",{minutes:r}):n<24?t("time.hoursAgo",{hours:n}):i<7?t("time.daysAgo",{days:i}):(0,et.r)(s)}(e.createdAt,ec)})]})]},e.uuid))})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:ec("references.title")}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(J.ReferencesSection,{targetType:"idea",targetUuid:er.uuid,canWrite:!0,compact:!0})})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:ec("comments.title")}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(D.$m,{targetType:"idea",targetUuid:er.uuid,currentUserUuid:ei,compact:!0})})]})]})})}),(0,a.jsx)("div",{className:"border-t border-secondary px-6 py-4",children:(0,a.jsx)("div",{className:"flex items-center justify-between gap-3",children:eG?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(v.$,{variant:"outline",className:"border-border",onClick:tt,disabled:eQ,children:ec("common.cancel")}),(0,a.jsx)(v.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:ts,disabled:eQ||!eJ.trim(),children:eQ?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),ec("common.saving")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.A,{className:"mr-2 h-4 w-4"}),ec("ideas.saveChanges")]})})]}):(0,a.jsxs)(a.Fragment,{children:[e9&&(0,a.jsx)(F.Bc,{delayDuration:300,children:(0,a.jsxs)(F.m_,{children:[(0,a.jsx)(F.k$,{asChild:!0,children:(0,a.jsx)(v.$,{variant:"outline",size:"icon",className:"shrink-0 h-8 w-8 border-border",onClick:()=>eg(!0),"aria-label":er.assignee?ec("common.reassign"):ec("common.assign"),children:(0,a.jsx)(f.A,{className:"h-4 w-4"})})}),(0,a.jsx)(F.ZI,{children:er.assignee?ec("common.reassign"):ec("common.assign")})]})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0 flex flex-wrap items-center gap-2",children:[e7&&(0,a.jsx)(v.$,{variant:"outline",size:"sm",className:"border-border",onClick:()=>{eS(""),eR(null),eF(!0)},children:ec("elaboration.skipButton")}),e8&&!eB&&(0,a.jsx)(v.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:()=>{eO({ideaUuid:er.uuid,wake:tr})},disabled:eT||eV,children:eT?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),ec("elaboration.verifying")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.A,{className:"mr-2 h-4 w-4"}),ec("elaboration.verifyButton")]})}),eB&&(0,a.jsx)("span",{className:"text-[11px] text-[#00796B] dark:text-[#4FD1C0]",children:ec("elaboration.verifiedQueuedHint")}),ez&&(0,a.jsx)("span",{className:"text-[11px] text-destructive",children:ez}),(0,a.jsx)(G.w,{ideaUuid:er.uuid,assignee:er.assignee,assigneeName:null==(t=er.assignee)?void 0:t.name,proposals:ey,tasks:ek,onStarted:()=>{em.refresh()}}),(0,a.jsx)(Z.s,{ideaUuid:er.uuid,assignee:er.assignee,assigneeName:null==(s=er.assignee)?void 0:s.name,proposals:ey,tasks:ek,onStarted:()=>{em.refresh()}})]}),(0,a.jsxs)(A.Lt,{children:[(0,a.jsx)(A.tv,{asChild:!0,children:(0,a.jsx)(v.$,{variant:"outline",size:"icon",className:"shrink-0 h-8 w-8 border-border text-[#EF4444] dark:text-[#F0897E] hover:bg-[#FFEBEE] dark:hover:bg-[#331619] hover:text-[#EF4444] hover:border-[#EF4444]",children:(0,a.jsx)(b.A,{className:"h-4 w-4"})})}),(0,a.jsxs)(A.EO,{children:[(0,a.jsxs)(A.wd,{children:[(0,a.jsx)(A.r7,{children:ec("ideas.deleteIdea")}),(0,a.jsx)(A.$v,{children:ec("ideas.deleteIdeaConfirm",{title:er.title})})]}),(0,a.jsxs)(A.ck,{children:[(0,a.jsx)(A.Zr,{children:ec("common.cancel")}),(0,a.jsx)(A.Rx,{variant:"destructive",onClick:ta,disabled:e1,children:e1?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),ec("common.delete")]}):ec("common.delete")})]})]})]})]})})})]}),(0,a.jsx)(A.Lt,{open:eC,onOpenChange:eF,children:(0,a.jsxs)(A.EO,{children:[(0,a.jsxs)(A.wd,{children:[(0,a.jsx)(A.r7,{children:ec("elaboration.skipConfirmTitle")}),(0,a.jsx)(A.$v,{children:ec("elaboration.skipConfirmDescription")})]}),(0,a.jsxs)("div",{className:"space-y-2 py-2",children:[(0,a.jsx)(k.J,{htmlFor:"skip-reason",className:"text-[13px] font-medium text-foreground",children:ec("elaboration.skipReasonLabel")}),(0,a.jsx)(y.p,{id:"skip-reason",value:eE,onChange:e=>{eS(e.target.value),eU&&eR(null)},placeholder:ec("elaboration.skipReasonPlaceholder"),className:"border-border text-sm focus-visible:ring-primary",autoFocus:!0}),eU&&(0,a.jsx)("p",{className:"text-xs text-destructive",children:eU})]}),(0,a.jsxs)(A.ck,{children:[(0,a.jsx)(A.Zr,{disabled:eD,children:ec("common.cancel")}),(0,a.jsx)(A.Rx,{onClick:e=>{e.preventDefault(),tn()},disabled:eD||!eE.trim(),className:"bg-primary hover:bg-[#B56A42] text-white",children:eD?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),ec("common.processing")]}):ec("elaboration.skipButton")})]})]})}),(0,a.jsx)(z.h,{open:e5,onOpenChange:e4,ideaUuid:er.uuid,projectUuid:en,onMoved:()=>{eo()}}),ef&&(0,a.jsx)(M.i,{idea:{uuid:er.uuid,title:er.title,content:er.content,status:er.status,assignee:er.assignee?{type:er.assignee.type,uuid:er.assignee.uuid,name:er.assignee.name}:null},projectUuid:en,currentUserUuid:ei,onClose:()=>{eg(!1),eo()}}),(0,a.jsx)(W.V,{open:null!==eq,agentName:null!=(o=null==(i=er.assignee)?void 0:i.name)?o:"",instances:null!=(O=null==eq?void 0:eq.instances)?O:[],onConfirm:eL,onCancel:eI})]})}function en(e){let{ideas:t,projectUuid:s,currentUserUuid:d}=e,c=(0,n.c)("proposals"),[m,u]=(0,r.useState)(null);return 0===t.length?null:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(o.Zp,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[(0,a.jsx)(o.aR,{className:"border-b border-secondary px-5 py-4",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(i.A,{className:"h-4 w-4 text-primary"}),(0,a.jsx)(o.ZB,{className:"text-[13px] font-semibold text-foreground",children:c("sourceIdeas")})]})}),(0,a.jsx)(o.Wu,{className:"space-y-2 px-5 py-3",children:t.map(e=>(0,a.jsxs)("button",{onClick:()=>u(e),className:"flex w-full items-center gap-2 rounded-lg bg-secondary px-3 py-2 text-left transition-colors hover:bg-[#EDE9E3] dark:hover:bg-[#2a2a2e]",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-primary"}),(0,a.jsx)("span",{className:"flex-1 truncate text-xs font-medium text-primary",children:e.title}),(0,a.jsx)(l,{className:"h-3 w-3 shrink-0 text-[#9A9A9A]"})]},e.uuid))})]}),m&&(0,a.jsx)(er,{idea:m,projectUuid:s,currentUserUuid:d,isUsedInProposal:!0,onClose:()=>u(null)})]})}},28874:(e,t,s)=>{"use strict";s.d(t,{ProposalValidationChecklist:()=>b});var a=s(90508),r=s(1856),n=s(39268),i=s(1861),l=s(17475),o=s(30028),d=s(11031),c=s(42533),m=s(89967),u=s(17730),x=s(48416),p=s(57731),h=s(57223);let f={error:i.A,warning:l.A,info:o.A},g={error:{icon:"text-red-500",bg:"bg-red-50",badge:"bg-red-100 text-red-700"},warning:{icon:"text-amber-500",bg:"bg-amber-50",badge:"bg-amber-100 text-amber-700"},info:{icon:"text-blue-500",bg:"bg-blue-50",badge:"bg-blue-100 text-blue-700"}};function b(e){let{projectUuid:t,proposalUuid:s,status:o}=e,b=(0,n.c)("proposalValidation"),[j,v]=(0,r.useState)(null),[y,N]=(0,r.useState)(!0),[k,w]=(0,r.useState)(null),[A,C]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{if("draft"!==o)return;let e=!1;return async function(){try{N(!0),w(null);let a=await fetch("/api/projects/".concat(t,"/proposals/").concat(s,"/validate"));if(!a.ok)throw Error("HTTP ".concat(a.status));let r=await a.json();e||v(r.data)}catch(t){e||w(t instanceof Error?t.message:"Unknown error")}finally{e||N(!1)}}(),()=>{e=!0}},[t,s,o]),"draft"!==o)return null;if(y)return(0,a.jsx)(x.Zp,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] shadow-none rounded-2xl gap-0 py-0",children:(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(d.A,{className:"h-4 w-4 text-primary"}),(0,a.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:b("title")})]}),(0,a.jsx)(h.E,{className:"h-5 w-20"})]})});if(k)return(0,a.jsx)(x.Zp,{className:"border-red-200 shadow-none rounded-2xl gap-0 py-0",children:(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(d.A,{className:"h-4 w-4 text-primary"}),(0,a.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:b("title")})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-red-600",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{children:k})]})]})});if(!j)return null;let F={error:[],warning:[],info:[]};for(let e of j.issues)F[e.level].push(e);let E=[...F.error,...F.warning,...F.info],S=F.error.length,D=F.warning.length,P=(0,a.jsxs)("button",{type:"button",onClick:()=>C(!A),className:"flex w-full items-center justify-between px-5 py-3.5 cursor-pointer hover:bg-background transition-colors rounded-2xl",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(d.A,{className:"h-4 w-4 text-primary"}),(0,a.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:b("title")})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[j.valid?(0,a.jsxs)(p.E,{className:"border-0 bg-green-100 text-green-700 text-[11px] font-medium",children:[(0,a.jsx)(c.A,{className:"mr-1 h-3 w-3"}),b("passed")]}):(0,a.jsxs)(a.Fragment,{children:[S>0&&(0,a.jsxs)(p.E,{className:"border-0 bg-red-100 text-red-700 text-[11px] font-medium",children:[(0,a.jsx)(i.A,{className:"mr-1 h-3 w-3"}),b("errorCount",{count:S})]}),D>0&&(0,a.jsxs)(p.E,{className:"border-0 bg-amber-100 text-amber-700 text-[11px] font-medium",children:[(0,a.jsx)(l.A,{className:"mr-1 h-3 w-3"}),b("warningCount",{count:D})]})]}),A?(0,a.jsx)(m.A,{className:"h-4 w-4 text-muted-foreground"}):(0,a.jsx)(u.A,{className:"h-4 w-4 text-muted-foreground"})]})]});return(0,a.jsxs)(x.Zp,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[P,A&&(0,a.jsx)(x.Wu,{className:"px-4 pb-4 pt-0",children:0===E.length?(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-green-600 px-1 py-2",children:[(0,a.jsx)(c.A,{className:"h-4 w-4"}),(0,a.jsx)("span",{children:b("passed")})]}):(0,a.jsx)("div",{className:"space-y-2",children:E.map((e,t)=>{let s=f[e.level],r=g[e.level];return(0,a.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg px-3 py-2.5 ".concat(r.bg),children:[(0,a.jsx)(s,{className:"h-3.5 w-3.5 shrink-0 ".concat(r.icon)}),(0,a.jsx)("span",{className:"flex-1 min-w-0 text-xs text-foreground",children:e.field?b(e.id,{title:e.field}):b(e.id)}),(0,a.jsx)(p.E,{className:"shrink-0 border-0 text-[10px] font-medium ".concat(r.badge),children:b(e.level)})]},"".concat(e.id,"-").concat(t))})})})]})}},32617:(e,t,s)=>{"use strict";s.d(t,{ProposalEditor:()=>em});var a=s(90508),r=s(1856),n=s(91814),i=s(39268),l=s(26145),o=s(75380);s(33805);var d=s(10196),c=s.n(d),m=s(56770),u=s(66206);let x=(0,u.A)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);var p=s(75320);let h=(0,u.A)("file-check",[["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:"m9 15 2 2 4-4",key:"1grp1n"}]]),f=(0,u.A)("book-marked",[["path",{d:"M10 2v8l3-3 3 3V2",key:"sqw3rj"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]]);var g=s(5616),b=s(17730),j=s(78948);let v=(0,u.A)("list-todo",[["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"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),y=(0,u.A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);var N=s(11031),k=s(76111),w=s(47754),A=s(49914),C=s(96213),F=s(63964);function E(e,t){let s=new Set(e.map(e=>e.uuid));return t.filter(e=>!s.has(e.uuid)).map(e=>e.uuid)}function S(e,t){let s=new Set(t.map(e=>e.uuid));return e.filter(e=>!s.has(e.uuid)).map(e=>e.uuid)}var D=s(23603),P=s(52217);let U=(0,P.createServerReference)("40c1ebc089614301059e563d19d3393c3d0690abf5",P.callServer,void 0,P.findSourceMapURL,"getProposalDraftsAction");var R=s(48416),T=s(22922),M=s(57731),z=s(14554),$=s(15972),B=s(88064),_=s(97438),O=s(91846),q=s(97261);let L=(0,P.createServerReference)("70bebabd3a76251b4e29cb5cab23ea686faaebba6a",P.callServer,void 0,P.findSourceMapURL,"updateTaskDraftAction"),I=(0,P.createServerReference)("70787c1f88e7aac181c9b871e468dc80eb989442dc",P.callServer,void 0,P.findSourceMapURL,"updateDocumentDraftAction"),V=(0,P.createServerReference)("6091f6b77bb3b069d2f69bcfd6b3ce0b7e7ff4088e",P.callServer,void 0,P.findSourceMapURL,"addDocumentDraftAction"),G=(0,P.createServerReference)("60bba15cb8e6d4be6b96f6ca1511d0859feb437efa",P.callServer,void 0,P.findSourceMapURL,"removeDocumentDraftAction");var Z=s(9160),J=s(57893),H=s(85226),W=s(60532),K=s(97413),Q=s(64993),X=s(13108),Y=s(51817),ee=s(16544),et=s(65626);let es=(0,P.createServerReference)("60af6a04f4ecb4c2d572122701dfe329d24c44a98e",P.callServer,void 0,P.findSourceMapURL,"addTaskDraftAction"),ea=(0,P.createServerReference)("60d2e221501d43ab6b6bd39ad9745f515f073b5bd6",P.callServer,void 0,P.findSourceMapURL,"removeTaskDraftAction"),er={high:{bg:"bg-[#FFEBEE] dark:bg-[#331619]",text:"text-[#C4574C] dark:text-[#F0897E]"},medium:{bg:"bg-[#FFF3E0] dark:bg-[#3a2a12]",text:"text-[#E65100] dark:text-[#F0A050]"},low:{bg:"bg-secondary",text:"text-muted-foreground"}};function en(e){var t,s;let{taskDraft:l,allTaskDrafts:o,proposalUuid:d,canEdit:c,onClose:m,onSaved:u,onDeleted:x}=e,p=(0,i.c)(),h=(0,n.r)(),[f,b]=(0,r.useTransition)(),[j,v]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=setTimeout(()=>v(!0),300);return()=>clearTimeout(e)},[]);let w=null===l,[A,C]=(0,r.useState)(w),[F,E]=(0,r.useState)((null==l?void 0:l.title)||""),[S,D]=(0,r.useState)((null==l?void 0:l.description)||""),[P,U]=(0,r.useState)((null==l?void 0:l.priority)||"medium"),[R,_]=(0,r.useState)((null==l||null==(t=l.storyPoints)?void 0:t.toString())||""),[I,V]=(0,r.useState)((null==l||null==(s=l.acceptanceCriteriaItems)?void 0:s.map(e=>{var t;return{description:e.description,required:null==(t=e.required)||t}}))||[]),[G,en]=(0,r.useState)([]),[ei,el]=(0,r.useState)(null),eo=w?G:(null==l?void 0:l.dependsOnDraftUuids)||[],ed=(0,r.useMemo)(()=>eo.map(e=>o.find(t=>t.uuid===e)).filter(Boolean),[eo,o]),ec=(0,r.useMemo)(()=>{let e=new Set(eo);return o.filter(t=>t.uuid!==(null==l?void 0:l.uuid)&&!e.has(t.uuid))},[null==l?void 0:l.uuid,eo,o]),em=()=>{var e,t;l&&(E(l.title),D(l.description||""),U(l.priority||"medium"),_((null==(e=l.storyPoints)?void 0:e.toString())||""),V((null==(t=l.acceptanceCriteriaItems)?void 0:t.map(e=>{var t;return{description:e.description,required:null==(t=e.required)||t}}))||[]),el(null),C(!0))},eu=()=>{if(w)return void m();if(C(!1),l){var e,t;E(l.title),D(l.description||""),U(l.priority||"medium"),_((null==(e=l.storyPoints)?void 0:e.toString())||""),V((null==(t=l.acceptanceCriteriaItems)?void 0:t.map(e=>{var t;return{description:e.description,required:null==(t=e.required)||t}}))||[])}el(null)},ex=er[(null==l?void 0:l.priority)||"medium"]||er.medium,ep=()=>(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:p("proposals.dependsOn")}),ed.length>0?(0,a.jsx)("div",{className:"mt-2 space-y-1.5",children:ed.map(e=>(0,a.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-background p-2.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsx)(k.A,{className:"h-3.5 w-3.5 shrink-0 text-primary"}),(0,a.jsx)("span",{className:"text-xs text-foreground truncate",children:e.title})]}),c&&(0,a.jsx)(T.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>(e=>{if(w)return void en(t=>t.filter(t=>t!==e));if(!l)return;let t=(l.dependsOnDraftUuids||[]).filter(t=>t!==e);b(async()=>{let e=await L(d,l.uuid,{dependsOnDraftUuids:t});e.success?(h.refresh(),u()):el(e.error||p("proposals.failedToAddDependency"))})})(e.uuid),disabled:f,children:(0,a.jsx)(Z.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))}):(0,a.jsx)("p",{className:"mt-2 text-sm italic text-[#9A9A9A]",children:p("proposals.noDependencies")}),c&&ec.length>0&&(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsxs)(O.l6,{onValueChange:e=>(e=>{if(w)return void en(t=>[...t,e]);if(!l)return;if(((e,t)=>{let s=new Set,a=[e];for(;a.length>0;){let e=a.shift();if(e===t)return!0;if(s.has(e))continue;s.add(e);let r=o.find(t=>t.uuid===e);(null==r?void 0:r.dependsOnDraftUuids)&&a.push(...r.dependsOnDraftUuids)}return!1})(e,l.uuid))return void el(p("proposals.cyclicDependency"));el(null);let t=[...l.dependsOnDraftUuids||[],e];b(async()=>{let e=await L(d,l.uuid,{dependsOnDraftUuids:t});e.success?(h.refresh(),u()):el(e.error||p("proposals.failedToAddDependency"))})})(e),children:[(0,a.jsx)(O.bq,{className:"h-8 border-border text-xs text-muted-foreground focus:ring-primary",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(g.A,{className:"h-3 w-3"}),(0,a.jsx)(O.yv,{placeholder:p("proposals.selectDependency")})]})}),(0,a.jsx)(O.gC,{children:ec.map(e=>(0,a.jsx)(O.eb,{value:e.uuid,children:(0,a.jsx)("span",{className:"truncate",children:e.title})},e.uuid))})]},ed.length)})]});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:m}),(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-card shadow-xl border-l border-border ".concat(j?"":"animate-in slide-in-from-right duration-300"),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-secondary px-6 py-5",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:A?(0,a.jsx)("h2",{className:"text-base font-semibold text-foreground",children:w?p("proposals.newTaskDraft"):p("proposals.editTaskDraft")}):l?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-foreground truncate",children:l.title}),(0,a.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[l.priority&&(0,a.jsx)(M.E,{className:"text-[10px] font-medium border-0 ".concat(ex.bg," ").concat(ex.text),children:p("priority.".concat(l.priority))}),null!=l.storyPoints&&l.storyPoints>0&&(0,a.jsxs)("span",{className:"flex items-center gap-1 rounded bg-secondary px-2 py-0.5 text-xs font-medium text-muted-foreground",children:[(0,a.jsx)(y,{className:"h-2.5 w-2.5 text-primary"}),l.storyPoints," SP"]})]})]}):null}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[l&&!A&&c&&(0,a.jsxs)(T.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-border text-foreground",onClick:em,children:[(0,a.jsx)(J.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,a.jsx)("span",{className:"text-xs",children:p("common.edit")})]}),(0,a.jsx)(T.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:A&&!w?eu:m,children:(0,a.jsx)(Z.A,{className:"h-4 w-4 text-muted-foreground"})})]})]}),(0,a.jsx)(Q.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:A?(0,a.jsxs)("div",{className:"space-y-5",children:[ei&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FFEBEE] dark:bg-[#331619] p-3 text-sm text-[#C4574C] dark:text-[#F0897E]",children:ei}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)(B.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-foreground",children:[p("proposals.taskTitle")," *"]}),(0,a.jsx)(z.p,{id:"edit-title",value:F,onChange:e=>E(e.target.value),placeholder:p("proposals.titlePlaceholder"),className:"border-[#E5E2DC] dark:border-[#2a2a2e] text-sm focus-visible:ring-primary",autoFocus:!0})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(B.J,{htmlFor:"edit-description",className:"text-[13px] font-medium text-foreground",children:p("proposals.taskDescription")}),(0,a.jsx)($.T,{id:"edit-description",value:S,onChange:e=>D(e.target.value),rows:4,className:"border-[#E5E2DC] dark:border-[#2a2a2e] text-sm resize-none focus-visible:ring-primary",placeholder:p("proposals.descriptionPlaceholder")})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(B.J,{htmlFor:"edit-priority",className:"text-[13px] font-medium text-foreground",children:p("proposals.taskPriority")}),(0,a.jsxs)(O.l6,{value:P,onValueChange:U,children:[(0,a.jsx)(O.bq,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] text-sm focus:ring-primary",children:(0,a.jsx)(O.yv,{})}),(0,a.jsxs)(O.gC,{children:[(0,a.jsx)(O.eb,{value:"low",children:p("priority.low")}),(0,a.jsx)(O.eb,{value:"medium",children:p("priority.medium")}),(0,a.jsx)(O.eb,{value:"high",children:p("priority.high")})]})]})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(B.J,{htmlFor:"edit-story-points",className:"text-[13px] font-medium text-foreground",children:p("proposals.taskStoryPoints")}),(0,a.jsx)(z.p,{id:"edit-story-points",type:"number",min:"0",step:"0.5",value:R,onChange:e=>_(e.target.value),placeholder:p("proposals.storyPointsPlaceholder"),className:"border-[#E5E2DC] dark:border-[#2a2a2e] text-sm focus-visible:ring-primary"})]})]}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)(B.J,{className:"text-[13px] font-medium text-foreground flex items-center gap-1.5",children:[(0,a.jsx)(N.A,{className:"h-3.5 w-3.5 text-primary"}),p("acceptanceCriteria.title")]}),(0,a.jsx)(X.C,{items:I,onChange:V})]}),ep()]}):l?(0,a.jsxs)(ee.P.div,{variants:et.qG,initial:"initial",animate:"animate",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:p("common.description")}),(0,a.jsx)("div",{className:"mt-2",children:l.description?(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-foreground",children:(0,a.jsx)(q.MarkdownContent,{children:l.description})}):(0,a.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:p("common.noDescription")})})]}),l.acceptanceCriteria&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:p("tasks.acceptanceCriteria")}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-foreground",children:(0,a.jsx)(q.MarkdownContent,{children:l.acceptanceCriteria})})})]}),l.acceptanceCriteriaItems&&l.acceptanceCriteriaItems.length>0&&(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsxs)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A] flex items-center gap-1.5",children:[(0,a.jsx)(N.A,{className:"h-3 w-3"}),p("acceptanceCriteria.title")]}),(0,a.jsx)("div",{className:"mt-2 space-y-1.5",children:l.acceptanceCriteriaItems.map((e,t)=>{var s,r;return(0,a.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg bg-background p-2.5",children:[(0,a.jsx)("span",{className:"flex-1 text-[13px] text-foreground",children:e.description}),(0,a.jsx)(M.E,{className:"text-[10px] font-medium border-0 shrink-0 ".concat(null==(s=e.required)||s?"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]":"bg-secondary text-muted-foreground"),children:null==(r=e.required)||r?p("acceptanceCriteria.required"):p("acceptanceCriteria.optional")})]},t)})})]}),ei&&(0,a.jsx)("div",{className:"mt-5 rounded-lg bg-[#FFEBEE] dark:bg-[#331619] p-2.5 text-xs text-[#C4574C] dark:text-[#F0897E]",children:ei}),ep()]}):null})}),(0,a.jsx)("div",{className:"border-t border-secondary px-6 py-4",children:(0,a.jsx)("div",{className:"flex items-center gap-3",children:A?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(T.$,{variant:"outline",className:"border-border",onClick:eu,disabled:f,children:p("common.cancel")}),(0,a.jsx)(T.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:()=>{if(!F.trim())return void el(p("proposals.titleRequired"));el(null),b(async()=>{let e,t=I.filter(e=>e.description.trim().length>0),s={title:F.trim(),description:S.trim()||void 0,priority:P,storyPoints:R?parseFloat(R):void 0,acceptanceCriteriaItems:t.length>0?t.map(e=>{var t;return{description:e.description.trim(),required:null==(t=e.required)||t}}):void 0,...w&&G.length>0?{dependsOnDraftUuids:G}:{}};(e=w?await es(d,s):await L(d,l.uuid,s)).success?(C(!1),h.refresh(),u()):el(e.error||p("proposals.failedToSaveTaskDraft"))})},disabled:f||!F.trim(),children:f?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(H.A,{className:"mr-2 h-4 w-4 animate-spin"}),p("common.saving")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(W.A,{className:"mr-2 h-4 w-4"}),w?p("common.create"):p("common.save")]})})]}):l?(0,a.jsxs)(a.Fragment,{children:[c&&(0,a.jsxs)(T.$,{variant:"outline",className:"border-border",onClick:em,children:[(0,a.jsx)(J.A,{className:"mr-2 h-4 w-4"}),p("common.edit")]}),c&&(0,a.jsx)("div",{className:"ml-auto",children:(0,a.jsxs)(Y.Lt,{children:[(0,a.jsx)(Y.tv,{asChild:!0,children:(0,a.jsx)(T.$,{variant:"outline",size:"icon",className:"h-9 w-9 border-border text-[#D32F2F] dark:text-[#F08078] hover:bg-[#FFEBEE] dark:hover:bg-[#331619] hover:text-[#D32F2F] hover:border-[#D32F2F]",children:(0,a.jsx)(K.A,{className:"h-4 w-4"})})}),(0,a.jsxs)(Y.EO,{children:[(0,a.jsxs)(Y.wd,{children:[(0,a.jsx)(Y.r7,{children:p("proposals.deleteTaskDraft")}),(0,a.jsx)(Y.$v,{children:p("proposals.deleteTaskDraftConfirm")})]}),(0,a.jsxs)(Y.ck,{children:[(0,a.jsx)(Y.Zr,{children:p("common.cancel")}),(0,a.jsx)(Y.Rx,{onClick:()=>{l&&b(async()=>{(await ea(d,l.uuid)).success&&(h.refresh(),null==x||x())})},disabled:f,className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:f?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(H.A,{className:"mr-2 h-4 w-4 animate-spin"}),p("common.delete")]}):p("common.delete")})]})]})]})})]}):null})})]})]})}var ei=s(67712);let el={high:{bg:"bg-[#FFEBEE] dark:bg-[#331619]",text:"text-[#C4574C] dark:text-[#F0897E]"},medium:{bg:"bg-[#FFF3E0] dark:bg-[#3a2a12]",text:"text-[#E65100] dark:text-[#F0A050]"},low:{bg:"bg-secondary",text:"text-muted-foreground"}},eo={prd:{icon:m.A,bg:"bg-[#FFF3E0] dark:bg-[#3a2a12]",fg:"text-[#E07A5F] dark:text-[#F0A088]",subtitleKey:"proposals.docSubtitlePrd"},tech_design:{icon:x,bg:"bg-[#E8F0FE] dark:bg-[#152438]",fg:"text-[#4285F4] dark:text-[#7AB0F8]",subtitleKey:"proposals.docSubtitleTechDesign"},adr:{icon:p.A,bg:"bg-[#E8F5E9] dark:bg-[#14281a]",fg:"text-[#4CAF50] dark:text-[#6FD18A]",subtitleKey:"proposals.docSubtitleAdr"},spec:{icon:h,bg:"bg-[#F3E8FD] dark:bg-[#261636]",fg:"text-[#7C3AED] dark:text-[#B79AF0]",subtitleKey:"proposals.docSubtitleSpec"},guide:{icon:f,bg:"bg-[#FFF8E1] dark:bg-[#33270f]",fg:"text-[#F9A825]",subtitleKey:"proposals.docSubtitleGuide"}},ed={taskDraftNode:function(e){let{data:t}=e,s=(0,i.c)(),r=el[t.priority||"medium"]||el.medium;return(0,a.jsxs)("div",{className:"rounded-lg border-2 border-[#E5E2DC] dark:border-[#2a2a2e] bg-card px-4 py-3 shadow-sm min-w-[200px] max-w-[260px] cursor-pointer hover:border-primary transition-colors",children:[(0,a.jsx)(l.h7,{type:"target",position:o.yX.Top,className:"!bg-primary !w-2 !h-2"}),(0,a.jsx)("div",{className:"flex items-center gap-2 mb-1.5",children:t.priority&&(0,a.jsx)(M.E,{className:"text-[10px] border-0 ".concat(r.bg," ").concat(r.text),children:s("priority.".concat(t.priority))})}),(0,a.jsx)("p",{className:"text-xs font-medium text-foreground leading-snug line-clamp-2",children:t.title}),(0,a.jsx)(l.h7,{type:"source",position:o.yX.Bottom,className:"!bg-primary !w-2 !h-2"})]})}},ec={animated:!0,style:{stroke:"#C67A52",strokeWidth:2},markerEnd:{type:"arrowclosed",color:"#C67A52"}};function em(e){let{proposalUuid:t,status:s,documentDrafts:o,taskDrafts:d,onStatusChange:u}=e,x=(0,i.c)(),p=(0,n.r)(),h=(0,A.W)(),[f,P]=(0,r.useTransition)(),{getPresence:Z}=(0,w.xQ)();Z("proposal",t);let[J,H]=(0,r.useState)(o),[W,K]=(0,r.useState)(d),[Q,X]=(0,r.useState)(new Set),Y=(0,r.useRef)(J);Y.current=J;let ee=(0,r.useRef)(W);ee.current=W;let et=(0,r.useRef)(null),es=(0,r.useRef)(null),[ea,er]=(0,r.useState)("cards"),[em,eu]=(0,r.useState)(new Set),[ex,ep]=(0,r.useState)(!1),[eh,ef]=(0,r.useState)(null),[eg,eb]=(0,r.useState)("prd"),[ej,ev]=(0,r.useState)(""),[ey,eN]=(0,r.useState)(""),[ek,ew]=(0,r.useState)(null),[eA,eC]=(0,r.useState)(!1),[eF,eE]=(0,r.useState)(null),[eS,eD]=(0,r.useState)(null),eP="draft"===s;(0,F.w0)("proposal",t,async e=>{if(["created","updated","deleted"].includes(e.action)&&!ex&&!ek&&!eA)try{var a,r,n,i,l,o,d,c,m,x;let e=await U(t),h=null!=(a=Y.current)?a:[],f=null!=(r=ee.current)?r:[],g=null!=(n=e.documentDrafts)?n:[],b=null!=(i=e.taskDrafts)?i:[],j=[...E(h,g),...E(f,b)];if(j.length>0){let e=Z("proposal",t)[0];if(e)for(let s of j)(0,w.fv)({entityType:"proposal",entityUuid:t,subEntityType:"draft",subEntityUuid:s,agentUuid:e.agentUuid,agentName:e.agentName,action:"mutate"})}let v=[...S(h,g),...S(f,b)];v.length>0?(et.current=g,es.current=b,X(new Set(v)),setTimeout(()=>{var e,t;H(null!=(e=et.current)?e:g),K(null!=(t=es.current)?t:b),et.current=null,es.current=null,X(new Set)},500)):(et.current=g,es.current=b,H(g),K(b)),o=e.status,d=h.length,c=g.length,m=f.length,x=b.length,(null!=o&&o!==s||"draft"===s&&(c!==d||x!==m))&&p.refresh(),null==u||u(null!=(l=e.status)?l:s)}catch(e){ei.q.warn("[ProposalEditor] Failed to refresh drafts:",e)}});let eU=(0,r.useMemo)(()=>ek&&W&&W.find(e=>e.uuid===ek)||null,[ek,W]),[eR,eT,eM]=(0,l.ck)([]),[ez,e$,eB]=(0,l.fM)([]);(0,r.useEffect)(()=>{if(!W||0===W.length){eT([]),e$([]);return}let e=W.map(e=>({id:e.uuid,type:"taskDraftNode",position:{x:0,y:0},data:{title:e.title,priority:e.priority||"medium"}})),t=[];W.forEach(e=>{e.dependsOnDraftUuids&&e.dependsOnDraftUuids.forEach((s,a)=>{t.push({id:"e-".concat(e.uuid,"-").concat(a),source:s,target:e.uuid,...ec})})});let{nodes:s,edges:a}=function(e,t){let s=new(c()).graphlib.Graph;return s.setDefaultEdgeLabel(()=>({})),s.setGraph({rankdir:"TB",nodesep:50,ranksep:80}),e.forEach(e=>{s.setNode(e.id,{width:240,height:80})}),t.forEach(e=>{s.setEdge(e.source,e.target)}),c().layout(s),{nodes:e.map(e=>{let t=s.node(e.id);return{...e,position:{x:t.x-120,y:t.y-40}}}),edges:t}}(e,t);eT(s),e$(a)},[W,eT,e$]);let e_=(0,r.useCallback)(async e=>{if(!e.source||!e.target||!eP||e.source===e.target)return;eD(null);let s=e.target,a=e.source,r=null==W?void 0:W.find(e=>e.uuid===s);if(!r)return;let n=r.dependsOnDraftUuids||[];if(n.includes(a))return void eD(x("proposals.dependencyExists"));if(((e,t)=>{let s=new Set,a=[e];for(;a.length>0;){let e=a.shift();if(e===t)return!0;if(s.has(e))continue;s.add(e);let r=null==W?void 0:W.find(t=>t.uuid===e);(null==r?void 0:r.dependsOnDraftUuids)&&a.push(...r.dependsOnDraftUuids)}return!1})(a,s))return void eD(x("proposals.cyclicDependency"));let i=[...n,a];P(async()=>{let e=await L(t,s,{dependsOnDraftUuids:i});e.success?p.refresh():eD(e.error||x("proposals.failedToAddDependency"))})},[eP,W,t,p,P,x]),eO=(0,r.useCallback)((e,t)=>{eC(!1),ew(t.id)},[]),eq=J&&J.length>0,eL=W&&W.length>0,eI=null!==ek||eA;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(R.Zp,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[(0,a.jsxs)(R.aR,{className:"flex-row items-center justify-between border-b border-secondary px-6 py-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(m.A,{className:"h-[18px] w-[18px] text-primary"}),(0,a.jsx)(R.ZB,{className:"text-sm font-semibold text-foreground",children:x("proposals.documentDrafts")}),(0,a.jsx)(M.E,{variant:"secondary",className:"border-0 bg-secondary text-[11px] font-medium text-muted-foreground",children:(null==J?void 0:J.length)||0})]}),eP&&(0,a.jsxs)(T.$,{variant:"ghost",size:"sm",onClick:()=>{ef(null),eb("prd"),ev(""),eN(""),ep(!0)},className:"h-7 gap-1 text-xs font-medium text-primary hover:bg-[#FFFBF8] dark:hover:bg-[#1e1d1b] hover:text-primary",children:[(0,a.jsx)(g.A,{className:"h-3.5 w-3.5"}),x("proposals.addDocumentDraft")]})]}),(0,a.jsx)(R.Wu,{className:"p-0",children:eq?(0,a.jsx)("div",{className:"space-y-0 divide-y divide-secondary",children:J.map(e=>{var s;let r=em.has(e.uuid),n=eo[e.type]||eo.guide,i=n.icon;return(0,a.jsx)(C.D,{entityType:"proposal",entityUuid:t,subEntityType:"draft",subEntityUuid:e.uuid,badgeInside:!0,children:(0,a.jsxs)("div",{className:"px-5 py-4 transition-all duration-500 ".concat(Q.has(e.uuid)?"opacity-0":""),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("button",{onClick:()=>{var t;return t=e.uuid,void eu(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:"flex items-center gap-3 text-left cursor-pointer hover:opacity-80 transition-opacity min-w-0",children:[(0,a.jsx)("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-[10px] ".concat(n.bg),children:(0,a.jsx)(i,{className:"h-[18px] w-[18px] ".concat(n.fg)})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-[13px] font-medium text-foreground truncate",children:e.title}),(0,a.jsx)("div",{className:"text-[11px] text-muted-foreground",children:x(n.subtitleKey)})]}),(0,a.jsx)("span",{className:"text-muted-foreground shrink-0",children:r?(0,a.jsx)(b.A,{className:"h-4 w-4"}):(0,a.jsx)(j.A,{className:"h-4 w-4"})})]}),(0,a.jsxs)("div",{className:"flex gap-1 shrink-0",children:[(0,a.jsx)(D.E,{document:{title:e.title,content:null!=(s=e.content)?s:"",type:e.type,version:"Draft"},variant:"compact"}),eP&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(T.$,{variant:"ghost",size:"sm",onClick:()=>{ef(e),eb(e.type),ev(e.title),eN(e.content),ep(!0)},className:"h-6 text-[11px] text-muted-foreground hover:text-foreground",children:x("proposals.editDraft")}),(0,a.jsx)(T.$,{variant:"ghost",size:"sm",onClick:()=>{confirm(x("common.confirmDelete"))&&P(async()=>{(await G(t,e.uuid)).success&&p.refresh()})},disabled:f,className:"h-6 text-[11px] text-[#C4574C] dark:text-[#F0897E] hover:bg-[#FFEBEE] dark:hover:bg-[#331619] hover:text-[#C4574C]",children:x("proposals.deleteDraft")})]})]})]}),r&&e.content&&(0,a.jsx)("div",{className:"mt-3 border-t border-secondary pt-4",children:(0,a.jsx)("div",{className:"prose prose-sm max-w-none text-foreground",children:(0,a.jsx)(q.MarkdownContent,{children:e.content})})})]})},e.uuid)})}):(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2 px-6 py-8",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-[10px] bg-secondary",children:(0,a.jsx)(m.A,{className:"h-[18px] w-[18px] text-[#D0CCC4]"})}),(0,a.jsx)("p",{className:"text-[13px] text-muted-foreground",children:x("proposals.emptyContainer")})]})})]}),(0,a.jsxs)(R.Zp,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[(0,a.jsxs)(R.aR,{className:"flex-row items-center justify-between border-b border-secondary px-6 py-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(v,{className:"h-[18px] w-[18px] text-primary"}),(0,a.jsx)(R.ZB,{className:"text-sm font-semibold text-foreground",children:x("proposals.taskDrafts")}),(0,a.jsx)(M.E,{className:"border-0 bg-primary/[0.13] text-[11px] font-semibold text-primary",children:(null==W?void 0:W.length)||0})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[eL&&(0,a.jsxs)("div",{className:"flex rounded-lg bg-secondary p-0.5",children:[(0,a.jsx)("button",{onClick:()=>er("cards"),className:"rounded-md px-3 py-1 text-[11px] font-medium transition-colors ".concat("cards"===ea?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:x("proposals.cardsView")}),(0,a.jsx)("button",{onClick:()=>er("dag"),className:"rounded-md px-3 py-1 text-[11px] font-medium transition-colors ".concat("dag"===ea?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"DAG"})]}),eP&&(0,a.jsxs)(T.$,{variant:"ghost",size:"sm",onClick:()=>{ew(null),eC(!0)},className:"h-7 gap-1 text-xs font-medium text-primary hover:bg-[#FFFBF8] dark:hover:bg-[#1e1d1b] hover:text-primary",children:[(0,a.jsx)(g.A,{className:"h-3.5 w-3.5"}),x("proposals.addTaskDraft")]})]})]}),(0,a.jsx)(R.Wu,{className:"p-0",children:eL?"cards"===ea?(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 p-5",children:W.map(e=>{var s,r;let n=el[e.priority||"medium"]||el.medium,i=(null==(s=e.dependsOnDraftUuids)?void 0:s.length)||0,l=(null==(r=e.acceptanceCriteriaItems)?void 0:r.length)||0,o=ek===e.uuid;return(0,a.jsx)(C.D,{entityType:"proposal",entityUuid:t,subEntityType:"draft",subEntityUuid:e.uuid,children:(0,a.jsxs)("div",{onClick:()=>{eC(!1),ew(e.uuid)},className:"cursor-pointer rounded-[10px] bg-card p-4 transition-all duration-500 flex flex-col gap-2.5 h-full ".concat(Q.has(e.uuid)?"opacity-0":""," ").concat(o?"border-primary shadow-sm border":"border-[#E5E2DC] dark:border-[#2a2a2e] hover:border-primary/50 border"),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[e.priority&&(0,a.jsx)(M.E,{className:"text-[10px] font-semibold border-0 ".concat(n.bg," ").concat(n.text),children:x("priority.".concat(e.priority))}),null!=e.storyPoints&&e.storyPoints>0&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-[10px] font-medium text-muted-foreground font-mono",children:[(0,a.jsx)(y,{className:"h-3 w-3 text-muted-foreground"}),e.storyPoints," SP"]})]}),(0,a.jsx)("span",{className:"text-[13px] font-semibold leading-snug text-foreground line-clamp-2",children:e.title}),e.description&&(0,a.jsx)("p",{className:"text-[11px] leading-relaxed text-muted-foreground line-clamp-2",children:e.description}),(0,a.jsxs)("div",{className:"flex items-center gap-3 pt-0.5",children:[l>0&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[(0,a.jsx)(N.A,{className:"h-3 w-3 text-[#4CAF50] dark:text-[#6FD18A]"}),x("proposals.acCount",{count:l})]}),i>0&&(0,a.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[(0,a.jsx)(k.A,{className:"h-3 w-3"}),x("proposals.depCount",{count:i})]})]})]})},e.uuid)})}):(0,a.jsxs)("div",{className:"h-[400px] relative",children:[eS&&(0,a.jsxs)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-10 rounded-lg bg-red-50 dark:bg-[#331619] border border-red-200 dark:border-[#5a2a2e] px-4 py-2 text-xs text-red-700 dark:text-[#F08078] shadow-sm",children:[eS,(0,a.jsx)("button",{className:"ml-2 font-medium hover:text-red-900 dark:hover:text-[#F0A0A0]",onClick:()=>eD(null),children:"x"})]}),(0,a.jsxs)(l.Gc,{colorMode:h?"dark":"light",nodes:eR,edges:ez,onNodesChange:eM,onEdgesChange:eB,onConnect:e_,onNodeClick:eO,nodeTypes:ed,fitView:!0,fitViewOptions:{padding:.3},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},zoomOnScroll:!0,zoomOnPinch:!0,panOnDrag:!0,children:[(0,a.jsx)(l.VS,{color:h?"#40392f":"#E5E0D8",gap:20}),(0,a.jsx)(l.H2,{className:"[&>button]:border-border [&>button]:bg-card [&>button]:text-foreground [&>button:hover]:bg-background"})]})]}):(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2 px-6 py-8",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-[10px] bg-secondary",children:(0,a.jsx)(v,{className:"h-[18px] w-[18px] text-[#D0CCC4]"})}),(0,a.jsx)("p",{className:"text-[13px] text-muted-foreground",children:x("proposals.emptyContainer")})]})})]}),(0,a.jsx)(_.lG,{open:ex,onOpenChange:ep,children:(0,a.jsxs)(_.Cf,{className:"max-w-2xl",children:[(0,a.jsx)(_.c7,{children:(0,a.jsx)(_.L3,{children:eh?x("proposals.editDraft"):x("proposals.addDocumentDraft")})}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(B.J,{className:"mb-2 block text-muted-foreground",children:x("proposals.documentType")}),(0,a.jsxs)(O.l6,{value:eg,onValueChange:eb,children:[(0,a.jsx)(O.bq,{className:"border-[#E5E2DC] dark:border-[#2a2a2e]",children:(0,a.jsx)(O.yv,{})}),(0,a.jsxs)(O.gC,{children:[(0,a.jsx)(O.eb,{value:"prd",children:x("proposals.docTypePrd")}),(0,a.jsx)(O.eb,{value:"tech_design",children:x("proposals.docTypeTechDesign")}),(0,a.jsx)(O.eb,{value:"adr",children:x("proposals.docTypeAdr")}),(0,a.jsx)(O.eb,{value:"spec",children:x("proposals.docTypeSpec")}),(0,a.jsx)(O.eb,{value:"guide",children:x("proposals.docTypeGuide")})]})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)(B.J,{className:"mb-2 block text-muted-foreground",children:[x("proposals.documentTitle")," *"]}),(0,a.jsx)(z.p,{value:ej,onChange:e=>ev(e.target.value),placeholder:x("proposals.titlePlaceholder"),className:"border-[#E5E2DC] dark:border-[#2a2a2e]"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(B.J,{className:"mb-2 block text-muted-foreground",children:x("proposals.documentContent")}),(0,a.jsx)($.T,{value:ey,onChange:e=>eN(e.target.value),className:"h-64 resize-none border-[#E5E2DC] dark:border-[#2a2a2e] font-mono",placeholder:"# Document Title Write your content in Markdown..."})]}),eF&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FFEBEE] dark:bg-[#331619] p-3 text-sm text-[#C4574C] dark:text-[#F0897E]",children:eF}),(0,a.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,a.jsx)(T.$,{variant:"outline",onClick:()=>ep(!1),disabled:f,className:"border-[#E5E2DC] dark:border-[#2a2a2e]",children:x("common.cancel")}),(0,a.jsx)(T.$,{onClick:()=>{if(!ej.trim())return void eE(x("proposals.titleRequired"));eE(null),P(async()=>{let e;(e=eh?await I(t,eh.uuid,{type:eg,title:ej.trim(),content:ey}):await V(t,{type:eg,title:ej.trim(),content:ey})).success?(ep(!1),p.refresh()):eE(e.error||x("proposals.failedToSaveDocDraft"))})},disabled:f,className:"bg-primary text-white hover:bg-[#B56A42]",children:f?x("common.saving"):x("common.save")})]})]})]})}),eI&&(0,a.jsx)(en,{taskDraft:eA?null:eU,allTaskDrafts:W||[],proposalUuid:t,canEdit:eP,onClose:()=>{ew(null),eC(!1)},onSaved:()=>{eA&&eC(!1)},onDeleted:()=>{ew(null),eC(!1)}})]})}},57223:(e,t,s)=>{"use strict";s.d(t,{E:()=>n});var a=s(90508),r=s(24377);function n(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"skeleton",className:(0,r.cn)("bg-accent animate-pulse rounded-md",t),...s})}},63613:(e,t,s)=>{Promise.resolve().then(s.bind(s,52053)),Promise.resolve().then(s.bind(s,90299)),Promise.resolve().then(s.bind(s,65514)),Promise.resolve().then(s.bind(s,98861)),Promise.resolve().then(s.bind(s,38476)),Promise.resolve().then(s.bind(s,74542)),Promise.resolve().then(s.bind(s,71350)),Promise.resolve().then(s.bind(s,39025)),Promise.resolve().then(s.bind(s,75368)),Promise.resolve().then(s.bind(s,89684)),Promise.resolve().then(s.bind(s,58057)),Promise.resolve().then(s.bind(s,6512)),Promise.resolve().then(s.bind(s,25051)),Promise.resolve().then(s.bind(s,4374)),Promise.resolve().then(s.bind(s,19345)),Promise.resolve().then(s.bind(s,79919)),Promise.resolve().then(s.bind(s,17533)),Promise.resolve().then(s.bind(s,99545)),Promise.resolve().then(s.bind(s,63197)),Promise.resolve().then(s.bind(s,65326)),Promise.resolve().then(s.bind(s,48218)),Promise.resolve().then(s.bind(s,56260)),Promise.resolve().then(s.bind(s,60322)),Promise.resolve().then(s.bind(s,79834)),Promise.resolve().then(s.bind(s,6947)),Promise.resolve().then(s.bind(s,88878)),Promise.resolve().then(s.bind(s,34857)),Promise.resolve().then(s.bind(s,97006)),Promise.resolve().then(s.bind(s,45841)),Promise.resolve().then(s.t.bind(s,12790,23)),Promise.resolve().then(s.bind(s,16159)),Promise.resolve().then(s.bind(s,84797)),Promise.resolve().then(s.bind(s,32617)),Promise.resolve().then(s.bind(s,28874)),Promise.resolve().then(s.bind(s,24375)),Promise.resolve().then(s.bind(s,76546)),Promise.resolve().then(s.bind(s,97261)),Promise.resolve().then(s.bind(s,48046)),Promise.resolve().then(s.bind(s,84247))},66343:(e,t,s)=>{"use strict";s.d(t,{Hr:()=>p,Ht:()=>m,SQ:()=>d,_2:()=>c,lp:()=>u,mB:()=>x,rI:()=>l,ty:()=>o});var a=s(90508);s(1856);var r=s(97964),n=s(39025),i=s(24377);function l(e){let{...t}=e;return(0,a.jsx)(n.Root,{"data-slot":"dropdown-menu",...t})}function o(e){let{...t}=e;return(0,a.jsx)(n.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function d(e){let{className:t,sideOffset:s=4,...r}=e;return(0,a.jsx)(n.Portal,{children:(0,a.jsx)(n.Content,{"data-slot":"dropdown-menu-content",sideOffset:s,className:(0,i.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),...r})})}function c(e){let{className:t,inset:s,variant:r="default",...l}=e;return(0,a.jsx)(n.Item,{"data-slot":"dropdown-menu-item","data-inset":s,"data-variant":r,className:(0,i.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),...l})}function m(e){let{className:t,children:s,...l}=e;return(0,a.jsxs)(n.RadioItem,{"data-slot":"dropdown-menu-radio-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-4",t),...l,children:[(0,a.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(n.ItemIndicator,{children:(0,a.jsx)(r.A,{className:"size-2 fill-current"})})}),s]})}function u(e){let{className:t,inset:s,...r}=e;return(0,a.jsx)(n.Label,{"data-slot":"dropdown-menu-label","data-inset":s,className:(0,i.cn)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",t),...r})}function x(e){let{className:t,...s}=e;return(0,a.jsx)(n.Separator,{"data-slot":"dropdown-menu-separator",className:(0,i.cn)("bg-border -mx-1 my-1 h-px",t),...s})}function p(e){let{...t}=e;return(0,a.jsx)(n.RadioGroup,{"data-slot":"dropdown-menu-radio-group",...t})}},68923:(e,t,s)=>{"use strict";s.d(t,{CG:()=>d,Fm:()=>p,cj:()=>o,h:()=>x,qp:()=>h});var a=s(90508);s(1856);var r=s(9160),n=s(71350),i=s(49499),l=s(24377);function o(e){let{...t}=e;return(0,a.jsx)(n.Root,{"data-slot":"sheet",...t})}function d(e){let{...t}=e;return(0,a.jsx)(n.Trigger,{"data-slot":"sheet-trigger",...t})}function c(e){let{...t}=e;return(0,a.jsx)(n.Portal,{"data-slot":"sheet-portal",...t})}function m(e){let{className:t,...s}=e;return(0,a.jsx)(n.Overlay,{"data-slot":"sheet-overlay",className:(0,l.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),...s})}let u=(0,i.F)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",bottom:"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",left:"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"}},defaultVariants:{side:"right"}});function x(e){let{className:t,children:s,side:i="right",...o}=e;return(0,a.jsxs)(c,{children:[(0,a.jsx)(m,{}),(0,a.jsxs)(n.Content,{"data-slot":"sheet-content",className:(0,l.cn)(u({side:i}),t),...o,children:[s,(0,a.jsxs)(n.Close,{"data-slot":"sheet-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,a.jsx)(r.A,{className:"size-4"}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function p(e){let{className:t,...s}=e;return(0,a.jsx)("div",{"data-slot":"sheet-header",className:(0,l.cn)("flex flex-col gap-2 p-4",t),...s})}function h(e){let{className:t,...s}=e;return(0,a.jsx)(n.Title,{"data-slot":"sheet-title",className:(0,l.cn)("text-foreground text-lg font-semibold",t),...s})}},75320:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(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"}]])},76546:(e,t,s)=>{"use strict";s.d(t,{FormattedDateTime:()=>n});var a=s(90508),r=s(38106);function n(e){let{date:t}=e;return(0,a.jsx)(a.Fragment,{children:(0,r.r)(t)})}},84797:(e,t,s)=>{"use strict";s.d(t,{ProposalActions:()=>P});var a=s(90508),r=s(91814),n=s(1856),i=s(39268),l=s(90031),o=s(95886),d=s(60532),c=s(9160),m=s(66206);let u=(0,m.A)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]),x=(0,m.A)("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]);var p=s(97413),h=s(32470),f=s(56770),g=s(22922),b=s(66343),j=s(97438),v=s(15972),y=s(52217);let N=(0,y.createServerReference)("40188627cbc08827664014d1dcd496a994fee2df63",y.callServer,void 0,y.findSourceMapURL,"submitProposalAction"),k=(0,y.createServerReference)("607b15b08789afd534464cd1b4236fa8e92a3dd923",y.callServer,void 0,y.findSourceMapURL,"approveProposalAction"),w=(0,y.createServerReference)("60a62fcb6d0b2f049b323f4908efa3b872ea651c8c",y.callServer,void 0,y.findSourceMapURL,"rejectProposalAction"),A=(0,y.createServerReference)("60b767a224dea55045972e86871c9c87af8bf42384",y.callServer,void 0,y.findSourceMapURL,"closeProposalAction"),C=(0,y.createServerReference)("60c39e7ac46a780164c1e37a64a4b651393c321b99",y.callServer,void 0,y.findSourceMapURL,"revokeProposalAction"),F=(0,y.createServerReference)("604a550c5dc1e5af695595b501462a80d79808db0f",y.callServer,void 0,y.findSourceMapURL,"deleteProposalAction");var E=s(24128),S=s(2201),D=s(21180);function P(e){var t;let{proposalUuid:s,projectUuid:m,status:y,materializedEntities:P,inputIdeaUuid:U,inputIdeaAssigneeName:R}=e,T=(0,i.c)(),M=(0,r.r)(),{start:z,pickerState:$,confirmPick:B,cancelPick:_,isResolving:O}=(0,S.E)({reassignNoWake:E.U}),[q,L]=(0,n.useTransition)(),[I,V]=(0,n.useState)(!1),[G,Z]=(0,n.useState)(""),[J,H]=(0,n.useState)(!1),[W,K]=(0,n.useState)(""),[Q,X]=(0,n.useState)(!1),[Y,ee]=(0,n.useState)(""),[et,es]=(0,n.useState)(!1),[ea,er]=(0,n.useState)(""),[en,ei]=(0,n.useState)(!1),[el,eo]=(0,n.useState)(!1),ed=e=>{L(async()=>{(await k(s,e)).success&&(V(!1),Z(""),M.refresh())})},ec=e=>{L(async()=>{(await w(s,e)).success&&(H(!1),K(""),M.refresh())})};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(b.rI,{children:[(0,a.jsx)(b.ty,{asChild:!0,children:(0,a.jsxs)(g.$,{variant:"outline",className:"border-border text-foreground gap-1.5",disabled:q,children:[(0,a.jsx)(l.A,{className:"h-4 w-4"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:T("common.actions")})]})}),(0,a.jsxs)(b.SQ,{align:"end",className:"w-48",children:["draft"===y&&(0,a.jsxs)(b._2,{onClick:()=>ei(!0),children:[(0,a.jsx)(o.A,{className:"h-4 w-4"}),T("proposals.submitForReview")]}),"pending"===y&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(b._2,{onClick:()=>V(!0),children:[(0,a.jsx)(d.A,{className:"h-4 w-4 text-[#5A9E6F] dark:text-[#6FD19A]"}),T("common.approve")]}),(0,a.jsxs)(b._2,{onClick:()=>H(!0),children:[(0,a.jsx)(c.A,{className:"h-4 w-4 text-[#D32F2F] dark:text-[#F08078]"}),T("common.reject")]}),(0,a.jsxs)(b._2,{onClick:()=>X(!0),children:[(0,a.jsx)(u,{className:"h-4 w-4"}),T("proposals.closeProposal")]})]}),"approved"===y&&(0,a.jsxs)(b._2,{onClick:()=>es(!0),children:[(0,a.jsx)(x,{className:"h-4 w-4"}),T("proposals.revokeProposal")]}),("draft"===y||"pending"===y||"approved"===y)&&(0,a.jsx)(b.mB,{}),(0,a.jsxs)(b._2,{variant:"destructive",onClick:()=>eo(!0),children:[(0,a.jsx)(p.A,{className:"h-4 w-4"}),T("proposals.deleteProposal")]})]})]}),(0,a.jsx)(j.lG,{open:en,onOpenChange:ei,children:(0,a.jsxs)(j.Cf,{className:"sm:max-w-md",children:[(0,a.jsxs)(j.c7,{children:[(0,a.jsx)(j.L3,{children:T("proposals.confirmSubmit")}),(0,a.jsx)(j.rr,{children:T("proposals.confirmSubmitDesc")})]}),(0,a.jsxs)(j.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>ei(!1),className:"border-border text-muted-foreground",children:T("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{L(async()=>{(await N(s)).success&&(ei(!1),M.refresh())})},disabled:q,className:"bg-primary hover:bg-[#B56A42] text-white",children:T(q?"common.processing":"proposals.submitForReview")})]})]})}),(0,a.jsx)(j.lG,{open:I,onOpenChange:V,children:(0,a.jsxs)(j.Cf,{className:"sm:max-w-md",children:[(0,a.jsxs)(j.c7,{children:[(0,a.jsx)(j.L3,{children:T("proposals.approveProposal")}),(0,a.jsx)(j.rr,{children:T("proposals.approveProposalDesc")})]}),(0,a.jsx)(v.T,{value:G,onChange:e=>Z(e.target.value),placeholder:T("proposals.approveNotePlaceholder"),className:"min-h-[100px] border-border"}),(0,a.jsxs)(j.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>V(!1),className:"border-border text-muted-foreground",children:T("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{let e=G.trim()||void 0;if(!U)return void ed(e);z({ideaUuid:U,wake:()=>ed(e)})},disabled:q||O,className:"bg-[#5A9E6F] hover:bg-[#4A8E5F] text-white",children:T(q?"common.processing":"common.approve")})]})]})}),(0,a.jsx)(j.lG,{open:J,onOpenChange:H,children:(0,a.jsxs)(j.Cf,{className:"sm:max-w-md",children:[(0,a.jsxs)(j.c7,{children:[(0,a.jsx)(j.L3,{children:T("proposals.rejectProposal")}),(0,a.jsx)(j.rr,{children:T("proposals.rejectProposalDesc")})]}),(0,a.jsx)(v.T,{value:W,onChange:e=>K(e.target.value),placeholder:T("proposals.rejectReasonPlaceholder"),className:"min-h-[100px] border-border"}),(0,a.jsxs)(j.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>H(!1),className:"border-border text-muted-foreground",children:T("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{if(!U)return void ec(W);z({ideaUuid:U,wake:()=>ec(W)})},disabled:q||O||!W.trim(),className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:T(q?"common.processing":"common.reject")})]})]})}),(0,a.jsx)(j.lG,{open:Q,onOpenChange:X,children:(0,a.jsxs)(j.Cf,{className:"sm:max-w-md",children:[(0,a.jsxs)(j.c7,{children:[(0,a.jsx)(j.L3,{children:T("proposals.closeProposal")}),(0,a.jsx)(j.rr,{children:T("proposals.closeProposalDesc")})]}),(0,a.jsx)(v.T,{value:Y,onChange:e=>ee(e.target.value),placeholder:T("proposals.closeReasonPlaceholder"),className:"min-h-[100px] border-border"}),(0,a.jsxs)(j.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>X(!1),className:"border-border text-muted-foreground",children:T("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{L(async()=>{(await A(s,Y)).success&&(X(!1),ee(""),M.refresh())})},disabled:q||!Y.trim(),className:"bg-muted-foreground hover:bg-[#555555] text-white",children:T(q?"common.processing":"proposals.closeProposal")})]})]})}),(0,a.jsx)(j.lG,{open:et,onOpenChange:es,children:(0,a.jsxs)(j.Cf,{className:"sm:max-w-lg",children:[(0,a.jsxs)(j.c7,{children:[(0,a.jsx)(j.L3,{children:T("proposals.revokeProposal")}),(0,a.jsx)(j.rr,{children:T("proposals.revokeProposalDesc")})]}),P&&(P.tasks.length>0||P.documents.length>0)&&(0,a.jsxs)("div",{className:"space-y-3 rounded-lg border border-[#FFCDD2] dark:border-[#3a181c] bg-[#FFF5F5] dark:bg-[#33191b] p-3",children:[P.tasks.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-semibold text-[#D32F2F] dark:text-[#F08078] mb-1.5",children:[(0,a.jsx)(h.A,{className:"h-3.5 w-3.5"}),T("proposals.revokeTasksToClose",{count:P.tasks.length})]}),(0,a.jsx)("ul",{className:"space-y-1 pl-5",children:P.tasks.map(e=>(0,a.jsxs)("li",{className:"text-xs text-muted-foreground",children:[e.title,(0,a.jsxs)("span",{className:"ml-1.5 text-[10px] text-muted-foreground",children:["(",e.status,")"]})]},e.uuid))})]}),P.documents.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-semibold text-[#D32F2F] dark:text-[#F08078] mb-1.5",children:[(0,a.jsx)(f.A,{className:"h-3.5 w-3.5"}),T("proposals.revokeDocsToDelete",{count:P.documents.length})]}),(0,a.jsx)("ul",{className:"space-y-1 pl-5",children:P.documents.map(e=>(0,a.jsx)("li",{className:"text-xs text-muted-foreground",children:e.title},e.uuid))})]})]}),(0,a.jsx)(v.T,{value:ea,onChange:e=>er(e.target.value),placeholder:T("proposals.revokeReasonPlaceholder"),className:"min-h-[100px] border-border"}),(0,a.jsxs)(j.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>es(!1),className:"border-border text-muted-foreground",children:T("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{L(async()=>{(await C(s,ea.trim()||void 0)).success&&(es(!1),er(""),M.refresh())})},disabled:q,className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:T(q?"common.processing":"proposals.revokeProposal")})]})]})}),(0,a.jsx)(j.lG,{open:el,onOpenChange:eo,children:(0,a.jsxs)(j.Cf,{className:"sm:max-w-md",children:[(0,a.jsxs)(j.c7,{children:[(0,a.jsx)(j.L3,{children:T("proposals.deleteProposal")}),(0,a.jsx)(j.rr,{children:T("proposals.deleteProposalDesc")})]}),(0,a.jsxs)(j.Es,{className:"gap-2",children:[(0,a.jsx)(g.$,{variant:"outline",onClick:()=>eo(!1),className:"border-border text-muted-foreground",children:T("common.cancel")}),(0,a.jsx)(g.$,{onClick:()=>{L(async()=>{(await F(s,m)).success&&(eo(!1),M.push("/projects/".concat(m,"/proposals")),M.refresh())})},disabled:q,className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:T(q?"common.processing":"common.delete")})]})]})}),(0,a.jsx)(D.V,{open:null!==$,agentName:null!=R?R:"",instances:null!=(t=null==$?void 0:$.instances)?t:[],onConfirm:B,onCancel:_})]})}},90031:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(66206).A)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]])}},e=>{e.O(0,[41282,93151,41752,30996,57084,59764,12079,18944,27290,12790,26885,14655,21932,30724,16544,94170,83285,27201,16551,97784,14753,45532,70552,89836,15183,38296,87325,60178,39025,31308,51603,94643,68326,18351,26232,74951,65496,77358],()=>e(e.s=63613)),_N_E=e.O()}]);