@chorus-aidlc/chorus 0.17.2 → 0.18.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 (446) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +357 -355
  3. package/.next/standalone/.next/app-path-routes-manifest.json +44 -44
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +18 -18
  6. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +2 -2
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  46. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  50. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  51. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  54. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  55. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  57. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  58. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/admin.html +2 -2
  60. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  61. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  69. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  83. package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
  100. package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  103. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  106. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
  107. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js.nft.json +1 -1
  109. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  113. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
  116. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  129. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
  132. package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  135. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  139. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  142. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  145. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  148. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  151. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  154. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
  159. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/mcp/route.js +1 -1
  162. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  165. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  168. package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  171. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  174. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  180. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  183. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  186. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  198. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  199. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  203. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  205. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  206. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  208. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  210. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  211. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
  212. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
  213. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  214. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  216. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  217. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  218. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  219. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  220. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  221. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js.nft.json +1 -1
  223. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -1
  224. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  225. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  226. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  228. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  229. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  230. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  232. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  233. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  234. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  235. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  236. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  237. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  238. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  239. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  240. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  241. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  242. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  245. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  246. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  247. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  248. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  249. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  250. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  251. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  252. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  253. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  254. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  255. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  256. package/.next/standalone/.next/server/app/index.html +2 -2
  257. package/.next/standalone/.next/server/app/index.rsc +2 -2
  258. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  259. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  260. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  261. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  262. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  263. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  264. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  265. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  267. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  268. package/.next/standalone/.next/server/app/login.html +2 -2
  269. package/.next/standalone/.next/server/app/login.rsc +2 -2
  270. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  271. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  273. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  274. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  275. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  276. package/.next/standalone/.next/server/app/projects.html +2 -2
  277. package/.next/standalone/.next/server/app/projects.rsc +3 -3
  278. package/.next/standalone/.next/server/app/settings.html +2 -2
  279. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  280. package/.next/standalone/.next/server/app-paths-manifest.json +44 -44
  281. package/.next/standalone/.next/server/chunks/109.js +1 -0
  282. package/.next/standalone/.next/server/chunks/1318.js +1 -1
  283. package/.next/standalone/.next/server/chunks/1496.js +1 -0
  284. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  285. package/.next/standalone/.next/server/chunks/2572.js +1 -1
  286. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  287. package/.next/standalone/.next/server/chunks/3112.js +1 -1
  288. package/.next/standalone/.next/server/chunks/{2536.js → 3619.js} +3 -3
  289. package/.next/standalone/.next/server/chunks/{6080.js → 4810.js} +1 -1
  290. package/.next/standalone/.next/server/chunks/4827.js +1 -1
  291. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  292. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  293. package/.next/standalone/.next/server/chunks/6506.js +2 -2
  294. package/.next/standalone/.next/server/chunks/6515.js +2 -2
  295. package/.next/standalone/.next/server/chunks/6737.js +1 -0
  296. package/.next/standalone/.next/server/chunks/6753.js +3 -3
  297. package/.next/standalone/.next/server/chunks/679.js +1 -1
  298. package/.next/standalone/.next/server/chunks/731.js +1 -0
  299. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  300. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  301. package/.next/standalone/.next/server/chunks/7857.js +1 -0
  302. package/.next/standalone/.next/server/chunks/920.js +1 -1
  303. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  304. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  305. package/.next/standalone/.next/server/chunks/9931.js +1 -1
  306. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  307. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  308. package/.next/standalone/.next/server/pages/404.html +2 -2
  309. package/.next/standalone/.next/server/pages/500.html +1 -1
  310. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  311. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  312. package/.next/standalone/.next/static/chunks/11595.0afa1a540f681fb4.js +1 -0
  313. package/.next/standalone/.next/static/chunks/22705-324a191727ae45b7.js +1 -0
  314. package/.next/standalone/.next/static/chunks/{31308-32614efb88305738.js → 31308-bb4a97b3f39c22dd.js} +1 -1
  315. package/.next/standalone/.next/static/chunks/33456.4a5f4712a7e78d8f.js +1 -0
  316. package/.next/standalone/.next/static/chunks/44216-3876e84f5b02d355.js +1 -0
  317. package/.next/standalone/.next/static/chunks/4860.5719e32b95be2d93.js +1 -0
  318. package/.next/standalone/.next/static/chunks/6528-a8a562ef7d26bb43.js +1 -0
  319. package/.next/standalone/.next/static/chunks/67439-7b339b28ed0ecfc6.js +1 -0
  320. package/.next/standalone/.next/static/chunks/79919-ae8bd8d8ec1e38ce.js +1 -0
  321. package/.next/standalone/.next/static/chunks/82203-4ce5926624df7ed0.js +1 -0
  322. package/.next/standalone/.next/static/chunks/94643-37ac7b8ef8ea5e75.js +1 -0
  323. package/.next/standalone/.next/static/chunks/99373.6c1509bfaf599741.js +1 -0
  324. package/.next/standalone/.next/static/chunks/99775-697e82ee04eac6b1.js +1 -0
  325. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-2fda722cdace8147.js +1 -0
  326. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-eecb38fa4b8eb4e8.js → page-b45c42c536eff64b.js} +1 -1
  327. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-792aba7fd6b6daa3.js +1 -0
  328. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/{page-cd7ec77596304a07.js → page-800a979f12b73f27.js} +1 -1
  329. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-97a9e6f949002004.js → page-34de35f75aa71f6d.js} +1 -1
  330. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-a16002aa2a911619.js +1 -0
  331. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/{page-cec15f4b835d34fc.js → page-e8030824994edf35.js} +1 -1
  332. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-4f7f1ddbaf79be8f.js +1 -0
  333. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-4ee117e690fda56f.js → page-349b0977f3c6209a.js} +1 -1
  334. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-7fbc46dfb7b22bd3.js → page-be43cb06112fce12.js} +1 -1
  335. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-6916e1abab42a6e6.js +1 -0
  336. package/.next/standalone/.next/static/chunks/app/onboarding/{page-4fce966dc96d4ff1.js → page-c0090caae202eae5.js} +1 -1
  337. package/.next/standalone/.next/static/chunks/{webpack-1bfc783412a06fc5.js → webpack-cfb63dd1b416c92e.js} +1 -1
  338. package/.next/standalone/.next/static/css/75c761a5428611fa.css +1 -0
  339. package/.next/standalone/package.json +1 -1
  340. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +2 -2
  341. package/.next/standalone/public/chorus-plugin/agents/code-reviewer.md +1 -0
  342. package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +12 -3
  343. package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +4 -0
  344. package/.next/standalone/public/chorus-plugin/bin/chorus-api.sh +1 -1
  345. package/.next/standalone/public/chorus-plugin/bin/on-post-submit-for-verify.sh +3 -3
  346. package/.next/standalone/public/chorus-plugin/bin/on-post-submit-proposal.sh +3 -3
  347. package/.next/standalone/public/chorus-plugin/bin/on-post-verify-task.sh +2 -2
  348. package/.next/standalone/public/chorus-plugin/bin/on-session-start.sh +39 -64
  349. package/.next/standalone/public/chorus-plugin/bin/resolve-spec-mode.sh +107 -0
  350. package/.next/standalone/public/chorus-plugin/bin/tests/test-resolver-drift.sh +46 -0
  351. package/.next/standalone/public/chorus-plugin/bin/tests/test-skill-harness-fidelity-negative.sh +328 -0
  352. package/.next/standalone/public/chorus-plugin/bin/tests/test-skill-harness-fidelity.sh +372 -0
  353. package/.next/standalone/public/chorus-plugin/bin/tests/test-spec-mode-resolution.sh +83 -0
  354. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  355. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +11 -6
  356. package/.next/standalone/public/chorus-plugin/skills/chorus-cli/SKILL.md +1 -1
  357. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +14 -9
  358. package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +1 -1
  359. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
  360. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +27 -31
  361. package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +11 -1
  362. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +14 -7
  363. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +6 -4
  364. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +10 -8
  365. package/.next/standalone/public/chorus-plugin/skills/spec-lite/SKILL.md +147 -0
  366. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +49 -34
  367. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-code-reviewer.json +1 -1
  368. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-proposal-reviewer.json +2 -1
  369. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-task-reviewer.json +1 -1
  370. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus.md +1 -1
  371. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
  372. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-cli/SKILL.md +1 -1
  373. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +9 -7
  374. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +1 -1
  375. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +1 -1
  376. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +35 -27
  377. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-orchestrate/SKILL.md +9 -1
  378. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +14 -7
  379. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +2 -2
  380. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +8 -8
  381. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-spec-lite/SKILL.md +147 -0
  382. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +39 -25
  383. package/.next/standalone/public/kiro-plugin/.kiro/steering/chorus.md +11 -6
  384. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
  385. package/.next/standalone/public/kiro-plugin/bin/on-agent-spawn.sh +41 -0
  386. package/.next/standalone/public/kiro-plugin/bin/on-post-submit-for-verify.sh +3 -3
  387. package/.next/standalone/public/kiro-plugin/bin/on-post-submit-proposal.sh +3 -3
  388. package/.next/standalone/public/kiro-plugin/bin/on-post-verify-task.sh +2 -2
  389. package/.next/standalone/public/kiro-plugin/bin/resolve-spec-mode.sh +107 -0
  390. package/.next/standalone/public/kiro-plugin/manifest.txt +2 -0
  391. package/.next/standalone/public/skill/chorus/SKILL.md +11 -1
  392. package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +1 -0
  393. package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
  394. package/.next/standalone/public/skill/orchestrate-chorus/SKILL.md +11 -1
  395. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +5 -2
  396. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  397. package/.next/standalone/public/skill/review-chorus/SKILL.md +5 -3
  398. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +4 -0
  399. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +23 -7
  400. package/README.ja.md +3 -3
  401. package/README.ko.md +3 -3
  402. package/README.md +3 -3
  403. package/README.zh.md +3 -3
  404. package/cli/agent-cli-config.mjs +323 -0
  405. package/cli/agent-launcher.mjs +45 -17
  406. package/cli/claude-spawner.mjs +22 -13
  407. package/cli/codex-spawner.mjs +23 -15
  408. package/cli/credentials.mjs +7 -0
  409. package/cli/daemon-agent.mjs +1 -1
  410. package/cli/daemon-config.mjs +14 -0
  411. package/cli/daemon.mjs +34 -9
  412. package/cli/dsh-managed-config.mjs +219 -293
  413. package/cli/dsh-spawner.mjs +53 -27
  414. package/cli/init/steps/credential-seed.mjs +1 -1
  415. package/cli/kiro-spawner.mjs +22 -15
  416. package/cli/launch-diagnostics.mjs +67 -0
  417. package/cli/login.mjs +17 -1
  418. package/cli/pi-spawner.mjs +19 -12
  419. package/cli/prompts.mjs +52 -2
  420. package/cli/spawner-select.mjs +6 -11
  421. package/package.json +1 -1
  422. package/.next/standalone/.next/server/chunks/1114.js +0 -1
  423. package/.next/standalone/.next/server/chunks/2953.js +0 -1
  424. package/.next/standalone/.next/server/chunks/5162.js +0 -1
  425. package/.next/standalone/.next/server/chunks/6689.js +0 -1
  426. package/.next/standalone/.next/server/chunks/9667.js +0 -1
  427. package/.next/standalone/.next/static/chunks/11595.b81c0bf7732c3b62.js +0 -1
  428. package/.next/standalone/.next/static/chunks/24808-e3d95efc7ec039c5.js +0 -1
  429. package/.next/standalone/.next/static/chunks/33456.cfc9aa607a62e879.js +0 -1
  430. package/.next/standalone/.next/static/chunks/4860.41351a823cf400e4.js +0 -1
  431. package/.next/standalone/.next/static/chunks/51468-194d894e563580dd.js +0 -1
  432. package/.next/standalone/.next/static/chunks/61570-527701d072d00a24.js +0 -1
  433. package/.next/standalone/.next/static/chunks/65066-6da35d5cb080c7f5.js +0 -1
  434. package/.next/standalone/.next/static/chunks/72875-0987d09cd8406614.js +0 -1
  435. package/.next/standalone/.next/static/chunks/75936-79860953212592fd.js +0 -1
  436. package/.next/standalone/.next/static/chunks/79919-e02963faee5cb563.js +0 -1
  437. package/.next/standalone/.next/static/chunks/94643-e8f5fa25e2340cc8.js +0 -1
  438. package/.next/standalone/.next/static/chunks/99373.633f7c25e64bcdac.js +0 -1
  439. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-bb5ef11586301c72.js +0 -1
  440. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-725373108da1b08c.js +0 -1
  441. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-7d2f4713697eb0a7.js +0 -1
  442. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-0225f87552b977d9.js +0 -1
  443. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-8b30678a58e7b2ee.js +0 -1
  444. package/.next/standalone/.next/static/css/1d9cf83f50b6db00.css +0 -1
  445. /package/.next/standalone/.next/static/{WSN4XeA1kUCI6CeEHcaT_ → IxKVu5zkFPTjSKAUR99yH}/_buildManifest.js +0 -0
  446. /package/.next/standalone/.next/static/{WSN4XeA1kUCI6CeEHcaT_ → IxKVu5zkFPTjSKAUR99yH}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[96538],{268:(e,t,r)=>{Promise.resolve().then(r.bind(r,52053)),Promise.resolve().then(r.bind(r,90299)),Promise.resolve().then(r.bind(r,65514)),Promise.resolve().then(r.bind(r,98861)),Promise.resolve().then(r.bind(r,38476)),Promise.resolve().then(r.bind(r,74542)),Promise.resolve().then(r.bind(r,71350)),Promise.resolve().then(r.bind(r,39025)),Promise.resolve().then(r.bind(r,75368)),Promise.resolve().then(r.bind(r,89684)),Promise.resolve().then(r.bind(r,58057)),Promise.resolve().then(r.bind(r,6512)),Promise.resolve().then(r.bind(r,25051)),Promise.resolve().then(r.bind(r,4374)),Promise.resolve().then(r.bind(r,19345)),Promise.resolve().then(r.bind(r,2300)),Promise.resolve().then(r.bind(r,17533)),Promise.resolve().then(r.bind(r,99545)),Promise.resolve().then(r.bind(r,63197)),Promise.resolve().then(r.bind(r,65326)),Promise.resolve().then(r.bind(r,48218)),Promise.resolve().then(r.bind(r,56260)),Promise.resolve().then(r.bind(r,60322)),Promise.resolve().then(r.bind(r,79834)),Promise.resolve().then(r.bind(r,6947)),Promise.resolve().then(r.bind(r,88878)),Promise.resolve().then(r.bind(r,34857)),Promise.resolve().then(r.bind(r,97006)),Promise.resolve().then(r.bind(r,45841)),Promise.resolve().then(r.t.bind(r,12790,23)),Promise.resolve().then(r.bind(r,53333)),Promise.resolve().then(r.bind(r,99917)),Promise.resolve().then(r.bind(r,58866))},14554:(e,t,r)=>{"use strict";r.d(t,{p:()=>s});var n=r(90508);r(1856);var a=r(24377);function s(e){let{className:t,type:r,...s}=e;return(0,n.jsx)("input",{type:r,"data-slot":"input",className:(0,a.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...s})}},22922:(e,t,r)=>{"use strict";r.d(t,{$:()=>l});var n=r(90508);r(1856);var a=r(49499),s=r(54154),o=r(24377);let i=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:t,variant:r="default",size:a="default",asChild:l=!1,...d}=e,c=l?s.bL:"button";return(0,n.jsx)(c,{"data-slot":"button","data-variant":r,"data-size":a,className:(0,o.cn)(i({variant:r,size:a,className:t})),...d})}},24377:(e,t,r)=>{"use strict";r.d(t,{cn:()=>s});var n=r(49251),a=r(58849);function s(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.QP)((0,n.$)(t))}},30423:(e,t,r)=>{"use strict";r.d(t,{j:()=>a});let n=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return Math.abs(t)}(e)%n.length;return n[t]}},38106:(e,t,r)=>{"use strict";function n(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0");return"".concat(r,"-").concat(n,"-").concat(a," ").concat(s,":").concat(o)}function a(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:()=>n,s:()=>a})},47754:(e,t,r)=>{"use strict";r.d(t,{fv:()=>g,xQ:()=>x});var n=r(1856),a=r(63964);let s=new Map,o=new Map,i=new Map,l=new Set,d=0;function c(e,t,r,n){return r?n?"".concat(e,":").concat(t,":").concat(r,":").concat(n):"".concat(e,":").concat(t,":").concat(r):"".concat(e,":").concat(t)}function u(){d++,l.forEach(e=>e())}function m(e){var t;let r=e.subEntityType,n=e.subEntityUuid,a=c(e.entityType,e.entityUuid,r,n),l=function(e,t,r,n,a){let s=c(e,t,n,a);return"".concat(s,":").concat(r)}(e.entityType,e.entityUuid,e.agentUuid,r,n),d=o.get(l);if(d&&Date.now()-d<3e3)return;o.set(l,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},f=(null!=(t=s.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);f.push(m),s.set(a,f);let p=i.get(l);p&&clearTimeout(p);let g=setTimeout(()=>{let t=s.get(a);if(t){let r=t.filter(t=>t.agentUuid!==e.agentUuid);0===r.length?s.delete(a):s.set(a,r)}o.delete(l),i.delete(l),u()},3e3);i.set(l,g),u()}function f(){return d}function p(e){return l.add(e),()=>{l.delete(e)}}function g(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function x(){return(0,n.useSyncExternalStore)(p,f,f),(0,a.S2)(m),{getPresence:(e,t,r,n)=>{if(r){var a;return null!=(a=s.get(c(e,t,r,n)))?a:[]}let o="".concat(e,":").concat(t),i=new Map;for(let[e,t]of s)if(e===o||e.startsWith(o+":"))for(let e of t){let t=i.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&i.set(e.agentUuid,e)}return[...i.values()]}}}},48416:(e,t,r)=>{"use strict";r.d(t,{BT:()=>l,Wu:()=>d,ZB:()=>i,Zp:()=>s,aR:()=>o});var n=r(90508);r(1856);var a=r(24377);function s(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...r})}function o(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...r})}function i(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...r})}function l(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...r})}function d(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...r})}},53333:(e,t,r)=>{"use strict";r.d(t,{CreateDocumentDialog:()=>h});var n=r(90508),a=r(1856),s=r(91814),o=r(39268),i=r(5616),l=r(56770),d=r(78853),c=r(85226),u=r(22922),m=r(14554),f=r(88064),p=r(97438),g=r(91846),x=r(52217);let v=(0,x.createServerReference)("4024157826f34b51810e9717092be9dcaa66f5fad4",x.callServer,void 0,x.findSourceMapURL,"createDocumentAction");function h(e){let{projectUuid:t,trigger:r}=e,x=(0,o.c)(),h=(0,s.r)(),b=(0,a.useRef)(null),[y,j]=(0,a.useState)(!1),[w,N]=(0,a.useState)(""),[k,E]=(0,a.useState)("prd"),[A,C]=(0,a.useState)(null),[S,z]=(0,a.useState)(""),[P,D]=(0,a.useState)(null),[U,F]=(0,a.useState)(!1),_=()=>{N(""),E("prd"),C(null),z(""),D(null),b.current&&(b.current.value="")},R=async()=>{if(!w.trim())return void D(x("documents.titleRequired"));F(!0),D(null);let e=await v({projectUuid:t,title:w.trim(),type:k,content:S});F(!1),e.success?(j(!1),_(),h.refresh(),e.documentUuid&&h.push("/projects/".concat(t,"/documents/").concat(e.documentUuid))):D(e.error||x("documents.createFailed"))};return(0,n.jsxs)(p.lG,{open:y,onOpenChange:e=>{j(e),e||_()},children:[(0,n.jsx)(p.zM,{asChild:!0,children:r||(0,n.jsxs)(u.$,{className:"bg-primary hover:bg-[#B56A42] text-white",children:[(0,n.jsx)(i.A,{className:"mr-2 h-4 w-4"}),x("documents.newDocument")]})}),(0,n.jsxs)(p.Cf,{className:"sm:max-w-[480px]",children:[(0,n.jsx)(p.c7,{children:(0,n.jsx)(p.L3,{children:x("documents.createDocument")})}),(0,n.jsxs)("div",{className:"space-y-4 py-2",children:[P&&(0,n.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:P}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsxs)(f.J,{htmlFor:"doc-title",className:"text-[13px] font-medium text-foreground",children:[x("documents.titleLabel")," *"]}),(0,n.jsx)(m.p,{id:"doc-title",value:w,onChange:e=>N(e.target.value),placeholder:x("documents.titlePlaceholder"),className:"border-border focus-visible:ring-primary",autoFocus:!0})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(f.J,{htmlFor:"doc-type",className:"text-[13px] font-medium text-foreground",children:x("documents.typeLabel")}),(0,n.jsxs)(g.l6,{value:k,onValueChange:E,children:[(0,n.jsx)(g.bq,{className:"border-border focus:ring-primary",children:(0,n.jsx)(g.yv,{})}),(0,n.jsxs)(g.gC,{children:[(0,n.jsx)(g.eb,{value:"prd",children:"PRD"}),(0,n.jsx)(g.eb,{value:"spec",children:"Spec"}),(0,n.jsx)(g.eb,{value:"design",children:"Design"}),(0,n.jsx)(g.eb,{value:"note",children:"Note"}),(0,n.jsx)(g.eb,{value:"other",children:"Other"})]})]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(f.J,{className:"text-[13px] font-medium text-foreground",children:x("documents.uploadMarkdown")}),(0,n.jsx)("div",{className:"flex cursor-pointer items-center gap-3 rounded-lg border border-dashed border-border p-4 transition-colors hover:border-primary hover:bg-[#FFFBF8] dark:hover:bg-[#1e1d1b]",onClick:()=>{var e;return null==(e=b.current)?void 0:e.click()},children:A?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.A,{className:"h-5 w-5 text-primary"}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("p",{className:"text-sm font-medium text-foreground truncate",children:A}),(0,n.jsxs)("p",{className:"text-xs text-[#9A9A9A]",children:[S.length.toLocaleString()," ",x("documents.characters")]})]})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(d.A,{className:"h-5 w-5 text-[#9A9A9A]"}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:x("documents.clickToUpload")}),(0,n.jsx)("p",{className:"text-xs text-[#9A9A9A]",children:".md, .txt, .markdown"})]})]})}),(0,n.jsx)("input",{ref:b,type:"file",accept:".md,.txt,.markdown",onChange:e=>{var t;let r=null==(t=e.target.files)?void 0:t[0];if(!r)return;C(r.name);let n=new FileReader;n.onload=e=>{var t;z(null==(t=e.target)?void 0:t.result)},n.readAsText(r)},className:"hidden"})]})]}),(0,n.jsxs)(p.Es,{children:[(0,n.jsx)(u.$,{variant:"outline",onClick:()=>j(!1),disabled:U,className:"border-border",children:x("common.cancel")}),(0,n.jsx)(u.$,{onClick:R,disabled:U||!w.trim(),className:"bg-primary hover:bg-[#B56A42] text-white",children:U?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),x("common.creating")]}):x("common.create")})]})]})]})}},57731:(e,t,r)=>{"use strict";r.d(t,{E:()=>l});var n=r(90508);r(1856);var a=r(49499),s=r(54154),o=r(24377);let i=(0,a.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:r="default",asChild:a=!1,...l}=e,d=a?s.bL:"span";return(0,n.jsx)(d,{"data-slot":"badge","data-variant":r,className:(0,o.cn)(i({variant:r}),t),...l})}},58866:(e,t,r)=>{"use strict";r.d(t,{AnimatedEmptyState:()=>s});var n=r(90508),a=r(16544);function s(e){let{children:t}=e;return(0,n.jsx)(a.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},children:t})}},63964:(e,t,r)=>{"use strict";r.d(t,{S2:()=>c,eV:()=>d,l9:()=>l,tS:()=>i,w0:()=>u});var n=r(90508),a=r(1856);r(91814);var s=r(95126);let o=(0,a.createContext)(null);function i(e){let{projectUuid:t,children:r}=e,i=(0,s.jj)(),l=null==i?void 0:i.subscribe,d=null==i?void 0:i.openGeneration,c=(0,a.useRef)(new Set),u=(0,a.useRef)(new Set),m=(0,a.useRef)(new Set),f=(0,a.useRef)(new Set),p=(0,a.useCallback)(()=>{c.current.forEach(e=>e())},[]),g=(0,a.useCallback)(e=>{u.current.forEach(t=>t(e))},[]),x=(0,a.useCallback)(()=>{for(let e of(p(),["task","idea","proposal","document","project","project_group"]))g({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})},[p,g]);(0,a.useEffect)(()=>{let e,r,n=null,a=!1,s=0,o={};function i(r){if("presence"===r.type){if(t&&r.projectUuid!==t)return;m.current.forEach(e=>e(r));return}if("execution"===r.type)return void f.current.forEach(e=>e(r));if("string"!=typeof r.entityType||"string"!=typeof r.entityUuid||"string"!=typeof r.action||t&&r.projectUuid!==t)return;clearTimeout(e);let n=Date.now(),a=n-s;a>=3e3?(s=n,p()):e=setTimeout(()=>{s=Date.now(),p()},Math.max(1e3,3e3-a));let i=r.entityType;clearTimeout(o[i]),o[i]=setTimeout(()=>{g(r)},300)}function d(){c(),(n=new EventSource(t?"/api/events?projectUuid=".concat(encodeURIComponent(t)):"/api/events")).onopen=()=>{a&&x(),a=!0},n.onmessage=e=>{let t=null;try{t=JSON.parse(e.data)}catch(e){return}t&&i(t)},n.onerror=()=>{}}function c(){n&&(n.close(),n=null)}function u(){"visible"===document.visibilityState&&(n&&n.readyState!==EventSource.CLOSED||d())}return l?r=l(i):(d(),document.addEventListener("visibilitychange",u)),()=>{for(let t in null==r||r(),c(),clearTimeout(e),o)clearTimeout(o[t]);document.removeEventListener("visibilitychange",u)}},[t,l,p,g,x]);let v=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(l&&d){if(null===v.current){v.current=d;return}d>v.current&&(v.current=d,x())}},[l,d,x]);let h=(0,a.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),b=(0,a.useCallback)(e=>(u.current.add(e),()=>{u.current.delete(e)}),[]),y=(0,a.useCallback)(e=>(m.current.add(e),()=>{m.current.delete(e)}),[]),j=(0,a.useCallback)(e=>(f.current.add(e),()=>{f.current.delete(e)}),[]),w=(0,a.useMemo)(()=>({subscribe:h,subscribeEntity:b,subscribePresence:y,subscribeExecution:j}),[h,b,y,j]);return(0,n.jsx)(o.Provider,{value:w,children:r})}function l(e){let t=(0,a.useContext)(o),r=(0,a.useRef)(e);r.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>r.current();return e(),t.subscribe(e)},[t])}function d(e,t){let r=(0,a.useContext)(o),n=(0,a.useRef)(t);n.current=t;let s=(0,a.useRef)(e);s.current=e,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(e=>{let t=s.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&n.current(e)})},[r])}function c(e){let t=(0,a.useContext)(o),r=(0,a.useRef)(e);r.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>r.current(e))},[t])}function u(e,t,r){let n=(0,a.useContext)(o),s=(0,a.useRef)(r);s.current=r,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(r=>{r.entityType===e&&r.entityUuid===t&&s.current(r)})},[n,e,t])}},66343:(e,t,r)=>{"use strict";r.d(t,{Hr:()=>p,Ht:()=>u,SQ:()=>d,_2:()=>c,lp:()=>m,mB:()=>f,rI:()=>i,ty:()=>l});var n=r(90508);r(1856);var a=r(97964),s=r(39025),o=r(24377);function i(e){let{...t}=e;return(0,n.jsx)(s.Root,{"data-slot":"dropdown-menu",...t})}function l(e){let{...t}=e;return(0,n.jsx)(s.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function d(e){let{className:t,sideOffset:r=4,...a}=e;return(0,n.jsx)(s.Portal,{children:(0,n.jsx)(s.Content,{"data-slot":"dropdown-menu-content",sideOffset:r,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),...a})})}function c(e){let{className:t,inset:r,variant:a="default",...i}=e;return(0,n.jsx)(s.Item,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":a,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:r,...i}=e;return(0,n.jsxs)(s.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,n.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,n.jsx)(s.ItemIndicator,{children:(0,n.jsx)(a.A,{className:"size-2 fill-current"})})}),r]})}function m(e){let{className:t,inset:r,...a}=e;return(0,n.jsx)(s.Label,{"data-slot":"dropdown-menu-label","data-inset":r,className:(0,o.cn)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",t),...a})}function f(e){let{className:t,...r}=e;return(0,n.jsx)(s.Separator,{"data-slot":"dropdown-menu-separator",className:(0,o.cn)("bg-border -mx-1 my-1 h-px",t),...r})}function p(e){let{...t}=e;return(0,n.jsx)(s.RadioGroup,{"data-slot":"dropdown-menu-radio-group",...t})}},67712:(e,t,r)=>{"use strict";r.d(t,{q:()=>i});var n=r(55036);let a={debug:0,info:1,warn:2,error:3},s=n.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function o(e){return a[e]>=a[s]}let i={debug:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];o("debug")&&console.debug("[Chorus] ".concat(e),...r)},info:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];o("info")&&console.info("[Chorus] ".concat(e),...r)},warn:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];o("warn")&&console.warn("[Chorus] ".concat(e),...r)},error:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];o("error")&&console.error("[Chorus] ".concat(e),...r)}}},69386:(e,t,r)=>{"use strict";r.d(t,{E:()=>g});var n=r(90508),a=r(1856),s=r(67587),o=r(56770),i=r(6841),l=r(6493),d=r(85226),c=r(15044),u=r(39268),m=r(66343),f=r(22922),p=r(67712);function g(e){let{document:t,documentUuid:g,variant:x="default"}=e,v=(0,u.c)(),{exportDocument:h,isExporting:b,exportError:y}=function(){let[e,t]=(0,a.useState)(!1),[n,s]=(0,a.useState)(null);return{exportDocument:(0,a.useCallback)(async(e,n)=>{t(!0),s(null);try{let t,s,i=function(e){let t=e.replace(/[\\/:*?"<>|]/g,"").replace(/\s+/g," ").trim().replace(/\s/g,"-");return t.length>0?t:"document"}(e.title);if("md"===n){let{exportAsMarkdownBlob:n}=await r.e(50681).then(r.bind(r,50681));t=n(e),s="md"}else if("pdf"===n){let{exportAsPdf:n}=await r.e(34966).then(r.bind(r,34966));t=await n(e),s="pdf"}else if("docx"===n){let{exportAsDocx:n}=await r.e(9634).then(r.bind(r,9634));t=await n(e),s="docx"}else throw Error("Unsupported export format: ".concat(String(n)));var a=t,o="".concat(i,".").concat(s);let l=URL.createObjectURL(a),d=document.createElement("a");d.href=l,d.download=o,d.rel="noopener",d.style.display="none",document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(l),1e3)}catch(e){s(e instanceof Error?e.message:String(e)),p.q.error("useDocumentExport export failed",e)}finally{t(!1)}},[]),isExporting:e,exportError:n}}(),[j,w]=(0,a.useState)(null);async function N(e){w(e);try{let l=t;if(!l&&g){var r,n,a,o,i;let e=await fetch("/api/documents/".concat(g)),t=await e.json();if(!t.success||!t.data)return void s.oR.error(v("export.exportError"));let d=t.data;l={title:d.title,content:null!=(a=d.content)?a:"",type:d.type,version:d.version,createdAt:d.createdAt,updatedAt:d.updatedAt,createdByName:null!=(o=null==(r=d.createdBy)?void 0:r.name)?o:"",projectName:null!=(i=null==(n=d.project)?void 0:n.name)?i:""}}l&&await h(l,e)}finally{w(null),y&&s.oR.error(y)}}let k=[{format:"md",labelKey:"export.formatMd",icon:o.A},{format:"pdf",labelKey:"export.formatPdf",icon:i.A},{format:"docx",labelKey:"export.formatDocx",icon:l.A}],E="compact"===x;return(0,n.jsxs)(m.rI,{children:[(0,n.jsx)(m.ty,{asChild:!0,children:(0,n.jsxs)(f.$,{variant:"ghost"===x?"ghost":"outline",size:E?"sm":"default",className:E?"h-6 text-[11px] text-muted-foreground hover:text-foreground":"border-border text-muted-foreground gap-1.5",disabled:b,children:[b?(0,n.jsx)(d.A,{className:"".concat(E?"h-3 w-3":"h-4 w-4"," animate-spin")}):(0,n.jsx)(c.A,{className:E?"h-3 w-3":"h-4 w-4"}),!E&&v("export.exportDocument")]})}),(0,n.jsx)(m.SQ,{align:"end",className:"w-48",children:k.map(e=>{let{format:t,labelKey:r,icon:a}=e;return(0,n.jsxs)(m._2,{onClick:e=>{e.stopPropagation(),e.preventDefault(),N(t)},disabled:b,children:[j===t?(0,n.jsx)(d.A,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(a,{className:"h-4 w-4"}),v(r)]},t)})})]})}},73693:(e,t,r)=>{"use strict";r.d(t,{BK:()=>i,eu:()=>o,q5:()=>l});var n=r(90508);r(1856);var a=r(65514),s=r(24377);function o(e){let{className:t,size:r="default",...o}=e;return(0,n.jsx)(a.Root,{"data-slot":"avatar","data-size":r,className:(0,s.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",t),...o})}function i(e){let{className:t,...r}=e;return(0,n.jsx)(a.Image,{"data-slot":"avatar-image",className:(0,s.cn)("aspect-square size-full",t),...r})}function l(e){let{className:t,...r}=e;return(0,n.jsx)(a.Fallback,{"data-slot":"avatar-fallback",className:(0,s.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",t),...r})}},88064:(e,t,r)=>{"use strict";r.d(t,{J:()=>o});var n=r(90508);r(1856);var a=r(58057),s=r(24377);function o(e){let{className:t,...r}=e;return(0,n.jsx)(a.Root,{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...r})}},91385:(e,t,r)=>{"use strict";r.d(t,{AgentAvatar:()=>g,Pf:()=>f});var n=r(90508),a=r(1856),s=r(5425),o=r(93832),i=r(5985),l=r(14518),d=r(73693),c=r(24377);let u=new o.O(l),m=new Map;function f(e,t){let r,n="".concat(t,"\0").concat(e),a=m.get(n);if(void 0!==a)return a;try{let n="animated"===t?{seed:e,tags:["animation"]}:{seed:e,tags:["!animation"]};r=new i.e(u,n).toDataUri()}catch(e){r=null}return m.set(n,r),r}let p={xs:20,sm:24,md:32,lg:40};function g(e){let{name:t,size:r="md",animate:o=!0,className:i}=e,[l,u]=a.useState(!1);a.useEffect(()=>{var e;if("function"!=typeof window.matchMedia)return;let t=window.matchMedia("(prefers-reduced-motion: reduce)");u(t.matches);let r=e=>u(e.matches);return null==(e=t.addEventListener)||e.call(t,"change",r),()=>{var e;return null==(e=t.removeEventListener)?void 0:e.call(t,"change",r)}},[]);let m=o&&!l?"animated":"static",g=a.useMemo(()=>f(t,m),[t,m]),x="number"==typeof r?r:p[r],v=t.trim().charAt(0).toUpperCase();return(0,n.jsxs)(d.eu,{"data-slot":"agent-avatar","data-motion":m,className:(0,c.cn)("shrink-0 rounded-md bg-muted",i),style:{width:x,height:x},children:[g?(0,n.jsx)(d.BK,{src:g,alt:t,className:(0,c.cn)("rounded-md","origin-top scale-[1.5] -translate-y-[10%]"),draggable:!1}):null,(0,n.jsx)(d.q5,{className:"rounded-md","aria-label":t,children:v?(0,n.jsx)("span",{className:"text-[0.7em] font-medium",children:v}):(0,n.jsx)(s.A,{className:"size-1/2","aria-hidden":!0})})]})}},91814:(e,t,r)=>{"use strict";r.d(t,{r:()=>s});var n=r(27290),a=r(1856);function s(){let e=(0,n.r)({delay:120});return(0,a.useMemo)(()=>({...e,refresh:()=>e.refresh({showProgress:!1})}),[e])}},91846:(e,t,r)=>{"use strict";r.d(t,{bq:()=>u,eb:()=>f,gC:()=>m,l6:()=>d,yv:()=>c});var n=r(90508);r(1856);var a=r(17730),s=r(60532),o=r(89967),i=r(48218),l=r(24377);function d(e){let{...t}=e;return(0,n.jsx)(i.Root,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,n.jsx)(i.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:r="default",children:s,...o}=e;return(0,n.jsxs)(i.Trigger,{"data-slot":"select-trigger","data-size":r,className:(0,l.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o,children:[s,(0,n.jsx)(i.Icon,{asChild:!0,children:(0,n.jsx)(a.A,{className:"size-4 opacity-50"})})]})}function m(e){let{className:t,children:r,position:a="item-aligned",align:s="center",...o}=e;return(0,n.jsx)(i.Portal,{children:(0,n.jsxs)(i.Content,{"data-slot":"select-content",className:(0,l.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===a&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:a,align:s,...o,children:[(0,n.jsx)(p,{}),(0,n.jsx)(i.Viewport,{className:(0,l.cn)("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:r}),(0,n.jsx)(g,{})]})})}function f(e){let{className:t,children:r,...a}=e;return(0,n.jsxs)(i.Item,{"data-slot":"select-item",className:(0,l.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...a,children:[(0,n.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,n.jsx)(i.ItemIndicator,{children:(0,n.jsx)(s.A,{className:"size-4"})})}),(0,n.jsx)(i.ItemText,{children:r})]})}function p(e){let{className:t,...r}=e;return(0,n.jsx)(i.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...r,children:(0,n.jsx)(o.A,{className:"size-4"})})}function g(e){let{className:t,...r}=e;return(0,n.jsx)(i.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...r,children:(0,n.jsx)(a.A,{className:"size-4"})})}},95126:(e,t,r)=>{"use strict";r.d(t,{D1:()=>l,Qb:()=>i,a7:()=>s,jj:()=>d});var n=r(90508),a=r(1856);let s="stream_reset",o=(0,a.createContext)(null);function i(e){let{children:t}=e,r=(0,a.useRef)(new Set),[i,l]=(0,a.useState)(0),[d,c]=(0,a.useState)(null),u=(0,a.useCallback)(e=>(r.current.add(e),()=>{r.current.delete(e)}),[]);(0,a.useEffect)(()=>{let e=null,t=()=>{e&&(e.close(),e=null)},n=()=>{t(),(e=new EventSource(!d?"/api/events":"/api/events?sessionUuid=".concat(encodeURIComponent(d)))).onopen=()=>{for(let e of(l(e=>e+1),r.current))e({type:s})},e.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch(e){return}for(let e of r.current)e(t)},e.onerror=()=>{}},a=()=>{"visible"===document.visibilityState&&(null==e||e.readyState!==EventSource.OPEN)&&n()};return n(),document.addEventListener("visibilitychange",a),()=>{t(),document.removeEventListener("visibilitychange",a)}},[d]),(0,a.useEffect)(()=>()=>{r.current.clear()},[]);let m=(0,a.useMemo)(()=>({subscribe:u,openGeneration:i,sessionUuid:d,setSessionUuid:c}),[u,i,d]);return(0,n.jsx)(o.Provider,{value:m,children:t})}function l(){let e=(0,a.useContext)(o);if(!e)throw Error("useDashboardEvents must be used within DashboardEventProvider");return e}function d(){return(0,a.useContext)(o)}},96213:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(90508),a=r(47754),s=r(30423),o=r(91385);function i(e){let{entityType:t,entityUuid:r,subEntityType:o,subEntityUuid:i,children:d,badgeInside:c}=e,{getPresence:u}=(0,a.xQ)(),m=u(t,r,o,i),f=m.length>0,p=f&&m.some(e=>"mutate"===e.action),g=f?p?m.find(e=>"mutate"===e.action):m[m.length-1]:null,x=g?(0,s.j)(g.agentName):"transparent";return(0,n.jsxs)("div",{className:"relative",style:f?{outline:"2px ".concat(p?"solid":"dashed"," ").concat(x),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[f&&(0,n.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(c?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,n.jsx)(l,{entry:e},e.agentUuid)),m.length>3&&(0,n.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",m.length-3]})]}),d]})}function l(e){let{entry:t}=e,r=(0,s.j)(t.agentName);return(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:r},children:[(0,n.jsx)(o.AgentAvatar,{name:t.agentName,size:14,className:"rounded-full"}),t.agentName]})}},97438:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>m,Es:()=>p,L3:()=>g,c7:()=>f,lG:()=>l,rr:()=>x,zM:()=>d});var n=r(90508);r(1856);var a=r(9160),s=r(71350),o=r(24377),i=r(22922);function l(e){let{...t}=e;return(0,n.jsx)(s.Root,{"data-slot":"dialog",...t})}function d(e){let{...t}=e;return(0,n.jsx)(s.Trigger,{"data-slot":"dialog-trigger",...t})}function c(e){let{...t}=e;return(0,n.jsx)(s.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...r}=e;return(0,n.jsx)(s.Overlay,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...r})}function m(e){let{className:t,overlayClassName:r,children:i,showCloseButton:l=!0,...d}=e;return(0,n.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,n.jsx)(u,{className:r}),(0,n.jsxs)(s.Content,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...d,children:[i,l&&(0,n.jsxs)(s.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,n.jsx)(a.A,{}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function f(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...r})}function p(e){let{className:t,showCloseButton:r=!1,children:a,...l}=e;return(0,n.jsxs)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...l,children:[a,r&&(0,n.jsx)(s.Close,{asChild:!0,children:(0,n.jsx)(i.$,{variant:"outline",children:"Close"})})]})}function g(e){let{className:t,...r}=e;return(0,n.jsx)(s.Title,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",t),...r})}function x(e){let{className:t,...r}=e;return(0,n.jsx)(s.Description,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...r})}},99917:(e,t,r)=>{"use strict";r.d(t,{DocumentGrid:()=>h});var n=r(90508),a=r(12790),s=r.n(a),o=r(48416),i=r(57731),l=r(56770),d=r(39268),c=r(96213),u=r(69386),m=r(38106),f=r(71921),p=r(15584),g=r(59551),x=r(75320);let v={prd:{labelKey:"documents.typePrd",color:"bg-[#E3F2FD] text-[#1976D2] dark:bg-[#13253a] dark:text-[#5AA9F0]",icon:f.A},spec:{labelKey:"documents.typeSpec",color:"bg-[#E8F5E9] text-[#5A9E6F] dark:bg-[#14281a] dark:text-[#6FD19A]",icon:p.A},design:{labelKey:"documents.typeDesign",color:"bg-[#F3E5F5] text-[#7B1FA2] dark:bg-[#281630] dark:text-[#C98FE0]",icon:g.A},note:{labelKey:"documents.typeNote",color:"bg-[#FFF3E0] text-[#E65100] dark:bg-[#3a2a12] dark:text-[#F0A050]",icon:x.A},report:{labelKey:"documents.typeReport",color:"bg-[#FFF8E1] text-[#9A6B00] dark:bg-[#332a12] dark:text-[#E0B44E]",icon:l.A},other:{labelKey:"documents.typeOther",color:"bg-[#F5F5F5] text-[#6B6B6B] dark:bg-[#1e1e20] dark:text-[#aba29a]",icon:l.A}};function h(e){let{documents:t,projectUuid:r}=e,a=(0,d.c)();return(0,n.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:t.map(e=>{let t=v[e.type],d=(null==t?void 0:t.icon)||l.A;return(0,n.jsx)(c.D,{entityType:"document",entityUuid:e.uuid,children:(0,n.jsxs)(o.Zp,{className:"group relative flex flex-col border-border transition-all hover:border-primary hover:shadow-md",children:[(0,n.jsx)(s(),{href:"/projects/".concat(r,"/documents/").concat(e.uuid),className:"flex flex-1 flex-col p-5 pb-0",children:(0,n.jsxs)("div",{className:"mb-3 flex items-start gap-3",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-secondary",children:(0,n.jsx)(d,{className:"h-5 w-5 text-muted-foreground"})}),(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("h3",{className:"font-medium text-foreground leading-snug group-hover:text-primary line-clamp-2",children:e.title}),(0,n.jsxs)("div",{className:"mt-1 flex items-center gap-2 text-xs text-[#9A9A9A]",children:[(0,n.jsxs)("span",{children:["v",e.version]}),(0,n.jsx)("span",{children:"\xb7"}),(0,n.jsx)("span",{children:a("documents.updated",{date:(0,m.r)(e.updatedAt)})})]})]})]})}),(0,n.jsxs)("div",{className:"flex items-center justify-between border-t border-secondary px-5 py-2.5",children:[(0,n.jsx)(i.E,{className:"text-[11px] ".concat((null==t?void 0:t.color)||""),children:a((null==t?void 0:t.labelKey)||"documents.typeOther")}),(0,n.jsx)("div",{onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),children:(0,n.jsx)(u.E,{documentUuid:e.uuid,variant:"compact"})})]})]})},e.uuid)})})}}},e=>{e.O(0,[87326,12079,18944,27290,12790,21932,20204,16544,94170,17099,65096,87325,39025,51603,67580,74951,65496,77358],()=>e(e.s=268)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[96538],{268:(e,t,r)=>{Promise.resolve().then(r.bind(r,52053)),Promise.resolve().then(r.bind(r,90299)),Promise.resolve().then(r.bind(r,65514)),Promise.resolve().then(r.bind(r,98861)),Promise.resolve().then(r.bind(r,38476)),Promise.resolve().then(r.bind(r,74542)),Promise.resolve().then(r.bind(r,71350)),Promise.resolve().then(r.bind(r,39025)),Promise.resolve().then(r.bind(r,75368)),Promise.resolve().then(r.bind(r,89684)),Promise.resolve().then(r.bind(r,58057)),Promise.resolve().then(r.bind(r,6512)),Promise.resolve().then(r.bind(r,25051)),Promise.resolve().then(r.bind(r,4374)),Promise.resolve().then(r.bind(r,19345)),Promise.resolve().then(r.bind(r,2300)),Promise.resolve().then(r.bind(r,17533)),Promise.resolve().then(r.bind(r,99545)),Promise.resolve().then(r.bind(r,63197)),Promise.resolve().then(r.bind(r,65326)),Promise.resolve().then(r.bind(r,48218)),Promise.resolve().then(r.bind(r,56260)),Promise.resolve().then(r.bind(r,60322)),Promise.resolve().then(r.bind(r,79834)),Promise.resolve().then(r.bind(r,6947)),Promise.resolve().then(r.bind(r,88878)),Promise.resolve().then(r.bind(r,34857)),Promise.resolve().then(r.bind(r,97006)),Promise.resolve().then(r.bind(r,45841)),Promise.resolve().then(r.t.bind(r,12790,23)),Promise.resolve().then(r.bind(r,91177)),Promise.resolve().then(r.bind(r,99917)),Promise.resolve().then(r.bind(r,58866))},14554:(e,t,r)=>{"use strict";r.d(t,{p:()=>s});var n=r(90508);r(1856);var a=r(24377);function s(e){let{className:t,type:r,...s}=e;return(0,n.jsx)("input",{type:r,"data-slot":"input",className:(0,a.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...s})}},22922:(e,t,r)=>{"use strict";r.d(t,{$:()=>l});var n=r(90508);r(1856);var a=r(49499),s=r(54154),o=r(24377);let i=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:t,variant:r="default",size:a="default",asChild:l=!1,...d}=e,c=l?s.bL:"button";return(0,n.jsx)(c,{"data-slot":"button","data-variant":r,"data-size":a,className:(0,o.cn)(i({variant:r,size:a,className:t})),...d})}},24377:(e,t,r)=>{"use strict";r.d(t,{cn:()=>s});var n=r(49251),a=r(58849);function s(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.QP)((0,n.$)(t))}},30423:(e,t,r)=>{"use strict";r.d(t,{j:()=>a});let n=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function a(e){let t=function(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return Math.abs(t)}(e)%n.length;return n[t]}},38106:(e,t,r)=>{"use strict";function n(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0");return"".concat(r,"-").concat(n,"-").concat(a," ").concat(s,":").concat(o)}function a(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:()=>n,s:()=>a})},47754:(e,t,r)=>{"use strict";r.d(t,{fv:()=>g,xQ:()=>x});var n=r(1856),a=r(63964);let s=new Map,o=new Map,i=new Map,l=new Set,d=0;function c(e,t,r,n){return r?n?"".concat(e,":").concat(t,":").concat(r,":").concat(n):"".concat(e,":").concat(t,":").concat(r):"".concat(e,":").concat(t)}function u(){d++,l.forEach(e=>e())}function m(e){var t;let r=e.subEntityType,n=e.subEntityUuid,a=c(e.entityType,e.entityUuid,r,n),l=function(e,t,r,n,a){let s=c(e,t,n,a);return"".concat(s,":").concat(r)}(e.entityType,e.entityUuid,e.agentUuid,r,n),d=o.get(l);if(d&&Date.now()-d<3e3)return;o.set(l,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},f=(null!=(t=s.get(a))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);f.push(m),s.set(a,f);let p=i.get(l);p&&clearTimeout(p);let g=setTimeout(()=>{let t=s.get(a);if(t){let r=t.filter(t=>t.agentUuid!==e.agentUuid);0===r.length?s.delete(a):s.set(a,r)}o.delete(l),i.delete(l),u()},3e3);i.set(l,g),u()}function f(){return d}function p(e){return l.add(e),()=>{l.delete(e)}}function g(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function x(){return(0,n.useSyncExternalStore)(p,f,f),(0,a.S2)(m),{getPresence:(e,t,r,n)=>{if(r){var a;return null!=(a=s.get(c(e,t,r,n)))?a:[]}let o="".concat(e,":").concat(t),i=new Map;for(let[e,t]of s)if(e===o||e.startsWith(o+":"))for(let e of t){let t=i.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&i.set(e.agentUuid,e)}return[...i.values()]}}}},48416:(e,t,r)=>{"use strict";r.d(t,{BT:()=>l,Wu:()=>d,ZB:()=>i,Zp:()=>s,aR:()=>o});var n=r(90508);r(1856);var a=r(24377);function s(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...r})}function o(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...r})}function i(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...r})}function l(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...r})}function d(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...r})}},57731:(e,t,r)=>{"use strict";r.d(t,{E:()=>l});var n=r(90508);r(1856);var a=r(49499),s=r(54154),o=r(24377);let i=(0,a.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:r="default",asChild:a=!1,...l}=e,d=a?s.bL:"span";return(0,n.jsx)(d,{"data-slot":"badge","data-variant":r,className:(0,o.cn)(i({variant:r}),t),...l})}},58866:(e,t,r)=>{"use strict";r.d(t,{AnimatedEmptyState:()=>s});var n=r(90508),a=r(16544);function s(e){let{children:t}=e;return(0,n.jsx)(a.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},children:t})}},63964:(e,t,r)=>{"use strict";r.d(t,{S2:()=>c,eV:()=>d,l9:()=>l,tS:()=>i,w0:()=>u});var n=r(90508),a=r(1856);r(91814);var s=r(95126);let o=(0,a.createContext)(null);function i(e){let{projectUuid:t,children:r}=e,i=(0,s.jj)(),l=null==i?void 0:i.subscribe,d=null==i?void 0:i.openGeneration,c=(0,a.useRef)(new Set),u=(0,a.useRef)(new Set),m=(0,a.useRef)(new Set),f=(0,a.useRef)(new Set),p=(0,a.useCallback)(()=>{c.current.forEach(e=>e())},[]),g=(0,a.useCallback)(e=>{u.current.forEach(t=>t(e))},[]),x=(0,a.useCallback)(()=>{for(let e of(p(),["task","idea","proposal","document","project","project_group"]))g({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})},[p,g]);(0,a.useEffect)(()=>{let e,r,n=null,a=!1,s=0,o={};function i(r){if("presence"===r.type){if(t&&r.projectUuid!==t)return;m.current.forEach(e=>e(r));return}if("execution"===r.type)return void f.current.forEach(e=>e(r));if("string"!=typeof r.entityType||"string"!=typeof r.entityUuid||"string"!=typeof r.action||t&&r.projectUuid!==t)return;clearTimeout(e);let n=Date.now(),a=n-s;a>=3e3?(s=n,p()):e=setTimeout(()=>{s=Date.now(),p()},Math.max(1e3,3e3-a));let i=r.entityType;clearTimeout(o[i]),o[i]=setTimeout(()=>{g(r)},300)}function d(){c(),(n=new EventSource(t?"/api/events?projectUuid=".concat(encodeURIComponent(t)):"/api/events")).onopen=()=>{a&&x(),a=!0},n.onmessage=e=>{let t=null;try{t=JSON.parse(e.data)}catch(e){return}t&&i(t)},n.onerror=()=>{}}function c(){n&&(n.close(),n=null)}function u(){"visible"===document.visibilityState&&(n&&n.readyState!==EventSource.CLOSED||d())}return l?r=l(i):(d(),document.addEventListener("visibilitychange",u)),()=>{for(let t in null==r||r(),c(),clearTimeout(e),o)clearTimeout(o[t]);document.removeEventListener("visibilitychange",u)}},[t,l,p,g,x]);let v=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(l&&d){if(null===v.current){v.current=d;return}d>v.current&&(v.current=d,x())}},[l,d,x]);let h=(0,a.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),b=(0,a.useCallback)(e=>(u.current.add(e),()=>{u.current.delete(e)}),[]),y=(0,a.useCallback)(e=>(m.current.add(e),()=>{m.current.delete(e)}),[]),j=(0,a.useCallback)(e=>(f.current.add(e),()=>{f.current.delete(e)}),[]),w=(0,a.useMemo)(()=>({subscribe:h,subscribeEntity:b,subscribePresence:y,subscribeExecution:j}),[h,b,y,j]);return(0,n.jsx)(o.Provider,{value:w,children:r})}function l(e){let t=(0,a.useContext)(o),r=(0,a.useRef)(e);r.current=e,(0,a.useEffect)(()=>{if(!t)return;let e=()=>r.current();return e(),t.subscribe(e)},[t])}function d(e,t){let r=(0,a.useContext)(o),n=(0,a.useRef)(t);n.current=t;let s=(0,a.useRef)(e);s.current=e,(0,a.useEffect)(()=>{if(r)return r.subscribeEntity(e=>{let t=s.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&n.current(e)})},[r])}function c(e){let t=(0,a.useContext)(o),r=(0,a.useRef)(e);r.current=e,(0,a.useEffect)(()=>{if(t)return t.subscribePresence(e=>r.current(e))},[t])}function u(e,t,r){let n=(0,a.useContext)(o),s=(0,a.useRef)(r);s.current=r,(0,a.useEffect)(()=>{if(n)return n.subscribeEntity(r=>{r.entityType===e&&r.entityUuid===t&&s.current(r)})},[n,e,t])}},66343:(e,t,r)=>{"use strict";r.d(t,{Hr:()=>p,Ht:()=>u,SQ:()=>d,_2:()=>c,lp:()=>m,mB:()=>f,rI:()=>i,ty:()=>l});var n=r(90508);r(1856);var a=r(97964),s=r(39025),o=r(24377);function i(e){let{...t}=e;return(0,n.jsx)(s.Root,{"data-slot":"dropdown-menu",...t})}function l(e){let{...t}=e;return(0,n.jsx)(s.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function d(e){let{className:t,sideOffset:r=4,...a}=e;return(0,n.jsx)(s.Portal,{children:(0,n.jsx)(s.Content,{"data-slot":"dropdown-menu-content",sideOffset:r,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),...a})})}function c(e){let{className:t,inset:r,variant:a="default",...i}=e;return(0,n.jsx)(s.Item,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":a,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:r,...i}=e;return(0,n.jsxs)(s.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,n.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,n.jsx)(s.ItemIndicator,{children:(0,n.jsx)(a.A,{className:"size-2 fill-current"})})}),r]})}function m(e){let{className:t,inset:r,...a}=e;return(0,n.jsx)(s.Label,{"data-slot":"dropdown-menu-label","data-inset":r,className:(0,o.cn)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",t),...a})}function f(e){let{className:t,...r}=e;return(0,n.jsx)(s.Separator,{"data-slot":"dropdown-menu-separator",className:(0,o.cn)("bg-border -mx-1 my-1 h-px",t),...r})}function p(e){let{...t}=e;return(0,n.jsx)(s.RadioGroup,{"data-slot":"dropdown-menu-radio-group",...t})}},67712:(e,t,r)=>{"use strict";r.d(t,{q:()=>i});var n=r(55036);let a={debug:0,info:1,warn:2,error:3},s=n.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function o(e){return a[e]>=a[s]}let i={debug:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];o("debug")&&console.debug("[Chorus] ".concat(e),...r)},info:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];o("info")&&console.info("[Chorus] ".concat(e),...r)},warn:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];o("warn")&&console.warn("[Chorus] ".concat(e),...r)},error:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];o("error")&&console.error("[Chorus] ".concat(e),...r)}}},69386:(e,t,r)=>{"use strict";r.d(t,{E:()=>g});var n=r(90508),a=r(1856),s=r(67587),o=r(56770),i=r(6841),l=r(6493),d=r(85226),c=r(15044),u=r(39268),m=r(66343),f=r(22922),p=r(67712);function g(e){let{document:t,documentUuid:g,variant:x="default"}=e,v=(0,u.c)(),{exportDocument:h,isExporting:b,exportError:y}=function(){let[e,t]=(0,a.useState)(!1),[n,s]=(0,a.useState)(null);return{exportDocument:(0,a.useCallback)(async(e,n)=>{t(!0),s(null);try{let t,s,i=function(e){let t=e.replace(/[\\/:*?"<>|]/g,"").replace(/\s+/g," ").trim().replace(/\s/g,"-");return t.length>0?t:"document"}(e.title);if("md"===n){let{exportAsMarkdownBlob:n}=await r.e(50681).then(r.bind(r,50681));t=n(e),s="md"}else if("pdf"===n){let{exportAsPdf:n}=await r.e(34966).then(r.bind(r,34966));t=await n(e),s="pdf"}else if("docx"===n){let{exportAsDocx:n}=await r.e(9634).then(r.bind(r,9634));t=await n(e),s="docx"}else throw Error("Unsupported export format: ".concat(String(n)));var a=t,o="".concat(i,".").concat(s);let l=URL.createObjectURL(a),d=document.createElement("a");d.href=l,d.download=o,d.rel="noopener",d.style.display="none",document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(l),1e3)}catch(e){s(e instanceof Error?e.message:String(e)),p.q.error("useDocumentExport export failed",e)}finally{t(!1)}},[]),isExporting:e,exportError:n}}(),[j,w]=(0,a.useState)(null);async function N(e){w(e);try{let l=t;if(!l&&g){var r,n,a,o,i;let e=await fetch("/api/documents/".concat(g)),t=await e.json();if(!t.success||!t.data)return void s.oR.error(v("export.exportError"));let d=t.data;l={title:d.title,content:null!=(a=d.content)?a:"",type:d.type,version:d.version,createdAt:d.createdAt,updatedAt:d.updatedAt,createdByName:null!=(o=null==(r=d.createdBy)?void 0:r.name)?o:"",projectName:null!=(i=null==(n=d.project)?void 0:n.name)?i:""}}l&&await h(l,e)}finally{w(null),y&&s.oR.error(y)}}let k=[{format:"md",labelKey:"export.formatMd",icon:o.A},{format:"pdf",labelKey:"export.formatPdf",icon:i.A},{format:"docx",labelKey:"export.formatDocx",icon:l.A}],E="compact"===x;return(0,n.jsxs)(m.rI,{children:[(0,n.jsx)(m.ty,{asChild:!0,children:(0,n.jsxs)(f.$,{variant:"ghost"===x?"ghost":"outline",size:E?"sm":"default",className:E?"h-6 text-[11px] text-muted-foreground hover:text-foreground":"border-border text-muted-foreground gap-1.5",disabled:b,children:[b?(0,n.jsx)(d.A,{className:"".concat(E?"h-3 w-3":"h-4 w-4"," animate-spin")}):(0,n.jsx)(c.A,{className:E?"h-3 w-3":"h-4 w-4"}),!E&&v("export.exportDocument")]})}),(0,n.jsx)(m.SQ,{align:"end",className:"w-48",children:k.map(e=>{let{format:t,labelKey:r,icon:a}=e;return(0,n.jsxs)(m._2,{onClick:e=>{e.stopPropagation(),e.preventDefault(),N(t)},disabled:b,children:[j===t?(0,n.jsx)(d.A,{className:"h-4 w-4 animate-spin"}):(0,n.jsx)(a,{className:"h-4 w-4"}),v(r)]},t)})})]})}},73693:(e,t,r)=>{"use strict";r.d(t,{BK:()=>i,eu:()=>o,q5:()=>l});var n=r(90508);r(1856);var a=r(65514),s=r(24377);function o(e){let{className:t,size:r="default",...o}=e;return(0,n.jsx)(a.Root,{"data-slot":"avatar","data-size":r,className:(0,s.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",t),...o})}function i(e){let{className:t,...r}=e;return(0,n.jsx)(a.Image,{"data-slot":"avatar-image",className:(0,s.cn)("aspect-square size-full",t),...r})}function l(e){let{className:t,...r}=e;return(0,n.jsx)(a.Fallback,{"data-slot":"avatar-fallback",className:(0,s.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",t),...r})}},88064:(e,t,r)=>{"use strict";r.d(t,{J:()=>o});var n=r(90508);r(1856);var a=r(58057),s=r(24377);function o(e){let{className:t,...r}=e;return(0,n.jsx)(a.Root,{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...r})}},91177:(e,t,r)=>{"use strict";r.d(t,{CreateDocumentDialog:()=>h});var n=r(90508),a=r(1856),s=r(91814),o=r(39268),i=r(5616),l=r(56770),d=r(78853),c=r(85226),u=r(22922),m=r(14554),f=r(88064),p=r(97438),g=r(91846),x=r(52217);let v=(0,x.createServerReference)("40d1b3812f3edc0e38aa63c21a8c668b5ac65700fa",x.callServer,void 0,x.findSourceMapURL,"createDocumentAction");function h(e){let{projectUuid:t,trigger:r}=e,x=(0,o.c)(),h=(0,s.r)(),b=(0,a.useRef)(null),[y,j]=(0,a.useState)(!1),[w,N]=(0,a.useState)(""),[k,E]=(0,a.useState)("prd"),[A,C]=(0,a.useState)(null),[S,z]=(0,a.useState)(""),[P,D]=(0,a.useState)(null),[U,F]=(0,a.useState)(!1),_=()=>{N(""),E("prd"),C(null),z(""),D(null),b.current&&(b.current.value="")},R=async()=>{if(!w.trim())return void D(x("documents.titleRequired"));F(!0),D(null);let e=await v({projectUuid:t,title:w.trim(),type:k,content:S});F(!1),e.success?(j(!1),_(),h.refresh(),e.documentUuid&&h.push("/projects/".concat(t,"/documents/").concat(e.documentUuid))):D(e.error||x("documents.createFailed"))};return(0,n.jsxs)(p.lG,{open:y,onOpenChange:e=>{j(e),e||_()},children:[(0,n.jsx)(p.zM,{asChild:!0,children:r||(0,n.jsxs)(u.$,{className:"bg-primary hover:bg-[#B56A42] text-white",children:[(0,n.jsx)(i.A,{className:"mr-2 h-4 w-4"}),x("documents.newDocument")]})}),(0,n.jsxs)(p.Cf,{className:"sm:max-w-[480px]",children:[(0,n.jsx)(p.c7,{children:(0,n.jsx)(p.L3,{children:x("documents.createDocument")})}),(0,n.jsxs)("div",{className:"space-y-4 py-2",children:[P&&(0,n.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:P}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsxs)(f.J,{htmlFor:"doc-title",className:"text-[13px] font-medium text-foreground",children:[x("documents.titleLabel")," *"]}),(0,n.jsx)(m.p,{id:"doc-title",value:w,onChange:e=>N(e.target.value),placeholder:x("documents.titlePlaceholder"),className:"border-border focus-visible:ring-primary",autoFocus:!0})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(f.J,{htmlFor:"doc-type",className:"text-[13px] font-medium text-foreground",children:x("documents.typeLabel")}),(0,n.jsxs)(g.l6,{value:k,onValueChange:E,children:[(0,n.jsx)(g.bq,{className:"border-border focus:ring-primary",children:(0,n.jsx)(g.yv,{})}),(0,n.jsxs)(g.gC,{children:[(0,n.jsx)(g.eb,{value:"prd",children:"PRD"}),(0,n.jsx)(g.eb,{value:"spec",children:"Spec"}),(0,n.jsx)(g.eb,{value:"design",children:"Design"}),(0,n.jsx)(g.eb,{value:"note",children:"Note"}),(0,n.jsx)(g.eb,{value:"other",children:"Other"})]})]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(f.J,{className:"text-[13px] font-medium text-foreground",children:x("documents.uploadMarkdown")}),(0,n.jsx)("div",{className:"flex cursor-pointer items-center gap-3 rounded-lg border border-dashed border-border p-4 transition-colors hover:border-primary hover:bg-[#FFFBF8] dark:hover:bg-[#1e1d1b]",onClick:()=>{var e;return null==(e=b.current)?void 0:e.click()},children:A?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.A,{className:"h-5 w-5 text-primary"}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("p",{className:"text-sm font-medium text-foreground truncate",children:A}),(0,n.jsxs)("p",{className:"text-xs text-[#9A9A9A]",children:[S.length.toLocaleString()," ",x("documents.characters")]})]})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(d.A,{className:"h-5 w-5 text-[#9A9A9A]"}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:x("documents.clickToUpload")}),(0,n.jsx)("p",{className:"text-xs text-[#9A9A9A]",children:".md, .txt, .markdown"})]})]})}),(0,n.jsx)("input",{ref:b,type:"file",accept:".md,.txt,.markdown",onChange:e=>{var t;let r=null==(t=e.target.files)?void 0:t[0];if(!r)return;C(r.name);let n=new FileReader;n.onload=e=>{var t;z(null==(t=e.target)?void 0:t.result)},n.readAsText(r)},className:"hidden"})]})]}),(0,n.jsxs)(p.Es,{children:[(0,n.jsx)(u.$,{variant:"outline",onClick:()=>j(!1),disabled:U,className:"border-border",children:x("common.cancel")}),(0,n.jsx)(u.$,{onClick:R,disabled:U||!w.trim(),className:"bg-primary hover:bg-[#B56A42] text-white",children:U?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),x("common.creating")]}):x("common.create")})]})]})]})}},91385:(e,t,r)=>{"use strict";r.d(t,{AgentAvatar:()=>g,Pf:()=>f});var n=r(90508),a=r(1856),s=r(5425),o=r(93832),i=r(5985),l=r(14518),d=r(73693),c=r(24377);let u=new o.O(l),m=new Map;function f(e,t){let r,n="".concat(t,"\0").concat(e),a=m.get(n);if(void 0!==a)return a;try{let n="animated"===t?{seed:e,tags:["animation"]}:{seed:e,tags:["!animation"]};r=new i.e(u,n).toDataUri()}catch(e){r=null}return m.set(n,r),r}let p={xs:20,sm:24,md:32,lg:40};function g(e){let{name:t,size:r="md",animate:o=!0,className:i}=e,[l,u]=a.useState(!1);a.useEffect(()=>{var e;if("function"!=typeof window.matchMedia)return;let t=window.matchMedia("(prefers-reduced-motion: reduce)");u(t.matches);let r=e=>u(e.matches);return null==(e=t.addEventListener)||e.call(t,"change",r),()=>{var e;return null==(e=t.removeEventListener)?void 0:e.call(t,"change",r)}},[]);let m=o&&!l?"animated":"static",g=a.useMemo(()=>f(t,m),[t,m]),x="number"==typeof r?r:p[r],v=t.trim().charAt(0).toUpperCase();return(0,n.jsxs)(d.eu,{"data-slot":"agent-avatar","data-motion":m,className:(0,c.cn)("shrink-0 rounded-md bg-muted",i),style:{width:x,height:x},children:[g?(0,n.jsx)(d.BK,{src:g,alt:t,className:(0,c.cn)("rounded-md","origin-top scale-[1.5] -translate-y-[10%]"),draggable:!1}):null,(0,n.jsx)(d.q5,{className:"rounded-md","aria-label":t,children:v?(0,n.jsx)("span",{className:"text-[0.7em] font-medium",children:v}):(0,n.jsx)(s.A,{className:"size-1/2","aria-hidden":!0})})]})}},91814:(e,t,r)=>{"use strict";r.d(t,{r:()=>s});var n=r(27290),a=r(1856);function s(){let e=(0,n.r)({delay:120});return(0,a.useMemo)(()=>({...e,refresh:()=>e.refresh({showProgress:!1})}),[e])}},91846:(e,t,r)=>{"use strict";r.d(t,{bq:()=>u,eb:()=>f,gC:()=>m,l6:()=>d,yv:()=>c});var n=r(90508);r(1856);var a=r(17730),s=r(60532),o=r(89967),i=r(48218),l=r(24377);function d(e){let{...t}=e;return(0,n.jsx)(i.Root,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,n.jsx)(i.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:r="default",children:s,...o}=e;return(0,n.jsxs)(i.Trigger,{"data-slot":"select-trigger","data-size":r,className:(0,l.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o,children:[s,(0,n.jsx)(i.Icon,{asChild:!0,children:(0,n.jsx)(a.A,{className:"size-4 opacity-50"})})]})}function m(e){let{className:t,children:r,position:a="item-aligned",align:s="center",...o}=e;return(0,n.jsx)(i.Portal,{children:(0,n.jsxs)(i.Content,{"data-slot":"select-content",className:(0,l.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===a&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:a,align:s,...o,children:[(0,n.jsx)(p,{}),(0,n.jsx)(i.Viewport,{className:(0,l.cn)("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:r}),(0,n.jsx)(g,{})]})})}function f(e){let{className:t,children:r,...a}=e;return(0,n.jsxs)(i.Item,{"data-slot":"select-item",className:(0,l.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...a,children:[(0,n.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,n.jsx)(i.ItemIndicator,{children:(0,n.jsx)(s.A,{className:"size-4"})})}),(0,n.jsx)(i.ItemText,{children:r})]})}function p(e){let{className:t,...r}=e;return(0,n.jsx)(i.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...r,children:(0,n.jsx)(o.A,{className:"size-4"})})}function g(e){let{className:t,...r}=e;return(0,n.jsx)(i.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",t),...r,children:(0,n.jsx)(a.A,{className:"size-4"})})}},95126:(e,t,r)=>{"use strict";r.d(t,{D1:()=>l,Qb:()=>i,a7:()=>s,jj:()=>d});var n=r(90508),a=r(1856);let s="stream_reset",o=(0,a.createContext)(null);function i(e){let{children:t}=e,r=(0,a.useRef)(new Set),[i,l]=(0,a.useState)(0),[d,c]=(0,a.useState)(null),u=(0,a.useCallback)(e=>(r.current.add(e),()=>{r.current.delete(e)}),[]);(0,a.useEffect)(()=>{let e=null,t=()=>{e&&(e.close(),e=null)},n=()=>{t(),(e=new EventSource(!d?"/api/events":"/api/events?sessionUuid=".concat(encodeURIComponent(d)))).onopen=()=>{for(let e of(l(e=>e+1),r.current))e({type:s})},e.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch(e){return}for(let e of r.current)e(t)},e.onerror=()=>{}},a=()=>{"visible"===document.visibilityState&&(null==e||e.readyState!==EventSource.OPEN)&&n()};return n(),document.addEventListener("visibilitychange",a),()=>{t(),document.removeEventListener("visibilitychange",a)}},[d]),(0,a.useEffect)(()=>()=>{r.current.clear()},[]);let m=(0,a.useMemo)(()=>({subscribe:u,openGeneration:i,sessionUuid:d,setSessionUuid:c}),[u,i,d]);return(0,n.jsx)(o.Provider,{value:m,children:t})}function l(){let e=(0,a.useContext)(o);if(!e)throw Error("useDashboardEvents must be used within DashboardEventProvider");return e}function d(){return(0,a.useContext)(o)}},96213:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(90508),a=r(47754),s=r(30423),o=r(91385);function i(e){let{entityType:t,entityUuid:r,subEntityType:o,subEntityUuid:i,children:d,badgeInside:c}=e,{getPresence:u}=(0,a.xQ)(),m=u(t,r,o,i),f=m.length>0,p=f&&m.some(e=>"mutate"===e.action),g=f?p?m.find(e=>"mutate"===e.action):m[m.length-1]:null,x=g?(0,s.j)(g.agentName):"transparent";return(0,n.jsxs)("div",{className:"relative",style:f?{outline:"2px ".concat(p?"solid":"dashed"," ").concat(x),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[f&&(0,n.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(c?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,n.jsx)(l,{entry:e},e.agentUuid)),m.length>3&&(0,n.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",m.length-3]})]}),d]})}function l(e){let{entry:t}=e,r=(0,s.j)(t.agentName);return(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:r},children:[(0,n.jsx)(o.AgentAvatar,{name:t.agentName,size:14,className:"rounded-full"}),t.agentName]})}},97438:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>m,Es:()=>p,L3:()=>g,c7:()=>f,lG:()=>l,rr:()=>x,zM:()=>d});var n=r(90508);r(1856);var a=r(9160),s=r(71350),o=r(24377),i=r(22922);function l(e){let{...t}=e;return(0,n.jsx)(s.Root,{"data-slot":"dialog",...t})}function d(e){let{...t}=e;return(0,n.jsx)(s.Trigger,{"data-slot":"dialog-trigger",...t})}function c(e){let{...t}=e;return(0,n.jsx)(s.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...r}=e;return(0,n.jsx)(s.Overlay,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...r})}function m(e){let{className:t,overlayClassName:r,children:i,showCloseButton:l=!0,...d}=e;return(0,n.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,n.jsx)(u,{className:r}),(0,n.jsxs)(s.Content,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...d,children:[i,l&&(0,n.jsxs)(s.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,n.jsx)(a.A,{}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function f(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...r})}function p(e){let{className:t,showCloseButton:r=!1,children:a,...l}=e;return(0,n.jsxs)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...l,children:[a,r&&(0,n.jsx)(s.Close,{asChild:!0,children:(0,n.jsx)(i.$,{variant:"outline",children:"Close"})})]})}function g(e){let{className:t,...r}=e;return(0,n.jsx)(s.Title,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",t),...r})}function x(e){let{className:t,...r}=e;return(0,n.jsx)(s.Description,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...r})}},99917:(e,t,r)=>{"use strict";r.d(t,{DocumentGrid:()=>h});var n=r(90508),a=r(12790),s=r.n(a),o=r(48416),i=r(57731),l=r(56770),d=r(39268),c=r(96213),u=r(69386),m=r(38106),f=r(71921),p=r(15584),g=r(59551),x=r(75320);let v={prd:{labelKey:"documents.typePrd",color:"bg-[#E3F2FD] text-[#1976D2] dark:bg-[#13253a] dark:text-[#5AA9F0]",icon:f.A},spec:{labelKey:"documents.typeSpec",color:"bg-[#E8F5E9] text-[#5A9E6F] dark:bg-[#14281a] dark:text-[#6FD19A]",icon:p.A},design:{labelKey:"documents.typeDesign",color:"bg-[#F3E5F5] text-[#7B1FA2] dark:bg-[#281630] dark:text-[#C98FE0]",icon:g.A},note:{labelKey:"documents.typeNote",color:"bg-[#FFF3E0] text-[#E65100] dark:bg-[#3a2a12] dark:text-[#F0A050]",icon:x.A},report:{labelKey:"documents.typeReport",color:"bg-[#FFF8E1] text-[#9A6B00] dark:bg-[#332a12] dark:text-[#E0B44E]",icon:l.A},other:{labelKey:"documents.typeOther",color:"bg-[#F5F5F5] text-[#6B6B6B] dark:bg-[#1e1e20] dark:text-[#aba29a]",icon:l.A}};function h(e){let{documents:t,projectUuid:r}=e,a=(0,d.c)();return(0,n.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:t.map(e=>{let t=v[e.type],d=(null==t?void 0:t.icon)||l.A;return(0,n.jsx)(c.D,{entityType:"document",entityUuid:e.uuid,children:(0,n.jsxs)(o.Zp,{className:"group relative flex flex-col border-border transition-all hover:border-primary hover:shadow-md",children:[(0,n.jsx)(s(),{href:"/projects/".concat(r,"/documents/").concat(e.uuid),className:"flex flex-1 flex-col p-5 pb-0",children:(0,n.jsxs)("div",{className:"mb-3 flex items-start gap-3",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-secondary",children:(0,n.jsx)(d,{className:"h-5 w-5 text-muted-foreground"})}),(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("h3",{className:"font-medium text-foreground leading-snug group-hover:text-primary line-clamp-2",children:e.title}),(0,n.jsxs)("div",{className:"mt-1 flex items-center gap-2 text-xs text-[#9A9A9A]",children:[(0,n.jsxs)("span",{children:["v",e.version]}),(0,n.jsx)("span",{children:"\xb7"}),(0,n.jsx)("span",{children:a("documents.updated",{date:(0,m.r)(e.updatedAt)})})]})]})]})}),(0,n.jsxs)("div",{className:"flex items-center justify-between border-t border-secondary px-5 py-2.5",children:[(0,n.jsx)(i.E,{className:"text-[11px] ".concat((null==t?void 0:t.color)||""),children:a((null==t?void 0:t.labelKey)||"documents.typeOther")}),(0,n.jsx)("div",{onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),children:(0,n.jsx)(u.E,{documentUuid:e.uuid,variant:"compact"})})]})]})},e.uuid)})})}}},e=>{e.O(0,[87326,12079,18944,27290,12790,21932,20204,16544,94170,17099,65096,87325,39025,51603,67580,74951,65496,77358],()=>e(e.s=268)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[13280],{20308:(e,t,r)=>{Promise.resolve().then(r.bind(r,79412))},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)},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(75398),P=r(31016),U=r(24522),F=r(98073);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,87326,93151,41752,30996,57084,59764,12079,18944,27290,12790,26885,14655,21932,20204,30724,16544,94170,27201,16551,97784,14753,45532,70552,17099,15183,65096,87325,29305,31308,27370,94643,51468,72875,75936,65066,61570,74951,65496,77358],()=>e(e.s=20308)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[13280],{20308:(e,t,r)=>{Promise.resolve().then(r.bind(r,79412))},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)},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(21957),P=r(38871),U=r(24522),F=r(87163);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,87326,93151,41752,30996,57084,59764,12079,18944,27290,12790,26885,14655,21932,20204,30724,16544,94170,27201,16551,97784,14753,45532,70552,17099,15183,65096,87325,39025,29305,31308,27370,94643,99775,44216,67439,6528,22705,74951,65496,77358],()=>e(e.s=20308)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[19835],{6493:(e,s,t)=>{"use strict";t.d(s,{A:()=>r});let r=(0,t(66206).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"}]])},6841:(e,s,t)=>{"use strict";t.d(s,{A:()=>r});let r=(0,t(66206).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"}]])},11031:(e,s,t)=>{"use strict";t.d(s,{A:()=>r});let r=(0,t(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"}]])},15044:(e,s,t)=>{"use strict";t.d(s,{A:()=>r});let r=(0,t(66206).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"}]])},16159:(e,s,t)=>{"use strict";t.d(s,{DiscussionDrawer:()=>p});var r=t(90508),a=t(1856),n=t(39268);let i=(0,t(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=t(22922),d=t(57731),o=t(68923),c=t(96213),m=t(63964),x=t(99775),u=t(97092);function p(e){let{proposalUuid:s,currentUserUuid:t,commentCount:p}=e,h=(0,n.c)(),[f,g]=(0,a.useState)(p),b=(0,a.useCallback)(async()=>{try{let e=await (0,u.d)("proposal",s);if(!e.success)return;g(e.total)}catch(e){}},[s]);return(0,m.w0)("proposal",s,b),(0,r.jsx)(c.D,{entityType:"proposal",entityUuid:s,subEntityType:"comment",children:(0,r.jsxs)(o.cj,{children:[(0,r.jsx)(o.CG,{asChild:!0,children:(0,r.jsxs)(l.$,{variant:"outline",size:"sm",className:"gap-1.5 border-border text-foreground",children:[(0,r.jsx)(i,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:h("proposals.discussion")}),f>0&&(0,r.jsx)(d.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,r.jsxs)(o.h,{side:"right",className:"w-full sm:w-[420px] sm:max-w-[420px] p-0 flex flex-col",children:[(0,r.jsx)(o.Fm,{className:"border-b border-[#F0EDE8] dark:border-[#26241f] px-6 py-4",children:(0,r.jsxs)(o.qp,{className:"flex items-center gap-2 text-base",children:[(0,r.jsx)(i,{className:"h-[18px] w-[18px]"}),h("proposals.discussion"),f>0&&(0,r.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,r.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:(0,r.jsx)(x.$m,{targetType:"proposal",targetUuid:s,currentUserUuid:t,onCountChange:g})})]})]})})}},17907:(e,s,t)=>{"use strict";t.d(s,{SourceIdeasCard:()=>ei});var r=t(90508),a=t(1856),n=t(39268),i=t(29767);let l=(0,t(66206).A)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var d=t(48416),o=t(91814),c=t(95900),m=t(57893),x=t(9160),u=t(85226),p=t(60532),h=t(94903),f=t(42533),g=t(97413),b=t(57731),j=t(22922),v=t(14554),y=t(15972),N=t(88064),k=t(64993),w=t(51817),A=t(73693),C=t(91385),F=t(92691),E=t(94643),S=t(29532),D=t(99775),P=t(13525),U=t(73364),T=t(99805),R=t(11227),M=t(58827),$=t(43752),z=t(56508),B=t(86971),O=t(11844),_=t(52217);let L=(0,_.createServerReference)("6014e13f6d394a26469946846f65e3a4d3d8a9a0f2",_.callServer,void 0,_.findSourceMapURL,"skipElaborationAction");var q=t(62654),V=t(39703),I=t(67712),G=t(33775),Z=t(54449),J=t(72139),H=t(2201),K=t(21180),W=t(6930),Q=t(23216),X=t(63964),Y=t(11166),ee=t(16544),es=t(65626),et=t(38106);let er={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 en(e){var s,t,i,l,d,_;let{idea:en,projectUuid:ei,currentUserUuid:el,isUsedInProposal:ed,onClose:eo,onDeleted:ec}=e,em=(0,n.c)(),ex=(0,o.r)(),[eu,ep]=(0,a.useState)([]),[eh,ef]=(0,a.useState)(!0),[eg,eb]=(0,a.useState)(!1),[ej,ev]=(0,a.useState)(null),ey=(0,a.useCallback)(async()=>{let e=await (0,B.z)(en.uuid);e.success&&e.data&&ev(e.data)},[en.uuid]);(0,a.useEffect)(()=>{ey()},[ey]),(0,X.eV)("idea",ey);let[eN,ek]=(0,a.useState)([]),[ew,eA]=(0,a.useState)([]),eC=(0,a.useCallback)(async()=>{if("elaborated"!==en.status){ek([]),eA([]);return}try{let e=await (0,q.U)(ei,en.uuid);if(!e.success||!e.data)return;ek(e.data.map(e=>({status:e.status})));let s=e.data.filter(e=>"approved"===e.status),t=await Promise.all(s.map(e=>(0,V.c)(ei,e.uuid)));eA(t.flatMap(e=>e.success&&e.data?e.data.map(e=>({status:e.status})):[]))}catch(e){I.q.error("Failed to load start-development gating data:",e)}},[en.uuid,en.status,ei]);(0,a.useEffect)(()=>{eC()},[eC]),(0,X.eV)("proposal",eC),(0,X.eV)("task",eC);let[eF,eE]=(0,a.useState)(!1),[eS,eD]=(0,a.useState)(""),[eP,eU]=(0,a.useState)(!1),[eT,eR]=(0,a.useState)(null),[eM,e$]=(0,a.useState)(!1),[ez,eB]=(0,a.useState)(null),[eO,e_]=(0,a.useState)(!1),{start:eL,pickerState:eq,confirmPick:eV,cancelPick:eI,isResolving:eG,fixedTarget:eZ}=(0,H.E)({reassignNoWake:Q.U,previewIdeaUuid:en.uuid}),[eJ,eH]=(0,a.useState)(!1),[eK,eW]=(0,a.useState)(en.title),[eQ,eX]=(0,a.useState)(en.content||""),[eY,e0]=(0,a.useState)(!1),[e1,e2]=(0,a.useState)(null),[e5,e4]=(0,a.useState)(!1),[e3,e6]=(0,a.useState)(!1),[e9,e8]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e=setTimeout(()=>e8(!0),300);return()=>clearTimeout(e)},[]);let e7=(0,Y.o)({ideaStatus:en.status,elaborationStatus:en.elaborationStatus,elaboration:ej}),se="elaborating"===en.status&&(!en.elaborationStatus||"resolved"!==en.elaborationStatus)&&(0,S.RU)(null!=(l=en.assignee)?l:null,{type:"user",uuid:el}),ss="elaborated"!==en.status;(0,a.useEffect)(()=>{!async function(){ef(!0),ep((await (0,P.x)(en.uuid)).activities),ef(!1)}()},[en.uuid]),(0,a.useEffect)(()=>{eH(!1),eW(en.title),eX(en.content||""),e2(null)},[en.uuid,en.title,en.content]);let st=()=>{eH(!1),eW(en.title),eX(en.content||""),e2(null)},sr=async()=>{if(!eK.trim())return void e2(em("ideas.titleRequired"));e0(!0),e2(null);let e=await (0,U.J)({ideaUuid:en.uuid,projectUuid:ei,title:eK.trim(),content:eQ.trim()||null});e0(!1),e.success?(eH(!1),ex.refresh()):e2(e.error||em("ideas.updateFailed"))},sa=async()=>{e4(!0);let e=await (0,T.Z)(en.uuid,ei);e4(!1),e.success&&(null==ec||ec(),eo(),ex.refresh())},sn=async()=>{e$(!0),eB(null);let e=await (0,O.e)(en.uuid);e$(!1),e.success?(e_(!0),ex.refresh()):eB(e.error||em("elaboration.verifyFailed"))},si=async()=>{if(!eS.trim())return void eR(em("elaboration.skipReasonRequired"));eU(!0),eR(null);let e=await L(en.uuid,eS.trim());eU(!1),e.success?(eE(!1),eD(""),ex.refresh()):eR(e.error||em("common.genericError"))};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:eo}),(0,r.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(e9?"":"animate-in slide-in-from-right duration-300"),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-secondary px-6 py-5",children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:eJ?(0,r.jsx)("h2",{className:"text-base font-semibold text-foreground",children:em("ideas.editIdea")}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h2",{className:"text-base font-semibold text-foreground truncate",children:en.title}),(0,r.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,r.jsx)(b.E,{className:er[en.status]||"",children:em("status.".concat(ea[en.status]||en.status))}),(0,r.jsx)("span",{className:"text-xs text-[#9A9A9A]",children:(0,et.r)(en.createdAt)})]})]})}),(0,r.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[!eJ&&(0,r.jsx)(j.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:()=>e6(!0),title:em("ideas.actions.move"),"aria-label":em("ideas.actions.move"),children:(0,r.jsx)(c.A,{className:"h-4 w-4 text-muted-foreground"})}),ss&&!eJ&&(0,r.jsx)(j.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:()=>{eW(en.title),eX(en.content||""),e2(null),eH(!0)},children:(0,r.jsx)(m.A,{className:"h-4 w-4 text-muted-foreground"})}),(0,r.jsx)(j.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:eJ?st:eo,children:(0,r.jsx)(x.A,{className:"h-4 w-4 text-muted-foreground"})})]})]}),(0,r.jsx)(k.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,r.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:eJ?(0,r.jsxs)("div",{className:"space-y-5",children:[e1&&(0,r.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:e1}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(N.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-foreground",children:em("ideas.titleLabel")}),(0,r.jsx)(v.p,{id:"edit-title",value:eK,onChange:e=>eW(e.target.value),className:"border-border text-sm focus-visible:ring-primary",autoFocus:!0})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(N.J,{htmlFor:"edit-content",className:"text-[13px] font-medium text-foreground",children:em("common.content")}),(0,r.jsx)(y.T,{id:"edit-content",value:eQ,onChange:e=>eX(e.target.value),rows:8,className:"border-border text-sm resize-none focus-visible:ring-primary"})]})]}):(0,r.jsxs)(ee.P.div,{variants:es.qG,initial:"initial",animate:"animate",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:em("common.assignee")}),(0,r.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-background p-3",children:en.assignee?(0,r.jsxs)(r.Fragment,{children:[(0,S.bB)(en.assignee)?(0,r.jsx)(C.AgentAvatar,{name:en.assignee.name,size:28,className:"rounded-full"}):(0,r.jsx)(A.eu,{className:"h-7 w-7",children:(0,r.jsx)(A.q5,{className:"bg-border text-muted-foreground",children:en.assignee.name.charAt(0).toUpperCase()})}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-sm font-medium text-foreground",children:en.assignee.name}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:(0,S.bB)(en.assignee)?"".concat(em("common.agent")," • ").concat(en.assignee.assignedAt?(0,et.r)(en.assignee.assignedAt):""):em("common.user")}),"agent_instance"===en.assignee.type&&en.assignee.instance&&(0,r.jsx)("div",{className:"mt-1",children:(0,r.jsx)(E.jQ,{cwd:en.assignee.instance.cwd,host:en.assignee.instance.host})})]})]}):(0,r.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:em("common.unassigned")})})]}),ej&&ej.rounds.length>0&&(0,r.jsx)("div",{className:"mt-5",children:(0,r.jsx)(z.R,{ideaUuid:en.uuid,elaboration:ej,onRefresh:async()=>{let e=await (0,B.z)(en.uuid);e.success&&e.data&&ev(e.data)}})}),(0,r.jsxs)("div",{className:"mt-5",children:[(0,r.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:em("common.content")}),(0,r.jsx)("div",{className:"mt-2",children:en.content?(0,r.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-foreground",children:(0,r.jsx)(R.MarkdownContent,{children:en.content})}):(0,r.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:em("common.noContent")})})]}),(0,r.jsxs)("div",{className:"mt-5 flex-1",children:[(0,r.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:em("common.activity")}),(0,r.jsx)("div",{className:"mt-2 space-y-3",children:eh?(0,r.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,r.jsx)(u.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===eu.length?(0,r.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:em("common.noActivity")}):eu.map(e=>(0,r.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,r.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded-full bg-[#9A9A9A]"}),(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)("p",{className:"text-[13px] text-foreground",children:function(e,s){let{action:t,actorName:r}=e;switch(t){case"created":case"idea_created":return s("activity.ideaCreated",{actor:r});case"assigned":case"idea_assigned":return s("activity.ideaAssigned",{actor:r});case"claimed":case"idea_claimed":return s("activity.ideaClaimed",{actor:r});case"released":case"idea_released":return s("activity.ideaReleased",{actor:r});case"status_changed":case"idea_status_changed":return s("activity.ideaStatusChanged",{actor:r});case"edited":case"idea_edited":return s("activity.ideaEdited",{actor:r});case"reparented":case"idea_reparented":return s("activity.ideaReparented",{actor:r});case"elaboration_started":return s("activity.elaborationStarted",{actor:r});case"elaboration_answered":return s("activity.elaborationAnswered",{actor:r});case"elaboration_skipped":return s("activity.elaborationSkipped",{actor:r});case"elaboration_resolved":return s("activity.elaborationResolved",{actor:r});case"elaboration_followup":return s("activity.elaborationFollowup",{actor:r});default:return"".concat(r,": ").concat(t)}}(e,em)}),(0,r.jsx)("p",{className:"text-[11px] text-[#9A9A9A]",children:function(e,s){let t=new Date(e),r=new Date().getTime()-t.getTime(),a=Math.floor(r/6e4),n=Math.floor(r/36e5),i=Math.floor(r/864e5);return a<1?s("time.justNow"):a<60?s("time.minutesAgo",{minutes:a}):n<24?s("time.hoursAgo",{hours:n}):i<7?s("time.daysAgo",{days:i}):(0,et.r)(t)}(e.createdAt,em)})]})]},e.uuid))})]}),(0,r.jsxs)("div",{className:"mt-5",children:[(0,r.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:em("references.title")}),(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsx)(J.ReferencesSection,{targetType:"idea",targetUuid:en.uuid,canWrite:!0,compact:!0})})]}),(0,r.jsxs)("div",{className:"mt-5",children:[(0,r.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wider text-[#9A9A9A]",children:em("comments.title")}),(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsx)(D.$m,{targetType:"idea",targetUuid:en.uuid,currentUserUuid:el,compact:!0})})]})]})})}),(0,r.jsx)("div",{className:"border-t border-secondary px-6 py-4",children:(0,r.jsx)("div",{className:"flex items-center justify-between gap-3",children:eJ?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(j.$,{variant:"outline",className:"border-border",onClick:st,disabled:eY,children:em("common.cancel")}),(0,r.jsx)(j.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:sr,disabled:eY||!eK.trim(),children:eY?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.A,{className:"mr-2 h-4 w-4 animate-spin"}),em("common.saving")]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p.A,{className:"mr-2 h-4 w-4"}),em("ideas.saveChanges")]})})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(F.Bc,{delayDuration:300,children:(0,r.jsxs)(F.m_,{children:[(0,r.jsx)(F.k$,{asChild:!0,children:(0,r.jsx)(j.$,{variant:"outline",size:"icon",className:"shrink-0 h-8 w-8 border-border",onClick:()=>eb(!0),"aria-label":en.assignee?em("common.reassign"):em("common.assign"),children:(0,r.jsx)(h.A,{className:"h-4 w-4"})})}),(0,r.jsx)(F.ZI,{children:en.assignee?em("common.reassign"):em("common.assign")})]})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0 flex flex-wrap items-center gap-2",children:[se&&(0,r.jsx)(j.$,{variant:"outline",size:"sm",className:"border-border",onClick:()=>{eD(""),eR(null),eE(!0)},children:em("elaboration.skipButton")}),eZ&&(0,r.jsx)(W.Y,{target:eZ}),e7&&!eO&&(0,r.jsx)(j.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:()=>{eL({ideaUuid:en.uuid,wake:sn})},disabled:eM||eG,children:eM?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.A,{className:"mr-2 h-4 w-4 animate-spin"}),em("elaboration.verifying")]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(f.A,{className:"mr-2 h-4 w-4"}),em("elaboration.verifyButton")]})}),eO&&(0,r.jsx)("span",{className:"text-[11px] text-[#00796B] dark:text-[#4FD1C0]",children:em("elaboration.verifiedQueuedHint")}),ez&&(0,r.jsx)("span",{className:"text-[11px] text-destructive",children:ez}),(0,r.jsx)(G.w,{ideaUuid:en.uuid,assignee:en.assignee,assigneeName:null==(s=en.assignee)?void 0:s.name,proposals:eN,tasks:ew,onStarted:()=>{ex.refresh()}}),(0,r.jsx)(Z.s,{ideaUuid:en.uuid,assignee:en.assignee,assigneeName:null==(t=en.assignee)?void 0:t.name,proposals:eN,tasks:ew,onStarted:()=>{ex.refresh()}})]}),(0,r.jsxs)(w.Lt,{children:[(0,r.jsx)(w.tv,{asChild:!0,children:(0,r.jsx)(j.$,{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,r.jsx)(g.A,{className:"h-4 w-4"})})}),(0,r.jsxs)(w.EO,{children:[(0,r.jsxs)(w.wd,{children:[(0,r.jsx)(w.r7,{children:em("ideas.deleteIdea")}),(0,r.jsx)(w.$v,{children:em("ideas.deleteIdeaConfirm",{title:en.title})})]}),(0,r.jsxs)(w.ck,{children:[(0,r.jsx)(w.Zr,{children:em("common.cancel")}),(0,r.jsx)(w.Rx,{variant:"destructive",onClick:sa,disabled:e5,children:e5?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.A,{className:"mr-2 h-4 w-4 animate-spin"}),em("common.delete")]}):em("common.delete")})]})]})]})]})})})]}),(0,r.jsx)(w.Lt,{open:eF,onOpenChange:eE,children:(0,r.jsxs)(w.EO,{children:[(0,r.jsxs)(w.wd,{children:[(0,r.jsx)(w.r7,{children:em("elaboration.skipConfirmTitle")}),(0,r.jsx)(w.$v,{children:em("elaboration.skipConfirmDescription")})]}),(0,r.jsxs)("div",{className:"space-y-2 py-2",children:[(0,r.jsx)(N.J,{htmlFor:"skip-reason",className:"text-[13px] font-medium text-foreground",children:em("elaboration.skipReasonLabel")}),(0,r.jsx)(v.p,{id:"skip-reason",value:eS,onChange:e=>{eD(e.target.value),eT&&eR(null)},placeholder:em("elaboration.skipReasonPlaceholder"),className:"border-border text-sm focus-visible:ring-primary",autoFocus:!0}),eT&&(0,r.jsx)("p",{className:"text-xs text-destructive",children:eT})]}),(0,r.jsxs)(w.ck,{children:[(0,r.jsx)(w.Zr,{disabled:eP,children:em("common.cancel")}),(0,r.jsx)(w.Rx,{onClick:e=>{e.preventDefault(),si()},disabled:eP||!eS.trim(),className:"bg-primary hover:bg-[#B56A42] text-white",children:eP?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.A,{className:"mr-2 h-4 w-4 animate-spin"}),em("common.processing")]}):em("elaboration.skipButton")})]})]})}),(0,r.jsx)($.h,{open:e3,onOpenChange:e6,ideaUuid:en.uuid,projectUuid:ei,onMoved:()=>{eo()}}),eg&&(0,r.jsx)(M.i,{idea:{uuid:en.uuid,title:en.title,content:en.content,status:en.status,assignee:en.assignee?{type:en.assignee.type,uuid:en.assignee.uuid,name:en.assignee.name}:null},projectUuid:ei,currentUserUuid:el,onClose:()=>{eb(!1),eo()}}),(0,r.jsx)(K.V,{open:null!==eq,agentName:null!=(d=null==(i=en.assignee)?void 0:i.name)?d:"",instances:null!=(_=null==eq?void 0:eq.instances)?_:[],onConfirm:eV,onCancel:eI})]})}function ei(e){let{ideas:s,projectUuid:t,currentUserUuid:o}=e,c=(0,n.c)("proposals"),[m,x]=(0,a.useState)(null);return 0===s.length?null:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(d.Zp,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[(0,r.jsx)(d.aR,{className:"border-b border-secondary px-5 py-4",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(i.A,{className:"h-4 w-4 text-primary"}),(0,r.jsx)(d.ZB,{className:"text-[13px] font-semibold text-foreground",children:c("sourceIdeas")})]})}),(0,r.jsx)(d.Wu,{className:"space-y-2 px-5 py-3",children:s.map(e=>(0,r.jsxs)("button",{onClick:()=>x(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,r.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-primary"}),(0,r.jsx)("span",{className:"flex-1 truncate text-xs font-medium text-primary",children:e.title}),(0,r.jsx)(l,{className:"h-3 w-3 shrink-0 text-[#9A9A9A]"})]},e.uuid))})]}),m&&(0,r.jsx)(en,{idea:m,projectUuid:t,currentUserUuid:o,isUsedInProposal:!0,onClose:()=>x(null)})]})}},28874:(e,s,t)=>{"use strict";t.d(s,{ProposalValidationChecklist:()=>b});var r=t(90508),a=t(1856),n=t(39268),i=t(1861),l=t(17475),d=t(30028),o=t(11031),c=t(42533),m=t(89967),x=t(17730),u=t(48416),p=t(57731),h=t(57223);let f={error:i.A,warning:l.A,info:d.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:s,proposalUuid:t,status:d}=e,b=(0,n.c)("proposalValidation"),[j,v]=(0,a.useState)(null),[y,N]=(0,a.useState)(!0),[k,w]=(0,a.useState)(null),[A,C]=(0,a.useState)(!1);if((0,a.useEffect)(()=>{if("draft"!==d)return;let e=!1;return async function(){try{N(!0),w(null);let r=await fetch("/api/projects/".concat(s,"/proposals/").concat(t,"/validate"));if(!r.ok)throw Error("HTTP ".concat(r.status));let a=await r.json();e||v(a.data)}catch(s){e||w(s instanceof Error?s.message:"Unknown error")}finally{e||N(!1)}}(),()=>{e=!0}},[s,t,d]),"draft"!==d)return null;if(y)return(0,r.jsx)(u.Zp,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] shadow-none rounded-2xl gap-0 py-0",children:(0,r.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)(o.A,{className:"h-4 w-4 text-primary"}),(0,r.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:b("title")})]}),(0,r.jsx)(h.E,{className:"h-5 w-20"})]})});if(k)return(0,r.jsx)(u.Zp,{className:"border-red-200 shadow-none rounded-2xl gap-0 py-0",children:(0,r.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)(o.A,{className:"h-4 w-4 text-primary"}),(0,r.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:b("title")})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-red-600",children:[(0,r.jsx)(i.A,{className:"h-3.5 w-3.5"}),(0,r.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,r.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,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)(o.A,{className:"h-4 w-4 text-primary"}),(0,r.jsx)("span",{className:"text-[13px] font-semibold text-foreground",children:b("title")})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[j.valid?(0,r.jsxs)(p.E,{className:"border-0 bg-green-100 text-green-700 text-[11px] font-medium",children:[(0,r.jsx)(c.A,{className:"mr-1 h-3 w-3"}),b("passed")]}):(0,r.jsxs)(r.Fragment,{children:[S>0&&(0,r.jsxs)(p.E,{className:"border-0 bg-red-100 text-red-700 text-[11px] font-medium",children:[(0,r.jsx)(i.A,{className:"mr-1 h-3 w-3"}),b("errorCount",{count:S})]}),D>0&&(0,r.jsxs)(p.E,{className:"border-0 bg-amber-100 text-amber-700 text-[11px] font-medium",children:[(0,r.jsx)(l.A,{className:"mr-1 h-3 w-3"}),b("warningCount",{count:D})]})]}),A?(0,r.jsx)(m.A,{className:"h-4 w-4 text-muted-foreground"}):(0,r.jsx)(x.A,{className:"h-4 w-4 text-muted-foreground"})]})]});return(0,r.jsxs)(u.Zp,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[P,A&&(0,r.jsx)(u.Wu,{className:"px-4 pb-4 pt-0",children:0===E.length?(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-green-600 px-1 py-2",children:[(0,r.jsx)(c.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:b("passed")})]}):(0,r.jsx)("div",{className:"space-y-2",children:E.map((e,s)=>{let t=f[e.level],a=g[e.level];return(0,r.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg px-3 py-2.5 ".concat(a.bg),children:[(0,r.jsx)(t,{className:"h-3.5 w-3.5 shrink-0 ".concat(a.icon)}),(0,r.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,r.jsx)(p.E,{className:"shrink-0 border-0 text-[10px] font-medium ".concat(a.badge),children:b(e.level)})]},"".concat(e.id,"-").concat(s))})})})]})}},53783:(e,s,t)=>{Promise.resolve().then(t.bind(t,52053)),Promise.resolve().then(t.bind(t,90299)),Promise.resolve().then(t.bind(t,65514)),Promise.resolve().then(t.bind(t,98861)),Promise.resolve().then(t.bind(t,38476)),Promise.resolve().then(t.bind(t,74542)),Promise.resolve().then(t.bind(t,71350)),Promise.resolve().then(t.bind(t,39025)),Promise.resolve().then(t.bind(t,75368)),Promise.resolve().then(t.bind(t,89684)),Promise.resolve().then(t.bind(t,58057)),Promise.resolve().then(t.bind(t,6512)),Promise.resolve().then(t.bind(t,25051)),Promise.resolve().then(t.bind(t,4374)),Promise.resolve().then(t.bind(t,19345)),Promise.resolve().then(t.bind(t,2300)),Promise.resolve().then(t.bind(t,17533)),Promise.resolve().then(t.bind(t,99545)),Promise.resolve().then(t.bind(t,63197)),Promise.resolve().then(t.bind(t,65326)),Promise.resolve().then(t.bind(t,48218)),Promise.resolve().then(t.bind(t,56260)),Promise.resolve().then(t.bind(t,60322)),Promise.resolve().then(t.bind(t,79834)),Promise.resolve().then(t.bind(t,6947)),Promise.resolve().then(t.bind(t,88878)),Promise.resolve().then(t.bind(t,34857)),Promise.resolve().then(t.bind(t,97006)),Promise.resolve().then(t.bind(t,45841)),Promise.resolve().then(t.t.bind(t,12790,23)),Promise.resolve().then(t.bind(t,16159)),Promise.resolve().then(t.bind(t,59489)),Promise.resolve().then(t.bind(t,71018)),Promise.resolve().then(t.bind(t,28874)),Promise.resolve().then(t.bind(t,17907)),Promise.resolve().then(t.bind(t,76546)),Promise.resolve().then(t.bind(t,11227)),Promise.resolve().then(t.bind(t,72139)),Promise.resolve().then(t.bind(t,91385)),Promise.resolve().then(t.bind(t,84247))},59489:(e,s,t)=>{"use strict";t.d(s,{ProposalActions:()=>E});var r=t(90508),a=t(91814),n=t(1856),i=t(39268),l=t(90031),d=t(95886),o=t(60532),c=t(9160),m=t(66206);let x=(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"}]]),u=(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=t(97413),h=t(32470),f=t(56770),g=t(22922),b=t(66343),j=t(97438),v=t(15972),y=t(52217);let N=(0,y.createServerReference)("404beb913caa5edbdfae5c3d904f03a416bae01fb1",y.callServer,void 0,y.findSourceMapURL,"submitProposalAction"),k=(0,y.createServerReference)("60bc8974845bb9ae2c1dd38c85dba0f25af13626ca",y.callServer,void 0,y.findSourceMapURL,"approveProposalAction"),w=(0,y.createServerReference)("60d8e9d261088e802efdd7effc1d0ceb8ac823a144",y.callServer,void 0,y.findSourceMapURL,"rejectProposalAction"),A=(0,y.createServerReference)("6077db09cabad3fab024d297f2fc241a2238b5372a",y.callServer,void 0,y.findSourceMapURL,"closeProposalAction"),C=(0,y.createServerReference)("600df52281c1c339f2a46ca5d2f9977d5cb393e575",y.callServer,void 0,y.findSourceMapURL,"revokeProposalAction"),F=(0,y.createServerReference)("606275e3ac22fa48a9e3ece60ef8712ea8303eec85",y.callServer,void 0,y.findSourceMapURL,"deleteProposalAction");function E(e){let{proposalUuid:s,projectUuid:t,status:m,materializedEntities:y}=e,E=(0,i.c)(),S=(0,a.r)(),[D,P]=(0,n.useTransition)(),[U,T]=(0,n.useState)(!1),[R,M]=(0,n.useState)(""),[$,z]=(0,n.useState)(!1),[B,O]=(0,n.useState)(""),[_,L]=(0,n.useState)(!1),[q,V]=(0,n.useState)(""),[I,G]=(0,n.useState)(!1),[Z,J]=(0,n.useState)(""),[H,K]=(0,n.useState)(!1),[W,Q]=(0,n.useState)(!1);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(b.rI,{children:[(0,r.jsx)(b.ty,{asChild:!0,children:(0,r.jsxs)(g.$,{variant:"outline",className:"border-border text-foreground gap-1.5",disabled:D,children:[(0,r.jsx)(l.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:E("common.actions")})]})}),(0,r.jsxs)(b.SQ,{align:"end",className:"w-48",children:["draft"===m&&(0,r.jsxs)(b._2,{onClick:()=>K(!0),children:[(0,r.jsx)(d.A,{className:"h-4 w-4"}),E("proposals.submitForReview")]}),"pending"===m&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(b._2,{onClick:()=>T(!0),children:[(0,r.jsx)(o.A,{className:"h-4 w-4 text-[#5A9E6F] dark:text-[#6FD19A]"}),E("common.approve")]}),(0,r.jsxs)(b._2,{onClick:()=>z(!0),children:[(0,r.jsx)(c.A,{className:"h-4 w-4 text-[#D32F2F] dark:text-[#F08078]"}),E("common.reject")]}),(0,r.jsxs)(b._2,{onClick:()=>L(!0),children:[(0,r.jsx)(x,{className:"h-4 w-4"}),E("proposals.closeProposal")]})]}),"approved"===m&&(0,r.jsxs)(b._2,{onClick:()=>G(!0),children:[(0,r.jsx)(u,{className:"h-4 w-4"}),E("proposals.revokeProposal")]}),("draft"===m||"pending"===m||"approved"===m)&&(0,r.jsx)(b.mB,{}),(0,r.jsxs)(b._2,{variant:"destructive",onClick:()=>Q(!0),children:[(0,r.jsx)(p.A,{className:"h-4 w-4"}),E("proposals.deleteProposal")]})]})]}),(0,r.jsx)(j.lG,{open:H,onOpenChange:K,children:(0,r.jsxs)(j.Cf,{className:"sm:max-w-md",children:[(0,r.jsxs)(j.c7,{children:[(0,r.jsx)(j.L3,{children:E("proposals.confirmSubmit")}),(0,r.jsx)(j.rr,{children:E("proposals.confirmSubmitDesc")})]}),(0,r.jsxs)(j.Es,{className:"gap-2",children:[(0,r.jsx)(g.$,{variant:"outline",onClick:()=>K(!1),className:"border-border text-muted-foreground",children:E("common.cancel")}),(0,r.jsx)(g.$,{onClick:()=>{P(async()=>{(await N(s)).success&&(K(!1),S.refresh())})},disabled:D,className:"bg-primary hover:bg-[#B56A42] text-white",children:E(D?"common.processing":"proposals.submitForReview")})]})]})}),(0,r.jsx)(j.lG,{open:U,onOpenChange:T,children:(0,r.jsxs)(j.Cf,{className:"sm:max-w-md",children:[(0,r.jsxs)(j.c7,{children:[(0,r.jsx)(j.L3,{children:E("proposals.approveProposal")}),(0,r.jsx)(j.rr,{children:E("proposals.approveProposalDesc")})]}),(0,r.jsx)(v.T,{value:R,onChange:e=>M(e.target.value),placeholder:E("proposals.approveNotePlaceholder"),className:"min-h-[100px] border-border"}),(0,r.jsxs)(j.Es,{className:"gap-2",children:[(0,r.jsx)(g.$,{variant:"outline",onClick:()=>T(!1),className:"border-border text-muted-foreground",children:E("common.cancel")}),(0,r.jsx)(g.$,{onClick:()=>{var e;e=R.trim()||void 0,P(async()=>{(await k(s,e)).success&&(T(!1),M(""),S.refresh())})},disabled:D,className:"bg-[#5A9E6F] hover:bg-[#4A8E5F] text-white",children:E(D?"common.processing":"common.approve")})]})]})}),(0,r.jsx)(j.lG,{open:$,onOpenChange:z,children:(0,r.jsxs)(j.Cf,{className:"sm:max-w-md",children:[(0,r.jsxs)(j.c7,{children:[(0,r.jsx)(j.L3,{children:E("proposals.rejectProposal")}),(0,r.jsx)(j.rr,{children:E("proposals.rejectProposalDesc")})]}),(0,r.jsx)(v.T,{value:B,onChange:e=>O(e.target.value),placeholder:E("proposals.rejectReasonPlaceholder"),className:"min-h-[100px] border-border"}),(0,r.jsxs)(j.Es,{className:"gap-2",children:[(0,r.jsx)(g.$,{variant:"outline",onClick:()=>z(!1),className:"border-border text-muted-foreground",children:E("common.cancel")}),(0,r.jsx)(g.$,{onClick:()=>{P(async()=>{(await w(s,B)).success&&(z(!1),O(""),S.refresh())})},disabled:D||!B.trim(),className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:E(D?"common.processing":"common.reject")})]})]})}),(0,r.jsx)(j.lG,{open:_,onOpenChange:L,children:(0,r.jsxs)(j.Cf,{className:"sm:max-w-md",children:[(0,r.jsxs)(j.c7,{children:[(0,r.jsx)(j.L3,{children:E("proposals.closeProposal")}),(0,r.jsx)(j.rr,{children:E("proposals.closeProposalDesc")})]}),(0,r.jsx)(v.T,{value:q,onChange:e=>V(e.target.value),placeholder:E("proposals.closeReasonPlaceholder"),className:"min-h-[100px] border-border"}),(0,r.jsxs)(j.Es,{className:"gap-2",children:[(0,r.jsx)(g.$,{variant:"outline",onClick:()=>L(!1),className:"border-border text-muted-foreground",children:E("common.cancel")}),(0,r.jsx)(g.$,{onClick:()=>{P(async()=>{(await A(s,q)).success&&(L(!1),V(""),S.refresh())})},disabled:D||!q.trim(),className:"bg-muted-foreground hover:bg-[#555555] text-white",children:E(D?"common.processing":"proposals.closeProposal")})]})]})}),(0,r.jsx)(j.lG,{open:I,onOpenChange:G,children:(0,r.jsxs)(j.Cf,{className:"sm:max-w-lg",children:[(0,r.jsxs)(j.c7,{children:[(0,r.jsx)(j.L3,{children:E("proposals.revokeProposal")}),(0,r.jsx)(j.rr,{children:E("proposals.revokeProposalDesc")})]}),y&&(y.tasks.length>0||y.documents.length>0)&&(0,r.jsxs)("div",{className:"space-y-3 rounded-lg border border-[#FFCDD2] dark:border-[#3a181c] bg-[#FFF5F5] dark:bg-[#33191b] p-3",children:[y.tasks.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-semibold text-[#D32F2F] dark:text-[#F08078] mb-1.5",children:[(0,r.jsx)(h.A,{className:"h-3.5 w-3.5"}),E("proposals.revokeTasksToClose",{count:y.tasks.length})]}),(0,r.jsx)("ul",{className:"space-y-1 pl-5",children:y.tasks.map(e=>(0,r.jsxs)("li",{className:"text-xs text-muted-foreground",children:[e.title,(0,r.jsxs)("span",{className:"ml-1.5 text-[10px] text-muted-foreground",children:["(",e.status,")"]})]},e.uuid))})]}),y.documents.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-semibold text-[#D32F2F] dark:text-[#F08078] mb-1.5",children:[(0,r.jsx)(f.A,{className:"h-3.5 w-3.5"}),E("proposals.revokeDocsToDelete",{count:y.documents.length})]}),(0,r.jsx)("ul",{className:"space-y-1 pl-5",children:y.documents.map(e=>(0,r.jsx)("li",{className:"text-xs text-muted-foreground",children:e.title},e.uuid))})]})]}),(0,r.jsx)(v.T,{value:Z,onChange:e=>J(e.target.value),placeholder:E("proposals.revokeReasonPlaceholder"),className:"min-h-[100px] border-border"}),(0,r.jsxs)(j.Es,{className:"gap-2",children:[(0,r.jsx)(g.$,{variant:"outline",onClick:()=>G(!1),className:"border-border text-muted-foreground",children:E("common.cancel")}),(0,r.jsx)(g.$,{onClick:()=>{P(async()=>{(await C(s,Z.trim()||void 0)).success&&(G(!1),J(""),S.refresh())})},disabled:D,className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:E(D?"common.processing":"proposals.revokeProposal")})]})]})}),(0,r.jsx)(j.lG,{open:W,onOpenChange:Q,children:(0,r.jsxs)(j.Cf,{className:"sm:max-w-md",children:[(0,r.jsxs)(j.c7,{children:[(0,r.jsx)(j.L3,{children:E("proposals.deleteProposal")}),(0,r.jsx)(j.rr,{children:E("proposals.deleteProposalDesc")})]}),(0,r.jsxs)(j.Es,{className:"gap-2",children:[(0,r.jsx)(g.$,{variant:"outline",onClick:()=>Q(!1),className:"border-border text-muted-foreground",children:E("common.cancel")}),(0,r.jsx)(g.$,{onClick:()=>{P(async()=>{(await F(s,t)).success&&(Q(!1),S.push("/projects/".concat(t,"/proposals")),S.refresh())})},disabled:D,className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:E(D?"common.processing":"common.delete")})]})]})})]})}},69386:(e,s,t)=>{"use strict";t.d(s,{E:()=>h});var r=t(90508),a=t(1856),n=t(67587),i=t(56770),l=t(6841),d=t(6493),o=t(85226),c=t(15044),m=t(39268),x=t(66343),u=t(22922),p=t(67712);function h(e){let{document:s,documentUuid:h,variant:f="default"}=e,g=(0,m.c)(),{exportDocument:b,isExporting:j,exportError:v}=function(){let[e,s]=(0,a.useState)(!1),[r,n]=(0,a.useState)(null);return{exportDocument:(0,a.useCallback)(async(e,r)=>{s(!0),n(null);try{let s,n,l=function(e){let s=e.replace(/[\\/:*?"<>|]/g,"").replace(/\s+/g," ").trim().replace(/\s/g,"-");return s.length>0?s:"document"}(e.title);if("md"===r){let{exportAsMarkdownBlob:r}=await t.e(50681).then(t.bind(t,50681));s=r(e),n="md"}else if("pdf"===r){let{exportAsPdf:r}=await t.e(34966).then(t.bind(t,34966));s=await r(e),n="pdf"}else if("docx"===r){let{exportAsDocx:r}=await t.e(9634).then(t.bind(t,9634));s=await r(e),n="docx"}else throw Error("Unsupported export format: ".concat(String(r)));var a=s,i="".concat(l,".").concat(n);let d=URL.createObjectURL(a),o=document.createElement("a");o.href=d,o.download=i,o.rel="noopener",o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o),setTimeout(()=>URL.revokeObjectURL(d),1e3)}catch(e){n(e instanceof Error?e.message:String(e)),p.q.error("useDocumentExport export failed",e)}finally{s(!1)}},[]),isExporting:e,exportError:r}}(),[y,N]=(0,a.useState)(null);async function k(e){N(e);try{let d=s;if(!d&&h){var t,r,a,i,l;let e=await fetch("/api/documents/".concat(h)),s=await e.json();if(!s.success||!s.data)return void n.oR.error(g("export.exportError"));let o=s.data;d={title:o.title,content:null!=(a=o.content)?a:"",type:o.type,version:o.version,createdAt:o.createdAt,updatedAt:o.updatedAt,createdByName:null!=(i=null==(t=o.createdBy)?void 0:t.name)?i:"",projectName:null!=(l=null==(r=o.project)?void 0:r.name)?l:""}}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:l.A},{format:"docx",labelKey:"export.formatDocx",icon:d.A}],A="compact"===f;return(0,r.jsxs)(x.rI,{children:[(0,r.jsx)(x.ty,{asChild:!0,children:(0,r.jsxs)(u.$,{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,r.jsx)(o.A,{className:"".concat(A?"h-3 w-3":"h-4 w-4"," animate-spin")}):(0,r.jsx)(c.A,{className:A?"h-3 w-3":"h-4 w-4"}),!A&&g("export.exportDocument")]})}),(0,r.jsx)(x.SQ,{align:"end",className:"w-48",children:w.map(e=>{let{format:s,labelKey:t,icon:a}=e;return(0,r.jsxs)(x._2,{onClick:e=>{e.stopPropagation(),e.preventDefault(),k(s)},disabled:j,children:[y===s?(0,r.jsx)(o.A,{className:"h-4 w-4 animate-spin"}):(0,r.jsx)(a,{className:"h-4 w-4"}),g(t)]},s)})})]})}},71018:(e,s,t)=>{"use strict";t.d(s,{ProposalEditor:()=>em});var r=t(90508),a=t(1856),n=t(91814),i=t(39268),l=t(26145),d=t(75380);t(33805);var o=t(10196),c=t.n(o),m=t(56770),x=t(66206);let u=(0,x.A)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);var p=t(75320);let h=(0,x.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,x.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=t(5616),b=t(17730),j=t(78948);let v=(0,x.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"}]]);var y=t(4459),N=t(11031),k=t(76111),w=t(47754),A=t(49914),C=t(96213),F=t(63964);function E(e,s){let t=new Set(e.map(e=>e.uuid));return s.filter(e=>!t.has(e.uuid)).map(e=>e.uuid)}function S(e,s){let t=new Set(s.map(e=>e.uuid));return e.filter(e=>!t.has(e.uuid)).map(e=>e.uuid)}var D=t(69386),P=t(52217);let U=(0,P.createServerReference)("4019f84f700b5c18fde2b508aa00aed1e49744bc7b",P.callServer,void 0,P.findSourceMapURL,"getProposalDraftsAction");var T=t(48416),R=t(22922),M=t(57731),$=t(14554),z=t(15972),B=t(88064),O=t(97438),_=t(91846),L=t(11227);let q=(0,P.createServerReference)("708f19c9799d915082908e3422422623c176d52298",P.callServer,void 0,P.findSourceMapURL,"updateTaskDraftAction"),V=(0,P.createServerReference)("70941b5590c0ba44f01bda5e090bef103c1c3af19a",P.callServer,void 0,P.findSourceMapURL,"updateDocumentDraftAction"),I=(0,P.createServerReference)("60a402d9511ff161b2dcb2d08f5f4bf1abd19fff0e",P.callServer,void 0,P.findSourceMapURL,"addDocumentDraftAction"),G=(0,P.createServerReference)("60eb3f2ca23371eced73a957d415739e33d604220c",P.callServer,void 0,P.findSourceMapURL,"removeDocumentDraftAction");var Z=t(9160),J=t(57893),H=t(85226),K=t(60532),W=t(97413),Q=t(64993),X=t(13108),Y=t(51817),ee=t(16544),es=t(65626);let et=(0,P.createServerReference)("60c37ca0695192d56dbbc8b35ab142bd6202027a1a",P.callServer,void 0,P.findSourceMapURL,"addTaskDraftAction"),er=(0,P.createServerReference)("603b47896d13821872d37a0ba68ef47074f24bd830",P.callServer,void 0,P.findSourceMapURL,"removeTaskDraftAction"),ea={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 s,t;let{taskDraft:l,allTaskDrafts:d,proposalUuid:o,canEdit:c,onClose:m,onSaved:x,onDeleted:u}=e,p=(0,i.c)(),h=(0,n.r)(),[f,b]=(0,a.useTransition)(),[j,v]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e=setTimeout(()=>v(!0),300);return()=>clearTimeout(e)},[]);let w=null===l,[A,C]=(0,a.useState)(w),[F,E]=(0,a.useState)((null==l?void 0:l.title)||""),[S,D]=(0,a.useState)((null==l?void 0:l.description)||""),[P,U]=(0,a.useState)((null==l?void 0:l.priority)||"medium"),[T,O]=(0,a.useState)((null==l||null==(s=l.storyPoints)?void 0:s.toString())||""),[V,I]=(0,a.useState)((null==l||null==(t=l.acceptanceCriteriaItems)?void 0:t.map(e=>{var s;return{description:e.description,required:null==(s=e.required)||s}}))||[]),[G,en]=(0,a.useState)([]),[ei,el]=(0,a.useState)(null),ed=w?G:(null==l?void 0:l.dependsOnDraftUuids)||[],eo=(0,a.useMemo)(()=>ed.map(e=>d.find(s=>s.uuid===e)).filter(Boolean),[ed,d]),ec=(0,a.useMemo)(()=>{let e=new Set(ed);return d.filter(s=>s.uuid!==(null==l?void 0:l.uuid)&&!e.has(s.uuid))},[null==l?void 0:l.uuid,ed,d]),em=()=>{var e,s;l&&(E(l.title),D(l.description||""),U(l.priority||"medium"),O((null==(e=l.storyPoints)?void 0:e.toString())||""),I((null==(s=l.acceptanceCriteriaItems)?void 0:s.map(e=>{var s;return{description:e.description,required:null==(s=e.required)||s}}))||[]),el(null),C(!0))},ex=()=>{if(w)return void m();if(C(!1),l){var e,s;E(l.title),D(l.description||""),U(l.priority||"medium"),O((null==(e=l.storyPoints)?void 0:e.toString())||""),I((null==(s=l.acceptanceCriteriaItems)?void 0:s.map(e=>{var s;return{description:e.description,required:null==(s=e.required)||s}}))||[])}el(null)},eu=ea[(null==l?void 0:l.priority)||"medium"]||ea.medium,ep=()=>(0,r.jsxs)("div",{className:"mt-5",children:[(0,r.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:p("proposals.dependsOn")}),eo.length>0?(0,r.jsx)("div",{className:"mt-2 space-y-1.5",children:eo.map(e=>(0,r.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-background p-2.5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,r.jsx)(k.A,{className:"h-3.5 w-3.5 shrink-0 text-primary"}),(0,r.jsx)("span",{className:"text-xs text-foreground truncate",children:e.title})]}),c&&(0,r.jsx)(R.$,{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(s=>s.filter(s=>s!==e));if(!l)return;let s=(l.dependsOnDraftUuids||[]).filter(s=>s!==e);b(async()=>{let e=await q(o,l.uuid,{dependsOnDraftUuids:s});e.success?(h.refresh(),x()):el(e.error||p("proposals.failedToAddDependency"))})})(e.uuid),disabled:f,children:(0,r.jsx)(Z.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},e.uuid))}):(0,r.jsx)("p",{className:"mt-2 text-sm italic text-[#9A9A9A]",children:p("proposals.noDependencies")}),c&&ec.length>0&&(0,r.jsx)("div",{className:"mt-3",children:(0,r.jsxs)(_.l6,{onValueChange:e=>(e=>{if(w)return void en(s=>[...s,e]);if(!l)return;if(((e,s)=>{let t=new Set,r=[e];for(;r.length>0;){let e=r.shift();if(e===s)return!0;if(t.has(e))continue;t.add(e);let a=d.find(s=>s.uuid===e);(null==a?void 0:a.dependsOnDraftUuids)&&r.push(...a.dependsOnDraftUuids)}return!1})(e,l.uuid))return void el(p("proposals.cyclicDependency"));el(null);let s=[...l.dependsOnDraftUuids||[],e];b(async()=>{let e=await q(o,l.uuid,{dependsOnDraftUuids:s});e.success?(h.refresh(),x()):el(e.error||p("proposals.failedToAddDependency"))})})(e),children:[(0,r.jsx)(_.bq,{className:"h-8 border-border text-xs text-muted-foreground focus:ring-primary",children:(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(g.A,{className:"h-3 w-3"}),(0,r.jsx)(_.yv,{placeholder:p("proposals.selectDependency")})]})}),(0,r.jsx)(_.gC,{children:ec.map(e=>(0,r.jsx)(_.eb,{value:e.uuid,children:(0,r.jsx)("span",{className:"truncate",children:e.title})},e.uuid))})]},eo.length)})]});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:m}),(0,r.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,r.jsxs)("div",{className:"flex items-center justify-between border-b border-secondary px-6 py-5",children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:A?(0,r.jsx)("h2",{className:"text-base font-semibold text-foreground",children:w?p("proposals.newTaskDraft"):p("proposals.editTaskDraft")}):l?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h2",{className:"text-base font-semibold text-foreground truncate",children:l.title}),(0,r.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[l.priority&&(0,r.jsx)(M.E,{className:"text-[10px] font-medium border-0 ".concat(eu.bg," ").concat(eu.text),children:p("priority.".concat(l.priority))}),null!=l.storyPoints&&l.storyPoints>0&&(0,r.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,r.jsx)(y.A,{className:"h-2.5 w-2.5 text-primary"}),l.storyPoints," SP"]})]})]}):null}),(0,r.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[l&&!A&&c&&(0,r.jsxs)(R.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-border text-foreground",onClick:em,children:[(0,r.jsx)(J.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,r.jsx)("span",{className:"text-xs",children:p("common.edit")})]}),(0,r.jsx)(R.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:A&&!w?ex:m,children:(0,r.jsx)(Z.A,{className:"h-4 w-4 text-muted-foreground"})})]})]}),(0,r.jsx)(Q.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,r.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:A?(0,r.jsxs)("div",{className:"space-y-5",children:[ei&&(0,r.jsx)("div",{className:"rounded-lg bg-[#FFEBEE] dark:bg-[#331619] p-3 text-sm text-[#C4574C] dark:text-[#F0897E]",children:ei}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)(B.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-foreground",children:[p("proposals.taskTitle")," *"]}),(0,r.jsx)($.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,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(B.J,{htmlFor:"edit-description",className:"text-[13px] font-medium text-foreground",children:p("proposals.taskDescription")}),(0,r.jsx)(z.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,r.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(B.J,{htmlFor:"edit-priority",className:"text-[13px] font-medium text-foreground",children:p("proposals.taskPriority")}),(0,r.jsxs)(_.l6,{value:P,onValueChange:U,children:[(0,r.jsx)(_.bq,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] text-sm focus:ring-primary",children:(0,r.jsx)(_.yv,{})}),(0,r.jsxs)(_.gC,{children:[(0,r.jsx)(_.eb,{value:"low",children:p("priority.low")}),(0,r.jsx)(_.eb,{value:"medium",children:p("priority.medium")}),(0,r.jsx)(_.eb,{value:"high",children:p("priority.high")})]})]})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(B.J,{htmlFor:"edit-story-points",className:"text-[13px] font-medium text-foreground",children:p("proposals.taskStoryPoints")}),(0,r.jsx)($.p,{id:"edit-story-points",type:"number",min:"0",step:"0.5",value:T,onChange:e=>O(e.target.value),placeholder:p("proposals.storyPointsPlaceholder"),className:"border-[#E5E2DC] dark:border-[#2a2a2e] text-sm focus-visible:ring-primary"})]})]}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)(B.J,{className:"text-[13px] font-medium text-foreground flex items-center gap-1.5",children:[(0,r.jsx)(N.A,{className:"h-3.5 w-3.5 text-primary"}),p("acceptanceCriteria.title")]}),(0,r.jsx)(X.C,{items:V,onChange:I})]}),ep()]}):l?(0,r.jsxs)(ee.P.div,{variants:es.qG,initial:"initial",animate:"animate",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:p("common.description")}),(0,r.jsx)("div",{className:"mt-2",children:l.description?(0,r.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-foreground",children:(0,r.jsx)(L.MarkdownContent,{children:l.description})}):(0,r.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:p("common.noDescription")})})]}),l.acceptanceCriteria&&(0,r.jsxs)("div",{className:"mt-5",children:[(0,r.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:p("tasks.acceptanceCriteria")}),(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-foreground",children:(0,r.jsx)(L.MarkdownContent,{children:l.acceptanceCriteria})})})]}),l.acceptanceCriteriaItems&&l.acceptanceCriteriaItems.length>0&&(0,r.jsxs)("div",{className:"mt-5",children:[(0,r.jsxs)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A] flex items-center gap-1.5",children:[(0,r.jsx)(N.A,{className:"h-3 w-3"}),p("acceptanceCriteria.title")]}),(0,r.jsx)("div",{className:"mt-2 space-y-1.5",children:l.acceptanceCriteriaItems.map((e,s)=>{var t,a;return(0,r.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg bg-background p-2.5",children:[(0,r.jsx)("span",{className:"flex-1 text-[13px] text-foreground",children:e.description}),(0,r.jsx)(M.E,{className:"text-[10px] font-medium border-0 shrink-0 ".concat(null==(t=e.required)||t?"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]":"bg-secondary text-muted-foreground"),children:null==(a=e.required)||a?p("acceptanceCriteria.required"):p("acceptanceCriteria.optional")})]},s)})})]}),ei&&(0,r.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,r.jsx)("div",{className:"border-t border-secondary px-6 py-4",children:(0,r.jsx)("div",{className:"flex items-center gap-3",children:A?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(R.$,{variant:"outline",className:"border-border",onClick:ex,disabled:f,children:p("common.cancel")}),(0,r.jsx)(R.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:()=>{if(!F.trim())return void el(p("proposals.titleRequired"));el(null),b(async()=>{let e,s=V.filter(e=>e.description.trim().length>0),t={title:F.trim(),description:S.trim()||void 0,priority:P,storyPoints:T?parseFloat(T):void 0,acceptanceCriteriaItems:s.length>0?s.map(e=>{var s;return{description:e.description.trim(),required:null==(s=e.required)||s}}):void 0,...w&&G.length>0?{dependsOnDraftUuids:G}:{}};(e=w?await et(o,t):await q(o,l.uuid,t)).success?(C(!1),h.refresh(),x()):el(e.error||p("proposals.failedToSaveTaskDraft"))})},disabled:f||!F.trim(),children:f?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(H.A,{className:"mr-2 h-4 w-4 animate-spin"}),p("common.saving")]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(K.A,{className:"mr-2 h-4 w-4"}),w?p("common.create"):p("common.save")]})})]}):l?(0,r.jsxs)(r.Fragment,{children:[c&&(0,r.jsxs)(R.$,{variant:"outline",className:"border-border",onClick:em,children:[(0,r.jsx)(J.A,{className:"mr-2 h-4 w-4"}),p("common.edit")]}),c&&(0,r.jsx)("div",{className:"ml-auto",children:(0,r.jsxs)(Y.Lt,{children:[(0,r.jsx)(Y.tv,{asChild:!0,children:(0,r.jsx)(R.$,{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,r.jsx)(W.A,{className:"h-4 w-4"})})}),(0,r.jsxs)(Y.EO,{children:[(0,r.jsxs)(Y.wd,{children:[(0,r.jsx)(Y.r7,{children:p("proposals.deleteTaskDraft")}),(0,r.jsx)(Y.$v,{children:p("proposals.deleteTaskDraftConfirm")})]}),(0,r.jsxs)(Y.ck,{children:[(0,r.jsx)(Y.Zr,{children:p("common.cancel")}),(0,r.jsx)(Y.Rx,{onClick:()=>{l&&b(async()=>{(await er(o,l.uuid)).success&&(h.refresh(),null==u||u())})},disabled:f,className:"bg-[#D32F2F] hover:bg-[#B71C1C] text-white",children:f?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(H.A,{className:"mr-2 h-4 w-4 animate-spin"}),p("common.delete")]}):p("common.delete")})]})]})]})})]}):null})})]})]})}var ei=t(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"}},ed={prd:{icon:m.A,bg:"bg-[#FFF3E0] dark:bg-[#3a2a12]",fg:"text-[#E07A5F] dark:text-[#F0A088]",subtitleKey:"proposals.docSubtitlePrd"},tech_design:{icon:u,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"}},eo={taskDraftNode:function(e){let{data:s}=e,t=(0,i.c)(),a=el[s.priority||"medium"]||el.medium;return(0,r.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,r.jsx)(l.h7,{type:"target",position:d.yX.Top,className:"!bg-primary !w-2 !h-2"}),(0,r.jsx)("div",{className:"flex items-center gap-2 mb-1.5",children:s.priority&&(0,r.jsx)(M.E,{className:"text-[10px] border-0 ".concat(a.bg," ").concat(a.text),children:t("priority.".concat(s.priority))})}),(0,r.jsx)("p",{className:"text-xs font-medium text-foreground leading-snug line-clamp-2",children:s.title}),(0,r.jsx)(l.h7,{type:"source",position:d.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:s,status:t,documentDrafts:d,taskDrafts:o,onStatusChange:x}=e,u=(0,i.c)(),p=(0,n.r)(),h=(0,A.W)(),[f,P]=(0,a.useTransition)(),{getPresence:Z}=(0,w.xQ)();Z("proposal",s);let[J,H]=(0,a.useState)(d),[K,W]=(0,a.useState)(o),[Q,X]=(0,a.useState)(new Set),Y=(0,a.useRef)(J);Y.current=J;let ee=(0,a.useRef)(K);ee.current=K;let es=(0,a.useRef)(null),et=(0,a.useRef)(null),[er,ea]=(0,a.useState)("cards"),[em,ex]=(0,a.useState)(new Set),[eu,ep]=(0,a.useState)(!1),[eh,ef]=(0,a.useState)(null),[eg,eb]=(0,a.useState)("prd"),[ej,ev]=(0,a.useState)(""),[ey,eN]=(0,a.useState)(""),[ek,ew]=(0,a.useState)(null),[eA,eC]=(0,a.useState)(!1),[eF,eE]=(0,a.useState)(null),[eS,eD]=(0,a.useState)(null),eP="draft"===t;(0,F.w0)("proposal",s,async e=>{if(["created","updated","deleted"].includes(e.action)&&!eu&&!ek&&!eA)try{var r,a,n,i,l,d,o,c,m,u;let e=await U(s),h=null!=(r=Y.current)?r:[],f=null!=(a=ee.current)?a:[],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",s)[0];if(e)for(let t of j)(0,w.fv)({entityType:"proposal",entityUuid:s,subEntityType:"draft",subEntityUuid:t,agentUuid:e.agentUuid,agentName:e.agentName,action:"mutate"})}let v=[...S(h,g),...S(f,b)];v.length>0?(es.current=g,et.current=b,X(new Set(v)),setTimeout(()=>{var e,s;H(null!=(e=es.current)?e:g),W(null!=(s=et.current)?s:b),es.current=null,et.current=null,X(new Set)},500)):(es.current=g,et.current=b,H(g),W(b)),d=e.status,o=h.length,c=g.length,m=f.length,u=b.length,(null!=d&&d!==t||"draft"===t&&(c!==o||u!==m))&&p.refresh(),null==x||x(null!=(l=e.status)?l:t)}catch(e){ei.q.warn("[ProposalEditor] Failed to refresh drafts:",e)}});let eU=(0,a.useMemo)(()=>ek&&K&&K.find(e=>e.uuid===ek)||null,[ek,K]),[eT,eR,eM]=(0,l.ck)([]),[e$,ez,eB]=(0,l.fM)([]);(0,a.useEffect)(()=>{if(!K||0===K.length){eR([]),ez([]);return}let e=K.map(e=>({id:e.uuid,type:"taskDraftNode",position:{x:0,y:0},data:{title:e.title,priority:e.priority||"medium"}})),s=[];K.forEach(e=>{e.dependsOnDraftUuids&&e.dependsOnDraftUuids.forEach((t,r)=>{s.push({id:"e-".concat(e.uuid,"-").concat(r),source:t,target:e.uuid,...ec})})});let{nodes:t,edges:r}=function(e,s){let t=new(c()).graphlib.Graph;return t.setDefaultEdgeLabel(()=>({})),t.setGraph({rankdir:"TB",nodesep:50,ranksep:80}),e.forEach(e=>{t.setNode(e.id,{width:240,height:80})}),s.forEach(e=>{t.setEdge(e.source,e.target)}),c().layout(t),{nodes:e.map(e=>{let s=t.node(e.id);return{...e,position:{x:s.x-120,y:s.y-40}}}),edges:s}}(e,s);eR(t),ez(r)},[K,eR,ez]);let eO=(0,a.useCallback)(async e=>{if(!e.source||!e.target||!eP||e.source===e.target)return;eD(null);let t=e.target,r=e.source,a=null==K?void 0:K.find(e=>e.uuid===t);if(!a)return;let n=a.dependsOnDraftUuids||[];if(n.includes(r))return void eD(u("proposals.dependencyExists"));if(((e,s)=>{let t=new Set,r=[e];for(;r.length>0;){let e=r.shift();if(e===s)return!0;if(t.has(e))continue;t.add(e);let a=null==K?void 0:K.find(s=>s.uuid===e);(null==a?void 0:a.dependsOnDraftUuids)&&r.push(...a.dependsOnDraftUuids)}return!1})(r,t))return void eD(u("proposals.cyclicDependency"));let i=[...n,r];P(async()=>{let e=await q(s,t,{dependsOnDraftUuids:i});e.success?p.refresh():eD(e.error||u("proposals.failedToAddDependency"))})},[eP,K,s,p,P,u]),e_=(0,a.useCallback)((e,s)=>{eC(!1),ew(s.id)},[]),eL=J&&J.length>0,eq=K&&K.length>0,eV=null!==ek||eA;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(T.Zp,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[(0,r.jsxs)(T.aR,{className:"flex-row items-center justify-between border-b border-secondary px-6 py-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)(m.A,{className:"h-[18px] w-[18px] text-primary"}),(0,r.jsx)(T.ZB,{className:"text-sm font-semibold text-foreground",children:u("proposals.documentDrafts")}),(0,r.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,r.jsxs)(R.$,{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,r.jsx)(g.A,{className:"h-3.5 w-3.5"}),u("proposals.addDocumentDraft")]})]}),(0,r.jsx)(T.Wu,{className:"p-0",children:eL?(0,r.jsx)("div",{className:"space-y-0 divide-y divide-secondary",children:J.map(e=>{var t;let a=em.has(e.uuid),n=ed[e.type]||ed.guide,i=n.icon;return(0,r.jsx)(C.D,{entityType:"proposal",entityUuid:s,subEntityType:"draft",subEntityUuid:e.uuid,badgeInside:!0,children:(0,r.jsxs)("div",{className:"px-5 py-4 transition-all duration-500 ".concat(Q.has(e.uuid)?"opacity-0":""),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("button",{onClick:()=>{var s;return s=e.uuid,void ex(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})},className:"flex items-center gap-3 text-left cursor-pointer hover:opacity-80 transition-opacity min-w-0",children:[(0,r.jsx)("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-[10px] ".concat(n.bg),children:(0,r.jsx)(i,{className:"h-[18px] w-[18px] ".concat(n.fg)})}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-[13px] font-medium text-foreground truncate",children:e.title}),(0,r.jsx)("div",{className:"text-[11px] text-muted-foreground",children:u(n.subtitleKey)})]}),(0,r.jsx)("span",{className:"text-muted-foreground shrink-0",children:a?(0,r.jsx)(b.A,{className:"h-4 w-4"}):(0,r.jsx)(j.A,{className:"h-4 w-4"})})]}),(0,r.jsxs)("div",{className:"flex gap-1 shrink-0",children:[(0,r.jsx)(D.E,{document:{title:e.title,content:null!=(t=e.content)?t:"",type:e.type,version:"Draft"},variant:"compact"}),eP&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(R.$,{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:u("proposals.editDraft")}),(0,r.jsx)(R.$,{variant:"ghost",size:"sm",onClick:()=>{confirm(u("common.confirmDelete"))&&P(async()=>{(await G(s,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:u("proposals.deleteDraft")})]})]})]}),a&&e.content&&(0,r.jsx)("div",{className:"mt-3 border-t border-secondary pt-4",children:(0,r.jsx)("div",{className:"prose prose-sm max-w-none text-foreground",children:(0,r.jsx)(L.MarkdownContent,{children:e.content})})})]})},e.uuid)})}):(0,r.jsxs)("div",{className:"flex flex-col items-center gap-2 px-6 py-8",children:[(0,r.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-[10px] bg-secondary",children:(0,r.jsx)(m.A,{className:"h-[18px] w-[18px] text-[#D0CCC4]"})}),(0,r.jsx)("p",{className:"text-[13px] text-muted-foreground",children:u("proposals.emptyContainer")})]})})]}),(0,r.jsxs)(T.Zp,{className:"border-[#E5E2DC] dark:border-[#2a2a2e] shadow-none rounded-2xl gap-0 py-0 overflow-hidden",children:[(0,r.jsxs)(T.aR,{className:"flex-row items-center justify-between border-b border-secondary px-6 py-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)(v,{className:"h-[18px] w-[18px] text-primary"}),(0,r.jsx)(T.ZB,{className:"text-sm font-semibold text-foreground",children:u("proposals.taskDrafts")}),(0,r.jsx)(M.E,{className:"border-0 bg-primary/[0.13] text-[11px] font-semibold text-primary",children:(null==K?void 0:K.length)||0})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[eq&&(0,r.jsxs)("div",{className:"flex rounded-lg bg-secondary p-0.5",children:[(0,r.jsx)("button",{onClick:()=>ea("cards"),className:"rounded-md px-3 py-1 text-[11px] font-medium transition-colors ".concat("cards"===er?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:u("proposals.cardsView")}),(0,r.jsx)("button",{onClick:()=>ea("dag"),className:"rounded-md px-3 py-1 text-[11px] font-medium transition-colors ".concat("dag"===er?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"DAG"})]}),eP&&(0,r.jsxs)(R.$,{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,r.jsx)(g.A,{className:"h-3.5 w-3.5"}),u("proposals.addTaskDraft")]})]})]}),(0,r.jsx)(T.Wu,{className:"p-0",children:eq?"cards"===er?(0,r.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 p-5",children:K.map(e=>{var t,a;let n=el[e.priority||"medium"]||el.medium,i=(null==(t=e.dependsOnDraftUuids)?void 0:t.length)||0,l=(null==(a=e.acceptanceCriteriaItems)?void 0:a.length)||0,d=ek===e.uuid;return(0,r.jsx)(C.D,{entityType:"proposal",entityUuid:s,subEntityType:"draft",subEntityUuid:e.uuid,children:(0,r.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(d?"border-primary shadow-sm border":"border-[#E5E2DC] dark:border-[#2a2a2e] hover:border-primary/50 border"),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[e.priority&&(0,r.jsx)(M.E,{className:"text-[10px] font-semibold border-0 ".concat(n.bg," ").concat(n.text),children:u("priority.".concat(e.priority))}),null!=e.storyPoints&&e.storyPoints>0&&(0,r.jsxs)("span",{className:"flex items-center gap-1 text-[10px] font-medium text-muted-foreground font-mono",children:[(0,r.jsx)(y.A,{className:"h-3 w-3 text-muted-foreground"}),e.storyPoints," SP"]})]}),(0,r.jsx)("span",{className:"text-[13px] font-semibold leading-snug text-foreground line-clamp-2",children:e.title}),e.description&&(0,r.jsx)("p",{className:"text-[11px] leading-relaxed text-muted-foreground line-clamp-2",children:e.description}),(0,r.jsxs)("div",{className:"flex items-center gap-3 pt-0.5",children:[l>0&&(0,r.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[(0,r.jsx)(N.A,{className:"h-3 w-3 text-[#4CAF50] dark:text-[#6FD18A]"}),u("proposals.acCount",{count:l})]}),i>0&&(0,r.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[(0,r.jsx)(k.A,{className:"h-3 w-3"}),u("proposals.depCount",{count:i})]})]})]})},e.uuid)})}):(0,r.jsxs)("div",{className:"h-[400px] relative",children:[eS&&(0,r.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,r.jsx)("button",{className:"ml-2 font-medium hover:text-red-900 dark:hover:text-[#F0A0A0]",onClick:()=>eD(null),children:"x"})]}),(0,r.jsxs)(l.Gc,{colorMode:h?"dark":"light",nodes:eT,edges:e$,onNodesChange:eM,onEdgesChange:eB,onConnect:eO,onNodeClick:e_,nodeTypes:eo,fitView:!0,fitViewOptions:{padding:.3},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},zoomOnScroll:!0,zoomOnPinch:!0,panOnDrag:!0,children:[(0,r.jsx)(l.VS,{color:h?"#40392f":"#E5E0D8",gap:20}),(0,r.jsx)(l.H2,{className:"[&>button]:border-border [&>button]:bg-card [&>button]:text-foreground [&>button:hover]:bg-background"})]})]}):(0,r.jsxs)("div",{className:"flex flex-col items-center gap-2 px-6 py-8",children:[(0,r.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-[10px] bg-secondary",children:(0,r.jsx)(v,{className:"h-[18px] w-[18px] text-[#D0CCC4]"})}),(0,r.jsx)("p",{className:"text-[13px] text-muted-foreground",children:u("proposals.emptyContainer")})]})})]}),(0,r.jsx)(O.lG,{open:eu,onOpenChange:ep,children:(0,r.jsxs)(O.Cf,{className:"max-w-2xl",children:[(0,r.jsx)(O.c7,{children:(0,r.jsx)(O.L3,{children:eh?u("proposals.editDraft"):u("proposals.addDocumentDraft")})}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)(B.J,{className:"mb-2 block text-muted-foreground",children:u("proposals.documentType")}),(0,r.jsxs)(_.l6,{value:eg,onValueChange:eb,children:[(0,r.jsx)(_.bq,{className:"border-[#E5E2DC] dark:border-[#2a2a2e]",children:(0,r.jsx)(_.yv,{})}),(0,r.jsxs)(_.gC,{children:[(0,r.jsx)(_.eb,{value:"prd",children:u("proposals.docTypePrd")}),(0,r.jsx)(_.eb,{value:"tech_design",children:u("proposals.docTypeTechDesign")}),(0,r.jsx)(_.eb,{value:"adr",children:u("proposals.docTypeAdr")}),(0,r.jsx)(_.eb,{value:"spec",children:u("proposals.docTypeSpec")}),(0,r.jsx)(_.eb,{value:"guide",children:u("proposals.docTypeGuide")})]})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)(B.J,{className:"mb-2 block text-muted-foreground",children:[u("proposals.documentTitle")," *"]}),(0,r.jsx)($.p,{value:ej,onChange:e=>ev(e.target.value),placeholder:u("proposals.titlePlaceholder"),className:"border-[#E5E2DC] dark:border-[#2a2a2e]"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)(B.J,{className:"mb-2 block text-muted-foreground",children:u("proposals.documentContent")}),(0,r.jsx)(z.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,r.jsx)("div",{className:"rounded-lg bg-[#FFEBEE] dark:bg-[#331619] p-3 text-sm text-[#C4574C] dark:text-[#F0897E]",children:eF}),(0,r.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,r.jsx)(R.$,{variant:"outline",onClick:()=>ep(!1),disabled:f,className:"border-[#E5E2DC] dark:border-[#2a2a2e]",children:u("common.cancel")}),(0,r.jsx)(R.$,{onClick:()=>{if(!ej.trim())return void eE(u("proposals.titleRequired"));eE(null),P(async()=>{let e;(e=eh?await V(s,eh.uuid,{type:eg,title:ej.trim(),content:ey}):await I(s,{type:eg,title:ej.trim(),content:ey})).success?(ep(!1),p.refresh()):eE(e.error||u("proposals.failedToSaveDocDraft"))})},disabled:f,className:"bg-primary text-white hover:bg-[#B56A42]",children:f?u("common.saving"):u("common.save")})]})]})]})}),eV&&(0,r.jsx)(en,{taskDraft:eA?null:eU,allTaskDrafts:K||[],proposalUuid:s,canEdit:eP,onClose:()=>{ew(null),eC(!1)},onSaved:()=>{eA&&eC(!1)},onDeleted:()=>{ew(null),eC(!1)}})]})}},75320:(e,s,t)=>{"use strict";t.d(s,{A:()=>r});let r=(0,t(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,s,t)=>{"use strict";t.d(s,{FormattedDateTime:()=>n});var r=t(90508),a=t(38106);function n(e){let{date:s}=e;return(0,r.jsx)(r.Fragment,{children:(0,a.r)(s)})}},90031:(e,s,t)=>{"use strict";t.d(s,{A:()=>r});let r=(0,t(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,87326,93151,41752,30996,57084,59764,12079,18944,27290,12790,26885,14655,21932,20204,30724,16544,94170,27201,16551,97784,14753,45532,70552,17099,15183,65096,87325,39025,29305,31308,51603,27370,94643,99775,44216,6528,74951,65496,77358],()=>e(e.s=53783)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[14730],{14554:(e,r,t)=>{"use strict";t.d(r,{p:()=>i});var a=t(90508);t(1856);var s=t(24377);function i(e){let{className:r,type:t,...i}=e;return(0,a.jsx)("input",{type:t,"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",r),...i})}},15972:(e,r,t)=>{"use strict";t.d(r,{T:()=>i});var a=t(90508);t(1856);var s=t(24377);function i(e){let{className:r,...t}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,s.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),...t})}},22922:(e,r,t)=>{"use strict";t.d(r,{$:()=>d});var a=t(90508);t(1856);var s=t(49499),i=t(54154),n=t(24377);let o=(0,s.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function d(e){let{className:r,variant:t="default",size:s="default",asChild:d=!1,...l}=e,c=d?i.bL:"button";return(0,a.jsx)(c,{"data-slot":"button","data-variant":t,"data-size":s,className:(0,n.cn)(o({variant:t,size:s,className:r})),...l})}},24377:(e,r,t)=>{"use strict";t.d(r,{cn:()=>i});var a=t(49251),s=t(58849);function i(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];return(0,s.QP)((0,a.$)(r))}},48416:(e,r,t)=>{"use strict";t.d(r,{BT:()=>d,Wu:()=>l,ZB:()=>o,Zp:()=>i,aR:()=>n});var a=t(90508);t(1856);var s=t(24377);function i(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card",className:(0,s.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",r),...t})}function n(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-header",className:(0,s.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",r),...t})}function o(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-title",className:(0,s.cn)("leading-none font-semibold",r),...t})}function d(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-description",className:(0,s.cn)("text-muted-foreground text-sm",r),...t})}function l(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-content",className:(0,s.cn)("px-6",r),...t})}},49110:(e,r,t)=>{"use strict";t.d(r,{CreateProposalForm:()=>f});var a=t(90508),s=t(1856),i=t(91814),n=t(39268),o=t(60532),d=t(48416),l=t(22922),c=t(14554),u=t(57731),v=t(15972),p=t(88064),b=t(52217);let g=(0,b.createServerReference)("6084a59ee1570ef6921eeae96d913172e25f50202e",b.callServer,void 0,b.findSourceMapURL,"createProposalAction");function f(e){let{projectUuid:r,availableIdeas:t,preselectedIdeaUuid:b}=e,f=(0,n.c)(),x=(0,i.r)(),[m,h]=(0,s.useTransition)(),[y,w]=(0,s.useState)(""),[j,k]=(0,s.useState)(""),[N,z]=(0,s.useState)(b?[b]:[]),[S,_]=(0,s.useState)(null);return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)(d.Zp,{className:"border-border p-6",children:[(0,a.jsx)("h2",{className:"mb-4 text-lg font-medium text-foreground",children:f("proposals.basicInfo")}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)(p.J,{className:"mb-2 block text-muted-foreground",children:[f("proposals.title")," *"]}),(0,a.jsx)(c.p,{value:y,onChange:e=>w(e.target.value),placeholder:f("proposals.titlePlaceholder"),className:"border-border"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(p.J,{className:"mb-2 block text-muted-foreground",children:f("common.description")}),(0,a.jsx)(v.T,{value:j,onChange:e=>k(e.target.value),placeholder:f("proposals.descriptionPlaceholder"),className:"h-24 resize-none border-border"})]})]})]}),(0,a.jsxs)(d.Zp,{className:"border-border p-6",children:[(0,a.jsxs)("h2",{className:"mb-4 text-lg font-medium text-foreground",children:[f("proposals.selectSourceIdeas")," *"]}),0===t.length?(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A]",children:f("proposals.noAvailableIdeas")}):(0,a.jsx)("div",{className:"space-y-2",children:t.map(e=>(0,a.jsxs)("div",{onClick:()=>{var r;return r=e.uuid,void z(e=>e.includes(r)?e.filter(e=>e!==r):[...e,r])},className:"flex cursor-pointer items-center justify-between rounded-lg border p-3 transition-colors ".concat(N.includes(e.uuid)?"border-primary bg-[#FFFBF8] dark:bg-[#241d17]":"border-border hover:border-primary"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex h-5 w-5 items-center justify-center rounded border ".concat(N.includes(e.uuid)?"border-primary bg-primary text-white":"border-border"),children:N.includes(e.uuid)&&(0,a.jsx)(o.A,{className:"h-3 w-3",strokeWidth:3})}),(0,a.jsx)("span",{className:"font-medium text-foreground",children:e.title})]}),(0,a.jsx)(u.E,{variant:"outline",className:"text-xs",children:e.status})]},e.uuid))})]}),S&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FFEBEE] dark:bg-[#331619] p-3 text-sm text-[#D32F2F] dark:text-[#F08078]",children:S}),(0,a.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,a.jsx)(l.$,{variant:"outline",onClick:()=>x.back(),disabled:m,className:"border-border",children:f("common.cancel")}),(0,a.jsx)(l.$,{onClick:()=>y.trim()?0===N.length?void _(f("proposals.selectAtLeastOneIdea")):void(_(null),h(async()=>{let e=await g(r,{title:y.trim(),description:j.trim()||void 0,inputType:"idea",inputUuids:N});e.success&&e.proposal?x.push("/projects/".concat(r,"/proposals/").concat(e.proposal.uuid)):_(e.error||f("proposals.createFailed"))})):void _(f("proposals.titleRequired")),disabled:m,className:"bg-primary hover:bg-[#B56A42] text-white",children:m?f("common.creating"):f("proposals.createAndEdit")})]})]})}},49879:(e,r,t)=>{Promise.resolve().then(t.bind(t,49110))},52217:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(r,{callServer:function(){return a.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return s.findSourceMapURL}});let a=t(53874),s=t(11550),i=t(31802)},57731:(e,r,t)=>{"use strict";t.d(r,{E:()=>d});var a=t(90508);t(1856);var s=t(49499),i=t(54154),n=t(24377);let o=(0,s.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function d(e){let{className:r,variant:t="default",asChild:s=!1,...d}=e,l=s?i.bL:"span";return(0,a.jsx)(l,{"data-slot":"badge","data-variant":t,className:(0,n.cn)(o({variant:t}),r),...d})}},58057:(e,r,t)=>{"use strict";t.r(r),t.d(r,{Label:()=>n,Root:()=>o});var a=t(1856),s=t(93367),i=t(90508),n=a.forwardRef((e,r)=>(0,i.jsx)(s.sG.label,{...e,ref:r,onMouseDown:r=>{var t;r.target.closest("button, input, select, textarea")||(null==(t=e.onMouseDown)||t.call(e,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));n.displayName="Label";var o=n},60532:(e,r,t)=>{"use strict";t.d(r,{A:()=>a});let a=(0,t(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},88064:(e,r,t)=>{"use strict";t.d(r,{J:()=>n});var a=t(90508);t(1856);var s=t(58057),i=t(24377);function n(e){let{className:r,...t}=e;return(0,a.jsx)(s.Root,{"data-slot":"label",className:(0,i.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",r),...t})}},91814:(e,r,t)=>{"use strict";t.d(r,{r:()=>i});var a=t(27290),s=t(1856);function i(){let e=(0,a.r)({delay:120});return(0,s.useMemo)(()=>({...e,refresh:()=>e.refresh({showProgress:!1})}),[e])}},93367:(e,r,t)=>{"use strict";t.d(r,{bL:()=>l,hO:()=>d,sG:()=>o});var a=t(1856),s=t(38129),i=t(54154),n=t(90508),o=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let t=(0,i.TL)(`Primitive.${r}`),s=a.forwardRef((e,a)=>{let{asChild:s,...i}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(s?t:r,{...i,ref:a})});return s.displayName=`Primitive.${r}`,{...e,[r]:s}},{});function d(e,r){e&&s.flushSync(()=>e.dispatchEvent(r))}var l=o}},e=>{e.O(0,[12079,18944,27290,74951,65496,77358],()=>e(e.s=49879)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[14730],{14554:(e,r,t)=>{"use strict";t.d(r,{p:()=>i});var a=t(90508);t(1856);var s=t(24377);function i(e){let{className:r,type:t,...i}=e;return(0,a.jsx)("input",{type:t,"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",r),...i})}},15972:(e,r,t)=>{"use strict";t.d(r,{T:()=>i});var a=t(90508);t(1856);var s=t(24377);function i(e){let{className:r,...t}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,s.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),...t})}},22922:(e,r,t)=>{"use strict";t.d(r,{$:()=>d});var a=t(90508);t(1856);var s=t(49499),i=t(54154),n=t(24377);let o=(0,s.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function d(e){let{className:r,variant:t="default",size:s="default",asChild:d=!1,...l}=e,c=d?i.bL:"button";return(0,a.jsx)(c,{"data-slot":"button","data-variant":t,"data-size":s,className:(0,n.cn)(o({variant:t,size:s,className:r})),...l})}},24377:(e,r,t)=>{"use strict";t.d(r,{cn:()=>i});var a=t(49251),s=t(58849);function i(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];return(0,s.QP)((0,a.$)(r))}},25124:(e,r,t)=>{"use strict";t.d(r,{CreateProposalForm:()=>f});var a=t(90508),s=t(1856),i=t(91814),n=t(39268),o=t(60532),d=t(48416),l=t(22922),c=t(14554),u=t(57731),v=t(15972),p=t(88064),b=t(52217);let g=(0,b.createServerReference)("601d9ec8142857bea60912e270c4f250828783146c",b.callServer,void 0,b.findSourceMapURL,"createProposalAction");function f(e){let{projectUuid:r,availableIdeas:t,preselectedIdeaUuid:b}=e,f=(0,n.c)(),x=(0,i.r)(),[m,h]=(0,s.useTransition)(),[y,w]=(0,s.useState)(""),[j,k]=(0,s.useState)(""),[N,z]=(0,s.useState)(b?[b]:[]),[S,_]=(0,s.useState)(null);return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)(d.Zp,{className:"border-border p-6",children:[(0,a.jsx)("h2",{className:"mb-4 text-lg font-medium text-foreground",children:f("proposals.basicInfo")}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)(p.J,{className:"mb-2 block text-muted-foreground",children:[f("proposals.title")," *"]}),(0,a.jsx)(c.p,{value:y,onChange:e=>w(e.target.value),placeholder:f("proposals.titlePlaceholder"),className:"border-border"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(p.J,{className:"mb-2 block text-muted-foreground",children:f("common.description")}),(0,a.jsx)(v.T,{value:j,onChange:e=>k(e.target.value),placeholder:f("proposals.descriptionPlaceholder"),className:"h-24 resize-none border-border"})]})]})]}),(0,a.jsxs)(d.Zp,{className:"border-border p-6",children:[(0,a.jsxs)("h2",{className:"mb-4 text-lg font-medium text-foreground",children:[f("proposals.selectSourceIdeas")," *"]}),0===t.length?(0,a.jsx)("p",{className:"text-sm text-[#9A9A9A]",children:f("proposals.noAvailableIdeas")}):(0,a.jsx)("div",{className:"space-y-2",children:t.map(e=>(0,a.jsxs)("div",{onClick:()=>{var r;return r=e.uuid,void z(e=>e.includes(r)?e.filter(e=>e!==r):[...e,r])},className:"flex cursor-pointer items-center justify-between rounded-lg border p-3 transition-colors ".concat(N.includes(e.uuid)?"border-primary bg-[#FFFBF8] dark:bg-[#241d17]":"border-border hover:border-primary"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex h-5 w-5 items-center justify-center rounded border ".concat(N.includes(e.uuid)?"border-primary bg-primary text-white":"border-border"),children:N.includes(e.uuid)&&(0,a.jsx)(o.A,{className:"h-3 w-3",strokeWidth:3})}),(0,a.jsx)("span",{className:"font-medium text-foreground",children:e.title})]}),(0,a.jsx)(u.E,{variant:"outline",className:"text-xs",children:e.status})]},e.uuid))})]}),S&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FFEBEE] dark:bg-[#331619] p-3 text-sm text-[#D32F2F] dark:text-[#F08078]",children:S}),(0,a.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,a.jsx)(l.$,{variant:"outline",onClick:()=>x.back(),disabled:m,className:"border-border",children:f("common.cancel")}),(0,a.jsx)(l.$,{onClick:()=>y.trim()?0===N.length?void _(f("proposals.selectAtLeastOneIdea")):void(_(null),h(async()=>{let e=await g(r,{title:y.trim(),description:j.trim()||void 0,inputType:"idea",inputUuids:N});e.success&&e.proposal?x.push("/projects/".concat(r,"/proposals/").concat(e.proposal.uuid)):_(e.error||f("proposals.createFailed"))})):void _(f("proposals.titleRequired")),disabled:m,className:"bg-primary hover:bg-[#B56A42] text-white",children:m?f("common.creating"):f("proposals.createAndEdit")})]})]})}},48416:(e,r,t)=>{"use strict";t.d(r,{BT:()=>d,Wu:()=>l,ZB:()=>o,Zp:()=>i,aR:()=>n});var a=t(90508);t(1856);var s=t(24377);function i(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card",className:(0,s.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",r),...t})}function n(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-header",className:(0,s.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",r),...t})}function o(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-title",className:(0,s.cn)("leading-none font-semibold",r),...t})}function d(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-description",className:(0,s.cn)("text-muted-foreground text-sm",r),...t})}function l(e){let{className:r,...t}=e;return(0,a.jsx)("div",{"data-slot":"card-content",className:(0,s.cn)("px-6",r),...t})}},49879:(e,r,t)=>{Promise.resolve().then(t.bind(t,25124))},52217:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(r,{callServer:function(){return a.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return s.findSourceMapURL}});let a=t(53874),s=t(11550),i=t(31802)},57731:(e,r,t)=>{"use strict";t.d(r,{E:()=>d});var a=t(90508);t(1856);var s=t(49499),i=t(54154),n=t(24377);let o=(0,s.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function d(e){let{className:r,variant:t="default",asChild:s=!1,...d}=e,l=s?i.bL:"span";return(0,a.jsx)(l,{"data-slot":"badge","data-variant":t,className:(0,n.cn)(o({variant:t}),r),...d})}},58057:(e,r,t)=>{"use strict";t.r(r),t.d(r,{Label:()=>n,Root:()=>o});var a=t(1856),s=t(93367),i=t(90508),n=a.forwardRef((e,r)=>(0,i.jsx)(s.sG.label,{...e,ref:r,onMouseDown:r=>{var t;r.target.closest("button, input, select, textarea")||(null==(t=e.onMouseDown)||t.call(e,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));n.displayName="Label";var o=n},60532:(e,r,t)=>{"use strict";t.d(r,{A:()=>a});let a=(0,t(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},88064:(e,r,t)=>{"use strict";t.d(r,{J:()=>n});var a=t(90508);t(1856);var s=t(58057),i=t(24377);function n(e){let{className:r,...t}=e;return(0,a.jsx)(s.Root,{"data-slot":"label",className:(0,i.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",r),...t})}},91814:(e,r,t)=>{"use strict";t.d(r,{r:()=>i});var a=t(27290),s=t(1856);function i(){let e=(0,a.r)({delay:120});return(0,s.useMemo)(()=>({...e,refresh:()=>e.refresh({showProgress:!1})}),[e])}},93367:(e,r,t)=>{"use strict";t.d(r,{bL:()=>l,hO:()=>d,sG:()=>o});var a=t(1856),s=t(38129),i=t(54154),n=t(90508),o=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let t=(0,i.TL)(`Primitive.${r}`),s=a.forwardRef((e,a)=>{let{asChild:s,...i}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(s?t:r,{...i,ref:a})});return s.displayName=`Primitive.${r}`,{...e,[r]:s}},{});function d(e,r){e&&s.flushSync(()=>e.dispatchEvent(r))}var l=o}},e=>{e.O(0,[12079,18944,27290,74951,65496,77358],()=>e(e.s=49879)),_N_E=e.O()}]);