@chorus-aidlc/chorus 0.14.1 → 0.14.3

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 (523) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +469 -440
  3. package/.next/standalone/.next/app-path-routes-manifest.json +49 -45
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +27 -27
  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 +2 -2
  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 +2 -2
  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 +3 -3
  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_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js +1 -0
  81. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -0
  82. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -0
  83. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/events/notifications/route.js +5 -5
  100. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/mcp/route.js +2 -2
  112. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/project-visits/pin/route.js +1 -0
  125. package/.next/standalone/.next/server/app/api/project-visits/pin/route.js.nft.json +1 -0
  126. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -0
  127. package/.next/standalone/.next/server/app/api/project-visits/route.js +1 -0
  128. package/.next/standalone/.next/server/app/api/project-visits/route.js.nft.json +1 -0
  129. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -0
  130. package/.next/standalone/.next/server/app/api/project-visits/visit/route.js +1 -0
  131. package/.next/standalone/.next/server/app/api/project-visits/visit/route.js.nft.json +1 -0
  132. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -0
  133. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/index.html +2 -2
  165. package/.next/standalone/.next/server/app/index.rsc +2 -2
  166. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  168. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  169. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  171. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  172. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  175. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  176. package/.next/standalone/.next/server/app/login.html +2 -2
  177. package/.next/standalone/.next/server/app/login.rsc +2 -2
  178. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  179. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  181. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  182. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  183. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  184. package/.next/standalone/.next/server/app/projects.html +2 -2
  185. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  186. package/.next/standalone/.next/server/app/settings.html +2 -2
  187. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  188. package/.next/standalone/.next/server/app-paths-manifest.json +49 -45
  189. package/.next/standalone/.next/server/chunks/1114.js +1 -1
  190. package/.next/standalone/.next/server/chunks/1318.js +1 -0
  191. package/.next/standalone/.next/server/chunks/1559.js +1 -1
  192. package/.next/standalone/.next/server/chunks/2004.js +1 -0
  193. package/.next/standalone/.next/server/chunks/2112.js +1 -0
  194. package/.next/standalone/.next/server/chunks/{1286.js → 2282.js} +3 -3
  195. package/.next/standalone/.next/server/chunks/2570.js +2 -2
  196. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  197. package/.next/standalone/.next/server/chunks/{6492.js → 2789.js} +2 -2
  198. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  199. package/.next/standalone/.next/server/chunks/3219.js +1 -1
  200. package/.next/standalone/.next/server/chunks/4070.js +1 -0
  201. package/.next/standalone/.next/server/chunks/457.js +1 -0
  202. package/.next/standalone/.next/server/chunks/4827.js +1 -1
  203. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  204. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  205. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  206. package/.next/standalone/.next/server/chunks/6449.js +1 -0
  207. package/.next/standalone/.next/server/chunks/6506.js +2 -2
  208. package/.next/standalone/.next/server/chunks/679.js +1 -1
  209. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  210. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  211. package/.next/standalone/.next/server/chunks/8540.js +1 -0
  212. package/.next/standalone/.next/server/chunks/920.js +1 -1
  213. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  214. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  215. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  216. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  217. package/.next/standalone/.next/server/pages/404.html +2 -2
  218. package/.next/standalone/.next/server/pages/500.html +1 -1
  219. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  220. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  221. package/.next/standalone/.next/static/3R5zOQKwCZOVs9-BjIVqk/_buildManifest.js +1 -0
  222. package/.next/standalone/.next/static/chunks/{11595.7784dfe509c100a4.js → 11595.c580c5690d176cce.js} +1 -1
  223. package/.next/standalone/.next/static/chunks/14160-7bcee6e9e8bc5233.js +1 -0
  224. package/.next/standalone/.next/static/chunks/{32331-87ae9bc7517c7947.js → 18351-2a408c4f57ddb3a7.js} +1 -1
  225. package/.next/standalone/.next/static/chunks/24870-5b0be64361f5ef70.js +1 -0
  226. package/.next/standalone/.next/static/chunks/26232-110019cebde19691.js +1 -0
  227. package/.next/standalone/.next/static/chunks/31308-bb4a97b3f39c22dd.js +1 -0
  228. package/.next/standalone/.next/static/chunks/{33456.3bd7ba05bd39259b.js → 33456.c48dc366aa90b234.js} +1 -1
  229. package/.next/standalone/.next/static/chunks/{37985-e4683195e4ca2519.js → 33806-cb339e86820a87c4.js} +1 -1
  230. package/.next/standalone/.next/static/chunks/37035-514bbb31cd13bda1.js +1 -0
  231. package/.next/standalone/.next/static/chunks/{38526-7ffc4b7351c15bc4.js → 37938-c09acf52d7f85cb4.js} +1 -1
  232. package/.next/standalone/.next/static/chunks/{42605-029b5426175cdee9.js → 39479-5af3460208d8cc56.js} +1 -1
  233. package/.next/standalone/.next/static/chunks/{4860.4803e40814d50dd0.js → 4860.baf6a285246198af.js} +1 -1
  234. package/.next/standalone/.next/static/chunks/{21188-43211c9e40bf0d63.js → 60178-d6276df1c07d7735.js} +2 -2
  235. package/.next/standalone/.next/static/chunks/68326-924445654ed47e6f.js +1 -0
  236. package/.next/standalone/.next/static/chunks/78917-1498676a1ffe5ded.js +1 -0
  237. package/.next/standalone/.next/static/chunks/94470-1076452151689267.js +1 -0
  238. package/.next/standalone/.next/static/chunks/94643-7c7f2efab0640658.js +1 -0
  239. package/.next/standalone/.next/static/chunks/{99373.0457580c532530bc.js → 99373.ad871bd0bbfc5eb7.js} +1 -1
  240. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-78259279cf6c6919.js +1 -0
  241. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-2af5f2f159c8e32b.js +1 -0
  242. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-8cf720e8efb6ac7d.js +1 -0
  243. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-e5202e9b7669576c.js → page-59dcf0ba7ce877ec.js} +1 -1
  244. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-d6c226fd56b5ebb5.js +1 -0
  245. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/{page-c231207c3674aa54.js → page-2c9d3f4c6e0ff807.js} +1 -1
  246. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-20054b1cec8ed1d2.js → page-af35d50848f01875.js} +1 -1
  247. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-cb6fdf592863833c.js +1 -0
  248. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-596d97796dd55e2f.js +1 -0
  249. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/{page-7948aa8db4813091.js → page-ed9415921188b4d3.js} +1 -1
  250. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-ebf4c28014025b7b.js +1 -0
  251. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-bbde7e85e3388813.js +1 -0
  252. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-6df01fa989cca27b.js +1 -0
  253. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-e60bc39bf2957f77.js +1 -0
  254. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-8cf720e8efb6ac7d.js +1 -0
  255. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-8cf720e8efb6ac7d.js +1 -0
  256. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-8cf720e8efb6ac7d.js +1 -0
  257. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-8cf720e8efb6ac7d.js +1 -0
  258. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-8cf720e8efb6ac7d.js +1 -0
  259. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-8cf720e8efb6ac7d.js +1 -0
  260. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-8cf720e8efb6ac7d.js +1 -0
  261. package/.next/standalone/.next/static/chunks/app/api/agents/route-8cf720e8efb6ac7d.js +1 -0
  262. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-8cf720e8efb6ac7d.js +1 -0
  263. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-8cf720e8efb6ac7d.js +1 -0
  264. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-8cf720e8efb6ac7d.js +1 -0
  265. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-8cf720e8efb6ac7d.js +1 -0
  266. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-8cf720e8efb6ac7d.js +1 -0
  267. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-8cf720e8efb6ac7d.js +1 -0
  268. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-8cf720e8efb6ac7d.js +1 -0
  269. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-8cf720e8efb6ac7d.js +1 -0
  270. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-8cf720e8efb6ac7d.js +1 -0
  271. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-8cf720e8efb6ac7d.js +1 -0
  272. package/.next/standalone/.next/static/chunks/app/api/comments/route-8cf720e8efb6ac7d.js +1 -0
  273. package/.next/standalone/.next/static/chunks/app/api/daemon/connection-heartbeat/route-8cf720e8efb6ac7d.js +1 -0
  274. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-8cf720e8efb6ac7d.js +1 -0
  275. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-8cf720e8efb6ac7d.js +1 -0
  276. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-8cf720e8efb6ac7d.js +1 -0
  277. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-8cf720e8efb6ac7d.js +1 -0
  278. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-8cf720e8efb6ac7d.js +1 -0
  279. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-8cf720e8efb6ac7d.js +1 -0
  280. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-8cf720e8efb6ac7d.js +1 -0
  281. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-8cf720e8efb6ac7d.js +1 -0
  282. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-8cf720e8efb6ac7d.js +1 -0
  283. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-8cf720e8efb6ac7d.js +1 -0
  284. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-8cf720e8efb6ac7d.js +1 -0
  285. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-8cf720e8efb6ac7d.js +1 -0
  286. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-8cf720e8efb6ac7d.js +1 -0
  287. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-8cf720e8efb6ac7d.js +1 -0
  288. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-8cf720e8efb6ac7d.js +1 -0
  289. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-8cf720e8efb6ac7d.js +1 -0
  290. package/.next/standalone/.next/static/chunks/app/api/events/route-8cf720e8efb6ac7d.js +1 -0
  291. package/.next/standalone/.next/static/chunks/app/api/health/route-8cf720e8efb6ac7d.js +1 -0
  292. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-8cf720e8efb6ac7d.js +1 -0
  293. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-8cf720e8efb6ac7d.js +1 -0
  294. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-8cf720e8efb6ac7d.js +1 -0
  295. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-8cf720e8efb6ac7d.js +1 -0
  296. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-8cf720e8efb6ac7d.js +1 -0
  297. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-8cf720e8efb6ac7d.js +1 -0
  298. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/wake-preview/route-8cf720e8efb6ac7d.js +1 -0
  299. package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-8cf720e8efb6ac7d.js +1 -0
  300. package/.next/standalone/.next/static/chunks/app/api/mcp/route-8cf720e8efb6ac7d.js +1 -0
  301. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-8cf720e8efb6ac7d.js +1 -0
  302. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-8cf720e8efb6ac7d.js +1 -0
  303. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-8cf720e8efb6ac7d.js +1 -0
  304. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-8cf720e8efb6ac7d.js +1 -0
  305. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-8cf720e8efb6ac7d.js +1 -0
  306. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-8cf720e8efb6ac7d.js +1 -0
  307. package/.next/standalone/.next/static/chunks/app/api/notifications/route-8cf720e8efb6ac7d.js +1 -0
  308. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-8cf720e8efb6ac7d.js +1 -0
  309. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-8cf720e8efb6ac7d.js +1 -0
  310. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-8cf720e8efb6ac7d.js +1 -0
  311. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-8cf720e8efb6ac7d.js +1 -0
  312. package/.next/standalone/.next/static/chunks/app/api/project-visits/pin/route-8cf720e8efb6ac7d.js +1 -0
  313. package/.next/standalone/.next/static/chunks/app/api/project-visits/route-8cf720e8efb6ac7d.js +1 -0
  314. package/.next/standalone/.next/static/chunks/app/api/project-visits/visit/route-8cf720e8efb6ac7d.js +1 -0
  315. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-8cf720e8efb6ac7d.js +1 -0
  316. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-8cf720e8efb6ac7d.js +1 -0
  317. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-8cf720e8efb6ac7d.js +1 -0
  318. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-8cf720e8efb6ac7d.js +1 -0
  319. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-8cf720e8efb6ac7d.js +1 -0
  320. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-8cf720e8efb6ac7d.js +1 -0
  321. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-8cf720e8efb6ac7d.js +1 -0
  322. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-8cf720e8efb6ac7d.js +1 -0
  323. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-8cf720e8efb6ac7d.js +1 -0
  324. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-8cf720e8efb6ac7d.js +1 -0
  325. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-8cf720e8efb6ac7d.js +1 -0
  326. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-8cf720e8efb6ac7d.js +1 -0
  327. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-8cf720e8efb6ac7d.js +1 -0
  328. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-8cf720e8efb6ac7d.js +1 -0
  329. package/.next/standalone/.next/static/chunks/app/api/projects/route-8cf720e8efb6ac7d.js +1 -0
  330. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-8cf720e8efb6ac7d.js +1 -0
  331. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-8cf720e8efb6ac7d.js +1 -0
  332. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-8cf720e8efb6ac7d.js +1 -0
  333. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-8cf720e8efb6ac7d.js +1 -0
  334. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-8cf720e8efb6ac7d.js +1 -0
  335. package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-8cf720e8efb6ac7d.js +1 -0
  336. package/.next/standalone/.next/static/chunks/app/api/references/route-8cf720e8efb6ac7d.js +1 -0
  337. package/.next/standalone/.next/static/chunks/app/api/search/route-8cf720e8efb6ac7d.js +1 -0
  338. package/.next/standalone/.next/static/chunks/app/api/session/route-8cf720e8efb6ac7d.js +1 -0
  339. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-8cf720e8efb6ac7d.js +1 -0
  340. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-8cf720e8efb6ac7d.js +1 -0
  341. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-8cf720e8efb6ac7d.js +1 -0
  342. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-8cf720e8efb6ac7d.js +1 -0
  343. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-8cf720e8efb6ac7d.js +1 -0
  344. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-8cf720e8efb6ac7d.js +1 -0
  345. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-8cf720e8efb6ac7d.js +1 -0
  346. package/.next/standalone/.next/static/chunks/app/onboarding/{page-ece3f647133d446e.js → page-006bf9e9d6a991f1.js} +1 -1
  347. package/.next/standalone/.next/static/chunks/{webpack-96be8d6bd0d3d25f.js → webpack-af2cb28ef7bbd7c2.js} +1 -1
  348. package/.next/standalone/.next/static/css/f46eab37c942ff33.css +1 -0
  349. package/.next/standalone/package.json +1 -1
  350. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  351. package/.next/standalone/public/chorus-plugin/bin/on-post-verify-task.sh +2 -2
  352. package/.next/standalone/public/chorus-plugin/bin/on-session-start.sh +29 -5
  353. package/.next/standalone/public/chorus-plugin/bin/verify-document-roundtrip.sh +28 -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 +17 -2
  356. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +2 -2
  357. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
  358. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +8 -4
  359. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  360. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  361. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  362. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +2 -2
  363. package/.next/standalone/public/install-kiro.sh +1 -1
  364. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
  365. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +2 -2
  366. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +1 -1
  367. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +8 -4
  368. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +1 -1
  369. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
  370. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
  371. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +2 -2
  372. package/.next/standalone/public/kiro-plugin/.kiro/steering/chorus.md +14 -1
  373. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
  374. package/.next/standalone/public/kiro-plugin/bin/verify-document-roundtrip.sh +28 -0
  375. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
  376. package/.next/standalone/public/skill/chorus/SKILL.md +2 -2
  377. package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +1 -1
  378. package/.next/standalone/public/skill/develop-chorus/SKILL.md +2 -2
  379. package/.next/standalone/public/skill/idea-chorus/SKILL.md +1 -1
  380. package/.next/standalone/public/skill/package.json +1 -1
  381. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
  382. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
  383. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  384. package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
  385. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
  386. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +3 -3
  387. package/README.ja.md +10 -10
  388. package/README.ko.md +10 -10
  389. package/README.md +10 -10
  390. package/README.zh.md +10 -10
  391. package/cli/claude-spawner.mjs +4 -0
  392. package/cli/codex-spawner.mjs +41 -10
  393. package/cli/codex-usage-map.mjs +115 -0
  394. package/cli/daemon-rest-client.mjs +34 -3
  395. package/cli/daemon.mjs +9 -0
  396. package/cli/lineage.mjs +20 -0
  397. package/cli/sse-listener.mjs +82 -5
  398. package/cli/turn-reporter.mjs +17 -5
  399. package/cli/upload-hooks.mjs +337 -12
  400. package/cli/waker.mjs +68 -13
  401. package/package.json +1 -1
  402. package/prisma/migrations/20260718062756_add_project_visit/migration.sql +29 -0
  403. package/prisma/migrations/20260723014810_add_turn_relay_error/migration.sql +2 -0
  404. package/prisma/migrations/20260724031955_add_turn_token_usage/migration.sql +6 -0
  405. package/prisma/migrations/20260724082248_add_session_cache_rollup/migration.sql +3 -0
  406. package/prisma/schema.prisma +49 -0
  407. package/.next/standalone/.next/server/chunks/1173.js +0 -1
  408. package/.next/standalone/.next/server/chunks/2382.js +0 -1
  409. package/.next/standalone/.next/server/chunks/4797.js +0 -1
  410. package/.next/standalone/.next/server/chunks/7762.js +0 -1
  411. package/.next/standalone/.next/server/chunks/8062.js +0 -1
  412. package/.next/standalone/.next/server/chunks/8204.js +0 -1
  413. package/.next/standalone/.next/server/chunks/9979.js +0 -1
  414. package/.next/standalone/.next/static/C9o43aSSZ0ebgki6mQ0-b/_buildManifest.js +0 -1
  415. package/.next/standalone/.next/static/chunks/24537-ef5b301140cf3a58.js +0 -1
  416. package/.next/standalone/.next/static/chunks/27030-3ae1d0e29245b23e.js +0 -1
  417. package/.next/standalone/.next/static/chunks/28680-dff79c4467712199.js +0 -1
  418. package/.next/standalone/.next/static/chunks/43111-7a4e08dc82bb3022.js +0 -1
  419. package/.next/standalone/.next/static/chunks/4939-ff22e2b42ad57f7f.js +0 -1
  420. package/.next/standalone/.next/static/chunks/78917-c0a9a11fe437a752.js +0 -1
  421. package/.next/standalone/.next/static/chunks/84169-5beb288902aea242.js +0 -1
  422. package/.next/standalone/.next/static/chunks/84219-09970ab1b85c61f0.js +0 -1
  423. package/.next/standalone/.next/static/chunks/93346-1d4cd71b8713a8a6.js +0 -1
  424. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-00ff2f6753bb4603.js +0 -1
  425. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-5824e6affe244f83.js +0 -1
  426. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-55ce87d16bc689f3.js +0 -1
  427. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-d9323dc8b6c974f7.js +0 -1
  428. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-c83c5d1b4599e737.js +0 -1
  429. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-7bcaa11ee24b5754.js +0 -1
  430. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-278d30ee1dd7e315.js +0 -1
  431. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-5a22db5f8504e61d.js +0 -1
  432. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-47a17dbadfbc75ad.js +0 -1
  433. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-7fbf5bc58d3dd5b0.js +0 -1
  434. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-55ce87d16bc689f3.js +0 -1
  435. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-55ce87d16bc689f3.js +0 -1
  436. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-55ce87d16bc689f3.js +0 -1
  437. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-55ce87d16bc689f3.js +0 -1
  438. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-55ce87d16bc689f3.js +0 -1
  439. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-55ce87d16bc689f3.js +0 -1
  440. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-55ce87d16bc689f3.js +0 -1
  441. package/.next/standalone/.next/static/chunks/app/api/agents/route-55ce87d16bc689f3.js +0 -1
  442. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-55ce87d16bc689f3.js +0 -1
  443. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-55ce87d16bc689f3.js +0 -1
  444. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-55ce87d16bc689f3.js +0 -1
  445. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-55ce87d16bc689f3.js +0 -1
  446. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-55ce87d16bc689f3.js +0 -1
  447. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-55ce87d16bc689f3.js +0 -1
  448. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-55ce87d16bc689f3.js +0 -1
  449. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-55ce87d16bc689f3.js +0 -1
  450. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-55ce87d16bc689f3.js +0 -1
  451. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-55ce87d16bc689f3.js +0 -1
  452. package/.next/standalone/.next/static/chunks/app/api/comments/route-55ce87d16bc689f3.js +0 -1
  453. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-55ce87d16bc689f3.js +0 -1
  454. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-55ce87d16bc689f3.js +0 -1
  455. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-55ce87d16bc689f3.js +0 -1
  456. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-55ce87d16bc689f3.js +0 -1
  457. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-55ce87d16bc689f3.js +0 -1
  458. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-55ce87d16bc689f3.js +0 -1
  459. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-55ce87d16bc689f3.js +0 -1
  460. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-55ce87d16bc689f3.js +0 -1
  461. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-55ce87d16bc689f3.js +0 -1
  462. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-55ce87d16bc689f3.js +0 -1
  463. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-55ce87d16bc689f3.js +0 -1
  464. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-55ce87d16bc689f3.js +0 -1
  465. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-55ce87d16bc689f3.js +0 -1
  466. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-55ce87d16bc689f3.js +0 -1
  467. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-55ce87d16bc689f3.js +0 -1
  468. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-55ce87d16bc689f3.js +0 -1
  469. package/.next/standalone/.next/static/chunks/app/api/events/route-55ce87d16bc689f3.js +0 -1
  470. package/.next/standalone/.next/static/chunks/app/api/health/route-55ce87d16bc689f3.js +0 -1
  471. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-55ce87d16bc689f3.js +0 -1
  472. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-55ce87d16bc689f3.js +0 -1
  473. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-55ce87d16bc689f3.js +0 -1
  474. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-55ce87d16bc689f3.js +0 -1
  475. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-55ce87d16bc689f3.js +0 -1
  476. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-55ce87d16bc689f3.js +0 -1
  477. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/wake-preview/route-55ce87d16bc689f3.js +0 -1
  478. package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-55ce87d16bc689f3.js +0 -1
  479. package/.next/standalone/.next/static/chunks/app/api/mcp/route-55ce87d16bc689f3.js +0 -1
  480. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-55ce87d16bc689f3.js +0 -1
  481. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-55ce87d16bc689f3.js +0 -1
  482. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-55ce87d16bc689f3.js +0 -1
  483. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-55ce87d16bc689f3.js +0 -1
  484. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-55ce87d16bc689f3.js +0 -1
  485. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-55ce87d16bc689f3.js +0 -1
  486. package/.next/standalone/.next/static/chunks/app/api/notifications/route-55ce87d16bc689f3.js +0 -1
  487. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-55ce87d16bc689f3.js +0 -1
  488. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-55ce87d16bc689f3.js +0 -1
  489. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-55ce87d16bc689f3.js +0 -1
  490. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-55ce87d16bc689f3.js +0 -1
  491. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-55ce87d16bc689f3.js +0 -1
  492. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-55ce87d16bc689f3.js +0 -1
  493. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-55ce87d16bc689f3.js +0 -1
  494. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-55ce87d16bc689f3.js +0 -1
  495. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-55ce87d16bc689f3.js +0 -1
  496. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-55ce87d16bc689f3.js +0 -1
  497. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-55ce87d16bc689f3.js +0 -1
  498. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-55ce87d16bc689f3.js +0 -1
  499. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-55ce87d16bc689f3.js +0 -1
  500. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-55ce87d16bc689f3.js +0 -1
  501. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-55ce87d16bc689f3.js +0 -1
  502. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-55ce87d16bc689f3.js +0 -1
  503. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-55ce87d16bc689f3.js +0 -1
  504. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-55ce87d16bc689f3.js +0 -1
  505. package/.next/standalone/.next/static/chunks/app/api/projects/route-55ce87d16bc689f3.js +0 -1
  506. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-55ce87d16bc689f3.js +0 -1
  507. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-55ce87d16bc689f3.js +0 -1
  508. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-55ce87d16bc689f3.js +0 -1
  509. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-55ce87d16bc689f3.js +0 -1
  510. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-55ce87d16bc689f3.js +0 -1
  511. package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-55ce87d16bc689f3.js +0 -1
  512. package/.next/standalone/.next/static/chunks/app/api/references/route-55ce87d16bc689f3.js +0 -1
  513. package/.next/standalone/.next/static/chunks/app/api/search/route-55ce87d16bc689f3.js +0 -1
  514. package/.next/standalone/.next/static/chunks/app/api/session/route-55ce87d16bc689f3.js +0 -1
  515. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-55ce87d16bc689f3.js +0 -1
  516. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-55ce87d16bc689f3.js +0 -1
  517. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-55ce87d16bc689f3.js +0 -1
  518. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-55ce87d16bc689f3.js +0 -1
  519. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-55ce87d16bc689f3.js +0 -1
  520. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-55ce87d16bc689f3.js +0 -1
  521. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-55ce87d16bc689f3.js +0 -1
  522. package/.next/standalone/.next/static/css/5f09fa856a63632f.css +0 -1
  523. /package/.next/standalone/.next/static/{C9o43aSSZ0ebgki6mQ0-b → 3R5zOQKwCZOVs9-BjIVqk}/_ssgManifest.js +0 -0
@@ -0,0 +1,29 @@
1
+ -- CreateTable
2
+ CREATE TABLE "ProjectVisit" (
3
+ "id" SERIAL NOT NULL,
4
+ "uuid" TEXT NOT NULL,
5
+ "companyUuid" TEXT NOT NULL,
6
+ "userUuid" TEXT NOT NULL,
7
+ "projectUuid" TEXT NOT NULL,
8
+ "lastVisitedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
9
+ "pinnedAt" TIMESTAMP(3),
10
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
11
+ "updatedAt" TIMESTAMP(3) NOT NULL,
12
+
13
+ CONSTRAINT "ProjectVisit_pkey" PRIMARY KEY ("id")
14
+ );
15
+
16
+ -- CreateIndex
17
+ CREATE UNIQUE INDEX "ProjectVisit_uuid_key" ON "ProjectVisit"("uuid");
18
+
19
+ -- CreateIndex
20
+ CREATE INDEX "ProjectVisit_companyUuid_idx" ON "ProjectVisit"("companyUuid");
21
+
22
+ -- CreateIndex
23
+ CREATE INDEX "ProjectVisit_userUuid_pinnedAt_idx" ON "ProjectVisit"("userUuid", "pinnedAt");
24
+
25
+ -- CreateIndex
26
+ CREATE INDEX "ProjectVisit_userUuid_lastVisitedAt_idx" ON "ProjectVisit"("userUuid", "lastVisitedAt");
27
+
28
+ -- CreateIndex
29
+ CREATE UNIQUE INDEX "ProjectVisit_userUuid_projectUuid_key" ON "ProjectVisit"("userUuid", "projectUuid");
@@ -0,0 +1,2 @@
1
+ -- AlterTable
2
+ ALTER TABLE "DaemonSessionTurn" ADD COLUMN "relayError" TEXT;
@@ -0,0 +1,6 @@
1
+ -- AlterTable
2
+ ALTER TABLE "DaemonSession" ADD COLUMN "totalInputTokens" INTEGER NOT NULL DEFAULT 0,
3
+ ADD COLUMN "totalOutputTokens" INTEGER NOT NULL DEFAULT 0;
4
+
5
+ -- AlterTable
6
+ ALTER TABLE "DaemonSessionTurn" ADD COLUMN "usage" JSONB;
@@ -0,0 +1,3 @@
1
+ -- AlterTable
2
+ ALTER TABLE "DaemonSession" ADD COLUMN "totalCacheCreationTokens" INTEGER NOT NULL DEFAULT 0,
3
+ ADD COLUMN "totalCacheReadTokens" INTEGER NOT NULL DEFAULT 0;
@@ -608,6 +608,19 @@ model DaemonSession {
608
608
  status String @default("active") // active | ended
609
609
  title String?
610
610
  lastTurnAt DateTime @default(now())
611
+ // Running conversation token rollup (daemon-token-usage): headline input+output totals
612
+ // across all turns that reported usage. SCALAR Int (not JSON) on purpose — maintained
613
+ // with Prisma's atomic `increment` on the terminal edge, which cannot operate inside a
614
+ // Json column. Cache totals are NOT rolled up here (the header derives its conditional
615
+ // cache line from the per-turn `usage` of loaded turns). Default 0 so an existing session
616
+ // reads a valid zero total with no backfill.
617
+ totalInputTokens Int @default(0)
618
+ totalOutputTokens Int @default(0)
619
+ // Whole-session cache rollup (daemon-token-usage): so the header badge's tooltip can show
620
+ // cache read/write at the SAME whole-session scope as its in+out face (not loaded-turns
621
+ // scope). Scalar Int for the same atomic-increment reason as the in/out rollup.
622
+ totalCacheReadTokens Int @default(0)
623
+ totalCacheCreationTokens Int @default(0)
611
624
  createdAt DateTime @default(now())
612
625
  updatedAt DateTime @updatedAt
613
626
  turns DaemonSessionTurn[]
@@ -637,6 +650,20 @@ model DaemonSessionTurn {
637
650
  // `interrupted` (resumable), a turn's `interrupted` is TERMINAL — it is durable
638
651
  // conversation history, never resumed or auto-retried.
639
652
  interruptedReason String?
653
+ // Transcript-relay failure annotation (fix #444 follow-up). Non-null when the daemon
654
+ // KNEW the turn's transcript upload finally failed (retry exhausted / non-2xx / network)
655
+ // even though the wake itself exited cleanly — the reply WAS produced but never reached
656
+ // Chorus. Orthogonal to `status`: the turn is still a clean `ended`; this only records
657
+ // WHY its transcript is missing so the UI can say "reply couldn't be uploaded (reason)"
658
+ // instead of the misleading "no reply received". Null on a successful/skipped upload.
659
+ relayError String?
660
+ // Per-turn token usage (daemon-token-usage) — the whole normalized TokenUsage object
661
+ // ({ inputTokens, outputTokens, cacheCreationTokens, cacheReadTokens, model, source },
662
+ // all nullable except source) stored as ONE JSON blob (human instruction: one JSON, not a
663
+ // field per number). Null when the backend reported none (pre-feature turns, silent turns,
664
+ // or backends that can't report). Written on the terminal edge only, verbatim from the
665
+ // authoritative Claude Code `result` envelope. Cost is intentionally NOT included this slice.
666
+ usage Json?
640
667
  // Weak ref to the live DaemonExecution row this turn corresponds to (no DB FK;
641
668
  // execution rows are reconciled/transient).
642
669
  executionUuid String?
@@ -730,6 +757,28 @@ model NotificationPreference {
730
757
  @@index([companyUuid])
731
758
  }
732
759
 
760
+ // Per-user project quick-access state: recency + pin. One row per (user, project).
761
+ // User-only surface (agents never render the sidebar), so keyed on userUuid rather
762
+ // than the polymorphic ownerType/ownerUuid pair NotificationPreference uses.
763
+ // Mirrors the NotificationPreference convention: scalar companyUuid only, no
764
+ // `company Company @relation` field (relationMode = "prisma", app-level scoping).
765
+ model ProjectVisit {
766
+ id Int @id @default(autoincrement())
767
+ uuid String @unique @default(uuid())
768
+ companyUuid String
769
+ userUuid String
770
+ projectUuid String
771
+ lastVisitedAt DateTime @default(now()) // updated on every project-page entry
772
+ pinnedAt DateTime? // non-null = pinned; ordering key for the pinned list
773
+ createdAt DateTime @default(now())
774
+ updatedAt DateTime @updatedAt
775
+
776
+ @@unique([userUuid, projectUuid])
777
+ @@index([companyUuid])
778
+ @@index([userUuid, pinnedAt])
779
+ @@index([userUuid, lastVisitedAt])
780
+ }
781
+
733
782
  // Mention (tracks @mentions in comments, tasks, ideas)
734
783
  model Mention {
735
784
  id Int @id @default(autoincrement())
@@ -1 +0,0 @@
1
- "use strict";exports.id=1173,exports.ids=[1173],exports.modules={2852:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(10837);c(21968);var e=c(13277),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.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",a),...b})}},7086:(a,b,c)=>{function d(a,b){return!!a&&!!b&&("user"===a.type?"user"===b.type&&a.uuid===b.uuid:"agent"===a.type?"agent"===b.type&&a.uuid===b.uuid:"agent_instance"===a.type&&"agent"===b.type&&!!a.agentUuid&&a.agentUuid===b.uuid)}function e(a){return!!a&&("agent"===a.type||"agent_instance"===a.type)}c.d(b,{RU:()=>d,bB:()=>e})},10297:(a,b,c)=>{c.d(b,{G7:()=>i,L$:()=>l,h_:()=>m,oI:()=>j,uB:()=>h,xL:()=>k});var d=c(10837);c(21968);var e=c(28918),f=c(75888),g=c(96307);function h({className:a,...b}){return(0,d.jsx)(e.uB,{"data-slot":"command",className:(0,g.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...b})}function i({className:a,...b}){return(0,d.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,d.jsx)(f.A,{className:"size-4 shrink-0 opacity-50"}),(0,d.jsx)(e.uB.Input,{"data-slot":"command-input",className:(0,g.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",a),...b})]})}function j({className:a,...b}){return(0,d.jsx)(e.uB.List,{"data-slot":"command-list",className:(0,g.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",a),...b})}function k({...a}){return(0,d.jsx)(e.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...a})}function l({className:a,...b}){return(0,d.jsx)(e.uB.Group,{"data-slot":"command-group",className:(0,g.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",a),...b})}function m({className:a,...b}){return(0,d.jsx)(e.uB.Item,{"data-slot":"command-item",className:(0,g.cn)("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",a),...b})}},26078:(a,b,c)=>{c.d(b,{RU:()=>h,s8:()=>g});let d={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]},e=["read","write","admin"],f=new Set(["idea","proposal","document","task","project"].flatMap(a=>e.map(b=>`${a}:${b}`)));function g(a){return f.has(a)}function h(a,b){let c=new Set;if(a)for(let b of a){let a=d[b.endsWith("_agent")?b:`${b}_agent`];if(a)for(let b of a)c.add(b)}if(b)for(let a of b)g(a)&&c.add(a);return c}},28774:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A8:()=>q,CG:()=>o,Iq:()=>n,RB:()=>l,Sn:()=>i,d5:()=>m,ic:()=>p,tN:()=>k,x4:()=>j});var e=c(71255),f=c(77219),g=c(26078),h=a([e,f]);async function i({companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,permissions:h}){return e.z.agent.create({data:{companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,...void 0!==h&&{permissions:h}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,createdAt:!0}})}async function j(a,b,c){if(c&&!await e.z.agent.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0}}))throw Error("Agent not found");return e.z.agent.update({where:{uuid:a},data:b,select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,lastActiveAt:!0,createdAt:!0}})}async function k(a,b){return e.z.apiKey.updateMany({where:{agentUuid:a,revokedAt:null},data:{name:b}})}async function l(a){return e.z.agent.delete({where:{uuid:a}})}async function m(a,b,c,d){let f={companyUuid:a,revokedAt:null,...d&&{agent:{ownerUuid:d}}},[g,h]=await Promise.all([e.z.apiKey.findMany({where:f,skip:b,take:c,orderBy:{createdAt:"desc"},include:{agent:{select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0}}}}),e.z.apiKey.count({where:f})]);return{apiKeys:g,total:h}}async function n({companyUuid:a,agentUuid:b,name:c,expiresAt:d}){let{key:g,hash:h,prefix:i}=(0,f.XH)();return{...await e.z.apiKey.create({data:{companyUuid:a,agentUuid:b,keyHash:h,keyPrefix:i,name:c,expiresAt:d},select:{uuid:!0,keyPrefix:!0,name:!0,expiresAt:!0,createdAt:!0}}),key:g}}async function o(a,b,c){return e.z.apiKey.findFirst({where:{uuid:b,companyUuid:a,...c&&{agent:{ownerUuid:c}}},select:{uuid:!0,agentUuid:!0,revokedAt:!0}})}async function p(a,b,c){return(await e.z.agent.findMany({where:{companyUuid:a,...c&&{ownerUuid:c}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,ownerUuid:!0},orderBy:{name:"asc"}})).filter(a=>(0,g.RU)(a.roles,a.permissions).has(b)).map(({uuid:a,name:b,roles:c,ownerUuid:d})=>({uuid:a,name:b,roles:c,ownerUuid:d}))}async function q(a){return e.z.user.findMany({where:{companyUuid:a},select:{uuid:!0,name:!0,email:!0},orderBy:{name:"asc"}})}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},41055:(a,b,c)=>{c.d(b,{ReferencesSection:()=>C});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(59876),i=c(35312),j=c(87461),k=c(86460),l=c(79543),m=c(92900),n=c(49599),o=c(42424),p=c(9994),q=c(2852),r=c(20170),s=c(11568),t=c(55732),u=c(6019),v=c(69050),w=c(42377);let x=(0,w.createServerReference)("40a3be0e8df8105be8e95ce2817f37df569258c449",w.callServer,void 0,w.findSourceMapURL,"updateReferenceAction"),y=(0,w.createServerReference)("40437b7a932280e774aa74a05bf1adb8ccbdeeb213",w.callServer,void 0,w.findSourceMapURL,"createReferenceAction"),z=(0,w.createServerReference)("404a62707a781921fafbd2a52756250160b5bc1806",w.callServer,void 0,w.findSourceMapURL,"deleteReferenceAction");var A=c(46398),B=c(61206);function C({targetType:a,targetUuid:b,canWrite:c,initialReferences:w,compact:C=!1}){let D=(0,g.c)(),E=(0,f.r)(),[F,G]=(0,e.useState)(w??[]),[H,I]=(0,e.useState)(void 0!==w),[J,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(null),[N,O]=(0,e.useState)("docs"),[P,Q]=(0,e.useState)(""),[R,S]=(0,e.useState)(""),[T,U]=(0,e.useState)(""),[V,W]=(0,e.useState)(null),[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(null),_=(0,e.useCallback)(async()=>{let c=await (0,v.j)(a,b);c.success&&G(c.references),I(!0)},[a,b]),aa=async()=>{if(!P.trim())return void W(D("references.urlRequired"));if(!R.trim())return void W(D("references.titleRequired"));Y(!0),W(null);let c=T.trim()?T.trim():null,d=L?await x({uuid:L.uuid,type:N,url:P.trim(),title:R.trim(),notes:c}):await y({targetType:a,targetUuid:b,type:N,url:P.trim(),title:R.trim(),notes:c});Y(!1),d.success?(K(!1),await _(),E.refresh()):W(d.error||(L?D("references.updateFailed"):D("references.addFailed")))},ab=async a=>{$(a);let b=await z(a);$(null),b.success&&(await _(),E.refresh())};return(0,d.jsxs)("div",{className:C?"space-y-2":"space-y-2.5",children:[0===F.length?(0,d.jsx)("p",{className:"text-sm italic text-muted-foreground",children:H?D("references.empty"):D("references.loading")}):(0,d.jsx)("div",{className:"space-y-2",children:F.map(a=>{let b=(0,A.N2)(a.type)?A.qQ[a.type]:null,e=b?.icon??h.A;return(0,d.jsx)("div",{className:"group rounded-lg border border-border bg-background p-3",children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"mb-1 flex items-center gap-2",children:(0,d.jsxs)(n.E,{className:`gap-1 border-0 text-[10px] font-medium ${b?.badgeClass??"bg-secondary text-muted-foreground"}`,children:[(0,d.jsx)(e,{className:"h-3 w-3"}),b?D(b.labelKey):a.type]})}),(0,d.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",title:a.title,className:"flex min-w-0 items-center gap-1 text-sm font-medium text-primary hover:underline",children:[(0,d.jsx)("span",{className:"truncate",children:a.title}),(0,d.jsx)(i.A,{className:"h-3 w-3 shrink-0"})]}),(0,d.jsx)(B.L,{notes:a.notes})]}),c&&(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5 transition-opacity md:opacity-0 md:group-hover:opacity-100 md:focus-within:opacity-100",children:[(0,d.jsx)(o.$,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>{M(a),O(a.type),Q(a.url),S(a.title),U(a.notes??""),W(null),K(!0)},"aria-label":D("references.editReference"),children:(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 text-muted-foreground"})}),(0,d.jsxs)(u.Lt,{children:[(0,d.jsx)(u.tv,{asChild:!0,children:(0,d.jsx)(o.$,{variant:"ghost",size:"icon",className:"h-7 w-7","aria-label":D("references.deleteReference"),children:Z===a.uuid?(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 animate-spin text-muted-foreground"}):(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 text-destructive"})})}),(0,d.jsxs)(u.EO,{children:[(0,d.jsxs)(u.wd,{children:[(0,d.jsx)(u.r7,{children:D("references.deleteReference")}),(0,d.jsx)(u.$v,{children:D("references.deleteConfirm",{title:a.title})})]}),(0,d.jsxs)(u.ck,{children:[(0,d.jsx)(u.Zr,{children:D("common.cancel")}),(0,d.jsx)(u.Rx,{variant:"destructive",onClick:()=>ab(a.uuid),children:D("common.delete")})]})]})]})]})]})},a.uuid)})}),c&&(0,d.jsxs)(o.$,{variant:"outline",size:"sm",className:"h-8 w-full gap-1.5 border-border border-dashed text-xs text-muted-foreground",onClick:()=>{M(null),O("docs"),Q(""),S(""),U(""),W(null),K(!0)},children:[(0,d.jsx)(m.A,{className:"h-3.5 w-3.5"}),D("references.addReference")]}),(0,d.jsx)(s.lG,{open:J,onOpenChange:K,children:(0,d.jsxs)(s.Cf,{className:"sm:max-w-[480px]",children:[(0,d.jsx)(s.c7,{children:(0,d.jsx)(s.L3,{children:L?D("references.editReference"):D("references.addReference")})}),(0,d.jsxs)("div",{className:"space-y-4 py-2",children:[V&&(0,d.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:V}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(q.J,{htmlFor:"ref-type",className:"text-[13px] font-medium text-foreground",children:D("references.typeLabel")}),(0,d.jsxs)(t.l6,{value:N,onValueChange:O,children:[(0,d.jsx)(t.bq,{id:"ref-type",className:"border-border focus:ring-primary",children:(0,d.jsx)(t.yv,{})}),(0,d.jsx)(t.gC,{children:A.mP.map(a=>(0,d.jsx)(t.eb,{value:a,children:D(A.qQ[a].labelKey)},a))})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)(q.J,{htmlFor:"ref-url",className:"text-[13px] font-medium text-foreground",children:[D("references.urlLabel")," *"]}),(0,d.jsx)(p.p,{id:"ref-url",value:P,onChange:a=>Q(a.target.value),placeholder:D("references.urlPlaceholder"),className:"border-border focus-visible:ring-primary",autoFocus:!0})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)(q.J,{htmlFor:"ref-title",className:"text-[13px] font-medium text-foreground",children:[D("references.titleLabel")," *"]}),(0,d.jsx)(p.p,{id:"ref-title",value:R,onChange:a=>S(a.target.value),placeholder:D("references.titlePlaceholder"),className:"border-border focus-visible:ring-primary"})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(q.J,{htmlFor:"ref-notes",className:"text-[13px] font-medium text-foreground",children:D("references.notesLabel")}),(0,d.jsx)(r.T,{id:"ref-notes",value:T,onChange:a=>U(a.target.value),placeholder:D("references.notesPlaceholder"),rows:3,className:"resize-none border-border focus-visible:ring-primary"})]})]}),(0,d.jsxs)(s.Es,{children:[(0,d.jsx)(o.$,{variant:"outline",onClick:()=>K(!1),disabled:X,className:"border-border",children:D("common.cancel")}),(0,d.jsx)(o.$,{onClick:aa,disabled:X||!P.trim()||!R.trim(),className:"bg-primary hover:bg-primary/90 text-primary-foreground",children:X?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(k.A,{className:"mr-2 h-4 w-4 animate-spin"}),D("common.saving")]}):L?D("common.save"):D("references.add")})]})]})})]})}},46398:(a,b,c)=>{c.d(b,{N2:()=>j,mP:()=>h,qQ:()=>i});var d=c(84797),e=c(97731),f=c(40260),g=c(96101);let h=["docs","repo","issue_pr","paper_blog"],i={docs:{labelKey:"references.typeDocs",badgeClass:"bg-blue-50 text-blue-700 dark:bg-[#13253a] dark:text-[#5AA9F0]",icon:d.A},repo:{labelKey:"references.typeRepo",badgeClass:"bg-green-50 text-green-700 dark:bg-[#14281a] dark:text-[#6FD19A]",icon:e.A},issue_pr:{labelKey:"references.typeIssuePr",badgeClass:"bg-purple-50 text-purple-700 dark:bg-[#281630] dark:text-[#C98FE0]",icon:f.A},paper_blog:{labelKey:"references.typePaperBlog",badgeClass:"bg-amber-50 text-amber-700 dark:bg-[#332a12] dark:text-[#E0B44E]",icon:g.A}};function j(a){return h.includes(a)}},52178:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Y9:()=>l,bv:()=>n,jD:()=>k,t1:()=>m});var e=c(2613);c(50785);var f=c(9259),g=c(52768),h=c(97307),i=c(12217),j=a([f,g]);[f,g]=j.then?(await j)():j;let o=g.Sy;async function k(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"unauthorized"};if(!o.includes(a))return{success:!1,error:`Invalid target type: ${a}`};try{let d=await (0,g.Xo)({companyUuid:c.companyUuid,targetType:a,targetUuid:b});return{success:!0,references:d}}catch(c){return h.default.error({err:c,targetType:a,targetUuid:b},"Failed to list references"),{success:!1,error:"Failed to load references"}}}async function l(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"unauthorized"};if(!o.includes(a.targetType))return{success:!1,error:`Invalid target type: ${a.targetType}`};try{let c=await (0,g.kA)({companyUuid:b.companyUuid,targetType:a.targetType,targetUuid:a.targetUuid,type:a.type,url:a.url,title:a.title,notes:a.notes??null,createdByType:"user",createdByUuid:b.actorUuid});return{success:!0,reference:c}}catch(b){h.default.error({err:b},"Failed to create reference");let a=b instanceof Error?b.message:"Failed to add reference";return{success:!1,error:a}}}async function m(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"unauthorized"};try{let c=await (0,g.Xp)(b.companyUuid,a.uuid,{...void 0!==a.type?{type:a.type}:{},...void 0!==a.url?{url:a.url}:{},...void 0!==a.title?{title:a.title}:{},...void 0!==a.notes?{notes:a.notes}:{}});return{success:!0,reference:c}}catch(c){h.default.error({err:c,uuid:a.uuid},"Failed to update reference");let b=c instanceof Error?c.message:"Failed to update reference";return{success:!1,error:b}}}async function n(a){let b=await (0,f.d)();if(!b)return{success:!1,error:"unauthorized"};try{return await (0,g.bA)(b.companyUuid,a),{success:!0}}catch(c){h.default.error({err:c,uuid:a},"Failed to delete reference");let b=c instanceof Error?c.message:"Failed to delete reference";return{success:!1,error:b}}}(0,i.D)([k,l,m,n]),(0,e.A)(k,"60ee00e0f81186986ceb2159c1e052bd817d18cb2a",null),(0,e.A)(l,"40437b7a932280e774aa74a05bf1adb8ccbdeeb213",null),(0,e.A)(m,"40a3be0e8df8105be8e95ce2817f37df569258c449",null),(0,e.A)(n,"404a62707a781921fafbd2a52756250160b5bc1806",null),d()}catch(a){d(a)}})},52768:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Sy:()=>u,Xo:()=>o,Xp:()=>q,bA:()=>r,kA:()=>p});var e=c(71255),f=c(92633),g=c(62729),h=c(67738),i=c(97307),j=a([e,f,h]);[e,f,h]=j.then?(await j)():j;let s=i.default.child({module:"reference-artifact.service"}),t=["docs","repo","issue_pr","paper_blog"],u=["proposal","task","idea"],v={uuid:!0,targetType:!0,targetUuid:!0,type:!0,url:!0,title:!0,notes:!0,createdByType:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0};async function k(a){let b=await (0,f.LS)(a.createdByUuid,"user"===a.createdByType||"agent"===a.createdByType?a.createdByType:void 0);return{uuid:a.uuid,targetType:a.targetType,targetUuid:a.targetUuid,type:a.type,url:a.url,title:a.title,notes:a.notes??null,createdBy:b,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}}function l(a){if(!t.includes(a))throw Error(`Invalid reference type: ${a}`)}function m(a){let b="string"==typeof a?a.trim():"";if(!b||!/^https?:\/\//i.test(b))throw Error(`Invalid reference url: ${a}`)}async function n(a,b,c){switch(b){case"proposal":{let b=await e.z.proposal.findFirst({where:{uuid:c,companyUuid:a},select:{projectUuid:!0}});if(!b)throw Error(`Target proposal with UUID ${c} not found`);return b.projectUuid}case"task":{let b=await e.z.task.findFirst({where:{uuid:c,companyUuid:a},select:{projectUuid:!0}});if(!b)throw Error(`Target task with UUID ${c} not found`);return b.projectUuid}case"idea":{let b=await e.z.idea.findFirst({where:{uuid:c,companyUuid:a},select:{projectUuid:!0}});if(!b)throw Error(`Target idea with UUID ${c} not found`);return b.projectUuid}default:throw Error(`Unsupported reference targetType: ${b}`)}}async function o({companyUuid:a,targetType:b,targetUuid:c}){let d=await e.z.referenceArtifact.findMany({where:{companyUuid:a,targetType:b,targetUuid:c},orderBy:{createdAt:"asc"},select:v});return Promise.all(d.map(a=>k(a)))}async function p(a){let{companyUuid:b,targetType:c,targetUuid:d,type:f,url:i,title:j,notes:o}=a;l(f),m(i);let p=await n(b,c,d),q=await e.z.referenceArtifact.create({data:{companyUuid:b,targetType:c,targetUuid:d,type:f,url:i,title:j,notes:o??null,createdByType:a.createdByType,createdByUuid:a.createdByUuid},select:v});try{g.B.emitChange({companyUuid:b,projectUuid:p,entityType:c,entityUuid:d,action:"updated",actorUuid:a.createdByUuid})}catch(a){s.warn({err:a,referenceUuid:q.uuid,targetType:c,targetUuid:d},"Failed to emit change event for reference artifact")}try{await h.createActivity({companyUuid:b,projectUuid:p,targetType:c,targetUuid:d,actorType:a.createdByType,actorUuid:a.createdByUuid,action:"reference_added",value:{referenceUuid:q.uuid,type:q.type,url:q.url,title:q.title}})}catch(a){s.warn({err:a,referenceUuid:q.uuid,targetType:c,targetUuid:d},"Failed to record reference_added Activity")}return k(q)}async function q(a,b,{type:c,url:d,title:f,notes:g}){if(void 0!==c&&l(c),void 0!==d&&m(d),!await e.z.referenceArtifact.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}}))throw Error(`Reference with UUID ${b} not found`);let h={};void 0!==c&&(h.type=c),void 0!==d&&(h.url=d),void 0!==f&&(h.title=f),void 0!==g&&(h.notes=g);let i=await e.z.referenceArtifact.update({where:{uuid:b},data:h,select:v});return k(i)}async function r(a,b){if(!await e.z.referenceArtifact.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}}))throw Error(`Reference with UUID ${b} not found`);await e.z.referenceArtifact.delete({where:{uuid:b}})}d()}catch(a){d(a)}})},61206:(a,b,c)=>{c.d(b,{L:()=>h});var d=c(10837),e=c(21968),f=c(9222),g=c(99127);function h({notes:a}){let b=(0,f.c)(),[c,h]=(0,e.useState)(!1),i=a?.trim();if(!i)return null;let j=(0,d.jsx)("button",{type:"button",onClick:()=>h(a=>!a),"aria-expanded":c,"aria-label":b("references.toggleNotes"),className:`mt-1 w-full cursor-pointer text-left text-xs leading-relaxed text-muted-foreground ${c?"block":"line-clamp-2"}`,children:i});return c?j:(0,d.jsx)(g.Bc,{delayDuration:200,children:(0,d.jsxs)(g.m_,{children:[(0,d.jsx)(g.k$,{asChild:!0,children:j}),(0,d.jsx)(g.ZI,{className:"max-w-xs whitespace-pre-wrap break-words",children:i})]})})}},69050:(a,b,c)=>{c.d(b,{j:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60ee00e0f81186986ceb2159c1e052bd817d18cb2a",d.callServer,void 0,d.findSourceMapURL,"listReferencesAction")},73908:(a,b,c)=>{c.d(b,{C:()=>k,K:()=>m});var d=c(10837),e=c(9222),f=c(79543),g=c(92900),h=c(42424),i=c(9994),j=c(88536);function k({items:a,onChange:b,disabled:c}){let k=(0,e.c)(),l=(c,d)=>{let e=a.slice();e[c]={...e[c],...d},b(e)};return(0,d.jsxs)("div",{className:"space-y-3",children:[a.length>0&&(0,d.jsx)("div",{className:"space-y-2",children:a.map((e,g)=>(0,d.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-[#E5E2DC] dark:border-[#2a2a2e] bg-background p-2.5",children:[(0,d.jsx)("div",{className:"flex-1 min-w-0",children:(0,d.jsx)(i.p,{value:e.description,onChange:a=>l(g,{description:a.target.value}),placeholder:k("acceptanceCriteria.criterionPlaceholder"),className:"border-[#E5E2DC] dark:border-[#2a2a2e] text-sm focus-visible:ring-primary h-8",disabled:c})}),(0,d.jsxs)("div",{className:"flex items-center gap-2 shrink-0 pt-1",children:[(0,d.jsx)(j.d,{checked:e.required,onCheckedChange:a=>l(g,{required:a}),className:"data-[state=checked]:bg-primary",disabled:c}),(0,d.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground min-w-[52px]",children:e.required?k("acceptanceCriteria.required"):k("acceptanceCriteria.optional")}),(0,d.jsx)(h.$,{variant:"outline",size:"sm",className:"h-7 w-7 p-0 border-[#E5E2DC] dark:border-[#2a2a2e] text-muted-foreground hover:text-[#D32F2F] hover:border-[#D32F2F] hover:bg-[#FFEBEE] dark:hover:bg-[#331619]",onClick:()=>{b(a.filter((a,b)=>b!==g))},disabled:c,type:"button",children:(0,d.jsx)(f.A,{className:"h-3 w-3"})})]})]},g))}),(0,d.jsxs)(h.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-[#E5E2DC] dark:border-[#2a2a2e] text-xs text-muted-foreground hover:text-primary hover:border-primary",onClick:()=>{b([...a,{description:"",required:!0}])},disabled:c,type:"button",children:[(0,d.jsx)(g.A,{className:"h-3 w-3"}),k("acceptanceCriteria.addCriterion")]})]})}function l(a){return{description:a.description.trim(),required:!!a.required}}function m(a,b){if(a.length!==b.length)return!0;for(let c=0;c<a.length;c++){let d=l(a[c]),e=l(b[c]);if(d.description!==e.description||d.required!==e.required)return!0}return!1}},74798:(a,b,c)=>{c.d(b,{W:()=>e});var d=c(21968);function e(){let[a,b]=(0,d.useState)(!1);return a}},77219:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{XH:()=>h});var e=c(55511),f=c(71255);c(97307);var g=a([f]);f=(g.then?(await g)():g)[0];let i="cho_";function h(){var a;let b=(0,e.randomBytes)(32).toString("base64url"),c=`${i}${b}`,d=(a=c,(0,e.createHash)("sha256").update(a).digest("hex")),f=`${i}${b.slice(0,4)}...${b.slice(-4)}`;return{key:c,hash:d,prefix:f}}d()}catch(a){d(a)}})},88536:(a,b,c)=>{c.d(b,{d:()=>g});var d=c(10837);c(21968);var e=c(15644),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"switch",className:(0,f.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:ring-ring/50 inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(e.Thumb,{"data-slot":"switch-thumb",className:(0,f.cn)("bg-background pointer-events-none block size-4 rounded-full ring-0 shadow-lg transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})})}},94214:(a,b,c)=>{c.d(b,{AI:()=>h,_8:()=>g});var d=c(10837);c(21968);var e=c(11568),f=c(96307);function g({open:a,onOpenChange:b,header:c,footer:g,children:h,className:i,bodyClassName:j,zIndexClassName:k="z-[110]",showCloseButton:l=!0}){return(0,d.jsx)(e.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(e.Cf,{className:(0,f.cn)("flex max-h-[85svh] flex-col gap-0 overflow-hidden p-0",k,i),overlayClassName:k,showCloseButton:l,children:[(0,d.jsx)(e.c7,{className:"shrink-0 border-b border-border px-6 py-5 text-left",children:c}),(0,d.jsx)("div",{className:(0,f.cn)("min-h-0 flex-1 overflow-y-auto px-6 py-4",j),children:h}),(0,d.jsx)(e.Es,{className:"shrink-0 border-t border-border px-6 py-5",children:g})]})})}let h=e.L3},99127:(a,b,c)=>{c.d(b,{Bc:()=>g,ZI:()=>j,k$:()=>i,m_:()=>h});var d=c(10837);c(21968);var e=c(80501),f=c(96307);function g({delayDuration:a=0,...b}){return(0,d.jsx)(e.Provider,{"data-slot":"tooltip-provider",delayDuration:a,...b})}function h({...a}){return(0,d.jsx)(e.Root,{"data-slot":"tooltip",...a})}function i({...a}){return(0,d.jsx)(e.Trigger,{"data-slot":"tooltip-trigger",...a})}function j({className:a,sideOffset:b=0,children:c,...g}){return(0,d.jsx)(e.Portal,{children:(0,d.jsxs)(e.Content,{"data-slot":"tooltip-content",sideOffset:b,className:(0,f.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",a),...g,children:[c,(0,d.jsx)(e.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=2382,exports.ids=[2382],exports.modules={8495:(a,b,c)=>{c.d(b,{S:()=>h});var d=c(10837);c(21968);var e=c(9810),f=c(25711),g=c(96307);function h({className:a,...b}){return(0,d.jsx)(f.Root,{"data-slot":"checkbox",className:(0,g.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(f.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,d.jsx)(e.A,{className:"size-3.5"})})})}},9190:(a,b,c)=>{c.d(b,{n:()=>t});var d=c(10837),e=c(21968),f=c(9222),g=c(51592),h=c(49102),i=c(21790),j=c(20447),k=c(9810),l=c(97443),m=c(81512),n=c.n(m),o=c(76172),p=c(25493),q=c(22727),r=c(77521);let s=["in_progress","to_verify","open","assigned","done","closed"];function t({tasks:a,projectUuid:b,proposalUuids:c,onSelectTask:m}){let t=(0,f.c)("ideaTracker"),[u,v]=(0,e.useState)({}),w=(0,e.useMemo)(()=>a.map(a=>a.uuid),[a]),x=(0,e.useCallback)(async()=>{if(0===w.length)return;let a=await (0,p.h)(w);a.success&&a.data&&v(a.data)},[w]);(0,o.eV)("task",x);let y=(0,e.useMemo)(()=>{let b=[];for(let c of s){let d=a.filter(a=>a.status===c);d.length>0&&b.push({status:c,tasks:d})}let c=new Set(s),d=a.filter(a=>!c.has(a.status));return d.length>0&&b.push({status:"other",tasks:d}),b},[a]),[z,A]=(0,e.useState)(new Set),B=(0,e.useMemo)(()=>{let b=a.length,c=a.filter(a=>"done"===a.status||"closed"===a.status).length,d=0,e=0,f=0,g=0;for(let b of a)b.acceptanceSummary&&(d+=b.acceptanceSummary.total,e+=b.acceptanceSummary.passed,f+=b.acceptanceSummary.required,g+=b.acceptanceSummary.requiredPassed);return{total:b,done:c,acTotal:d,acPassed:e,acRequired:f,acRequiredPassed:g}},[a]);return 0===a.length?(0,d.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-center",children:[(0,d.jsx)(g.A,{className:"h-8 w-8 text-muted-foreground"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:t("panel.taskList.noTasks")})]}):(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-lg bg-[#FAFAF7] dark:bg-[#1e1e1c] px-3 py-2",children:[(0,d.jsx)("span",{className:"text-[12px] text-muted-foreground",children:t("panel.taskList.summary",{done:B.done,total:B.total})}),B.acTotal>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-[12px] text-muted-foreground",children:"\xb7"}),(0,d.jsx)("span",{className:"text-[12px] text-muted-foreground",children:t("panel.taskList.acSummary",{passed:B.acRequiredPassed,total:B.acRequired})})]}),c.length>0&&(0,d.jsxs)(n(),{href:`/projects/${b}/tasks?proposalUuids=${c.join(",")}`,className:"ml-auto flex items-center gap-1 text-[13px] font-medium text-primary shrink-0",children:[t("panel.taskList.viewKanban"),(0,d.jsx)(h.A,{className:"h-3.5 w-3.5"})]})]}),y.map(a=>{let b=z.has(a.status);return(0,d.jsxs)("div",{children:[(0,d.jsxs)("button",{onClick:()=>{var b;return b=a.status,void A(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:"flex items-center gap-2 w-full text-left py-1.5 group cursor-pointer",children:[b?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 text-muted-foreground"}):(0,d.jsx)(i.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,d.jsx)("span",{className:`h-2 w-2 rounded-full shrink-0 ${(0,r.eT)(a.status)}`}),(0,d.jsx)("span",{className:"text-[13px] font-medium text-foreground",children:function(a,b){switch(a){case"in_progress":return b("panel.taskList.inProgress");case"to_verify":return b("panel.taskList.toVerify");case"open":return b("panel.taskList.open");case"assigned":return b("panel.taskList.assigned");case"done":return b("panel.taskList.done");case"closed":return b("panel.taskList.closed");default:return a}}(a.status,t)}),(0,d.jsx)("span",{className:"text-[11px] text-muted-foreground ml-auto",children:a.tasks.length})]}),!b&&(0,d.jsx)("div",{className:"ml-3 space-y-0.5",children:a.tasks.map(a=>{let b=u[a.uuid]||0,c=a.acceptanceSummary;return(0,d.jsx)(q.D,{entityType:"task",entityUuid:a.uuid,badgeInside:!0,children:(0,d.jsxs)("button",{onClick:()=>m(a.uuid),className:"flex items-center gap-2 w-full text-left rounded-md px-2.5 py-2 hover:bg-secondary transition-colors group cursor-pointer",children:[(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0 group-hover:text-primary"}),(0,d.jsx)("span",{className:`h-1.5 w-1.5 rounded-full shrink-0 ${(0,r.eT)(a.status)}`}),(0,d.jsx)("span",{className:"flex-1 text-[13px] text-foreground truncate group-hover:text-primary",children:a.title}),c&&c.total>0&&(0,d.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 rounded-full bg-[#F0EDE8] dark:bg-[#1f1e1c] px-1.5 py-0.5 text-[10px] text-muted-foreground",children:[(0,d.jsx)(k.A,{className:"h-2.5 w-2.5"}),c.requiredPassed,"/",c.required]}),a.assignee&&(0,d.jsxs)("span",{className:"shrink-0 inline-flex items-center gap-1 text-[10px] text-muted-foreground max-w-[72px] truncate",title:a.assignee.name,children:[(0,d.jsx)(l.A,{className:"h-2.5 w-2.5 shrink-0"}),a.assignee.name.split(/[@\s]/)[0]]}),b>0&&(0,d.jsx)("span",{className:"inline-flex items-center justify-center h-4 min-w-[16px] rounded-full bg-[#E8F5E9] dark:bg-[#14281a] text-[#2E7D32] dark:text-[#5FD07E] text-[9px] font-semibold shrink-0",title:t("panel.taskList.workersActive",{count:b}),children:b})]})},a.uuid)})})]},a.status)})]})}},17068:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{x:()=>k});var e=c(10837),f=c(21968),g=c(9222),h=c(40467),i=c(56828),j=a([i]);function k({ideaUuid:a,currentUserUuid:b,commentCount:c,onCommentCountChange:d}){let j=(0,g.c)("ideaTracker"),[k,l]=(0,f.useState)("comments");return(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("div",{className:"flex gap-1 rounded-lg bg-secondary p-0.5",children:[(0,e.jsxs)("button",{onClick:()=>l("comments"),className:`flex-1 rounded-md px-3 py-1.5 text-[13px] font-medium transition-colors flex items-center justify-center gap-1.5 cursor-pointer ${"comments"===k?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-muted-foreground"}`,children:[j("panel.activityTab.comments"),c>0&&(0,e.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-secondary text-muted-foreground text-[10px] font-semibold leading-none",children:c})]}),(0,e.jsx)("button",{onClick:()=>l("activity"),className:`flex-1 rounded-md px-3 py-1.5 text-[13px] font-medium transition-colors cursor-pointer ${"activity"===k?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-muted-foreground"}`,children:j("panel.activityTab.activity")})]}),(0,e.jsx)("div",{children:"activity"===k?(0,e.jsx)(h.v,{ideaUuid:a}):(0,e.jsx)(i.$m,{targetType:"idea",targetUuid:a,currentUserUuid:b,onCountChange:d,compact:!0})})]})}i=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},32382:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{D:()=>ag});var e=c(10837),f=c(21968),g=c(9222),h=c(68884),i=c(76549),j=c(33291),k=c(24364),l=c(87461),m=c(10694),n=c(86460),o=c(53109),p=c(74733),q=c(59876),r=c(98893),s=c(79543),t=c(42424),u=c(74645),v=c(49599),w=c(9994),x=c(20170),y=c(2852),z=c(88536),A=c(6019),B=c(76172),C=c(84722),D=c(64370),E=c(75574),F=c(66253),G=c(9190),H=c(17068),I=c(86104),J=c(98310),K=c(79269),L=c(66372),M=c(44963),N=c(29982),O=c(71370),P=c(42484),Q=c(79110),R=c(39242),S=c(51244),T=c(47058),U=c(48122),V=c(5181),W=c(26402),X=c(16554),Y=c(8828),Z=c(41055),$=c(76799),_=c(77078),aa=c(38618),ab=c(54722),ac=c(76664),ad=c(77521),ae=c(79030),af=a([C,D,H,I,J,M]);function ag({ideaUuid:a,projectUuid:b,currentUserUuid:c,onClose:d,onNavigate:af}){let ag=(0,g.c)(),ah=(0,g.c)("ideaTracker"),ai=(0,g.c)("status"),aj=(0,g.c)("ideaTracker.lineage"),ak=(0,h.r)(),[al,am]=(0,f.useState)(null),[an,ao]=(0,f.useState)(!0),[ap,aq]=(0,f.useState)(null),[ar,as]=(0,f.useState)([]),[at,au]=(0,f.useState)([]),[av,aw]=(0,f.useState)("overview"),[ax,ay]=(0,f.useState)(new Set(["overview"])),[az,aA]=(0,f.useState)(!1),[aB,aC]=(0,f.useState)(0),[aD,aE]=(0,f.useState)(!1),[aF,aG]=(0,f.useState)(!1),[aH,aI]=(0,f.useState)(null),[aJ,aK]=(0,f.useState)(!0),[aL,aM]=(0,f.useState)(!1),[aN,aO]=(0,f.useState)(null),[aP,aQ]=(0,f.useState)(!1),{start:aR,pickerState:aS,confirmPick:aT,cancelPick:aU,isResolving:aV}=(0,$.E)({reassignNoWake:aa.U}),[aW,aX]=(0,f.useState)(!1),[aY,aZ]=(0,f.useState)(""),[a$,a_]=(0,f.useState)(""),[a0,a1]=(0,f.useState)(!1),[a2,a3]=(0,f.useState)(null),[a4,a5]=(0,f.useState)(!1),[a6,a7]=(0,f.useState)(!1),[a8,a9]=(0,f.useState)(!1),[ba,bb]=(0,f.useState)(!1),[bc,bd]=(0,f.useState)(null),[be,bf]=(0,f.useState)(null),[bg,bh]=(0,f.useState)(null),bi=(0,f.useCallback)(a=>{bh(null),bd(a)},[]),bj=(0,f.useCallback)(a=>{bd(null),bf(null),bh(a)},[]),[bk,bl]=(0,f.useState)(!1),[bm,bn]=(0,f.useState)(!1),bo=(0,f.useCallback)(a=>{let b=new URLSearchParams(window.location.search);b.set("tab",a),window.history.replaceState(null,"",`${window.location.pathname}?${b.toString()}`)},[]),bp=(0,f.useCallback)(async()=>{try{let b=await (0,P.c)(a);b.success?(am(b.data),aq(null)):aq(ah("Not found"===b.error?"panel.notFound":"panel.loadFailed"))}catch{aq(ah("panel.loadFailed"))}finally{ao(!1)}},[a,ah]);(0,B.eV)("idea",bp),(0,B.eV)("proposal",bp),(0,B.eV)("task",bp);let bq=al?.uuid,br=al?.status,bs=(0,f.useCallback)(async()=>{if(!bq||"open"===br)return void as([]);try{let a=await (0,Q.U)(b,bq);a.success&&as(a.data)}catch(a){ab.q.error("Failed to fetch proposals:",a)}},[b,bq,br]);(0,B.eV)("proposal",bs);let bt=(0,f.useCallback)(async()=>{let a=ar.filter(a=>"approved"===a.status);if(0===a.length)return void au([]);try{let c=(await Promise.all(a.map(a=>(0,R.c)(b,a.uuid)))).flatMap(a=>a.success&&a.data?a.data.map(a=>({uuid:a.uuid,title:a.title,status:a.status,commentCount:a.commentCount??0,assignee:a.assignee??null,acceptanceSummary:a.acceptanceSummary??null})):[]);au(c)}catch(a){ab.q.error("Failed to fetch tasks:",a)}},[b,ar]);(0,B.eV)("task",bt);let bu=(0,f.useCallback)(async()=>{if(!bq)return;let a=await (0,T.z)(bq);a.success&&a.data&&aI(a.data),aK(!1)},[bq]);(0,B.eV)("idea",bu);let bv=(0,f.useMemo)(()=>al?function(a,b,c){let d=["overview"];return d.push("elaboration"),b.length>0&&d.push("proposal"),c.length>0&&d.push("tasks"),d.push("activity"),d}(0,ar,at):["overview","activity"],[al,ar,at]);(0,f.useRef)(null),al&&al.badgeHint;let bw=(0,f.useMemo)(()=>at.filter(a=>"in_progress"===a.status||"assigned"===a.status||"to_verify"===a.status).length,[at]),bx=(0,f.useCallback)(()=>{if(!bc)return void bf(null);(0,S.Q)(bc).then(a=>{a.success&&bf(a.data)}).catch(a=>ab.q.error("Failed to load task details:",a))},[bc]);(0,B.eV)("task",bx);let by=()=>{aX(!1),aZ(al?.title||""),a_(al?.content||""),a3(null)},bz=async()=>{if(!al||!aY.trim())return void a3(ag("ideas.titleRequired"));a1(!0),a3(null);let a=await (0,N.J)({ideaUuid:al.uuid,projectUuid:b,title:aY.trim(),content:a$.trim()||null});a1(!1),a.success?(aX(!1),await bp(),ak.refresh()):a3(a.error||ag("ideas.updateFailed"))},bA=async()=>{if(!al)return;aG(!0);let a=await (0,O.Z)(al.uuid,b);aG(!1),a.success&&(d(),ak.refresh())},bB=async()=>{if(!al)return;aM(!0),aO(null);let a=await (0,U.e)(al.uuid);aM(!1),a.success?(aQ(!0),await bp(),ak.refresh()):aO(a.error||ag("elaboration.verifyFailed"))},bC=async a=>{if(!al)return;a5(!0),am({...al,isContainer:a});let c=await (0,N.J)({ideaUuid:al.uuid,projectUuid:b,title:al.title,content:al.content??null,isContainer:a});a5(!1),c.success?(await bp(),ak.refresh()):(am({...al,isContainer:!a}),i.oR.error(c.error||ag("ideas.updateFailed")))},bD=al?.derivedStatus||"todo",bE=al?.isContainer===!0,bF=!!al&&"elaborated"!==al.status,bG=(0,W.o)({ideaStatus:al?.status,elaborationStatus:al?.elaborationStatus,elaboration:aH});return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:d}),(0,e.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 border-l border-border bg-card shadow-xl ${bm?"":"animate-in slide-in-from-right duration-300"}`,children:[(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-secondary px-6 py-5",children:[(0,e.jsx)("div",{className:"flex-1 min-w-0",children:an?(0,e.jsx)("div",{className:"h-5 w-40 animate-pulse rounded bg-secondary"}):al?aW?(0,e.jsx)("h2",{className:"text-base font-semibold text-foreground",children:ag("ideas.editIdea")}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("span",{className:`text-[11px] font-semibold uppercase tracking-wider ${bE?"text-primary":"text-muted-foreground"}`,children:bE?aj("typeTheme"):aj("typeIdea")}),(0,e.jsx)("h2",{className:"text-base font-semibold text-foreground truncate",children:al.title}),(0,e.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,e.jsx)(v.E,{className:ad._5[bD]||ad._5.todo,children:al.badgeHint?ah(`badge.${ad.Wl[al.badgeHint]||"open"}`):ai(ad.Bj[bD]||"todo")}),bE&&al.childProgress&&al.childProgress.total>0&&(0,e.jsxs)("span",{className:"flex items-center gap-1 text-xs font-medium text-primary",title:aj("childrenDone",{done:al.childProgress.done,total:al.childProgress.total}),children:[(0,e.jsx)(ae.C,{done:al.childProgress.done,total:al.childProgress.total,size:13,stroke:2}),al.childProgress.done,"/",al.childProgress.total]}),(0,e.jsx)("span",{className:"text-xs text-muted-foreground",children:(0,ac.r)(al.createdAt)})]})]}):(0,e.jsx)("h2",{className:"text-base font-semibold text-foreground",children:ah("panel.notFound")})}),(0,e.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[al&&!aW&&(0,e.jsxs)(t.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-border px-2.5",onClick:()=>bb(!0),title:aj("deriveIdea"),"aria-label":aj("deriveIdea"),children:[(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-primary"}),(0,e.jsx)("span",{className:"text-[12px] font-medium text-primary",children:aj("derive")})]}),al&&!aW&&(0,e.jsx)(t.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:()=>a7(!0),title:ag("ideas.actions.move"),"aria-label":ag("ideas.actions.move"),children:(0,e.jsx)(k.A,{className:"h-4 w-4 text-muted-foreground"})}),al&&"elaborated"!==al.status&&!aW&&(0,e.jsx)(t.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:()=>{al&&(aZ(al.title),a_(al.content||""),a3(null),aX(!0))},title:ag("ideas.editIdea"),children:(0,e.jsx)(l.A,{className:"h-4 w-4 text-muted-foreground"})}),(0,e.jsx)(t.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-border",onClick:aW?by:d,children:(0,e.jsx)(m.A,{className:"h-4 w-4 text-muted-foreground"})})]})]}),al&&!an&&!aW&&(0,e.jsx)("div",{className:"border-b border-secondary px-6",children:(0,e.jsx)("div",{className:"flex gap-0 -mb-px",children:bv.map(a=>(0,e.jsxs)("button",{onClick:()=>{aw(a),aA(!0),ay(b=>new Set([...b,a])),bo(a)},className:`relative flex items-center gap-1.5 px-3 py-2.5 text-[13px] font-medium transition-colors cursor-pointer ${av===a?"text-primary border-b-2 border-primary":"text-muted-foreground hover:text-muted-foreground"}`,children:[ah(`panel.tabs.${a}`),"tasks"===a&&bw>0&&(0,e.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-[#E3F2FD] dark:bg-[#13253a] text-[#1976D2] dark:text-[#5AA9F0] text-[10px] font-semibold leading-none",children:bw}),"activity"===a&&aB>0&&(0,e.jsx)("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-secondary text-muted-foreground text-[10px] font-semibold leading-none",children:aB})]},a))})}),(0,e.jsx)(u.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,e.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:an?(0,e.jsxs)("div",{className:"flex flex-1 items-center justify-center py-12",children:[(0,e.jsx)(n.A,{className:"h-6 w-6 animate-spin text-primary"}),(0,e.jsx)("span",{className:"ml-2 text-sm text-muted-foreground",children:ah("loading")})]}):ap?(0,e.jsx)("div",{className:"flex flex-1 items-center justify-center py-12",children:(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:ap})}):al?aW?(0,e.jsxs)("div",{className:"space-y-5",children:[a2&&(0,e.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:a2}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(y.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-foreground",children:ag("ideas.titleLabel")}),(0,e.jsx)(w.p,{id:"edit-title",value:aY,onChange:a=>aZ(a.target.value),className:"border-border text-sm focus-visible:ring-primary",autoFocus:!0})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(y.J,{htmlFor:"edit-content",className:"text-[13px] font-medium text-foreground",children:ag("common.content")}),(0,e.jsx)(x.T,{id:"edit-content",value:a$,onChange:a=>a_(a.target.value),rows:8,className:"border-border text-sm resize-none focus-visible:ring-primary"})]})]}):(0,e.jsxs)(e.Fragment,{children:[ax.has("overview")&&(0,e.jsxs)("div",{style:{display:"overview"===av?"block":"none"},children:[(0,e.jsxs)("div",{className:"mb-5 flex items-start justify-between gap-3 rounded-lg border border-[#EFEBE3] dark:border-[#2a2a2e] bg-background px-3.5 py-3",children:[(0,e.jsxs)("div",{className:"min-w-0 space-y-0.5",children:[(0,e.jsxs)(y.J,{htmlFor:"container-toggle",className:"flex items-center gap-1.5 text-[13px] font-medium text-foreground",children:[(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-primary","aria-hidden":!0}),aj("container")]}),(0,e.jsx)("p",{className:"text-[11px] leading-relaxed text-muted-foreground",children:aj("containerDescription")})]}),(0,e.jsx)(z.d,{id:"container-toggle",checked:bE,disabled:a4,onCheckedChange:bC,"aria-label":aj("makeContainer")})]}),(0,e.jsx)(E.p,{idea:al,proposals:ar,tasks:at,onSelectTask:bi}),(0,e.jsxs)("div",{className:"mt-5 space-y-2",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-primary"}),(0,e.jsx)("span",{className:"text-[12px] font-semibold text-foreground/80",children:aj("title")})]}),(0,e.jsxs)(t.$,{variant:"outline",size:"sm",className:"h-7 gap-1 border-border px-2 text-[11px] text-muted-foreground",onClick:()=>a9(!0),children:[(0,e.jsx)(l.A,{className:"h-3 w-3"}),al.parentUuid?aj("changeParent"):aj("setParent")]})]}),al.parent?(0,e.jsxs)("button",{type:"button",onClick:()=>af?.(al.parent.uuid),className:"flex w-full items-center gap-2 rounded-lg bg-background px-3 py-2.5 text-left transition-colors hover:bg-secondary",children:[(0,e.jsx)(o.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,e.jsx)("span",{className:"shrink-0 text-[12px] text-muted-foreground",children:aj("derivedFrom")}),(0,e.jsx)("span",{className:"min-w-0 flex-1 truncate text-[12px] font-medium text-foreground/80",children:al.parent.title})]}):(0,e.jsx)("p",{className:"px-1 text-[12px] text-muted-foreground",children:aj("noParent")}),al.children&&al.children.length>0&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"flex items-center justify-between px-1 pt-1",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)("span",{className:"text-[12px] font-medium text-foreground/80",children:aj("derivedIdeas")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:al.children.length})]}),(()=>{let a=al.children.filter(a=>"done"===a.derivedStatus).length,b=al.children.length;return(0,e.jsxs)("span",{className:"flex items-center gap-1.5 text-[12px] text-muted-foreground",title:aj("childrenDone",{done:a,total:b}),children:[(0,e.jsx)(ae.C,{done:a,total:b,size:14,stroke:2}),a,"/",b]})})()]}),(0,e.jsx)("div",{className:"overflow-hidden rounded-lg border border-[#EFEBE3] dark:border-[#2a2a2e]",children:al.children.map((a,b)=>(0,e.jsxs)("div",{children:[b>0&&(0,e.jsx)("div",{className:"h-px bg-[#F0EEEA] dark:bg-[#1f1e1c]"}),(0,e.jsxs)("button",{type:"button",onClick:()=>af?.(a.uuid),className:"flex w-full items-center justify-between gap-2 px-3 py-2.5 text-left transition-colors hover:bg-background",children:[(0,e.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,e.jsx)(p.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,e.jsx)("span",{className:"truncate text-[12px] text-foreground",children:a.title})]}),(0,e.jsx)(v.E,{className:`shrink-0 border-0 text-[10px] ${ad._5[a.derivedStatus]||ad._5.todo}`,children:ai(ad.Bj[a.derivedStatus]||"todo")})]})]},a.uuid))})]})]}),(0,e.jsx)(F.U,{projectUuid:b,ideaUuid:al.uuid,proposals:ar,onDocClick:bj}),(0,e.jsxs)("div",{className:"mt-5 space-y-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(q.A,{className:"h-3.5 w-3.5 text-primary"}),(0,e.jsx)("span",{className:"text-[12px] font-semibold text-foreground/80",children:ag("references.title")})]}),(0,e.jsx)(Z.ReferencesSection,{targetType:"idea",targetUuid:al.uuid,canWrite:!0,compact:!0})]})]}),bv.includes("elaboration")&&ax.has("elaboration")&&(0,e.jsx)("div",{style:{display:"elaboration"===av?"block":"none"},children:(0,e.jsx)(C.G,{idea:al,elaboration:aH,isLoading:aJ,onRefresh:async()=>{await bu(),await bp()},onReassign:()=>aE(!0),canReassign:bF})}),bv.includes("proposal")&&ax.has("proposal")&&(0,e.jsx)("div",{style:{display:"proposal"===av?"block":"none"},children:(0,e.jsx)(D.k,{idea:al,projectUuid:b,onTaskClick:bi,onDocClick:bj,initialProposals:ar})}),bv.includes("tasks")&&ax.has("tasks")&&(0,e.jsx)("div",{style:{display:"tasks"===av?"block":"none"},children:(0,e.jsx)(G.n,{tasks:at,projectUuid:b,proposalUuids:ar.filter(a=>"approved"===a.status).map(a=>a.uuid),onSelectTask:bi})}),ax.has("activity")&&(0,e.jsx)("div",{style:{display:"activity"===av?"block":"none"},children:(0,e.jsx)(H.x,{ideaUuid:al.uuid,currentUserUuid:c,commentCount:aB,onCommentCountChange:aC})})]}):null})}),al&&!an&&(0,e.jsx)("div",{className:"border-t border-secondary px-6 py-4",children:aW?(0,e.jsxs)("div",{className:"flex items-center justify-end gap-3",children:[(0,e.jsx)(t.$,{variant:"outline",className:"border-border",onClick:by,disabled:a0,children:ag("common.cancel")}),(0,e.jsx)(t.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:bz,disabled:a0||!aY.trim(),children:a0?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.A,{className:"mr-2 h-4 w-4 animate-spin"}),ag("common.save")]}):ag("common.save")})]}):(0,e.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,e.jsxs)("div",{className:"flex-1 min-w-0 flex flex-wrap items-center gap-2",children:[!bE&&(0,e.jsxs)(e.Fragment,{children:[bG&&!aP&&(0,e.jsx)(t.$,{className:"bg-primary hover:bg-[#B56A42] text-white",onClick:()=>{al&&aR({ideaUuid:al.uuid,wake:bB})},disabled:aL||aV,children:aL?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.A,{className:"mr-2 h-4 w-4 animate-spin"}),ag("elaboration.verifying")]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(r.A,{className:"mr-2 h-4 w-4"}),ag("elaboration.verifyButton")]})}),aP&&(0,e.jsx)("span",{className:"text-[11px] text-[#00796B] dark:text-[#4FD1C0]",children:ag("elaboration.verifiedQueuedHint")}),aN&&(0,e.jsx)("span",{className:"text-[11px] text-destructive",children:aN}),(0,e.jsx)(X.w,{ideaUuid:al.uuid,assignee:al.assignee,assigneeName:al.assignee?.name,proposals:ar,tasks:at,onStarted:()=>{bp()}}),(0,e.jsx)(Y.s,{ideaUuid:al.uuid,assignee:al.assignee,assigneeName:al.assignee?.name,proposals:ar,tasks:at,onStarted:()=>{bp()}})]}),bE&&(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:aj("containerHint")})]}),(0,e.jsxs)(A.Lt,{children:[(0,e.jsx)(A.tv,{asChild:!0,children:(0,e.jsx)(t.$,{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,e.jsx)(s.A,{className:"h-4 w-4"})})}),(0,e.jsxs)(A.EO,{children:[(0,e.jsxs)(A.wd,{children:[(0,e.jsx)(A.r7,{children:ag("ideas.deleteIdea")}),(0,e.jsx)(A.$v,{children:ag("ideas.deleteIdeaConfirm",{title:al.title})})]}),(0,e.jsxs)(A.ck,{children:[(0,e.jsx)(A.Zr,{children:ag("common.cancel")}),(0,e.jsx)(A.Rx,{variant:"destructive",onClick:bA,disabled:aF,children:aF?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.A,{className:"mr-2 h-4 w-4 animate-spin"}),ag("common.delete")]}):ag("common.delete")})]})]})]})]})})]}),(0,e.jsx)(K.h,{open:a6,onOpenChange:a7,ideaUuid:a,projectUuid:b,onMoved:()=>d()}),al&&(0,e.jsx)(L.d,{open:a8,onOpenChange:a9,ideaUuid:al.uuid,ideaTitle:al.title,projectUuid:b,currentParentUuid:al.parentUuid??null,descendantUuids:al.descendantUuids??[],onChanged:bp}),al&&(0,e.jsx)(M.i,{open:ba,onOpenChange:bb,projectUuid:b,parentUuid:al.uuid,parentTitle:al.title,onCreated:a=>{i.oR.success(aj("deriveIdea")),ak.refresh(),af?.(a)}}),aD&&al&&(0,e.jsx)(V.i,{idea:{uuid:al.uuid,title:al.title,content:al.content,status:al.status,assignee:al.assignee?{type:al.assignee.type,uuid:al.assignee.uuid,name:al.assignee.name}:null},projectUuid:b,currentUserUuid:c,onClose:()=>{aE(!1),bp()}}),(0,e.jsx)(_.V,{open:null!==aS,agentName:al?.assignee?.name??"",instances:aS?.instances??[],onConfirm:aT,onCancel:aU}),bc&&be&&(0,e.jsx)(I.v,{task:be,projectUuid:b,currentUserUuid:c,mode:bk?"sidebyside":"overlay",onClose:()=>{bd(null),bf(null)},onBack:()=>{bd(null),bf(null)}}),bg&&(0,e.jsx)(J.K,{title:bg.title,type:bg.type,content:bg.content,mode:bk?"sidebyside":"overlay",onClose:()=>bh(null),onBack:()=>bh(null)})]})}[C,D,H,I,J,M]=af.then?(await af)():af,d()}catch(a){d(a)}})},40467:(a,b,c)=>{c.d(b,{v:()=>k});var d=c(10837),e=c(21968),f=c(9222),g=c(86460),h=c(2852),i=c(80195),j=c(77521);function k({ideaUuid:a}){let b=(0,f.c)(),[c,k]=(0,e.useState)([]),[l,m]=(0,e.useState)(!0);return(0,e.useCallback)(async()=>{m(!0),k((await (0,i.x)(a)).activities),m(!1)},[a]),(0,d.jsxs)("div",{className:"mt-5",children:[(0,d.jsx)(h.J,{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:b("common.activity")}),(0,d.jsx)("div",{className:"mt-2",children:l?(0,d.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,d.jsx)(g.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):0===c.length?(0,d.jsx)("p",{className:"text-sm text-muted-foreground italic",children:b("common.noActivity")}):c.map((a,e)=>(0,d.jsxs)("div",{className:"flex items-stretch gap-2.5",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center w-2 shrink-0",children:[(0,d.jsx)("div",{className:"mt-1.5 h-2 w-2 shrink-0 rounded-full border-[1.5px] border-[#D9D9D9] dark:border-[#3a3a40] bg-card"}),e<c.length-1&&(0,d.jsx)("div",{className:"flex-1 w-px bg-border mt-1"})]}),(0,d.jsxs)("div",{className:"flex-1 pb-3",children:[(0,d.jsx)("p",{className:"text-[13px] text-foreground",children:function(a,b){let{action:c,actorName:d}=a;switch(c){case"created":case"idea_created":return b("activity.ideaCreated",{actor:d});case"assigned":case"idea_assigned":return b("activity.ideaAssigned",{actor:d});case"claimed":case"idea_claimed":return b("activity.ideaClaimed",{actor:d});case"released":case"idea_released":return b("activity.ideaReleased",{actor:d});case"status_changed":case"idea_status_changed":return b("activity.ideaStatusChanged",{actor:d});case"edited":case"idea_edited":return b("activity.ideaEdited",{actor:d});case"reparented":case"idea_reparented":return b("activity.ideaReparented",{actor:d});case"elaboration_started":return b("activity.elaborationStarted",{actor:d});case"elaboration_answered":return b("activity.elaborationAnswered",{actor:d});case"elaboration_skipped":return b("activity.elaborationSkipped",{actor:d});case"elaboration_resolved":return b("activity.elaborationResolved",{actor:d});case"elaboration_followup":return b("activity.elaborationFollowup",{actor:d});default:return b("activity.genericAction",{actor:d,action:c})}}(a,b)}),(0,d.jsx)("p",{className:"text-[11px] text-muted-foreground",children:(0,j.fw)(a.createdAt,b)})]})]},a.uuid))})]})}},42484:(a,b,c)=>{c.d(b,{c:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40e3fbb2adca7f316ec1c1d663ebe641789fac6d9a",d.callServer,void 0,d.findSourceMapURL,"getIdeaAction")},44963:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{i:()=>u});var e=c(10837),f=c(21968),g=c(9222),h=c(86460),i=c(42424),j=c(11568),k=c(9994),l=c(20170),m=c(2852),n=c(8495),o=c(94372),p=c(42087),q=c(93524),r=c(70028),s=c(68797),t=a([s]);function u({open:a,onOpenChange:b,projectUuid:c,onCreated:d,parentUuid:t,parentTitle:u}){let v=(0,g.c)("ideaTracker"),w=(0,g.c)("ideaTracker.lineage"),x=!!t,y=(0,g.c)("common"),[z,A]=(0,f.useState)(""),[B,C]=(0,f.useState)(""),[D,E]=(0,f.useState)(!1),[F,G]=(0,f.useState)(!1),[H,I]=(0,f.useState)(null),[J,K]=(0,f.useState)(!1),L=(0,r.kz)(),M=(L?.connections??[]).some(a=>"online"===a.effectiveStatus),[N,O]=(0,f.useState)("form"),P=x?"form":N,Q=async()=>{let a=z.trim();if(a){G(!0),I(null);try{let e=await fetch(`/api/projects/${c}/ideas`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a,content:B.trim()||void 0,...t?{parentUuid:t}:{},...D?{isContainer:!0}:{}})}),f=await e.json();f.success&&f.data?.uuid?(A(""),C(""),E(!1),b(!1),d?.(f.data.uuid)):I(f.error||v("error.createFailed"))}catch{I(v("error.createFailed"))}finally{G(!1)}}},R=(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"space-y-4 py-2",children:[(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(m.J,{htmlFor:"idea-title",children:v("newIdea.ideaTitle")}),(0,e.jsx)(k.p,{id:"idea-title",value:z,onChange:a=>A(a.target.value),placeholder:v("newIdea.titlePlaceholder"),autoFocus:!0,onKeyDown:a=>{!(0,p.P)(a)&&"Enter"===a.key&&!a.shiftKey&&z.trim()&&(a.preventDefault(),Q())}})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsxs)(m.J,{htmlFor:"idea-content",children:[v("newIdea.description"),(0,e.jsxs)("span",{className:"ml-1 text-xs font-normal text-muted-foreground",children:["(",y("optional"),")"]})]}),(0,e.jsx)(l.T,{id:"idea-content",value:B,onChange:a=>C(a.target.value),placeholder:v("newIdea.descriptionPlaceholder"),rows:4,className:"resize-none"})]}),(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)(n.S,{id:"idea-is-container",checked:D,onCheckedChange:a=>E(!0===a),className:"mt-0.5"}),(0,e.jsxs)("div",{className:"grid gap-1 leading-none",children:[(0,e.jsx)(m.J,{htmlFor:"idea-is-container",className:"cursor-pointer",children:w("makeContainer")}),(0,e.jsx)("p",{className:"text-xs font-normal text-muted-foreground",children:w("containerHint")})]})]}),H&&(0,e.jsx)("div",{className:"rounded-lg bg-destructive/10 px-3 py-2 text-[12px] text-destructive",children:H})]}),(0,e.jsxs)(j.Es,{children:[(0,e.jsx)(i.$,{variant:"outline",onClick:()=>b(!1),disabled:F,children:y("cancel")}),(0,e.jsxs)(i.$,{onClick:Q,disabled:F||!z.trim(),className:"bg-primary hover:bg-[#B56A42] text-white",children:[F?(0,e.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,y("create")]})]})]}),S=async a=>{let b=await (0,q.tm)("/api/ideas/conversational",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectUuid:c,agentUuid:a.agentUuid,connectionUuid:a.connectionUuid,descriptionText:a.userText,...J?{decompose:!0}:{}})});if(!b.ok){let a=null;try{let c=await b.json();"string"==typeof c?.error&&c.error&&(a=c.error)}catch{}throw new s.fF(b.status,a)}let d=null;try{let a=await b.json();a?.success&&a.data?.session&&(d=a.data.session)}catch{}if(!d)throw new s.fF(b.status,null);return d},T=(0,e.jsxs)("div",{className:"space-y-3 py-2",children:[(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)(n.S,{id:"idea-decompose",checked:J,onCheckedChange:a=>K(!0===a),className:"mt-0.5"}),(0,e.jsxs)("div",{className:"grid gap-1 leading-none",children:[(0,e.jsx)(m.J,{htmlFor:"idea-decompose",className:"cursor-pointer",children:v("newIdea.decompose")}),(0,e.jsx)("p",{className:"text-xs font-normal text-muted-foreground",children:v("newIdea.decomposeHint")})]})]}),(0,e.jsx)(s.jH,{dispatch:S,onStarted:a=>{b(!1),L?.openChatForSession(a)}})]});return(0,e.jsx)(j.lG,{open:a,onOpenChange:b,children:(0,e.jsxs)(j.Cf,{className:"sm:max-w-[480px]",children:[(0,e.jsxs)(j.c7,{children:[(0,e.jsx)(j.L3,{children:x?w("deriveIdea"):v("newIdea.title")}),x&&u&&(0,e.jsxs)("p",{className:"text-[13px] text-muted-foreground",children:[w("derivedFrom")," \xb7 ",u]})]}),!x&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(o.tU,{value:P,onValueChange:a=>O(a),children:(0,e.jsxs)(o.j7,{className:"grid w-full grid-cols-2",children:[(0,e.jsx)(o.Xi,{value:"form",children:v("newIdea.modeForm")}),(0,e.jsx)(o.Xi,{value:"conversation",disabled:!M,children:v("newIdea.modeConversation")})]})}),!M&&(0,e.jsxs)("div",{className:"rounded-xl border border-[#EFEBE4] dark:border-[#2a2a2e] bg-[#FCFBF8] dark:bg-[#1e1d1b] px-3 py-2",children:[(0,e.jsx)("p",{className:"px-1 pt-1 text-[12px] font-medium text-muted-foreground",children:v("newIdea.modeConversationOfflineHint")}),(0,e.jsx)(s.Bs,{variant:"compact"})]})]}),"form"===P?R:T]})})}s=(t.then?(await t)():t)[0],d()}catch(a){d(a)}})},51244:(a,b,c)=>{c.d(b,{Q:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40e0dae9a992b753e3b9cce67b8a33c2a1a54a16f4",d.callServer,void 0,d.findSourceMapURL,"getTaskAction")},55183:(a,b,c)=>{function d(a){return a.replace(/\\n/g,"\n")}c.d(b,{j:()=>d,y:()=>e});let e={prd:"typePrd",tech_design:"typeTechDesign",adr:"typeAdr",spec:"typeSpec",guide:"typeGuide",design:"typeDesign",note:"typeNote",report:"typeReport",other:"typeOther"}},64370:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{k:()=>A});var e=c(10837),f=c(21968),g=c(9222),h=c(81512),i=c.n(h),j=c(86460),k=c(21289),l=c(49102),m=c(20447),n=c(21790),o=c(51592),p=c(49599),q=c(42424),r=c(22727),s=c(90061),t=c(76172),u=c(97450),v=c(60265),w=c(55183),x=c(79110);c(39242);var y=c(54722),z=a([u]);function A({idea:a,projectUuid:b,onTaskClick:c,onDocClick:d,initialProposals:h}){let i=(0,g.c)("ideaTracker"),[l,m]=(0,f.useState)(h??[]),[n,o]=(0,f.useState)(!h),p=(0,f.useCallback)(async()=>{try{let c=await (0,x.U)(b,a.uuid);if(c.success)return m(c.data),c.data}catch(a){y.q.error("Failed to fetch proposals:",a)}finally{o(!1)}return[]},[b,a.uuid]),q=(0,f.useRef)(l);q.current=l;let{getPresence:r}=(0,s.xQ)();return((0,t.eV)("proposal",async()=>{let a=q.current;for(let b of(await p())){let c=a.find(a=>a.uuid===b.uuid);if(!c)continue;let d=new Set((c.documentDrafts??[]).map(a=>a.uuid)),e=new Set((c.taskDrafts??[]).map(a=>a.uuid)),f=(b.documentDrafts??[]).filter(a=>a.uuid&&!d.has(a.uuid)),g=(b.taskDrafts??[]).filter(a=>a.uuid&&!e.has(a.uuid)),h=[...f.map(a=>a.uuid),...g.map(a=>a.uuid)];if(h.length>0){let a=r("proposal",b.uuid)[0];if(a)for(let c of h)(0,s.fv)({entityType:"proposal",entityUuid:b.uuid,subEntityType:"draft",subEntityUuid:c,agentUuid:a.agentUuid,agentName:a.agentName,action:"mutate"})}}}),n)?(0,e.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,e.jsx)(j.A,{className:"h-5 w-5 animate-spin text-primary"})}):0===l.length?(0,e.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-center",children:[(0,e.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#F3E5F5] dark:bg-[#281630]",children:(0,e.jsx)(k.A,{className:"h-5 w-5 text-[#7B1FA2] dark:text-[#C98FE0]"})}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:i("panel.noProposals")})]}):(0,e.jsx)("div",{className:"space-y-5",children:l.map(a=>(0,e.jsx)(B,{proposal:a,projectUuid:b,onTaskClick:c,onDocClick:d},a.uuid))})}u=(z.then?(await z)():z)[0];let D={draft:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-muted-foreground",pending:"bg-[#FFF3E0] dark:bg-[#3a2a12] text-[#E65100] dark:text-[#F0A050]",approved:"bg-[#E8F5E9] dark:bg-[#14281a] text-[#5A9E6F] dark:text-[#6FD19A]",rejected:"bg-[#FFEBEE] dark:bg-[#331619] text-[#C4574C] dark:text-[#F0897E]",revised:"bg-[#E3F2FD] dark:bg-[#13253a] text-[#1976D2] dark:text-[#5AA9F0]",closed:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-muted-foreground"};function B({proposal:a,projectUuid:b,onTaskClick:c,onDocClick:d}){let h=(0,g.c)("ideaTracker"),j=(0,g.c)(),k=(0,g.c)("proposals"),n=(0,g.c)("tasks"),o=(0,g.c)("documents"),s=a.documentDrafts||[],t=a.taskDrafts||[],[x,y]=(0,f.useState)(new Set),[z,A]=(0,f.useState)("cards"),[B,E]=(0,f.useState)([]),F="approved"===a.status,G=(0,f.useMemo)(()=>{let a=new Map;for(let b of B)a.set(b.title,b);return a},[B]),{dagTasks:H,dagEdges:I,dagHeight:J}=(0,f.useMemo)(()=>{let a=t.map(a=>{let b=G.get(a.title);return{uuid:b?.uuid||a.uuid,title:a.title,status:b?.status||"open",priority:a.priority||"medium"}}),b=[],c=new Map(t.map(a=>[a.uuid,a]));for(let a of t)if(a.dependsOnDraftUuids)for(let d of a.dependsOnDraftUuids){let e=G.get(a.title),f=c.get(d),g=f?G.get(f.title):void 0;b.push({from:e?.uuid||a.uuid,to:g?.uuid||d})}return{dagTasks:a,dagEdges:b,dagHeight:Math.max(350,90*a.length)}},[t,G]),K=F?B.filter(a=>"done"===a.status||"closed"===a.status).length:0;return(0,e.jsxs)("div",{className:"space-y-5",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("h3",{className:"text-[14px] font-semibold text-foreground truncate flex-1",children:a.title}),(0,e.jsx)(p.E,{className:`text-[11px] font-semibold border-0 shrink-0 ${D[a.status]||""}`,children:j(`status.${a.status}`)})]}),a.description&&(0,e.jsx)("div",{className:"max-h-[120px] overflow-y-auto text-[13px] leading-relaxed text-foreground/80 prose prose-sm max-w-none [&_h1]:text-sm [&_h2]:text-[13px] [&_h3]:text-xs [&_p]:text-[13px] [&_p]:text-foreground/80 [&_p]:my-1.5 [&_li]:text-[13px] [&_li]:text-foreground/80 [&_ul]:my-1 [&_ol]:my-1 [&_strong]:text-foreground [&_code]:bg-secondary [&_code]:text-foreground [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_a]:text-primary",children:(0,e.jsx)(u.MarkdownContent,{children:(0,w.j)(a.description)})}),(0,e.jsxs)(i(),{href:`/projects/${b}/proposals/${a.uuid}`,className:"flex items-center gap-1 text-[13px] font-medium text-primary hover:underline",children:[h("panel.viewProposal"),(0,e.jsx)(l.A,{className:"h-3.5 w-3.5"})]}),s.length>0&&(0,e.jsxs)("div",{className:"space-y-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-muted-foreground",children:k(F?"documents":"documentDrafts")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:s.length})]}),(0,e.jsx)("div",{className:"space-y-0",children:s.map((b,c)=>(0,e.jsx)(r.D,{entityType:"proposal",entityUuid:a.uuid,subEntityType:"draft",subEntityUuid:b.uuid||`draft-${c}`,badgeInside:!0,children:(0,e.jsxs)(q.$,{variant:"ghost",className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-3.5 hover:bg-background transition-colors cursor-pointer -mx-1 px-1 rounded-lg",onClick:()=>b.content&&d?.({title:b.title,type:b.type,content:b.content}),children:[(0,e.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,e.jsx)(p.E,{variant:"outline",className:"shrink-0 text-[10px] font-medium border-border text-muted-foreground bg-secondary px-2 py-0.5 font-mono",children:o(w.y[b.type]||"typeOther")}),(0,e.jsx)("span",{className:"flex-1 min-w-0 text-left text-[13px] text-foreground truncate",children:b.title})]})},b.uuid||c))})]}),(t.length>0||B.length>0)&&(0,e.jsxs)("div",{children:[(0,e.jsxs)("div",{className:"flex items-center justify-between pb-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-muted-foreground",children:k(F?"tasks":"taskDrafts")}),(0,e.jsx)("span",{className:"text-[11px] text-muted-foreground",children:F&&B.length>0?B.length:t.length})]}),(0,e.jsxs)("span",{className:"text-[12px] text-muted-foreground",children:[K,"/",F&&B.length>0?B.length:t.length]})]}),(0,e.jsx)("div",{className:"-mx-6 border-t border-border"}),I.length>0&&(0,e.jsxs)("div",{className:"flex gap-0.5 rounded-lg border border-border bg-[#F7F6F3] dark:bg-[#1e1d1b] p-0.5 mt-3 w-fit",children:[(0,e.jsx)(q.$,{variant:"ghost",size:"sm",onClick:()=>A("cards"),className:`rounded-md px-2.5 py-1 h-auto text-[11px] font-medium transition-colors ${"cards"===z?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-muted-foreground"}`,children:k("cardsView")}),(0,e.jsx)(q.$,{variant:"ghost",size:"sm",onClick:()=>A("dag"),className:`rounded-md px-2.5 py-1 h-auto text-[11px] font-medium transition-colors ${"dag"===z?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-muted-foreground"}`,children:n("dagView")})]}),"cards"===z&&(0,e.jsx)("div",{className:"space-y-0",children:F&&B.length>0?B.map(a=>(0,e.jsx)(r.D,{entityType:"task",entityUuid:a.uuid,badgeInside:!0,children:(0,e.jsx)(C,{task:{uuid:a.uuid,title:a.title},expanded:!1,onToggle:()=>{},onNavigate:c?()=>c(a.uuid):void 0,taskStatus:a.status})},a.uuid)):t.map((b,c)=>(0,e.jsx)(r.D,{entityType:"proposal",entityUuid:a.uuid,subEntityType:"draft",subEntityUuid:b.uuid,badgeInside:!0,children:(0,e.jsx)(C,{task:b,expanded:x.has(c),onToggle:()=>{y(a=>{let b=new Set(a);return b.has(c)?b.delete(c):b.add(c),b})}})},b.uuid))}),"dag"===z&&(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsx)(v._u,{tasks:H,edges:I,readonly:!0,height:J,onNodeClick:c})})]}),0===s.length&&0===t.length&&0===B.length&&(0,e.jsx)("p",{className:"text-xs text-muted-foreground italic",children:k("emptyContainer")})]})}let E={open:"border-[#D9D9D9] dark:border-[#3a3a40] bg-card",assigned:"border-[#1976D2] bg-[#1976D2]",in_progress:"border-[#5A9E6F] bg-[#5A9E6F]",to_verify:"border-[#7B1FA2] bg-[#7B1FA2]",done:"border-[#00796B] bg-[#00796B]",closed:"border-[#9A9A9A] bg-[#9A9A9A] dark:border-[#6b6862] dark:bg-[#6b6862]"},F={open:null,assigned:null,in_progress:{className:"bg-[#E8F5E9] dark:bg-[#14281a] text-[#5A9E6F] dark:text-[#6FD19A]",key:"inProgress"},to_verify:{className:"bg-[#F3E5F5] dark:bg-[#281630] text-[#7B1FA2] dark:text-[#C98FE0]",key:"toVerify"},done:{className:"bg-[#E0F2F1] dark:bg-[#12292a] text-[#00796B] dark:text-[#4FD1C0]",key:"done"},closed:{className:"bg-[#F5F5F5] dark:bg-[#1e1e20] text-muted-foreground",key:"done"}};function C({task:a,expanded:b,onToggle:c,onNavigate:d,taskStatus:f}){let h=(0,g.c)("proposals"),i=(0,g.c)("acceptanceCriteria"),j=(0,g.c)("status"),k=a.acceptanceCriteriaItems||[],p=!!(a.description||k.length>0),r=f?E[f]||E.open:"border-[#D9D9D9] dark:border-[#3a3a40] bg-card",s=f?F[f]:null,t=(0,e.jsx)("span",{className:`shrink-0 h-2 w-2 rounded-full border-[1.5px] ${r} transition-colors`}),u=(0,e.jsx)("span",{className:"flex-1 min-w-0 text-[13px] leading-snug truncate text-muted-foreground",children:a.title}),v=s?(0,e.jsx)("span",{className:`shrink-0 rounded px-1.5 py-0.5 text-[10px] font-medium ${s.className}`,children:j(s.key)}):null;return d?(0,e.jsxs)(q.$,{variant:"ghost",onClick:d,className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-4 cursor-pointer hover:bg-background -mx-1 px-1 rounded-lg transition-colors",children:[(0,e.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),t,u,v]}):(0,e.jsxs)("div",{children:[(0,e.jsxs)(q.$,{variant:"ghost",onClick:p?c:void 0,className:`w-full justify-start h-auto text-left flex items-center gap-2.5 py-4 ${p?"cursor-pointer hover:bg-background -mx-1 px-1 rounded-lg":""} transition-colors`,children:[b?(0,e.jsx)(n.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,e.jsx)(l.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),t,u,v]}),b&&p&&(0,e.jsxs)("div",{className:"pb-3 pl-5 space-y-3",children:[a.description&&(0,e.jsx)("p",{className:"text-[11px] leading-relaxed text-muted-foreground",children:a.description}),k.length>0&&(0,e.jsxs)("div",{className:"rounded-lg bg-background p-3 space-y-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(o.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,e.jsx)("span",{className:"text-[11px] font-semibold text-foreground",children:h("taskAcceptanceCriteria")})]}),(0,e.jsx)("div",{className:"space-y-1.5",children:k.map((a,b)=>(0,e.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,e.jsx)("p",{className:"text-[11px] leading-snug text-foreground/80 flex-1",children:a.description}),!1!==a.required&&(0,e.jsx)("span",{className:"shrink-0 text-[10px] font-medium text-[#E65100] dark:text-[#F0A050]",children:i("required")})]},b))})]})]})]})}d()}catch(a){d(a)}})},66253:(a,b,c)=>{c.d(b,{U:()=>p});var d=c(10837),e=c(21968),f=c(9222),g=c(86460),h=c(20447),i=c(49599),j=c(42424),k=c(76172),l=c(54722),m=c(55183),n=c(42377);let o=(0,n.createServerReference)("6007132ae83664e415f6d20e4ba7c2ea15d80c63f7",n.callServer,void 0,n.findSourceMapURL,"getReportsForIdeaAction");function p({projectUuid:a,ideaUuid:b,proposals:c,onDocClick:n}){let p=(0,f.c)("idea"),q=(0,f.c)("documents"),[r,s]=(0,e.useState)([]),[t,u]=(0,e.useState)(!0),v=c.some(a=>"approved"===a.status),w=(0,e.useCallback)(async()=>{if(!v){s([]),u(!1);return}try{let c=await o(a,b);if(c.success){let a=[...c.data].sort((a,b)=>new Date(b.createdAt).getTime()-new Date(a.createdAt).getTime());s(a.map(a=>({uuid:a.uuid,title:a.title,type:a.type,content:a.content??null,createdAt:a.createdAt})))}}catch(a){l.q.error("Failed to fetch reports for idea:",a)}finally{u(!1)}},[a,b,v]);return((0,k.eV)("document",w),t)?v?(0,d.jsx)("div",{className:"flex items-center justify-center py-3",children:(0,d.jsx)(g.A,{className:"h-4 w-4 animate-spin text-primary"})}):null:0===r.length?null:(0,d.jsxs)("div",{className:"mt-6 space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,d.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[1px] text-muted-foreground",children:p("reportsList")}),(0,d.jsx)("span",{className:"text-[11px] text-muted-foreground",children:r.length}),(0,d.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:["\xb7 ",p("reportsAcrossProposals")]})]}),(0,d.jsx)("div",{className:"space-y-0",children:r.map(a=>(0,d.jsxs)(j.$,{variant:"ghost",className:"w-full justify-start h-auto text-left flex items-center gap-2.5 py-3.5 hover:bg-background transition-colors cursor-pointer -mx-1 px-1 rounded-lg",onClick:()=>n({title:a.title,type:"report",content:a.content??""}),children:[(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,d.jsx)(i.E,{variant:"outline",className:"shrink-0 text-[10px] font-medium border-border text-muted-foreground bg-secondary px-2 py-0.5 font-mono",children:q(m.y[a.type]||"typeOther")}),(0,d.jsx)("span",{className:"flex-1 min-w-0 text-left text-[13px] text-foreground truncate",children:a.title})]},a.uuid))})]})}},66372:(a,b,c)=>{c.d(b,{d:()=>t});var d=c(10837),e=c(21968),f=c(9222),g=c(68884),h=c(76549),i=c(86460),j=c(72475),k=c(21692),l=c(42424),m=c(11568),n=c(10297),o=c(96307),p=c(42377);let q=(0,p.createServerReference)("4034eb6716e1a527e45f11d979b7cb63140fa90d45",p.callServer,void 0,p.findSourceMapURL,"getProjectIdeasForPickerAction"),r=(0,p.createServerReference)("60fe7052237a6c074e555d10dd727ea9bde9cdada7",p.callServer,void 0,p.findSourceMapURL,"setIdeaParentAction");var s=c(54722);function t({open:a,onOpenChange:b,ideaUuid:c,ideaTitle:p,projectUuid:t,currentParentUuid:u,descendantUuids:v,onChanged:w}){let x=(0,f.c)("ideaTracker.lineage"),y=(0,f.c)("common"),z=(0,g.r)(),[A,B]=(0,e.useState)([]),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(!1),[G,H]=(0,e.useState)(!1),[I,J]=(0,e.useState)(null),K=new Set([c,...v]);(0,e.useCallback)(async()=>{F(!0),J(null);try{let a=await q(t);a.success?(B(a.data),D(a.hasMore)):J(a.error)}catch(a){s.q.error("Failed to load parent candidates:",a),J(x("saveFailed"))}F(!1)},[t,x]);let L=async a=>{if(!G){H(!0),J(null);try{let d=await r(c,a);d.success?(h.oR.success(a?x("save"):x("detach")),b(!1),z.refresh(),w()):J(d.error||x("saveFailed"))}catch(a){J(a instanceof Error?a.message:x("saveFailed"))}H(!1)}};return(0,d.jsx)(m.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(m.Cf,{children:[(0,d.jsxs)(m.c7,{children:[(0,d.jsx)(m.L3,{children:x("setParentTitle")}),(0,d.jsx)(m.rr,{children:x("setParentDescription",{title:p})})]}),(0,d.jsxs)("div",{className:"min-w-0 space-y-3 pt-1",children:[E?(0,d.jsx)("div",{className:"flex h-40 items-center justify-center",children:(0,d.jsx)(i.A,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):(0,d.jsx)("div",{className:"rounded-md border border-border",children:(0,d.jsxs)(n.uB,{children:[(0,d.jsx)(n.G7,{placeholder:x("searchPlaceholder")}),(0,d.jsxs)(n.oI,{children:[(0,d.jsx)(n.xL,{children:x("noCandidates")}),(0,d.jsx)(n.L$,{children:A.map(a=>{let b=K.has(a.uuid),c=a.uuid===u;return(0,d.jsxs)(n.h_,{value:a.title,disabled:b,onSelect:()=>{b||L(a.uuid)},className:(0,o.cn)("flex min-w-0 items-center justify-between gap-2",b&&"opacity-55",c&&"bg-primary/10"),children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-[13px] text-foreground",children:a.title}),b&&(0,d.jsxs)("span",{className:"flex shrink-0 items-center gap-1 text-[11px] font-medium text-[#B0654A] dark:text-[#EBA890]",children:[(0,d.jsx)(j.A,{className:"h-3 w-3"}),x("cycleBlocked")]})]},a.uuid)})})]})]})}),(0,d.jsxs)("div",{className:"flex items-start gap-2 rounded-md bg-[#FBF0EB] dark:bg-[#221e1b] px-3 py-2.5",children:[(0,d.jsx)(k.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[#B0654A] dark:text-[#EBA890]"}),(0,d.jsx)("p",{className:"text-[12px] leading-relaxed text-[#9A5238] dark:text-[#E9A088]",children:x("cycleWarning")})]}),C&&(0,d.jsx)("p",{className:"px-1 text-[12px] text-muted-foreground",role:"status",children:x("pickerTruncated")}),I&&(0,d.jsx)("p",{className:"text-xs text-destructive",role:"alert",children:I})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 pt-2",children:[u?(0,d.jsx)(l.$,{variant:"outline",className:"border-border",onClick:()=>L(null),disabled:G,children:x("detach")}):(0,d.jsx)("span",{}),(0,d.jsx)(l.$,{variant:"outline",className:"border-border",onClick:()=>b(!1),disabled:G,children:y("cancel")})]})]})})}},69815:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{p:()=>n});var e=c(10837),f=c(9222),g=c(16235),h=c(80251),i=c(2852),j=c(99127),k=c(68797),l=c(7086),m=a([k]);function n({assignee:a,onReassign:b,editable:c}){let d=(0,f.c)("common"),m=!0===c&&"function"==typeof b,n=d(a?"reassign":"assign"),o=a?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(h.eu,{className:"h-7 w-7",children:(0,e.jsx)(h.q5,{className:(0,l.bB)(a)?"bg-primary text-white":"bg-border text-muted-foreground",children:(0,l.bB)(a)?(0,e.jsx)(g.A,{className:"h-3.5 w-3.5"}):a.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{className:"min-w-0",children:[(0,e.jsx)("div",{className:"text-sm font-medium text-foreground",children:a.name}),(0,e.jsx)("div",{className:"text-xs text-muted-foreground",children:d((0,l.bB)(a)?"agent":"user")}),"agent_instance"===a.type&&a.instance&&(0,e.jsx)("div",{className:"mt-1",children:(0,e.jsx)(k.jQ,{cwd:a.instance.cwd,host:a.instance.host})})]})]}):(0,e.jsx)("span",{className:"text-sm text-muted-foreground",children:d("unassigned")}),p="mt-2 flex items-center gap-2.5 rounded-lg bg-background p-3";return(0,e.jsxs)("div",{children:[(0,e.jsx)(i.J,{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:d("assignee")}),m?(0,e.jsx)(j.Bc,{delayDuration:300,children:(0,e.jsxs)(j.m_,{children:[(0,e.jsx)(j.k$,{asChild:!0,children:(0,e.jsx)("button",{type:"button",onClick:b,"aria-label":n,className:`${p} w-full cursor-pointer text-left`,children:o})}),(0,e.jsx)(j.ZI,{children:n})]})}):(0,e.jsx)("div",{className:p,children:o})]})}k=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},75574:(a,b,c)=>{c.d(b,{p:()=>s});var d=c(10837),e=c(21968),f=c(9222),g=c(5797),h=c(91981),i=c(21289),j=c(51592),k=c(65956),l=c(20447),m=c(9810),n=c(90856),o=c(21790),p=c(49102),q=c(42377);q.callServer,q.findSourceMapURL;var r=c(77521);function s({idea:a,proposals:b,tasks:c,onSelectTask:q}){let s=(0,f.c)("ideaTracker"),t=(0,f.c)(),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(new Set),y=(0,e.useMemo)(()=>"open"===a.status?"idea_created":"elaborating"===a.status||0===b.length?"elaboration":b.some(a=>"approved"===a.status)&&c.length>0?"tasks":"proposal",[a.status,b,c]),z=(0,e.useMemo)(()=>{let a=["idea_created","elaboration","proposal","tasks"],b=a.indexOf(y);return a.map((a,c)=>({id:a,labelKey:({idea_created:"panel.timeline.ideaCreated",elaboration:"panel.timeline.elaboration",proposal:"panel.timeline.proposal",tasks:"panel.timeline.tasksProgress"})[a],status:c<b?"completed":c===b?"active":"upcoming",icon:({idea_created:(0,d.jsx)(g.A,{className:"h-3.5 w-3.5"}),elaboration:(0,d.jsx)(h.A,{className:"h-3.5 w-3.5"}),proposal:(0,d.jsx)(i.A,{className:"h-3.5 w-3.5"}),tasks:(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"})})[a]}))},[y]),A=(0,e.useCallback)(a=>{x(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),B=(0,e.useMemo)(()=>"open"===a.status?s("panel.timeline.noElaboration"):"skipped"===a.elaborationStatus?s("panel.timeline.elaborationSkipped"):"resolved"===a.elaborationStatus&&u?s("panel.timeline.elaborationComplete",{count:u.summary.totalQuestions}):"elaborating"===a.status?s("panel.timeline.elaborationInProgress"):u&&u.summary.totalQuestions>0?s("panel.timeline.elaborationComplete",{count:u.summary.totalQuestions}):s("panel.timeline.noElaboration"),[a.status,a.elaborationStatus,u,s]),C=(0,e.useMemo)(()=>{if(0===b.length)return s("panel.timeline.noProposal");let a=b.filter(a=>"approved"===a.status).length,c=b.filter(a=>"pending"===a.status).length;if(a>0&&1===b.length)return s("panel.timeline.proposalApproved");if(a>0)return s("panel.timeline.proposalsApproved",{count:a,total:b.length});if(c>0)return s("panel.timeline.proposalPending");switch(b[0].status){case"draft":default:return s("panel.timeline.proposalDraft");case"rejected":return s("panel.timeline.proposalRejected")}},[b,s]),D=(0,e.useMemo)(()=>{let a=0,c=0;for(let d of b)a+=d.documentDrafts?.length??0,c+=d.taskDrafts?.length??0;return{docCount:a,taskDraftCount:c}},[b]),E=(0,e.useMemo)(()=>{let a=c.filter(a=>"done"===a.status||"closed"===a.status).length,b=c.filter(a=>"in_progress"===a.status).length;return{done:a,inProgress:b,toVerify:c.filter(a=>"to_verify"===a.status).length,open:c.filter(a=>"open"===a.status||"assigned"===a.status).length,total:c.length}},[c]);return(0,d.jsx)("div",{className:"space-y-0",children:z.map((e,f)=>{let g=w.has(e.id),h=f===z.length-1;return(0,d.jsxs)("div",{className:"flex gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center w-5 shrink-0",children:[(0,d.jsx)("div",{className:"mt-1",children:"completed"===e.status?(0,d.jsx)("div",{className:"h-5 w-5 rounded-full bg-[#E0F2F1] dark:bg-[#12292a] flex items-center justify-center",children:(0,d.jsx)(m.A,{className:"h-3 w-3 text-[#00796B] dark:text-[#4FD1C0]"})}):"active"===e.status?(0,d.jsx)("div",{className:"h-5 w-5 rounded-full bg-primary flex items-center justify-center",children:(0,d.jsx)(n.A,{className:"h-2 w-2 fill-white text-white"})}):(0,d.jsx)("div",{className:"h-5 w-5 rounded-full border-2 border-dashed border-[#D9D9D9] dark:border-[#3a3a40] flex items-center justify-center",children:(0,d.jsx)(n.A,{className:"h-2 w-2 text-muted-foreground"})})}),!h&&(0,d.jsx)("div",{className:"flex-1 w-px bg-border mt-1 min-h-[8px]"})]}),(0,d.jsxs)("div",{className:`flex-1 min-w-0 ${h?"pb-0":"pb-4"}`,children:[(0,d.jsxs)("button",{onClick:()=>A(e.id),className:"flex items-center gap-1.5 w-full text-left group cursor-pointer",children:[g?(0,d.jsx)(o.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}):(0,d.jsx)(p.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),(0,d.jsx)("span",{className:`text-[13px] font-medium ${"active"===e.status?"text-primary":"completed"===e.status?"text-foreground":"text-muted-foreground"}`,children:s(e.labelKey)}),!g&&(0,d.jsx)("span",{className:"text-[11px] text-muted-foreground truncate ml-1",children:(b=>{switch(b.id){case"idea_created":return a.createdBy?a.createdBy.name:"";case"elaboration":return B;case"proposal":return C;case"tasks":return c.length>0?s("panel.timeline.tasksComplete",{done:E.done,total:E.total}):s("panel.timeline.noTasks");default:return""}})(e)})]}),(e=>{let f=w.has(e.id);switch(e.id){case"idea_created":return f?(0,d.jsxs)("div",{className:"mt-2 space-y-1.5",children:[a.createdBy&&(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:s("panel.timeline.createdBy",{name:a.createdBy.name})}),(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:(0,r.fw)(a.createdAt,t)}),a.content&&(0,d.jsxs)("p",{className:"text-[12px] text-muted-foreground line-clamp-2",children:[a.content.slice(0,120),a.content.length>120?"...":""]})]}):null;case"elaboration":return f?(0,d.jsxs)("div",{className:"mt-2 space-y-1.5",children:[(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:B}),u&&u.rounds.length>0&&(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:s("panel.timeline.rounds",{count:u.rounds.length})})]}):null;case"proposal":return f?(0,d.jsxs)("div",{className:"mt-2 space-y-1.5",children:[(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:C}),b.length>0&&(0,d.jsxs)("div",{className:"space-y-1",children:[D.docCount>0&&(0,d.jsxs)("div",{className:"flex items-center gap-1.5 text-[12px] text-muted-foreground",children:[(0,d.jsx)(k.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{children:s("panel.timeline.documents",{count:D.docCount})})]}),D.taskDraftCount>0&&(0,d.jsxs)("div",{className:"flex items-center gap-1.5 text-[12px] text-muted-foreground",children:[(0,d.jsx)(j.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{children:s("panel.timeline.tasks",{count:D.taskDraftCount})})]})]})]}):null;case"tasks":return f?(0,d.jsx)("div",{className:"mt-2 space-y-2",children:0===c.length?(0,d.jsx)("p",{className:"text-[12px] text-muted-foreground",children:s("panel.timeline.noTasks")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex-1 h-1.5 rounded-full bg-[#F0EDE8] dark:bg-[#1f1e1c] overflow-hidden flex",children:[E.done>0&&(0,d.jsx)("div",{className:"h-full bg-[#00796B]",style:{width:`${E.done/E.total*100}%`}}),E.inProgress>0&&(0,d.jsx)("div",{className:"h-full bg-[#1976D2]",style:{width:`${E.inProgress/E.total*100}%`}}),E.toVerify>0&&(0,d.jsx)("div",{className:"h-full bg-[#7B1FA2]",style:{width:`${E.toVerify/E.total*100}%`}})]}),(0,d.jsx)("span",{className:"text-[11px] text-muted-foreground shrink-0",children:s("panel.timeline.tasksComplete",{done:E.done,total:E.total})})]}),(0,d.jsxs)("div",{className:"space-y-1",children:[c.slice(0,5).map(a=>(0,d.jsxs)("button",{onClick:()=>q(a.uuid),className:"flex items-center gap-2 w-full text-left rounded-md px-2 py-1.5 hover:bg-secondary transition-colors group cursor-pointer",children:[(0,d.jsx)(l.A,{className:"h-3 w-3 text-muted-foreground shrink-0 group-hover:text-primary"}),(0,d.jsx)("span",{className:`h-2 w-2 rounded-full shrink-0 ${(0,r.eT)(a.status)}`}),(0,d.jsx)("span",{className:"flex-1 text-[12px] text-foreground truncate group-hover:text-primary",children:a.title})]},a.uuid)),c.length>5&&(0,d.jsx)("p",{className:"text-[11px] text-muted-foreground px-2",children:s("panel.timeline.moreItems",{count:c.length-5})})]})]})}):null;default:return null}})(e)]})]},e.id)})})}},79030:(a,b,c)=>{c.d(b,{C:()=>f});var d=c(10837),e=c(96307);function f({done:a,total:b,size:c=14,stroke:f=2,className:g,color:h="#B26B3D",trackColor:i="#EAD9C8"}){let j=(c-f)/2,k=2*Math.PI*j,l=b>0?Math.min(1,Math.max(0,a/b)):0;return(0,d.jsxs)("svg",{width:c,height:c,viewBox:`0 0 ${c} ${c}`,className:(0,e.cn)("shrink-0",g),role:"img","aria-label":`${a}/${b}`,children:[(0,d.jsx)("circle",{cx:c/2,cy:c/2,r:j,fill:"none",stroke:i,strokeWidth:f}),l>0&&(0,d.jsx)("circle",{cx:c/2,cy:c/2,r:j,fill:"none",stroke:b>0&&a>=b?"#1D9E75":h,strokeWidth:f,strokeDasharray:k,strokeDashoffset:k*(1-l),strokeLinecap:"round",transform:`rotate(-90 ${c/2} ${c/2})`})]})}},84722:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{G:()=>q});var e=c(10837),f=c(9222),g=c(86460),h=c(16235),i=c(2852),j=c(84819),k=c(4432),l=c(97450),m=c(31009),n=c(45148),o=c(69815),p=a([l,o]);function q({idea:a,elaboration:b,isLoading:c,onRefresh:d,onReassign:p,canReassign:q}){let r=(0,f.c)("ideaTracker"),s=(0,f.c)("common");return c?(0,e.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,e.jsx)(g.A,{className:"h-5 w-5 animate-spin text-primary"})}):(0,e.jsxs)(m.P.div,{variants:n.qG,initial:"initial",animate:"animate",children:[(0,e.jsx)(o.p,{assignee:a.assignee,onReassign:p,editable:q}),(0,e.jsx)(j.Separator,{className:"my-5 bg-secondary"}),b&&b.rounds.length>0?(0,e.jsx)("div",{children:(0,e.jsx)(k.R,{ideaUuid:a.uuid,elaboration:b,onRefresh:d})}):"open"===a.status?(0,e.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-8 text-center",children:[(0,e.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#FFF3E0] dark:bg-[#3a2a12]",children:(0,e.jsx)(h.A,{className:"h-5 w-5 text-[#E65100] dark:text-[#F0A050]"})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"text-sm font-medium text-foreground",children:r("panel.elaborationNotStarted")}),(0,e.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:r("panel.elaborationNotStartedDesc")})]})]}):(0,e.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-8 text-center",children:[(0,e.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-[#E3F2FD] dark:bg-[#13253a]",children:(0,e.jsx)(h.A,{className:"h-5 w-5 text-[#1976D2] dark:text-[#5AA9F0]"})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"text-sm font-medium text-foreground",children:r("panel.elaborationWaiting")}),(0,e.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:r("panel.elaborationWaitingDesc")})]})]}),a.content&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(j.Separator,{className:"my-5 bg-secondary"}),(0,e.jsxs)("div",{children:[(0,e.jsx)(i.J,{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:s("content")}),(0,e.jsx)("div",{className:"mt-2",children:(0,e.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-foreground",children:(0,e.jsx)(l.MarkdownContent,{children:a.content})})})]})]})]})}[l,o]=p.then?(await p)():p,d()}catch(a){d(a)}})},98310:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{K:()=>q});var e=c(10837),f=c(21968),g=c(9222),h=c(35209),i=c(10694),j=c(42424),k=c(49599),l=c(74645),m=c(97450),n=c(55183),o=c(77521),p=a([m]);function q({title:a,type:b,content:c,mode:d="overlay",onClose:p,onBack:q}){let r=(0,g.c)("documents"),[s,t]=(0,f.useState)(!1),u="sidebyside"===d;return(0,e.jsxs)(e.Fragment,{children:[!u&&(0,e.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:p}),(0,e.jsxs)("div",{className:`fixed top-14 md:top-0 flex h-[calc(100%-3.5rem)] md:h-full w-full md:w-[480px] flex-col bg-card shadow-xl border-l border-border ${u?`z-40 ${s?"":"animate-in slide-in-from-right duration-300"}`:`z-50 right-0 ${s?"":"animate-in slide-in-from-right duration-300"}`}`,style:u?{right:`${o.L8}px`}:void 0,children:[(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-secondary px-6 py-5",children:[q&&(0,e.jsx)(j.$,{variant:"ghost",size:"icon",className:"mr-2 h-8 w-8 shrink-0",onClick:q,children:(0,e.jsx)(h.A,{className:"h-4 w-4 text-muted-foreground"})}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsx)("h2",{className:"text-base font-semibold text-foreground truncate",children:a}),(0,e.jsx)("div",{className:"mt-1.5",children:(0,e.jsx)(k.E,{variant:"outline",className:"text-[10px] font-medium border-border text-muted-foreground bg-secondary px-2 py-0.5 font-mono",children:r(n.y[b]||"typeOther")})})]}),(0,e.jsx)(j.$,{variant:"outline",size:"icon",className:"ml-4 h-8 w-8 shrink-0 border-border",onClick:p,children:(0,e.jsx)(i.A,{className:"h-4 w-4 text-muted-foreground"})})]}),(0,e.jsx)(l.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,e.jsx)("div",{className:"px-6 py-5 text-[13px] leading-relaxed text-foreground prose prose-sm max-w-none [&_h1]:text-lg [&_h1]:font-semibold [&_h1]:mt-4 [&_h1]:mb-2 [&_h2]:text-base [&_h2]:font-semibold [&_h2]:mt-3 [&_h2]:mb-1.5 [&_h3]:text-sm [&_h3]:font-medium [&_h3]:mt-2 [&_h3]:mb-1 [&_p]:text-[13px] [&_p]:text-foreground/80 [&_p]:my-1.5 [&_li]:text-[13px] [&_li]:text-foreground/80 [&_ul]:my-1 [&_ol]:my-1 [&_strong]:text-foreground [&_code]:text-[12px] [&_code]:bg-secondary [&_code]:text-foreground [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_pre]:bg-secondary [&_pre]:text-foreground [&_pre]:p-3 [&_pre]:rounded-lg [&_pre]:my-2 [&_a]:text-primary",children:(0,e.jsx)(m.MarkdownContent,{children:(0,n.j)(c)})})})]})]})}m=(p.then?(await p)():p)[0],d()}catch(a){d(a)}})}};
@@ -1 +0,0 @@
1
- exports.id=4797,exports.ids=[4797],exports.modules={130:(a,b)=>{"use strict";function c(a){let{widthInt:b,heightInt:c,blurWidth:d,blurHeight:e,blurDataURL:f,objectFit:g}=a,h=d?40*d:b,i=e?40*e:c,j=h&&i?"viewBox='0 0 "+h+" "+i+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+j+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(j?"none":"contain"===g?"xMidYMid":"cover"===g?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+f+"'/%3E%3C/svg%3E"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImageBlurSvg",{enumerable:!0,get:function(){return c}})},649:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(72026),e=c(76038),f=c(78780);class g{static #a=this.EMPTY=new g(null,{metadata:{},contentType:null});static fromStatic(a,b){return new g(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw Object.defineProperty(new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:[this.response]}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},1733:(a,b,c)=>{"use strict";a.exports=c(61031).vendored.contexts.ImageConfigContext},4065:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("tags",[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]])},4177:(a,b,c)=>{"use strict";Object.defineProperty(b,"e",{enumerable:!0,get:function(){return k}});let d=c(65406),e=c(86658),f=c(29294),g=c(63033),h=c(39472),i=0;async function j(a,b,c,e,f,g,i){await b.set(c,{kind:h.CachedRouteKind.FETCH,data:{headers:{},body:JSON.stringify(a),status:200,url:""},revalidate:"number"!=typeof f?d.CACHE_ONE_YEAR:f},{fetchCache:!0,tags:e,fetchIdx:g,fetchUrl:i})}function k(a,b,c={}){if(0===c.revalidate)throw Object.defineProperty(Error(`Invariant revalidate: 0 can not be passed to unstable_cache(), must be "false" or "> 0" ${a.toString()}`),"__NEXT_ERROR_CODE",{value:"E57",enumerable:!1,configurable:!0});let d=c.tags?(0,e.validateTags)(c.tags,`unstable_cache ${a.toString()}`):[];(0,e.validateRevalidate)(c.revalidate,`unstable_cache ${a.name||a.toString()}`);let l=`${a.toString()}-${Array.isArray(b)&&b.join(",")}`;return async(...b)=>{let e=f.workAsyncStorage.getStore(),k=g.workUnitAsyncStorage.getStore(),m=(null==e?void 0:e.incrementalCache)||globalThis.__incrementalCache;if(!m)throw Object.defineProperty(Error(`Invariant: incrementalCache missing in unstable_cache ${a.toString()}`),"__NEXT_ERROR_CODE",{value:"E469",enumerable:!1,configurable:!0});let n=k?(0,g.getCacheSignal)(k):null;n&&n.beginRead();try{let f=e&&k?function(a,b){switch(b.type){case"request":let c=b.url.pathname,d=new URLSearchParams(b.url.search),e=[...d.keys()].sort((a,b)=>a.localeCompare(b)).map(a=>`${a}=${d.get(a)}`).join("&");return`${c}${e.length?"?":""}${e}`;case"prerender":case"prerender-client":case"prerender-runtime":case"prerender-ppr":case"prerender-legacy":case"cache":case"private-cache":case"unstable-cache":return a.route;default:return b}}(e,k):"",n=`${l}-${JSON.stringify(b)}`,o=await m.generateCacheKey(n),p=`unstable_cache ${f} ${a.name?` ${a.name}`:o}`,q=(e?e.nextFetchId:i)??1,r=null==k?void 0:k.implicitTags,s={type:"unstable-cache",phase:"render",implicitTags:r,draftMode:k&&e&&(0,g.getDraftModeProviderForCacheScope)(e,k)};if(e){e.nextFetchId=q+1;let f=!1;if(k)switch(k.type){case"cache":case"private-cache":case"prerender":case"prerender-runtime":case"prerender-ppr":case"prerender-legacy":"number"==typeof c.revalidate&&(k.revalidate<c.revalidate||(k.revalidate=c.revalidate));let i=k.tags;if(null===i)k.tags=d.slice();else for(let a of d)i.includes(a)||i.push(a);break;case"unstable-cache":f=!0}if(!f&&"force-no-store"!==e.fetchCache&&!e.isOnDemandRevalidate&&!m.isOnDemandRevalidate&&!e.isDraftMode){let f=await m.get(o,{kind:h.IncrementalCacheKind.FETCH,revalidate:c.revalidate,tags:d,softTags:null==r?void 0:r.tags,fetchIdx:q,fetchUrl:p});if(f&&f.value)if(f.value.kind!==h.CachedRouteKind.FETCH)console.error(`Invariant invalid cacheEntry returned for ${n}`);else{let h=void 0!==f.value.data.body?JSON.parse(f.value.data.body):void 0;if(f.isStale){if(e.pendingRevalidates||(e.pendingRevalidates={}),!e.pendingRevalidates[n]){let f=g.workUnitAsyncStorage.run(s,a,...b).then(async a=>(await j(a,m,o,d,c.revalidate,q,p),a)).catch(a=>(console.error(`revalidating cache with key: ${n}`,a),h));e.isRevalidate&&f.catch(()=>{}),e.pendingRevalidates[n]=f}if(e.isRevalidate)return e.pendingRevalidates[n]}return h}}let l=await g.workUnitAsyncStorage.run(s,a,...b);return e.isDraftMode||(e.pendingRevalidates||(e.pendingRevalidates={}),e.pendingRevalidates[n]=j(l,m,o,d,c.revalidate,q,p)),l}{if(i+=1,!m.isOnDemandRevalidate){let a=await m.get(o,{kind:h.IncrementalCacheKind.FETCH,revalidate:c.revalidate,tags:d,fetchIdx:q,fetchUrl:p,softTags:null==r?void 0:r.tags});if(a&&a.value){if(a.value.kind!==h.CachedRouteKind.FETCH)console.error(`Invariant invalid cacheEntry returned for ${n}`);else if(!a.isStale)return void 0!==a.value.data.body?JSON.parse(a.value.data.body):void 0}}let e=await g.workUnitAsyncStorage.run(s,a,...b);return await j(e,m,o,d,c.revalidate,q,p),e}}finally{n&&n.endRead()}}}},4594:(a,b)=>{"use strict";function c(a){let{ampFirst:b=!1,hybrid:c=!1,hasQuery:d=!1}=void 0===a?{}:a;return b||c&&d}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isInAmpMode",{enumerable:!0,get:function(){return c}})},5562:(a,b,c)=>{let d={unstable_cache:c(4177).e,revalidateTag:c(86073).revalidateTag,revalidatePath:c(86073).revalidatePath,unstable_expireTag:c(86073).unstable_expireTag,unstable_expirePath:c(86073).unstable_expirePath,unstable_noStore:c(15352).M,unstable_cacheLife:c(32143).F,unstable_cacheTag:c(56287).z};a.exports=d,b.unstable_cache=d.unstable_cache,b.revalidatePath=d.revalidatePath,b.revalidateTag=d.revalidateTag,b.unstable_expireTag=d.unstable_expireTag,b.unstable_expirePath=d.unstable_expirePath,b.unstable_noStore=d.unstable_noStore,b.unstable_cacheLife=d.unstable_cacheLife,b.unstable_cacheTag=d.unstable_cacheTag},10355:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return c}});var c=function(a){return a.PAGES="PAGES",a.PAGES_API="PAGES_API",a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.IMAGE="IMAGE",a}({})},15352:(a,b,c)=>{"use strict";Object.defineProperty(b,"M",{enumerable:!0,get:function(){return g}});let d=c(29294),e=c(63033),f=c(13786);function g(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(!a.forceStatic){if(a.isUnstableNoStore=!0,b)switch(b.type){case"prerender":case"prerender-client":case"prerender-runtime":return}(0,f.markCurrentScopeAsDynamic)(a,b,"unstable_noStore()")}}}},15640:(a,b,c)=>{"use strict";c.d(b,{default:()=>e.a});var d=c(69467),e=c.n(d)},16865:(a,b,c)=>{"use strict";a.exports=c(61031).vendored.contexts.AmpContext},18900:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{INTERCEPTION_ROUTE_MARKERS:function(){return e},extractInterceptionRouteInformation:function(){return g},isInterceptionRouteAppPath:function(){return f}});let d=c(87549),e=["(..)(..)","(.)","(..)","(...)"];function f(a){return void 0!==a.split("/").find(a=>e.find(b=>a.startsWith(b)))}function g(a){let b,c,f;for(let d of a.split("/"))if(c=e.find(a=>d.startsWith(a))){[b,f]=a.split(c,2);break}if(!b||!c||!f)throw Object.defineProperty(Error("Invalid interception route: "+a+". Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>"),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(b=(0,d.normalizeAppPath)(b),c){case"(.)":f="/"===b?"/"+f:b+"/"+f;break;case"(..)":if("/"===b)throw Object.defineProperty(Error("Invalid interception route: "+a+". Cannot use (..) marker at the root level, use (.) instead."),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});f=b.split("/").slice(0,-1).concat(f).join("/");break;case"(...)":f="/"+f;break;case"(..)(..)":let g=b.split("/");if(g.length<=2)throw Object.defineProperty(Error("Invalid interception route: "+a+". Cannot use (..)(..) marker at the root level or one level up."),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});f=g.slice(0,-2).concat(f).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:b,interceptedRoute:f}}},19635:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getClientComponentLoaderMetrics:function(){return g},wrapClientComponentLoader:function(){return f}});let c=0,d=0,e=0;function f(a){return"performance"in globalThis?{require:(...b)=>{let f=performance.now();0===c&&(c=f);try{return e+=1,a.__next_app__.require(...b)}finally{d+=performance.now()-f}},loadChunk:(...b)=>{let c=performance.now(),e=a.__next_app__.loadChunk(...b);return e.finally(()=>{d+=performance.now()-c}),e}}:a.__next_app__}function g(a={}){let b=0===c?void 0:{clientComponentLoadStart:c,clientComponentLoadTimes:d,clientComponentLoadCount:e};return a.reset&&(c=0,d=0,e=0),b}},20312:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]])},21225:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getSortedRouteObjects:function(){return e},getSortedRoutes:function(){return d}});class c{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a){void 0===a&&(a="/");let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(""+a+b+"/")).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(a+"["+this.slugName+"]/")),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot define a route with the same specificity as a optional catch-all route ("'+b+'" and "'+b+"[[..."+this.optionalRestSlugName+']]").'),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(a+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(a+"[[..."+this.optionalRestSlugName+"]]/")),c}_insert(a,b,d){if(0===a.length){this.placeholder=!1;return}if(d)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let e=a[0];if(e.startsWith("[")&&e.endsWith("]")){let c=e.slice(1,-1),g=!1;if(c.startsWith("[")&&c.endsWith("]")&&(c=c.slice(1,-1),g=!0),c.startsWith("…"))throw Object.defineProperty(Error("Detected a three-dot character ('…') at ('"+c+"'). Did you mean ('...')?"),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(c.startsWith("...")&&(c=c.substring(3),d=!0),c.startsWith("[")||c.endsWith("]"))throw Object.defineProperty(Error("Segment names may not start or end with extra brackets ('"+c+"')."),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(c.startsWith("."))throw Object.defineProperty(Error("Segment names may not start with erroneous periods ('"+c+"')."),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function f(a,c){if(null!==a&&a!==c)throw Object.defineProperty(Error("You cannot use different slug names for the same dynamic path ('"+a+"' !== '"+c+"')."),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});b.forEach(a=>{if(a===c)throw Object.defineProperty(Error('You cannot have the same slug name "'+c+'" repeat within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(a.replace(/\W/g,"")===e.replace(/\W/g,""))throw Object.defineProperty(Error('You cannot have the slug names "'+a+'" and "'+c+'" differ only by non-word symbols within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),b.push(c)}if(d)if(g){if(null!=this.restSlugName)throw Object.defineProperty(Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+a[0]+'" ).'),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});f(this.optionalRestSlugName,c),this.optionalRestSlugName=c,e="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+a[0]+'").'),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});f(this.restSlugName,c),this.restSlugName=c,e="[...]"}else{if(g)throw Object.defineProperty(Error('Optional route parameters are not yet supported ("'+a[0]+'").'),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});f(this.slugName,c),this.slugName=c,e="[]"}}this.children.has(e)||this.children.set(e,new c),this.children.get(e)._insert(a.slice(1),b,d)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function d(a){let b=new c;return a.forEach(a=>b.insert(a)),b.smoosh()}function e(a,b){let c={},e=[];for(let d=0;d<a.length;d++){let f=b(a[d]);c[f]=d,e[d]=f}return d(e).map(b=>a[c[b]])}},21614:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{VALID_LOADERS:function(){return c},imageConfigDefault:function(){return d}});let c=["default","imgix","cloudinary","akamai","custom"],d={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],maximumResponseBody:5e7,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},22954:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return p},defaultHead:function(){return l}});let d=c(83658),e=c(62653),f=c(10837),g=e._(c(21968)),h=d._(c(39097)),i=c(16865),j=c(75387),k=c(4594);function l(a){void 0===a&&(a=!1);let b=[(0,f.jsx)("meta",{charSet:"utf-8"},"charset")];return a||b.push((0,f.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),b}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===g.default.Fragment?a.concat(g.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}c(11770);let n=["name","httpEquiv","charSet","itemProp"];function o(a,b){let{inAmpMode:c}=b;return a.reduce(m,[]).reverse().concat(l(c).reverse()).filter(function(){let a=new Set,b=new Set,c=new Set,d={};return e=>{let f=!0,g=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){g=!0;let b=e.key.slice(e.key.indexOf("$")+1);a.has(b)?f=!1:a.add(b)}switch(e.type){case"title":case"base":b.has(e.type)?f=!1:b.add(e.type);break;case"meta":for(let a=0,b=n.length;a<b;a++){let b=n[a];if(e.props.hasOwnProperty(b))if("charSet"===b)c.has(b)?f=!1:c.add(b);else{let a=e.props[b],c=d[b]||new Set;("name"!==b||!g)&&c.has(a)?f=!1:(c.add(a),d[b]=c)}}}return f}}()).reverse().map((a,b)=>{let c=a.key||b;return g.default.cloneElement(a,{key:c})})}let p=function(a){let{children:b}=a,c=(0,g.useContext)(i.AmpStateContext),d=(0,g.useContext)(j.HeadManagerContext);return(0,f.jsx)(h.default,{reduceComponentsToState:o,headManager:d,inAmpMode:(0,k.isInAmpMode)(c),children:b})};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},24714:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},24838:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("user-check",[["path",{d:"m16 11 2 2 4-4",key:"9rsbq5"}],["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},27362:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]])},28605:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},28929:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isNodeNextRequest:function(){return e},isNodeNextResponse:function(){return f},isWebNextRequest:function(){return c},isWebNextResponse:function(){return d}});let c=a=>!1,d=a=>!1,e=a=>!0,f=a=>!0},30443:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{CachedRouteKind:function(){return c},IncrementalCacheKind:function(){return d}});var c=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.REDIRECT="REDIRECT",a.IMAGE="IMAGE",a}({}),d=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.IMAGE="IMAGE",a}({})},32143:(a,b,c)=>{"use strict";function d(a){throw Object.defineProperty(Error("cacheLife() is only available with the experimental.useCache config."),"__NEXT_ERROR_CODE",{value:"E627",enumerable:!1,configurable:!0})}Object.defineProperty(b,"F",{enumerable:!0,get:function(){return d}}),c(29294),c(63033)},33099:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Image",{enumerable:!0,get:function(){return u}});let d=c(83658),e=c(62653),f=c(10837),g=e._(c(21968)),h=d._(c(5217)),i=d._(c(22954)),j=c(79539),k=c(21614),l=c(1733);c(11770);let m=c(89766),n=d._(c(45219)),o=c(14508),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=null==a?void 0:a.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),null==c?void 0:c.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}(null==d?void 0:d.current)&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)((a,b)=>{let{src:c,srcSet:d,sizes:e,height:h,width:i,decoding:j,className:k,style:l,fetchPriority:m,placeholder:n,loading:p,unoptimized:s,fill:t,onLoadRef:u,onLoadingCompleteRef:v,setBlurComplete:w,setShowAltText:x,sizesInput:y,onLoad:z,onError:A,...B}=a,C=(0,g.useCallback)(a=>{a&&(A&&(a.src=a.src),a.complete&&q(a,n,u,v,w,s,y))},[c,n,u,v,w,A,s,y]),D=(0,o.useMergedRef)(b,C);return(0,f.jsx)("img",{...B,...r(m),loading:p,width:i,height:h,decoding:j,"data-nimg":t?"fill":"1",className:k,style:l,sizes:e,srcSet:d,src:c,ref:D,onLoad:a=>{q(a.currentTarget,n,u,v,w,s,y)},onError:a=>{x(!0),"empty"!==n&&w(!0),A&&A(a)}})});function t(a){let{isAppRouter:b,imgAttributes:c}=a,d={as:"image",imageSrcSet:c.srcSet,imageSizes:c.sizes,crossOrigin:c.crossOrigin,referrerPolicy:c.referrerPolicy,...r(c.fetchPriority)};return b&&h.default.preload?(h.default.preload(c.src,d),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:c.srcSet?void 0:c.src,...d},"__nimg-"+c.src+c.srcSet+c.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{var a;let b=p||d||k.imageConfigDefault,c=[...b.deviceSizes,...b.imageSizes].sort((a,b)=>a-b),e=b.deviceSizes.sort((a,b)=>a-b),f=null==(a=b.qualities)?void 0:a.sort((a,b)=>a-b);return{...b,allSizes:c,deviceSizes:e,qualities:f}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.priority?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},35209:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},38415:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getSortedRouteObjects:function(){return d.getSortedRouteObjects},getSortedRoutes:function(){return d.getSortedRoutes},isDynamicRoute:function(){return e.isDynamicRoute}});let d=c(21225),e=c(80013)},39097:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(21968),e=()=>{};function f(a){var b;let{headManager:c,reduceComponentsToState:f}=a;function g(){if(c&&c.mountedInstances){let b=d.Children.toArray(Array.from(c.mountedInstances).filter(Boolean));c.updateHead(f(b,a))}}return null==c||null==(b=c.mountedInstances)||b.add(a.children),g(),e(()=>{var b;return null==c||null==(b=c.mountedInstances)||b.add(a.children),()=>{var b;null==c||null==(b=c.mountedInstances)||b.delete(a.children)}}),e(()=>(c&&(c._pendingUpdate=g),()=>{c&&(c._pendingUpdate=g)})),null}},39472:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return n}});let d=c(66968),e=c(26473),f=c(24748),g=c(59577),h=c(68127);function i(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}!function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(30443),b);let j=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),k=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),l="__ttl_sentinel__";function m(a,b){return`${a}\0${b??l}`}class n{constructor(a,b=k,c=j){this.batcher=d.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:g.scheduleOnNextTick}),this.revalidateBatcher=d.Batcher.create({schedulerFn:g.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new e.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===l?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=m(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,h.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,h.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,f.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:g=!1,isRoutePPREnabled:i=!1,isPrefetch:j=!1,waitUntil:k,routeKind:l,invocationID:n}=c,o=await this.batcher.batch({key:a,isOnDemandRevalidate:e},(c,f)=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:g,isRoutePPREnabled:i,isPrefetch:j,routeKind:l,invocationID:n},f);return k&&k(h),h});return(0,h.toResponseCacheEntry)(o)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,h.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=m(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,i){try{let j=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!j)return null;let k=await (0,h.fromResponseCacheEntry)({...j,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=m(a,i);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},45219:(a,b)=>{"use strict";function c(a){var b;let{config:c,src:d,width:e,quality:f}=a,g=f||(null==(b=c.qualities)?void 0:b.reduce((a,b)=>Math.abs(b-75)<Math.abs(a-75)?b:a))||75;return c.path+"?url="+encodeURIComponent(d)+"&w="+e+"&q="+g+(d.startsWith("/_next/static/media/"),"")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return d}}),c.__next_img_default=!0;let d=c},46839:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]])},56287:(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("cacheTag() is only available with the experimental.useCache config."),"__NEXT_ERROR_CODE",{value:"E628",enumerable:!1,configurable:!0})}Object.defineProperty(b,"z",{enumerable:!0,get:function(){return d}}),c(63033),c(86658)},57208:(a,b)=>{"use strict";let c;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"cloneResponse",{enumerable:!0,get:function(){return e}});let d=()=>{};function e(a){if(!a.body)return[a,a];let[b,d]=a.body.tee(),e=new Response(b,{status:a.status,statusText:a.statusText,headers:a.headers});Object.defineProperty(e,"url",{value:a.url,configurable:!0,enumerable:!0,writable:!1}),c&&e.body&&c.register(e,new WeakRef(e.body));let f=new Response(d,{status:a.status,statusText:a.statusText,headers:a.headers});return Object.defineProperty(f,"url",{value:a.url,configurable:!0,enumerable:!0,writable:!1}),[e,f]}globalThis.FinalizationRegistry&&(c=new FinalizationRegistry(a=>{let b=a.deref();b&&!b.locked&&b.cancel("Response object has been garbage collected").then(d)}))},58194:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NEXT_REQUEST_META:function(){return c},addRequestMeta:function(){return f},getRequestMeta:function(){return d},removeRequestMeta:function(){return g},setRequestMeta:function(){return e}});let c=Symbol.for("NextInternalRequestMeta");function d(a,b){let d=a[c]||{};return"string"==typeof b?d[b]:d}function e(a,b){return a[c]=b,b}function f(a,b,c){let f=d(a);return f[b]=c,e(a,f)}function g(a,b){let c=d(a);return delete c[b],e(a,c)}},66968:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(54501);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b(c,Promise.resolve);let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let a=await b(c,g);g(a)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},68127:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromResponseCacheEntry:function(){return h},routeKindToIncrementalCacheKind:function(){return j},toResponseCacheEntry:function(){return i}});let d=c(30443),e=function(a){return a&&a.__esModule?a:{default:a}}(c(649)),f=c(10355),g=c(65406);async function h(a){var b,c;return{...a,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:await a.value.html.toUnchunkedString(!0),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:await a.value.html.toUnchunkedString(!0),postponed:a.value.postponed,rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,segmentData:a.value.segmentData}:a.value}}async function i(a){var b,c;return a?{isMiss:a.isMiss,isStale:a.isStale,cacheControl:a.cacheControl,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,postponed:a.value.postponed,segmentData:a.value.segmentData}:a.value}:null}function j(a){switch(a){case f.RouteKind.PAGES:return d.IncrementalCacheKind.PAGES;case f.RouteKind.APP_PAGE:return d.IncrementalCacheKind.APP_PAGE;case f.RouteKind.IMAGE:return d.IncrementalCacheKind.IMAGE;case f.RouteKind.APP_ROUTE:return d.IncrementalCacheKind.APP_ROUTE;case f.RouteKind.PAGES_API:throw Object.defineProperty(Error(`Unexpected route kind ${a}`),"__NEXT_ERROR_CODE",{value:"E64",enumerable:!1,configurable:!0});default:return a}}},69467:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return i},getImageProps:function(){return h}});let d=c(83658),e=c(79539),f=c(33099),g=d._(c(45219));function h(a){let{props:b}=(0,e.getImgProps)(a,{defaultLoader:g.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let i=f.Image},72135:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDedupeFetch",{enumerable:!0,get:function(){return h}});let d=function(a,b){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=g(b);if(c&&c.has(a))return c.get(a);var d={__proto__:null},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var h=e?Object.getOwnPropertyDescriptor(a,f):null;h&&(h.get||h.set)?Object.defineProperty(d,f,h):d[f]=a[f]}return d.default=a,c&&c.set(a,d),d}(c(97119)),e=c(57208),f=c(78780);function g(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(g=function(a){return a?c:b})(a)}function h(a){let b=d.cache(a=>[]);return function(c,d){let g,h;if(d&&d.signal)return a(c,d);if("string"!=typeof c||d){let b="string"==typeof c||c instanceof URL?new Request(c,d):c;if("GET"!==b.method&&"HEAD"!==b.method||b.keepalive)return a(c,d);h=JSON.stringify([b.method,Array.from(b.headers.entries()),b.mode,b.redirect,b.credentials,b.referrer,b.referrerPolicy,b.integrity]),g=b.url}else h='["GET",[],null,"follow",null,null,null,null]',g=c;let i=b(g);for(let a=0,b=i.length;a<b;a+=1){let[b,c]=i[a];if(b===h)return c.then(()=>{let b=i[a][2];if(!b)throw Object.defineProperty(new f.InvariantError("No cached response"),"__NEXT_ERROR_CODE",{value:"E579",enumerable:!1,configurable:!0});let[c,d]=(0,e.cloneResponse)(b);return i[a][2]=d,c})}let j=a(c,d),k=[h,j,null];return i.push(k),j.then(a=>{let[b,c]=(0,e.cloneResponse)(a);return k[2]=c,b})}}},73112:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},75387:(a,b,c)=>{"use strict";a.exports=c(61031).vendored.contexts.HeadManagerContext},75888:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},76038:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isAbortError:function(){return i},pipeToNodeResponse:function(){return j}});let d=c(77532),e=c(54501),f=c(53072),g=c(12442),h=c(19635);function i(a){return(null==a?void 0:a.name)==="AbortError"||(null==a?void 0:a.name)===d.ResponseAbortedName}async function j(a,b,c){try{let{errored:i,destroyed:j}=b;if(i||j)return;let k=(0,d.createAbortController)(b),l=function(a,b){let c=!1,d=new e.DetachedPromise;function i(){d.resolve()}a.on("drain",i),a.once("close",()=>{a.off("drain",i),d.resolve()});let j=new e.DetachedPromise;return a.once("finish",()=>{j.resolve()}),new WritableStream({write:async b=>{if(!c){if(c=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let a=(0,h.getClientComponentLoaderMetrics)();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}a.flushHeaders(),(0,f.getTracer)().trace(g.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let c=a.write(b);"flush"in a&&"function"==typeof a.flush&&a.flush(),c||(await d.promise,d=new e.DetachedPromise)}catch(b){throw a.end(),Object.defineProperty(Error("failed to write chunk to response",{cause:b}),"__NEXT_ERROR_CODE",{value:"E321",enumerable:!1,configurable:!0})}},abort:b=>{a.writableFinished||a.destroy(b)},close:async()=>{if(b&&await b,!a.writableFinished)return a.end(),j.promise}})}(b,c);await a.pipeTo(l,{signal:k.signal})}catch(a){if(i(a))return;throw Object.defineProperty(Error("failed to pipe response",{cause:a}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}},77532:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NextRequestAdapter:function(){return l},ResponseAborted:function(){return i},ResponseAbortedName:function(){return h},createAbortController:function(){return j},signalFromNodeResponse:function(){return k}});let d=c(58194),e=c(63279),f=c(40343),g=c(28929),h="ResponseAborted";class i extends Error{constructor(...a){super(...a),this.name=h}}function j(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new i)}),b}function k(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new i);let{signal:d}=j(a);return d}class l{static fromBaseNextRequest(a,b){if((0,g.isNodeNextRequest)(a))return l.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,g=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(g=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,d.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new f.NextRequest(c,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:g}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new f.NextRequest(a.url,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},79539:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImgProps",{enumerable:!0,get:function(){return i}}),c(11770);let d=c(130),e=c(21614),f=["-moz-initial","fill","none","scale-down",void 0];function g(a){return void 0!==a.default}function h(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function i(a,b){var c,i;let j,k,l,{src:m,sizes:n,unoptimized:o=!1,priority:p=!1,loading:q,className:r,quality:s,width:t,height:u,fill:v=!1,style:w,overrideSrc:x,onLoad:y,onLoadingComplete:z,placeholder:A="empty",blurDataURL:B,fetchPriority:C,decoding:D="async",layout:E,objectFit:F,objectPosition:G,lazyBoundary:H,lazyRoot:I,...J}=a,{imgConf:K,showAltText:L,blurComplete:M,defaultLoader:N}=b,O=K||e.imageConfigDefault;if("allSizes"in O)j=O;else{let a=[...O.deviceSizes,...O.imageSizes].sort((a,b)=>a-b),b=O.deviceSizes.sort((a,b)=>a-b),d=null==(c=O.qualities)?void 0:c.sort((a,b)=>a-b);j={...O,allSizes:a,deviceSizes:b,qualities:d}}if(void 0===N)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let P=J.loader||N;delete J.loader,delete J.srcSet;let Q="__next_img_default"in P;if(Q){if("custom"===j.loader)throw Object.defineProperty(Error('Image with src "'+m+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=P;P=b=>{let{config:c,...d}=b;return a(d)}}if(E){"fill"===E&&(v=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[E];a&&(w={...w,...a});let b={responsive:"100vw",fill:"100vw"}[E];b&&!n&&(n=b)}let R="",S=h(t),T=h(u);if((i=m)&&"object"==typeof i&&(g(i)||void 0!==i.src)){let a=g(m)?m.default:m;if(!a.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!a.height||!a.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(k=a.blurWidth,l=a.blurHeight,B=B||a.blurDataURL,R=a.src,!v)if(S||T){if(S&&!T){let b=S/a.width;T=Math.round(a.height*b)}else if(!S&&T){let b=T/a.height;S=Math.round(a.width*b)}}else S=a.width,T=a.height}let U=!p&&("lazy"===q||void 0===q);(!(m="string"==typeof m?m:R)||m.startsWith("data:")||m.startsWith("blob:"))&&(o=!0,U=!1),j.unoptimized&&(o=!0),Q&&!j.dangerouslyAllowSVG&&m.split("?",1)[0].endsWith(".svg")&&(o=!0);let V=h(s),W=Object.assign(v?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:F,objectPosition:G}:{},L?{}:{color:"transparent"},w),X=M||"empty"===A?null:"blur"===A?'url("data:image/svg+xml;charset=utf-8,'+(0,d.getImageBlurSvg)({widthInt:S,heightInt:T,blurWidth:k,blurHeight:l,blurDataURL:B||"",objectFit:W.objectFit})+'")':'url("'+A+'")',Y=f.includes(W.objectFit)?"fill"===W.objectFit?"100% 100%":"cover":W.objectFit,Z=X?{backgroundSize:Y,backgroundPosition:W.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},$=function(a){let{config:b,src:c,unoptimized:d,width:e,quality:f,sizes:g,loader:h}=a;if(d)return{src:c,srcSet:void 0,sizes:void 0};let{widths:i,kind:j}=function(a,b,c){let{deviceSizes:d,allSizes:e}=a;if(c){let a=/(^|\s)(1?\d?\d)vw/g,b=[];for(let d;d=a.exec(c);)b.push(parseInt(d[2]));if(b.length){let a=.01*Math.min(...b);return{widths:e.filter(b=>b>=d[0]*a),kind:"w"}}return{widths:e,kind:"w"}}return"number"!=typeof b?{widths:d,kind:"w"}:{widths:[...new Set([b,2*b].map(a=>e.find(b=>b>=a)||e[e.length-1]))],kind:"x"}}(b,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((a,d)=>h({config:b,src:c,quality:f,width:a})+" "+("w"===j?a:d+1)+j).join(", "),src:h({config:b,src:c,quality:f,width:i[k]})}}({config:j,src:m,unoptimized:o,width:S,quality:V,sizes:n,loader:P});return{props:{...J,loading:U?"lazy":q,fetchPriority:C,width:S,height:T,decoding:D,className:r,style:{...W,...Z},sizes:$.sizes,srcSet:$.srcSet,src:x||$.src},meta:{unoptimized:o,priority:p,placeholder:A,fill:v}}}},80013:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isDynamicRoute",{enumerable:!0,get:function(){return g}});let d=c(18900),e=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,f=/\/\[[^/]+\](?=\/|$)/;function g(a,b){return(void 0===b&&(b=!0),(0,d.isInterceptionRouteAppPath)(a)&&(a=(0,d.extractInterceptionRouteInformation)(a).interceptedRoute),b)?f.test(a):e.test(a)}},86073:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{revalidatePath:function(){return n},revalidateTag:function(){return k},unstable_expirePath:function(){return l},unstable_expireTag:function(){return m}});let d=c(13786),e=c(38415),f=c(65406),g=c(29294),h=c(63033),i=c(18462),j=c(78780);function k(a){return o([a],`revalidateTag ${a}`)}function l(a,b){if(a.length>f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH)return void console.warn(`Warning: expirePath received "${a}" which exceeded max length of ${f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH}. See more info here https://nextjs.org/docs/app/api-reference/functions/unstable_expirePath`);let c=`${f.NEXT_CACHE_IMPLICIT_TAG_ID}${a}`;return b?c+=`${c.endsWith("/")?"":"/"}${b}`:(0,e.isDynamicRoute)(a)&&console.warn(`Warning: a dynamic page path "${a}" was passed to "expirePath", but the "type" parameter is missing. This has no effect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/unstable_expirePath`),o([c],`unstable_expirePath ${a}`)}function m(...a){return o(a,`unstable_expireTag ${a.join(", ")}`)}function n(a,b){if(a.length>f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH)return void console.warn(`Warning: revalidatePath received "${a}" which exceeded max length of ${f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH}. See more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`);let c=`${f.NEXT_CACHE_IMPLICIT_TAG_ID}${a}`;return b?c+=`${c.endsWith("/")?"":"/"}${b}`:(0,e.isDynamicRoute)(a)&&console.warn(`Warning: a dynamic page path "${a}" was passed to "revalidatePath", but the "type" parameter is missing. This has no effect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`),o([c],`revalidatePath ${a}`)}function o(a,b){let c=g.workAsyncStorage.getStore();if(!c||!c.incrementalCache)throw Object.defineProperty(Error(`Invariant: static generation store missing in ${b}`),"__NEXT_ERROR_CODE",{value:"E263",enumerable:!1,configurable:!0});let e=h.workUnitAsyncStorage.getStore();if(e){if("render"===e.phase)throw Object.defineProperty(Error(`Route ${c.route} used "${b}" during render which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E7",enumerable:!1,configurable:!0});switch(e.type){case"cache":case"private-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${b}" inside a "use cache" which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E181",enumerable:!1,configurable:!0});case"unstable-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${b}" inside a function cached with "unstable_cache(...)" which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E306",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":let a=Object.defineProperty(Error(`Route ${c.route} used ${b} without first calling \`await connection()\`.`),"__NEXT_ERROR_CODE",{value:"E406",enumerable:!1,configurable:!0});return(0,d.abortAndThrowOnSynchronousRequestDataAccess)(c.route,b,a,e);case"prerender-client":throw Object.defineProperty(new j.InvariantError(`${b} must not be used within a client component. Next.js should be preventing ${b} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,d.postponeWithTracking)(c.route,b,e.dynamicTracking);case"prerender-legacy":e.revalidate=0;let f=Object.defineProperty(new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${b}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.dynamicUsageDescription=b,c.dynamicUsageStack=f.stack,f}}for(let b of(c.pendingRevalidatedTags||(c.pendingRevalidatedTags=[]),a))c.pendingRevalidatedTags.includes(b)||c.pendingRevalidatedTags.push(b);c.pathWasRevalidated=!0}},86658:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NEXT_PATCH_SYMBOL:function(){return n},createPatchedFetcher:function(){return t},patchFetch:function(){return u},validateRevalidate:function(){return o},validateTags:function(){return p}});let d=c(12442),e=c(53072),f=c(65406),g=c(13786),h=c(91275),i=c(72135),j=c(63033),k=c(39472),l=c(59577),m=c(57208),n=Symbol.for("next-patch");function o(a,b){try{let c;if(!1===a)c=f.INFINITE_CACHE;else if("number"==typeof a&&!isNaN(a)&&a>-1)c=a;else if(void 0!==a)throw Object.defineProperty(Error(`Invalid revalidate value "${a}" on "${b}", must be a non-negative number or false`),"__NEXT_ERROR_CODE",{value:"E179",enumerable:!1,configurable:!0});return c}catch(a){if(a instanceof Error&&a.message.includes("Invalid revalidate"))throw a;return}}function p(a,b){let c=[],d=[];for(let e=0;e<a.length;e++){let g=a[e];if("string"!=typeof g?d.push({tag:g,reason:"invalid type, must be a string"}):g.length>f.NEXT_CACHE_TAG_MAX_LENGTH?d.push({tag:g,reason:`exceeded max length of ${f.NEXT_CACHE_TAG_MAX_LENGTH}`}):c.push(g),c.length>f.NEXT_CACHE_TAG_MAX_ITEMS){console.warn(`Warning: exceeded max tag count for ${b}, dropped tags:`,a.slice(e).join(", "));break}}if(d.length>0)for(let{tag:a,reason:c}of(console.warn(`Warning: invalid tags passed to ${b}: `),d))console.log(`tag: "${a}" ${c}`);return c}function q(a,b){a.shouldTrackFetchMetrics&&(a.fetchMetrics??=[],a.fetchMetrics.push({...b,end:performance.timeOrigin+performance.now(),idx:a.nextFetchId||0}))}async function r(a,b,c,d,e,f){let g=await a.arrayBuffer(),h={headers:Object.fromEntries(a.headers.entries()),body:Buffer.from(g).toString("base64"),status:a.status,url:a.url};return c&&await d.set(b,{kind:k.CachedRouteKind.FETCH,data:h,revalidate:e},c),await f(),new Response(g,{headers:a.headers,status:a.status,statusText:a.statusText})}async function s(a,b,c,d,e,f,g,h,i){let[j,l]=(0,m.cloneResponse)(b),n=j.arrayBuffer().then(async a=>{let b=Buffer.from(a),h={headers:Object.fromEntries(j.headers.entries()),body:b.toString("base64"),status:j.status,url:j.url};null==f||f.set(c,h),d&&await e.set(c,{kind:k.CachedRouteKind.FETCH,data:h,revalidate:g},d)}).catch(a=>console.warn("Failed to set fetch cache",h,a)).finally(i),o=`cache-set-${c}`;return a.pendingRevalidates??={},o in a.pendingRevalidates&&await a.pendingRevalidates[o],a.pendingRevalidates[o]=n.finally(()=>{var b;(null==(b=a.pendingRevalidates)?void 0:b[o])&&delete a.pendingRevalidates[o]}),l}function t(a,{workAsyncStorage:b,workUnitAsyncStorage:c}){let i=async function(i,n){var t,u;let v;try{(v=new URL(i instanceof Request?i.url:i)).username="",v.password=""}catch{v=void 0}let w=(null==v?void 0:v.href)??"",x=(null==n||null==(t=n.method)?void 0:t.toUpperCase())||"GET",y=(null==n||null==(u=n.next)?void 0:u.internal)===!0,z="1"===process.env.NEXT_OTEL_FETCH_DISABLED,A=y?void 0:performance.timeOrigin+performance.now(),B=b.getStore(),C=c.getStore(),D=C?(0,j.getCacheSignal)(C):null;D&&D.beginRead();let E=(0,e.getTracer)().trace(y?d.NextNodeServerSpan.internalFetch:d.AppRenderSpan.fetch,{hideSpan:z,kind:e.SpanKind.CLIENT,spanName:["fetch",x,w].filter(Boolean).join(" "),attributes:{"http.url":w,"http.method":x,"net.peer.name":null==v?void 0:v.hostname,"net.peer.port":(null==v?void 0:v.port)||void 0}},async()=>{var b;let c,d,e,j,t,u;if(y||!B||B.isDraftMode)return a(i,n);let v=i&&"object"==typeof i&&"string"==typeof i.method,x=a=>(null==n?void 0:n[a])||(v?i[a]:null),z=a=>{var b,c,d;return void 0!==(null==n||null==(b=n.next)?void 0:b[a])?null==n||null==(c=n.next)?void 0:c[a]:v?null==(d=i.next)?void 0:d[a]:void 0},E=z("revalidate"),F=E,G=p(z("tags")||[],`fetch ${i.toString()}`);if(C)switch(C.type){case"prerender":case"prerender-runtime":case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"cache":case"private-cache":c=C}if(c&&Array.isArray(G)){let a=c.tags??(c.tags=[]);for(let b of G)a.includes(b)||a.push(b)}let H=null==C?void 0:C.implicitTags,I=B.fetchCache;C&&"unstable-cache"===C.type&&(I="force-no-store");let J=!!B.isUnstableNoStore,K=x("cache"),L="";"string"==typeof K&&void 0!==F&&("force-cache"===K&&0===F||"no-store"===K&&(F>0||!1===F))&&(d=`Specified "cache: ${K}" and "revalidate: ${F}", only one should be specified.`,K=void 0,F=void 0);let M="no-cache"===K||"no-store"===K||"force-no-store"===I||"only-no-store"===I,N=!I&&!K&&!F&&B.forceDynamic;"force-cache"===K&&void 0===F?F=!1:(M||N)&&(F=0),("no-cache"===K||"no-store"===K)&&(L=`cache: ${K}`),u=o(F,B.route);let O=x("headers"),P="function"==typeof(null==O?void 0:O.get)?O:new Headers(O||{}),Q=P.get("authorization")||P.get("cookie"),R=!["get","head"].includes((null==(b=x("method"))?void 0:b.toLowerCase())||"get"),S=void 0==I&&(void 0==K||"default"===K)&&void 0==F,T=!!((Q||R)&&(null==c?void 0:c.revalidate)===0),U=!1;if(!T&&S&&(B.isBuildTimePrerendering?U=!0:T=!0),S&&void 0!==C)switch(C.type){case"prerender":case"prerender-runtime":case"prerender-client":return D&&(D.endRead(),D=null),(0,h.makeHangingPromise)(C.renderSignal,B.route,"fetch()")}switch(I){case"force-no-store":L="fetchCache = force-no-store";break;case"only-no-store":if("force-cache"===K||void 0!==u&&u>0)throw Object.defineProperty(Error(`cache: 'force-cache' used on fetch for ${w} with 'export const fetchCache = 'only-no-store'`),"__NEXT_ERROR_CODE",{value:"E448",enumerable:!1,configurable:!0});L="fetchCache = only-no-store";break;case"only-cache":if("no-store"===K)throw Object.defineProperty(Error(`cache: 'no-store' used on fetch for ${w} with 'export const fetchCache = 'only-cache'`),"__NEXT_ERROR_CODE",{value:"E521",enumerable:!1,configurable:!0});break;case"force-cache":(void 0===F||0===F)&&(L="fetchCache = force-cache",u=f.INFINITE_CACHE)}if(void 0===u?"default-cache"!==I||J?"default-no-store"===I?(u=0,L="fetchCache = default-no-store"):J?(u=0,L="noStore call"):T?(u=0,L="auto no cache"):(L="auto cache",u=c?c.revalidate:f.INFINITE_CACHE):(u=f.INFINITE_CACHE,L="fetchCache = default-cache"):L||(L=`revalidate: ${u}`),!(B.forceStatic&&0===u)&&!T&&c&&u<c.revalidate){if(0===u){if(C)switch(C.type){case"prerender":case"prerender-client":case"prerender-runtime":return D&&(D.endRead(),D=null),(0,h.makeHangingPromise)(C.renderSignal,B.route,"fetch()")}(0,g.markCurrentScopeAsDynamic)(B,C,`revalidate: 0 fetch ${i} ${B.route}`)}c&&E===u&&(c.revalidate=u)}let V="number"==typeof u&&u>0,{incrementalCache:W}=B,X=!1;if(C)switch(C.type){case"request":case"cache":case"private-cache":X=C.isHmrRefresh??!1,j=C.serverComponentsHmrCache}if(W&&(V||j))try{e=await W.generateCacheKey(w,v?i:n)}catch(a){console.error("Failed to generate cache key for",i)}let Y=B.nextFetchId??1;B.nextFetchId=Y+1;let Z=()=>{},$=async(b,c)=>{let g=["cache","credentials","headers","integrity","keepalive","method","mode","redirect","referrer","referrerPolicy","window","duplex",...b?[]:["signal"]];if(v){let a=i,b={body:a._ogBody||a.body};for(let c of g)b[c]=a[c];i=new Request(a.url,b)}else if(n){let{_ogBody:a,body:c,signal:d,...e}=n;n={...e,body:a||c,signal:b?void 0:d}}let h={...n,next:{...null==n?void 0:n.next,fetchType:"origin",fetchIdx:Y}};return a(i,h).then(async a=>{if(!b&&A&&q(B,{start:A,url:w,cacheReason:c||L,cacheStatus:0===u||c?"skip":"miss",cacheWarning:d,status:a.status,method:h.method||"GET"}),200===a.status&&W&&e&&(V||j)){let b=u>=f.INFINITE_CACHE?f.CACHE_ONE_YEAR:u,c=V?{fetchCache:!0,fetchUrl:w,fetchIdx:Y,tags:G,isImplicitBuildTimeCache:U}:void 0;switch(null==C?void 0:C.type){case"prerender":case"prerender-client":case"prerender-runtime":return r(a,e,c,W,b,Z);case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return s(B,a,e,c,W,j,b,i,Z)}}return await Z(),a}).catch(a=>{throw Z(),a})},_=!1,aa=!1;if(e&&W){let a;if(X&&j&&(a=j.get(e),aa=!0),V&&!a){Z=await W.lock(e);let b=B.isOnDemandRevalidate?null:await W.get(e,{kind:k.IncrementalCacheKind.FETCH,revalidate:u,fetchUrl:w,fetchIdx:Y,tags:G,softTags:null==H?void 0:H.tags});if(S&&C)switch(C.type){case"prerender":case"prerender-client":case"prerender-runtime":await (0,l.waitAtLeastOneReactRenderTask)()}if(b?await Z():t="cache-control: no-cache (hard refresh)",(null==b?void 0:b.value)&&b.value.kind===k.CachedRouteKind.FETCH)if(B.isRevalidate&&b.isStale)_=!0;else{if(b.isStale&&(B.pendingRevalidates??={},!B.pendingRevalidates[e])){let a=$(!0).then(async a=>({body:await a.arrayBuffer(),headers:a.headers,status:a.status,statusText:a.statusText})).finally(()=>{B.pendingRevalidates??={},delete B.pendingRevalidates[e||""]});a.catch(console.error),B.pendingRevalidates[e]=a}a=b.value.data}}if(a){A&&q(B,{start:A,url:w,cacheReason:L,cacheStatus:aa?"hmr":"hit",cacheWarning:d,status:a.status||200,method:(null==n?void 0:n.method)||"GET"});let b=new Response(Buffer.from(a.body,"base64"),{headers:a.headers,status:a.status});return Object.defineProperty(b,"url",{value:a.url}),b}}if(B.isStaticGeneration&&n&&"object"==typeof n){let{cache:a}=n;if("no-store"===a){if(C)switch(C.type){case"prerender":case"prerender-client":case"prerender-runtime":return D&&(D.endRead(),D=null),(0,h.makeHangingPromise)(C.renderSignal,B.route,"fetch()")}(0,g.markCurrentScopeAsDynamic)(B,C,`no-store fetch ${i} ${B.route}`)}let b="next"in n,{next:d={}}=n;if("number"==typeof d.revalidate&&c&&d.revalidate<c.revalidate){if(0===d.revalidate){if(C)switch(C.type){case"prerender":case"prerender-client":case"prerender-runtime":return(0,h.makeHangingPromise)(C.renderSignal,B.route,"fetch()")}(0,g.markCurrentScopeAsDynamic)(B,C,`revalidate: 0 fetch ${i} ${B.route}`)}B.forceStatic&&0===d.revalidate||(c.revalidate=d.revalidate)}b&&delete n.next}if(!e||!_)return $(!1,t);{let a=e;B.pendingRevalidates??={};let b=B.pendingRevalidates[a];if(b){let a=await b;return new Response(a.body,{headers:a.headers,status:a.status,statusText:a.statusText})}let c=$(!0,t).then(m.cloneResponse);return(b=c.then(async a=>{let b=a[0];return{body:await b.arrayBuffer(),headers:b.headers,status:b.status,statusText:b.statusText}}).finally(()=>{var b;(null==(b=B.pendingRevalidates)?void 0:b[a])&&delete B.pendingRevalidates[a]})).catch(()=>{}),B.pendingRevalidates[a]=b,c.then(a=>a[1])}});if(D)try{return await E}finally{D&&D.endRead()}return E};return i.__nextPatched=!0,i.__nextGetStaticStore=()=>b,i._nextOriginalFetch=a,globalThis[n]=!0,Object.defineProperty(i,"name",{value:"fetch",writable:!1}),i}function u(a){if(!0===globalThis[n])return;let b=(0,i.createDedupeFetch)(globalThis.fetch);globalThis.fetch=t(b,a)}},86677:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]])},86691:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]])},89766:(a,b,c)=>{"use strict";a.exports=c(61031).vendored.contexts.RouterContext},97825:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(56556).A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])}};