@chorus-aidlc/chorus 0.12.0 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +364 -363
  3. package/.next/standalone/.next/app-path-routes-manifest.json +43 -43
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +43 -43
  6. package/.next/standalone/.next/react-loadable-manifest.json +3 -3
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +2 -2
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +2 -2
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  44. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  48. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  49. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies/new.rsc +1 -1
  53. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  55. package/.next/standalone/.next/server/app/admin/companies.rsc +1 -1
  56. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/admin.html +1 -1
  58. package/.next/standalone/.next/server/app/admin.rsc +1 -1
  59. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/session/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/control/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/events/notifications/route.js +6 -4
  96. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/events/route.js +7 -5
  98. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/keepalive/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/index.html +1 -1
  147. package/.next/standalone/.next/server/app/index.rsc +2 -2
  148. package/.next/standalone/.next/server/app/login/admin/page.js +2 -2
  149. package/.next/standalone/.next/server/app/login/admin/page.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  152. package/.next/standalone/.next/server/app/login/admin.rsc +1 -1
  153. package/.next/standalone/.next/server/app/login/callback/page.js +2 -2
  154. package/.next/standalone/.next/server/app/login/callback/page.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  157. package/.next/standalone/.next/server/app/login/callback.rsc +1 -1
  158. package/.next/standalone/.next/server/app/login/page.js +2 -2
  159. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  163. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +1 -1
  164. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  166. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +1 -1
  167. package/.next/standalone/.next/server/app/login.html +1 -1
  168. package/.next/standalone/.next/server/app/login.rsc +2 -2
  169. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  170. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  173. package/.next/standalone/.next/server/app/onboarding.rsc +2 -2
  174. package/.next/standalone/.next/server/app/page.js +2 -2
  175. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/projects.html +1 -1
  178. package/.next/standalone/.next/server/app/projects.rsc +2 -2
  179. package/.next/standalone/.next/server/app/settings.html +1 -1
  180. package/.next/standalone/.next/server/app/settings.rsc +3 -3
  181. package/.next/standalone/.next/server/app-paths-manifest.json +43 -43
  182. package/.next/standalone/.next/server/chunks/1596.js +2 -2
  183. package/.next/standalone/.next/server/chunks/2779.js +31 -0
  184. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  185. package/.next/standalone/.next/server/chunks/3219.js +1 -1
  186. package/.next/standalone/.next/server/chunks/4292.js +1 -0
  187. package/.next/standalone/.next/server/chunks/4872.js +1 -1
  188. package/.next/standalone/.next/server/chunks/5538.js +1 -0
  189. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  190. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  191. package/.next/standalone/.next/server/chunks/7063.js +2 -2
  192. package/.next/standalone/.next/server/chunks/7160.js +1 -1
  193. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  194. package/.next/standalone/.next/server/chunks/7515.js +1 -1
  195. package/.next/standalone/.next/server/chunks/8732.js +1 -0
  196. package/.next/standalone/.next/server/chunks/920.js +1 -1
  197. package/.next/standalone/.next/server/chunks/9273.js +1 -0
  198. package/.next/standalone/.next/server/chunks/937.js +1 -1
  199. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  200. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  201. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  202. package/.next/standalone/.next/server/pages/404.html +1 -1
  203. package/.next/standalone/.next/server/pages/500.html +1 -1
  204. package/.next/standalone/.next/server/pages-manifest.json +1 -1
  205. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  207. package/.next/standalone/.next/static/chunks/10344-2e9a9d767e2e8ed1.js +1 -0
  208. package/.next/standalone/.next/static/chunks/{33187.13c12f5c0821ac57.js → 33187.1328c15b9dab78a8.js} +1 -1
  209. package/.next/standalone/.next/static/chunks/{40867-04cc0d00205eaf9b.js → 46983-8bf90f1ffeb55957.js} +1 -1
  210. package/.next/standalone/.next/static/chunks/{32497-886aa4d3d7bf4967.js → 46999-f53da8f53fe1b8a9.js} +1 -1
  211. package/.next/standalone/.next/static/chunks/{4860.f4242c493fcf182d.js → 4860.e3d0dd79a4d37626.js} +1 -1
  212. package/.next/standalone/.next/static/chunks/{78917-2b959ab0a7f610b4.js → 78917-aa5bbff9248799a4.js} +1 -1
  213. package/.next/standalone/.next/static/chunks/85573-fb4d2cbd67612d47.js +1 -0
  214. package/.next/standalone/.next/static/chunks/{97784-7b90a17294840e32.js → 97784-42081b75f8cc6da8.js} +1 -1
  215. package/.next/standalone/.next/static/chunks/97868-55f18a05fe483d85.js +1 -0
  216. package/.next/standalone/.next/static/chunks/{99373.880b43de1fa6411f.js → 99373.cc6319fa4cf36081.js} +1 -1
  217. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-b3a497ba5eb08036.js +1 -0
  218. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-d786f0c18a9c4f06.js +1 -0
  219. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-c68f1eda3779b448.js +1 -0
  220. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/{page-6620b9d7a2cc766f.js → page-e0935445535c28cb.js} +1 -1
  221. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-f824632ff61a9fa7.js +1 -0
  222. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-dbcb6e50fc4816c6.js +1 -0
  223. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-1295bc505e727383.js +1 -0
  224. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-d5c3dde34d6291a8.js → page-ceeec49af0396432.js} +1 -1
  225. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-0da08d8b425acb6a.js → page-1286afe43c086d6a.js} +1 -1
  226. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/{page-44014947a679f91c.js → page-0fb1d51016f6bd56.js} +1 -1
  227. package/.next/standalone/.next/static/chunks/app/login/page-d2513f477211dd6f.js +1 -0
  228. package/.next/standalone/.next/static/chunks/app/onboarding/{page-9a41067d4c5d29d7.js → page-2936274fb252329e.js} +1 -1
  229. package/.next/standalone/.next/static/chunks/app/page-075afd218994d377.js +1 -0
  230. package/.next/standalone/.next/static/chunks/{webpack-1556cfd11f7e90d1.js → webpack-ed3555ea61243391.js} +1 -1
  231. package/.next/standalone/package.json +1 -1
  232. package/README.md +2 -2
  233. package/README.zh.md +2 -2
  234. package/cli/client-args.mjs +1 -1
  235. package/cli/codex-session-map.mjs +117 -0
  236. package/cli/codex-spawner.mjs +312 -0
  237. package/cli/daemon-agent.mjs +32 -6
  238. package/cli/daemon-banner.mjs +43 -5
  239. package/cli/daemon.mjs +133 -14
  240. package/cli/login.mjs +77 -34
  241. package/cli/spawner-select.mjs +30 -0
  242. package/cli/sse-listener.mjs +29 -1
  243. package/cli/upload-hooks.mjs +73 -8
  244. package/package.json +1 -1
  245. package/.next/standalone/.next/server/chunks/3371.js +0 -1
  246. package/.next/standalone/.next/server/chunks/345.js +0 -1
  247. package/.next/standalone/.next/server/chunks/4958.js +0 -1
  248. package/.next/standalone/.next/server/chunks/5581.js +0 -1
  249. package/.next/standalone/.next/server/chunks/7897.js +0 -1
  250. package/.next/standalone/.next/server/chunks/8245.js +0 -31
  251. package/.next/standalone/.next/static/chunks/42111-1935df3b0dab2095.js +0 -1
  252. package/.next/standalone/.next/static/chunks/6239-d78e6f830ce0a7f8.js +0 -1
  253. package/.next/standalone/.next/static/chunks/97868-9406a4014b667c2d.js +0 -1
  254. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-f04d5fa070f15acd.js +0 -1
  255. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-c4271886ef004611.js +0 -1
  256. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-7a8b60de97bfbd29.js +0 -1
  257. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-0a55289b2bc510c2.js +0 -1
  258. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-99639479cc98965f.js +0 -1
  259. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-5d09141beb5d6aee.js +0 -1
  260. package/.next/standalone/.next/static/chunks/app/login/page-e7493d55573a52f1.js +0 -1
  261. package/.next/standalone/.next/static/chunks/app/page-8b4baa950c78ffe7.js +0 -1
  262. /package/.next/standalone/.next/static/{v1yRpXkt1wNBkZMTE3tiz → GmBblfxcDziUENBiEap4B}/_buildManifest.js +0 -0
  263. /package/.next/standalone/.next/static/{v1yRpXkt1wNBkZMTE3tiz → GmBblfxcDziUENBiEap4B}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[42111],{7889:(e,t,n)=>{n.d(t,{d:()=>l});var r=n(52217);let l=(0,r.createServerReference)("70aaecb121fe1371b6e5075f5954cea3ffaab203bb",r.callServer,void 0,r.findSourceMapURL,"getCommentsAction")},30423:(e,t,n)=>{n.d(t,{j:()=>l});let r=["#E06C75","#E5C07B","#98C379","#56B6C2","#61AFEF","#C678DD","#D19A66","#BE5046","#7EC8E3","#C3E88D","#F78C6C","#A9DC76"];function l(e){let t=function(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%r.length;return r[t]}},38106:(e,t,n)=>{function r(e){let t="string"==typeof e?new Date(e):e;if(isNaN(t.getTime()))return"";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),l=String(t.getDate()).padStart(2,"0"),a=String(t.getHours()).padStart(2,"0"),c=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(l," ").concat(a,":").concat(c)}function l(e,t){let n="string"==typeof e?new Date(e):e;return isNaN(n.getTime())?"":n.toLocaleDateString(t,{month:"short",day:"numeric"})}n.d(t,{r:()=>r,s:()=>l})},42111:(e,t,n)=>{n.d(t,{$m:()=>W});var r=n(90508),l=n(1856),a=n(39268),c=n(94903),i=n(85226),o=n(95886),s=n(36755),u=n(5425),d=n(22922),m=n(73693),p=n(42242),f=n(85783),x=n(99783),h=n(24377),g=n(67712),w=n(42305);function v(e){var t;if(!e)return{pinnedHost:null,pinnedCwd:null};let n=new URLSearchParams(e),r=n.has("cwd"),l=n.has("host");if(!r&&!l)return{pinnedHost:null,pinnedCwd:null};let a=null!=(t=n.get("cwd"))?t:"",c=n.get("host");return{pinnedCwd:r&&""!==a?a:null,pinnedHost:l?null!=c?c:"":null}}var y=n(78307),b=n(97438);let C=x.A.extend({addAttributes(){var e;return{...null==(e=this.parent)?void 0:e.call(this),mentionType:{default:"user",parseHTML:e=>e.getAttribute("data-mention-type")||"user",renderHTML:e=>({"data-mention-type":e.mentionType||"user"})},pinnedHost:{default:null,parseHTML:e=>e.getAttribute("data-pinned-host"),renderHTML:e=>null==e.pinnedHost?{}:{"data-pinned-host":String(e.pinnedHost)}},pinnedCwd:{default:null,parseHTML:e=>e.getAttribute("data-pinned-cwd"),renderHTML:e=>null==e.pinnedCwd?{}:{"data-pinned-cwd":String(e.pinnedCwd)}}}}});function N(e){let t=e.getJSON();return t.content?t.content.map(e=>(function e(t){if("mention"===t.type){let e=t.attrs;if(e){var n,r,l,a,c,i,o;return l=e.label||e.id,a=e.mentionType||"user",c=e.id,i=null!=(n=e.pinnedHost)?n:null,o=null!=(r=e.pinnedCwd)?r:null,"@[".concat(l,"](").concat(a,":").concat(c).concat(function(e,t){if(null==e&&null==t)return"";let n=e=>encodeURIComponent(e).replace(/\(/g,"%28").replace(/\)/g,"%29"),r=[];return r.push("cwd=".concat(null==t?"":n(t))),null!=e&&r.push("host=".concat(n(e))),"?".concat(r.join("&"))}(i,o),")")}return""}if("text"===t.type)return t.text||"";if("hardBreak"===t.type)return"\n";let s=t.content;return s?s.map(e).join(""):""})(e)).join("\n"):""}function j(e){if(!e)return{type:"doc",content:[{type:"paragraph"}]};let t=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)(?:\?([^)]*))?\)/g;return{type:"doc",content:e.split("\n").map(e=>{let n,r=[],l=0,a=RegExp(t.source,"g");for(;null!==(n=a.exec(e));){n.index>l&&r.push({type:"text",text:e.slice(l,n.index)});let{pinnedHost:t,pinnedCwd:a}=v(n[4]);r.push({type:"mention",attrs:{id:n[3],label:n[1],mentionType:n[2],pinnedHost:t,pinnedCwd:a}}),l=n.index+n[0].length}return l<e.length&&r.push({type:"text",text:e.slice(l)}),{type:"paragraph",content:r.length>0?r:void 0}})}}function E(e,t,n,r,l,a,c){if(l.innerHTML="",t){let e=document.createElement("div");e.className="flex items-center justify-center py-3 px-4",e.innerHTML='<div class="h-4 w-4 animate-spin rounded-full border-2 border-[#9A9A9A] border-t-transparent"></div>',l.appendChild(e);return}if(0===e.length){let e=document.createElement("div");e.className="py-2 px-3 text-xs text-[#9A9A9A]",e.textContent="No results",l.appendChild(e);return}let i=document.createElement("div");i.className="py-1";let o=0,s=e=>{if(c)return void c(e,n);n({id:e.uuid,label:e.name,mentionType:e.type})},u=()=>{i.innerHTML="",e.forEach((e,t)=>{let n=document.createElement("button");n.type="button",n.className="flex w-full items-center gap-2.5 px-3 py-1.5 text-left text-sm transition-colors ".concat(t===o?"bg-[#FAF8F4] text-[#2C2C2C]":"text-[#6B6B6B] hover:bg-[#FAF8F4]"),n.onclick=()=>s(e);let r=document.createElement("div");r.className="relative shrink-0";let l=document.createElement("div");if(l.className="flex h-6 w-6 items-center justify-center rounded-full ".concat("agent"===e.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]"),l.innerHTML="agent"===e.type?'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/><path d="M15 13v2"/><path d="M9 13v2"/></svg>':'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>',r.appendChild(l),"agent"===e.type&&e.online){let e=document.createElement("span");e.className="absolute -bottom-0.5 -right-0.5 h-2 w-2 rounded-full bg-[#22C55E] ring-2 ring-white",e.title=a.online,r.appendChild(e)}let c=document.createElement("div");c.className="min-w-0 flex-1";let u=document.createElement("div");if(u.className="truncate text-xs font-medium",u.textContent=e.name,c.appendChild(u),e.email){let t=document.createElement("div");t.className="truncate text-[10px] text-[#9A9A9A]",t.textContent=e.email,c.appendChild(t)}if("agent"===e.type&&e.online){var d;let t=null!=(d=e.activeCount)?d:0,n=document.createElement("div");t>0?(n.className="mt-0.5 truncate text-[10px] font-medium text-[#15803D]",n.textContent="▶ ".concat(a.activeCount(t))):(n.className="mt-0.5 truncate text-[10px] text-[#9A9A9A]",n.textContent=a.idle),c.appendChild(n)}n.appendChild(r),n.appendChild(c),i.appendChild(n)})};u(),l.appendChild(i),r.current={onKeyDown:t=>{let{event:n}=t;return!(0,w.P)(n)&&("ArrowUp"===n.key?(o=o<=0?e.length-1:o-1,u(),!0):"ArrowDown"===n.key?(o=o>=e.length-1?0:o+1,u(),!0):"Enter"===n.key?(e[o]&&s(e[o]),!0):"Escape"===n.key)}}}function A(e){var t;let{open:n,agentName:c,instances:i,onConfirm:o,onCancel:s}=e,u=(0,a.c)("mentionInstance"),[m,p]=(0,l.useState)(null);(0,l.useEffect)(()=>{n&&p(null)},[n,i]);let f=new Set(i.map(e=>e.host)).size;return(0,r.jsx)(b.lG,{open:n,onOpenChange:e=>{e||s()},children:(0,r.jsxs)(b.Cf,{className:"z-[110] flex max-h-[85svh] flex-col gap-0 sm:max-w-md",overlayClassName:"z-[110]",children:[(0,r.jsxs)(b.c7,{className:"shrink-0",children:[(0,r.jsx)(b.L3,{children:u("title")}),(0,r.jsx)(b.rr,{children:u("subtitle",{name:c,count:i.length,hosts:f})})]}),(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto py-3",children:(0,r.jsx)(y.O,{instances:i,selectedConnectionUuid:null!=(t=null==m?void 0:m.connectionUuid)?t:null,onSelect:p,ariaLabel:u("title")})}),(0,r.jsxs)(b.Es,{className:"shrink-0",children:[(0,r.jsx)(d.$,{variant:"ghost",onClick:s,children:u("cancel")}),(0,r.jsx)(d.$,{disabled:!m,onClick:()=>{m&&o(m)},children:u("confirm")})]})]})})}let k=(0,l.forwardRef)((e,t)=>{var n,c;let{value:i,onChange:o,placeholder:s,className:u,disabled:d,onSubmit:m}=e,x=(0,l.useRef)([]),v=(0,l.useRef)(!1),y=(0,l.useRef)(null),b=(0,l.useRef)(null),k=(0,l.useRef)(null),S=(0,l.useRef)(null),[,M]=(0,l.useState)(0),R=(0,l.useRef)(!1),T=(0,a.c)("mention"),D=(0,l.useRef)({online:"",offline:"",idle:"",activeCount:()=>""});D.current={online:T("online"),offline:T("offline"),idle:T("idle"),activeCount:e=>T("activeCount",{count:e})};let H=function(e,t){let n=(0,l.useRef)(null),r=(0,l.useRef)(e);r.current=e;let a=(0,l.useCallback)(e=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r.current(e),250)},[250]);return(0,l.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]),a}((0,l.useCallback)(async e=>{v.current=!0,M(e=>e+1);try{let t=await fetch("/api/mentionables?q=".concat(encodeURIComponent(e),"&limit=10&withInstances=1"));if(t.ok){let e=await t.json();e.success&&(x.current=e.data)}}catch(e){x.current=[]}finally{v.current=!1,M(e=>e+1)}},[]),250),[B,U]=(0,l.useState)(null),F=(0,l.useCallback)((e,t,n)=>{t({id:e.uuid,label:e.name,mentionType:e.type,pinnedHost:n?n.host:null,pinnedCwd:n?n.cwd:null})},[]),_=(0,l.useRef)(()=>{});_.current=(e,t)=>{var n;let r="agent"===e.type?(null!=(n=e.instances)?n:[]).filter(e=>"online"===e.effectiveStatus):[];return r.length>=2?void U({item:e,onlineInstances:r,command:t}):1===r.length?void F(e,t,r[0]):void F(e,t)};let L=(0,l.useCallback)((e,t)=>_.current(e,t),[]);(0,l.useEffect)(()=>{k.current&&S.current&&E(x.current,v.current,S.current,y,k.current,D.current,L)});let z=(0,p.hG)({immediatelyRender:!1,extensions:[f.A.configure({heading:!1,blockquote:!1,codeBlock:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),C.configure({HTMLAttributes:{class:"text-blue-600 font-medium"},renderText(e){var t;let{node:n}=e;return"@".concat(null!=(t=n.attrs.label)?t:n.attrs.id)},suggestion:{char:"@",allowSpaces:!0,items:e=>{let{query:t}=e;return H(t),x.current},render:()=>({onStart:e=>{var t;let n=document.createElement("div");if(n.className="z-[100] rounded-md border border-[#E5E0D8] bg-white shadow-md min-w-[200px] max-w-[300px] overflow-hidden",k.current=n,S.current=e.command,e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(n.style.position="fixed",n.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?n.style.bottom="".concat(window.innerHeight-t.top+4,"px"):n.style.top="".concat(t.bottom+4,"px"))}(null!=(t=b.current)?t:document.body).appendChild(n),E(x.current,v.current,e.command,y,n,D.current,L)},onUpdate:e=>{if(S.current=e.command,k.current&&e.clientRect){let t="function"==typeof e.clientRect?e.clientRect():e.clientRect;t&&(k.current.style.left="".concat(t.left,"px"),window.innerHeight-t.bottom<220?(k.current.style.top="",k.current.style.bottom="".concat(window.innerHeight-t.top+4,"px")):(k.current.style.bottom="",k.current.style.top="".concat(t.bottom+4,"px")))}k.current&&E(x.current,v.current,e.command,y,k.current,D.current,L)},onKeyDown:e=>!!y.current&&y.current.onKeyDown(e),onExit:()=>{var e;null==(e=k.current)||e.remove(),k.current=null,S.current=null,x.current=[],v.current=!1}})}})],content:j(i),editable:!d,editorProps:{attributes:{class:(0,h.cn)("min-h-[36px] max-h-[120px] overflow-y-auto px-3 py-2 text-sm outline-none","prose prose-sm max-w-none [&_p]:my-0"),"data-placeholder":s||""},handleKeyDown:(e,t)=>!(0,w.P)(t)&&"Enter"===t.key&&!t.shiftKey&&!k.current&&!!m&&(t.preventDefault(),m(),!0)},onUpdate:e=>{let{editor:t}=e;R.current=!0,o(N(t))}});return(0,l.useEffect)(()=>{if(!z||R.current){R.current=!1;return}N(z)!==i&&z.commands.setContent(j(i))},[i,z]),(0,l.useEffect)(()=>{z&&z.setEditable(!d)},[d,z]),(0,l.useImperativeHandle)(t,()=>({focus:()=>null==z?void 0:z.commands.focus(),clear:()=>{null==z||z.commands.clearContent(),o("")}})),(0,r.jsxs)("div",{ref:b,className:(0,h.cn)("relative rounded-md border border-input bg-transparent shadow-xs transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",d&&"cursor-not-allowed opacity-50",u),children:[(0,r.jsx)(p.$Z,{editor:z}),(0,r.jsx)(A,{open:null!==B,agentName:null!=(n=null==B?void 0:B.item.name)?n:"",instances:null!=(c=null==B?void 0:B.onlineInstances)?c:[],onConfirm:e=>{!function(e,t,n){n.close(),e&&n.defer(()=>{try{n.focusEditor(),n.insert(e,t)}catch(e){n.onError(e)}})}(B,e,{close:()=>U(null),insert:(e,t)=>F(e.item,e.command,t),defer:e=>requestAnimationFrame(e),focusEditor:()=>null==z?void 0:z.commands.focus(),onError:e=>g.q.error("MentionEditor: cwd-pinned mention insert failed",e)})},onCancel:()=>U(null)}),(0,r.jsx)("style",{children:"\n .tiptap p.is-editor-empty:first-child::before {\n content: attr(data-placeholder);\n color: #9A9A9A;\n float: left;\n height: 0;\n pointer-events: none;\n }\n .tiptap .mention {\n color: #2563eb;\n font-weight: 500;\n }\n "})]})});k.displayName="MentionEditor";var S=n(7889),M=n(52217);let R=(0,M.createServerReference)("701c7d60af1f38c31dd99ce4c4ddeba40a4e1458ac",M.callServer,void 0,M.findSourceMapURL,"createCommentAction");var T=n(97261);let D=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:\?([^)]*))?\)/gi,H=/\u200B\u200BMENTION_(\d+)\u200B\u200B/g,B="chorus-mention";function U(e){let{children:t,renderMention:n}=e;if(!t||"string"!=typeof t)return null;if(!new RegExp(D.source,D.flags.replace("g","")).test(t))return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(T.MarkdownContent,{children:t})});if(n)return(0,r.jsx)(F,{renderMention:n,children:t});let{processed:l,mentions:a}=function(e){let t=[],n=new RegExp(D.source,D.flags);return{processed:e.replace(n,(e,n,r,l,a)=>{let c=t.length,{pinnedHost:i,pinnedCwd:o}=v(a),s={displayName:n,type:r,uuid:l};return(null!==i||null!==o)&&(s.pinnedHost=i,s.pinnedCwd=o),t.push(s),"".concat("​​MENTION_").concat(c).concat("​​")}),mentions:t}}(t);return(0,r.jsx)(_,{mentions:a,children:(0,r.jsx)(T.MarkdownContent,{children:l})})}function F(e){let{children:t,renderMention:n}=e,{processed:a,mentions:c}=l.useMemo(()=>(function(e){let t=[],n=new RegExp(D.source,D.flags);return{processed:e.replace(n,(e,n,r,l,a)=>{let c=t.length,{pinnedHost:i,pinnedCwd:o}=v(a),s={type:r.toLowerCase(),uuid:l.toLowerCase(),displayName:n};(null!==i||null!==o)&&(s.pinnedHost=i,s.pinnedCwd=o),t.push(s);let u="@".concat(n).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return"<".concat(B," ").concat("idx",'="').concat(c,'">').concat(u,"</").concat(B,">")}),mentions:t}})(t),[t]),i=l.useMemo(()=>({[B]:e=>{let{idx:t}=e,l=void 0===t?NaN:parseInt(t,10),a=Number.isInteger(l)?c[l]:void 0;return a?(0,r.jsx)(r.Fragment,{children:n({...a,index:l})}):null}}),[c,n]);return(0,r.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,r.jsx)(T.MarkdownContent,{components:i,allowedTags:{[B]:["idx"]},literalTagContent:[B],children:a})})}function _(e){let{children:t,mentions:n}=e,a=l.useRef(null);return l.useEffect(()=>{let e;if(!a.current||0===n.length)return;let t=document.createTreeWalker(a.current,NodeFilter.SHOW_TEXT,null),r=[];for(;e=t.nextNode();)H.test(e.textContent||"")&&r.push(e),H.lastIndex=0;for(let e of r){var l;let t,r=e.textContent||"",a=document.createDocumentFragment(),c=0,i=RegExp(H.source,"g");for(;null!==(t=i.exec(r));){t.index>c&&a.appendChild(document.createTextNode(r.slice(c,t.index)));let e=n[parseInt(t[1],10)];if(e){let t=document.createElement("span");t.className="text-blue-600 font-medium",t.title="".concat(e.type,": ").concat(e.uuid),t.textContent="@".concat(e.displayName),a.appendChild(t)}else a.appendChild(document.createTextNode(t[0]));c=t.index+t[0].length}c<r.length&&a.appendChild(document.createTextNode(r.slice(c))),null==(l=e.parentNode)||l.replaceChild(a,e)}},[n]),(0,r.jsx)("div",{ref:a,className:"overflow-hidden [&_pre]:overflow-x-auto",children:t})}var L=n(97868),z=n(63964),I=n(96213),O=n(30423),$=n(38106),q=n(67587);function P(e){return"agent"===e.type?(0,r.jsx)(L.Gm,{mention:e,displayName:e.displayName},e.index):(0,r.jsxs)("span",{className:"text-blue-600 font-medium",title:"".concat(e.type,": ").concat(e.uuid),children:["@",e.displayName]},e.index)}function K(e,t){let n=new Map;for(let t of e)n.set(t.uuid,t);for(let e of t)n.set(e.uuid,e);return[...n.values()].sort((e,t)=>e.createdAt!==t.createdAt?e.createdAt<t.createdAt?1:-1:e.uuid<t.uuid?1:-1)}async function G(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=new Set(e.map(e=>e.uuid)),l=[],a=null,c=!1,i=0,o=!1,s=null,u=!1;for(let e=0;e<n;e++){let e=await t(a);if(!e)break;if(u=!0,i=e.total,l.push(...e.comments),o=e.hasMore,s=e.nextCursor,e.comments.some(e=>r.has(e.uuid))||!e.hasMore){c=!0;break}a=e.nextCursor}return u?c?{comments:K(e,l),total:i,contiguous:!0,resetOldestCursor:null,resetHasMore:!1}:{comments:K([],l),total:i,contiguous:!1,resetOldestCursor:s,resetHasMore:o}:null}function W(e){let{targetType:t,targetUuid:n,currentUserUuid:u,onCountChange:p,compact:f=!1}=e,x=(0,a.c)(),[h,g]=(0,l.useState)(""),[w,v]=(0,l.useState)([]),[y,b]=(0,l.useState)(!0),[C,N]=(0,l.useState)(null),[j,E]=(0,l.useState)(!1),[A,M]=(0,l.useState)(!1),[T,D]=(0,l.useState)(null),[H,B]=(0,l.useState)(!1),[U,F]=(0,l.useState)(0),_=(0,l.useRef)(null),L=(0,l.useRef)(null),O=(0,l.useRef)(w);O.current=w;let $=(0,l.useRef)(T);$.current=T;let P=(0,l.useRef)(H);P.current=H;let W=(0,l.useRef)(j);W.current=j;let Q=(0,l.useRef)(y);Q.current=y;let V=f?"h-6 w-6":"h-[30px] w-[30px]",X=f?"gap-2":"gap-2.5",Y=f?"h-3 w-3":"h-[15px] w-[15px]";(0,l.useEffect)(()=>{null==p||p(U)},[U,p]);let Z=(0,l.useCallback)(async()=>{b(!0),N(null);let e=await (0,S.d)(t,n,{limit:10});e.success?(v(e.comments),D(e.nextCursor),B(e.hasMore),F(e.total)):N(e.error),b(!1)},[t,n]);(0,l.useEffect)(()=>{Z()},[Z]);let ee=(0,l.useCallback)(async()=>{if(W.current||Q.current||!P.current||!$.current)return;E(!0);let e=await (0,S.d)(t,n,{cursor:$.current,limit:10});e.success&&(v(t=>K(t,e.comments)),D(e.nextCursor),B(e.hasMore),F(e.total)),E(!1)},[t,n]);(0,l.useEffect)(()=>{let e=L.current;if(!e)return;let t=new IntersectionObserver(e=>{var t;(null==(t=e[0])?void 0:t.isIntersecting)&&ee()},{rootMargin:"120px"});return t.observe(e),()=>t.disconnect()},[ee,y]),(0,z.w0)(t,n,e=>{u&&e.actorUuid===u||G(O.current,async e=>{let r=await (0,S.d)(t,n,{cursor:e,limit:10});return r.success?r:null}).then(e=>{e&&(v(e.comments),F(e.total),e.contiguous||(D(e.resetOldestCursor),B(e.resetHasMore)))})});let et=async()=>{if(!h.trim()||A)return;M(!0);let e=await R(t,n,h);if(M(!1),e.success){var r;let t=!O.current.some(t=>t.uuid===e.comment.uuid);v(t=>K(t,[e.comment])),t&&F(e=>e+1),g(""),null==(r=_.current)||r.clear()}else q.oR.error(e.error)};return(0,r.jsx)(I.D,{entityType:t,entityUuid:n,subEntityType:"comment",children:(0,r.jsxs)("div",{className:"flex flex-col gap-0",children:[(0,r.jsxs)("div",{className:"flex items-center ".concat(X," pb-3 border-b border-[#F0EDE8]"),children:[(0,r.jsx)(m.eu,{className:"".concat(f?"h-6 w-6":"h-7 w-7"," shrink-0"),children:(0,r.jsx)(m.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:(0,r.jsx)(c.A,{className:"".concat(f?"h-3 w-3":"h-3.5 w-3.5")})})}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)(k,{ref:_,value:h,onChange:g,onSubmit:et,placeholder:x("comments.addComment"),className:"border border-[#E5E0D8] bg-white text-sm rounded-lg",disabled:A})}),(0,r.jsx)(d.$,{size:"sm",className:"shrink-0 gap-1 bg-[#E07A5F] text-white hover:bg-[#D06A4F]",disabled:!h.trim()||A,onClick:et,children:A?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"})})]}),y?(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)(i.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):C?(0,r.jsxs)("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-[#9A9A9A]",children:[(0,r.jsx)(s.A,{className:"h-4 w-4"}),(0,r.jsx)("p",{children:x("comments.loadError")}),(0,r.jsx)(d.$,{variant:"outline",size:"sm",onClick:Z,children:x("comments.retry")})]}):0===w.length?(0,r.jsx)("p",{className:"py-8 text-center text-sm text-[#9A9A9A] italic",children:x("comments.noComments")}):(0,r.jsxs)("div",{children:[w.map(e=>(0,r.jsx)(J,{comment:e,compact:f,avatarSize:V,gap:X,iconSize:Y,t:x},e.uuid)),(0,r.jsx)("div",{ref:L,"aria-hidden":"true"}),j?(0,r.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,r.jsx)(i.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"}),(0,r.jsx)("span",{className:"ml-2 text-xs text-[#9A9A9A]",children:x("comments.loadingMore")})]}):!H&&(0,r.jsx)("p",{className:"py-4 text-center text-xs text-[#BFBFBF] italic",children:x("comments.noMoreComments")})]})]})})}function J(e){let{comment:t,compact:n,avatarSize:a,gap:c,iconSize:i,t:o}=e,[s,p]=(0,l.useState)(!1),f="agent"===t.author.type,x=f?(0,O.j)(t.author.name):null,h=t.content.length>200,g=x?"".concat(x,"18"):void 0;return(0,r.jsxs)("div",{className:"flex ".concat(c," py-3 border-b border-[#F0EDE8] last:border-b-0"),children:[(0,r.jsx)(m.eu,{className:"".concat(a," shrink-0"),children:(0,r.jsx)(m.q5,{style:f?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:f?"":"bg-[#E5E0D8] text-[#6B6B6B] text-[11px] font-medium",children:f?(0,r.jsx)(u.A,{className:i}):t.author.name.charAt(0).toUpperCase()})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,r.jsx)("span",{className:"".concat(n?"text-xs":"text-[13px]"," font-semibold text-[#1A1A1A]"),children:t.author.name}),(0,r.jsx)("span",{style:f?{backgroundColor:g,color:null!=x?x:void 0}:void 0,className:"inline-flex items-center rounded px-1.5 py-px text-[9px] font-medium ".concat(f?"":"bg-[#F0EDE8] text-[#6B6B6B]"),children:o(f?"comments.roleAgent":"comments.roleHuman")}),(0,r.jsx)("span",{className:"text-[11px] text-[#BFBFBF]",children:function(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),l=Math.floor(r/6e4),a=Math.floor(r/36e5),c=Math.floor(r/864e5);return l<1?t("time.justNow"):l<60?t("time.minutesAgo",{minutes:l}):a<24?t("time.hoursAgo",{hours:a}):c<7?t("time.daysAgo",{days:c}):(0,$.r)(n)}(t.createdAt,o)})]}),f&&t.author.owner&&(0,r.jsx)("div",{className:"flex items-center gap-1 mt-0.5",children:(0,r.jsx)("span",{className:"text-[11px] text-[#A3A3A3] italic",children:o("comments.onBehalfOf",{name:t.author.owner.name})})}),(0,r.jsx)("div",{className:"mt-1 ".concat(n?"text-xs":"text-[13px]"," leading-relaxed text-[#3D3D3D] max-w-none [&_h1]:text-sm [&_h1]:font-semibold [&_h1]:mt-2 [&_h1]:mb-1 [&_h2]:text-[13px] [&_h2]:font-semibold [&_h2]:mt-2 [&_h2]:mb-1 [&_h3]:text-[13px] [&_h3]:font-semibold [&_h3]:mt-1.5 [&_h3]:mb-0.5 [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5"),children:h&&!s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(U,{renderMention:P,children:t.content.slice(0,200)+"..."}),(0,r.jsx)(d.$,{variant:"link",size:"sm",onClick:()=>p(!0),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:o("comments.showMore")})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(U,{renderMention:P,children:t.content}),h&&(0,r.jsx)(d.$,{variant:"link",size:"sm",onClick:()=>p(!1),className:"h-auto p-0 text-[#E07A5F] text-xs font-medium mt-1",children:o("comments.showLess")})]})})]})]})}},47754:(e,t,n)=>{n.d(t,{fv:()=>x,xQ:()=>h});var r=n(1856),l=n(63964);let a=new Map,c=new Map,i=new Map,o=new Set,s=0;function u(e,t,n,r){return n?r?"".concat(e,":").concat(t,":").concat(n,":").concat(r):"".concat(e,":").concat(t,":").concat(n):"".concat(e,":").concat(t)}function d(){s++,o.forEach(e=>e())}function m(e){var t;let n=e.subEntityType,r=e.subEntityUuid,l=u(e.entityType,e.entityUuid,n,r),o=function(e,t,n,r,l){let a=u(e,t,r,l);return"".concat(a,":").concat(n)}(e.entityType,e.entityUuid,e.agentUuid,n,r),s=c.get(o);if(s&&Date.now()-s<3e3)return;c.set(o,Date.now());let m={agentUuid:e.agentUuid,agentName:e.agentName,action:e.action,timestamp:Date.now()},p=(null!=(t=a.get(l))?t:[]).filter(t=>t.agentUuid!==e.agentUuid);p.push(m),a.set(l,p);let f=i.get(o);f&&clearTimeout(f);let x=setTimeout(()=>{let t=a.get(l);if(t){let n=t.filter(t=>t.agentUuid!==e.agentUuid);0===n.length?a.delete(l):a.set(l,n)}c.delete(o),i.delete(o),d()},3e3);i.set(o,x),d()}function p(){return s}function f(e){return o.add(e),()=>{o.delete(e)}}function x(e){m({type:"presence",companyUuid:"",projectUuid:"",...e,timestamp:Date.now()})}function h(){return(0,r.useSyncExternalStore)(f,p,p),(0,l.S2)(m),{getPresence:(e,t,n,r)=>{if(n){var l;return null!=(l=a.get(u(e,t,n,r)))?l:[]}let c="".concat(e,":").concat(t),i=new Map;for(let[e,t]of a)if(e===c||e.startsWith(c+":"))for(let e of t){let t=i.get(e.agentUuid);(!t||e.timestamp>t.timestamp)&&i.set(e.agentUuid,e)}return[...i.values()]}}}},63964:(e,t,n)=>{n.d(t,{S2:()=>s,eV:()=>o,l9:()=>i,tS:()=>c,w0:()=>u});var r=n(90508),l=n(1856);n(23675);let a=(0,l.createContext)(null);function c(e){let{projectUuid:t,children:n}=e,c=(0,l.useRef)(new Set),i=(0,l.useRef)(new Set),o=(0,l.useRef)(new Set),s=(0,l.useRef)(new Set),u=(0,l.useCallback)(()=>{c.current.forEach(e=>e())},[]),d=(0,l.useCallback)(e=>{i.current.forEach(t=>t(e))},[]);(0,l.useEffect)(()=>{let e,n=null,r=0,l={};function a(){c(),(n=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let n=null;try{n=JSON.parse(t.data)}catch(e){return}if(!n)return;if("presence"===n.type)return void o.current.forEach(e=>e(n));if("execution"===n.type)return void s.current.forEach(e=>e(n));let a=n;clearTimeout(e);let c=Date.now(),i=c-r;i>=3e3?(r=c,u()):e=setTimeout(()=>{r=Date.now(),u()},Math.max(1e3,3e3-i));let m=a.entityType;clearTimeout(l[m]),l[m]=setTimeout(()=>{d(a)},300)},n.onerror=()=>{}}function c(){n&&(n.close(),n=null)}function i(){if("visible"===document.visibilityState&&(!n||n.readyState===EventSource.CLOSED))for(let e of(a(),u(),["task","idea","proposal","document","project","project_group"]))d({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return a(),document.addEventListener("visibilitychange",i),()=>{for(let t in c(),clearTimeout(e),l)clearTimeout(l[t]);document.removeEventListener("visibilitychange",i)}},[t,u,d]);let m=(0,l.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),p=(0,l.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),f=(0,l.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),x=(0,l.useCallback)(e=>(s.current.add(e),()=>{s.current.delete(e)}),[]),h=(0,l.useMemo)(()=>({subscribe:m,subscribeEntity:p,subscribePresence:f,subscribeExecution:x}),[m,p,f,x]);return(0,r.jsx)(a.Provider,{value:h,children:n})}function i(e){let t=(0,l.useContext)(a),n=(0,l.useRef)(e);n.current=e,(0,l.useEffect)(()=>{if(!t)return;let e=()=>n.current();return e(),t.subscribe(e)},[t])}function o(e,t){let n=(0,l.useContext)(a),r=(0,l.useRef)(t);r.current=t;let c=(0,l.useRef)(e);c.current=e,(0,l.useEffect)(()=>{if(n)return n.subscribeEntity(e=>{let t=c.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&r.current(e)})},[n])}function s(e){let t=(0,l.useContext)(a),n=(0,l.useRef)(e);n.current=e,(0,l.useEffect)(()=>{if(t)return t.subscribePresence(e=>n.current(e))},[t])}function u(e,t,n){let r=(0,l.useContext)(a),c=(0,l.useRef)(n);c.current=n,(0,l.useEffect)(()=>{if(r)return r.subscribeEntity(n=>{n.entityType===e&&n.entityUuid===t&&c.current(n)})},[r,e,t])}},73693:(e,t,n)=>{n.d(t,{eu:()=>c,q5:()=>i});var r=n(90508);n(1856);var l=n(65514),a=n(24377);function c(e){let{className:t,size:n="default",...c}=e;return(0,r.jsx)(l.Root,{"data-slot":"avatar","data-size":n,className:(0,a.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",t),...c})}function i(e){let{className:t,...n}=e;return(0,r.jsx)(l.Fallback,{"data-slot":"avatar-fallback",className:(0,a.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",t),...n})}},96213:(e,t,n)=>{n.d(t,{D:()=>i});var r=n(90508),l=n(47754),a=n(30423),c=n(5425);function i(e){let{entityType:t,entityUuid:n,subEntityType:c,subEntityUuid:i,children:s,badgeInside:u}=e,{getPresence:d}=(0,l.xQ)(),m=d(t,n,c,i),p=m.length>0,f=p&&m.some(e=>"mutate"===e.action),x=p?f?m.find(e=>"mutate"===e.action):m[m.length-1]:null,h=x?(0,a.j)(x.agentName):"transparent";return(0,r.jsxs)("div",{className:"relative",style:p?{outline:"2px ".concat(f?"solid":"dashed"," ").concat(h),outlineOffset:"-2px",borderRadius:"var(--radius)"}:void 0,children:[p&&(0,r.jsxs)("div",{className:"absolute flex gap-1 z-10 justify-end ".concat(u?"top-0.5 right-1.5 max-w-[70%]":"-top-2.5 right-2 max-w-[80%]"),children:[m.slice(0,3).map(e=>(0,r.jsx)(o,{entry:e},e.agentUuid)),m.length>3&&(0,r.jsxs)("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white bg-gray-500 whitespace-nowrap",children:["+",m.length-3]})]}),s]})}function o(e){let{entry:t}=e,n=(0,a.j)(t.agentName);return(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-medium text-white whitespace-nowrap animate-in fade-in duration-300 ease-out sm:text-[11px] sm:px-2",style:{backgroundColor:n},children:[(0,r.jsx)(c.A,{className:"h-2.5 w-2.5"}),t.agentName]})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6239],{2986:(e,s,t)=>{t.d(s,{R:()=>N});var a=t(90508),n=t(1856),r=t(23675),l=t(39268),i=t(17730),c=t(78948),d=t(37915),o=t(62898),u=t(57893),x=t(60532),m=t(85226),h=t(22922),p=t(14554),f=t(81750),g=t(52217);let v=(0,g.createServerReference)("70f53da122c27dd0a56d3ad8b1b2e4a6e9c956822c",g.callServer,void 0,g.findSourceMapURL,"submitElaborationAnswersAction");var j=t(42305);let b="__other__",A={functional:"functional",non_functional:"nonFunctional",business_context:"businessContext",technical_context:"technicalContext",user_scenario:"userScenario",scope:"scope"};function N(e){let{ideaUuid:s,elaboration:t,onRefresh:n}=e,i=(0,l.c)("elaboration"),c=(0,r.useRouter)();if(!t||0===t.rounds.length)return null;let{summary:d,rounds:o}=t;return(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:i("title")}),(0,a.jsx)("span",{className:"text-xs font-medium text-[#C67A52]",children:i("answeredCounter",{answered:d.answeredQuestions,total:d.totalQuestions})})]}),(0,a.jsx)("div",{className:"space-y-2.5",children:o.map(e=>(0,a.jsx)(w,{round:e,ideaUuid:s,onAnswered:async()=>{await (null==n?void 0:n()),c.refresh()}},e.uuid))})]})}function w(e){let{round:s,ideaUuid:t,onAnswered:r}=e,d=(0,l.c)("elaboration"),o="pending_answers"===s.status,u="answered"===s.status||"validated"===s.status||"needs_followup"===s.status,[x,m]=(0,n.useState)(o);return(0,a.jsx)(f.Nt,{open:x,onOpenChange:m,children:(0,a.jsxs)("div",{className:"overflow-hidden rounded-xl border border-[#E5E0D8] bg-white",children:[(0,a.jsx)(f.R6,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center justify-between px-4 py-3 text-left transition-colors cursor-pointer hover:bg-[#FAF8F4] ".concat(x?"bg-[#F7F6F3] border-b border-[#E5E0D8]":""),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[x?(0,a.jsx)(i.A,{className:"h-4 w-4 text-[#6B6B6B]"}):(0,a.jsx)(c.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,a.jsx)("span",{className:"flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full text-[11px] font-semibold text-white ".concat(o?"bg-[#C67A52]":"bg-[#888780]"),children:s.roundNumber}),(0,a.jsx)("span",{className:"text-[13px] font-semibold text-[#2C2C2C]",children:d("roundLabel",{number:s.roundNumber})}),s.isAppended&&(0,a.jsx)("span",{className:"rounded bg-[#EDE7F6] px-2 py-0.5 text-[10px] font-medium text-[#6A4FB6]",children:d("appendedBadge")}),!x&&(0,a.jsxs)("span",{className:"text-xs text-[#9A9A9A]",children:["\xb7 ",d("questionCount",{count:s.questions.length})]})]}),u?(0,a.jsx)("span",{className:"rounded bg-[#E8F5E9] px-2 py-0.5 text-[10px] font-medium text-[#2E7D32]",children:d("statusAnswered")}):(0,a.jsx)("span",{className:"rounded bg-[#FFF3E0] px-2 py-0.5 text-[10px] font-medium text-[#E65100]",children:d("pendingAnswers")})]})}),(0,a.jsx)(f.Ke,{children:o?(0,a.jsx)(y,{round:s,ideaUuid:t,onAnswered:r}):(0,a.jsx)(C,{round:s})})]})})}function C(e){let{round:s}=e,t=(0,l.c)("elaboration");return(0,a.jsx)("div",{className:"space-y-4 px-4 py-4",children:s.questions.map((e,n)=>{var r,l;let i=(null==(r=e.answer)?void 0:r.selectedOptionId)?e.options.find(s=>{var t;return s.id===(null==(t=e.answer)?void 0:t.selectedOptionId)}):null,c=(null==(l=e.answer)?void 0:l.customText)||(null==i?void 0:i.label)||t("noAnswer"),d=A[e.category]||e.category;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsxs)("span",{className:"text-xs leading-relaxed text-[#6B6B6B]",children:["Q: ",e.text]}),(0,a.jsx)("span",{className:"shrink-0 text-[11px] italic text-[#B0B0B0]",children:t("category.".concat(d))})]}),(0,a.jsxs)("p",{className:"mt-1 text-xs font-medium leading-relaxed text-[#2C2C2C]",children:["A: ",c]}),n<s.questions.length-1&&(0,a.jsx)("div",{className:"mt-4 h-px bg-[#F0EEEA]"})]},e.uuid)})})}function y(e){var s,t,r;let{round:i,ideaUuid:f,onAnswered:g}=e,N=(0,l.c)("elaboration"),[w,C]=(0,n.useState)(0),y=(0,n.useRef)(w),[S,F]=(0,n.useState)("right"),[E,B]=(0,n.useState)({}),[k,D]=(0,n.useState)(!1),[I,R]=(0,n.useState)(null);(0,n.useEffect)(()=>{y.current=w},[w]);let U=(0,n.useCallback)((e,s)=>{F("left"===s?"right":"left"),C(e)},[]),M=i.questions,L=M[w],T=A[L.category]||L.category,q=(0,n.useCallback)((e,s)=>{if(B(t=>{var a;return{...t,[e]:{questionId:e,selectedOptionId:s===b?null:s,customText:s===b?(null==(a=t[e])?void 0:a.customText)||"":null}}}),s!==b){let e=Math.min(M.length-1,y.current+1);e!==y.current&&setTimeout(()=>U(e,"left"),200)}},[M.length,U]),_=(0,n.useCallback)((e,s)=>{B(t=>({...t,[e]:{...t[e],questionId:e,selectedOptionId:null,customText:s}}))},[]),P=M.filter(e=>e.required).every(e=>{let s=E[e.questionId];return!!s&&!!(s.selectedOptionId||s.customText&&s.customText.trim())}),z=async()=>{D(!0),R(null);let e=Object.values(E),s=await v(f,i.uuid,e);s.success?(await g(),D(!1)):(D(!1),R(s.error||N("submitFailed")))},O=(e=>{let s=E[e];return s?null===s.selectedOptionId&&null!==s.customText&&void 0!==s.customText?b:s.selectedOptionId||null:null})(L.questionId),$=O===b,J=w===M.length-1,K=!!(null!=(r=null==(s=E[L.questionId])?void 0:s.customText)?r:"").trim();return(0,a.jsxs)("div",{className:"overflow-hidden p-3.5",children:[(0,a.jsxs)("div",{className:"right"===S?"animate-in slide-in-from-right-4 duration-200":"animate-in slide-in-from-left-4 duration-200",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsx)("div",{className:"flex-1 text-sm text-[#6B6B6B]",children:L.text}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,a.jsx)(h.$,{variant:"ghost",size:"icon",onClick:()=>U(w-1,"right"),disabled:0===w,className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,a.jsx)(d.A,{className:"h-4 w-4"})}),(0,a.jsx)("span",{className:"text-xs text-[#9A9A9A]",children:N("navCounter",{current:w+1,total:M.length})}),(0,a.jsx)(h.$,{variant:"ghost",size:"icon",onClick:()=>U(w+1,"left"),disabled:w===M.length-1,className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,a.jsx)(c.A,{className:"h-4 w-4"})})]})]}),(0,a.jsxs)("div",{className:"mt-3",children:[L.options.map((e,s)=>{let t=O===e.id;return(0,a.jsxs)("div",{children:[(0,a.jsxs)(h.$,{variant:"ghost",onClick:()=>q(L.questionId,e.id),className:"flex w-full items-start justify-between gap-2.5 px-3.5 py-3 h-auto text-left transition-colors rounded-none ".concat(t?"bg-[#F7F6F3]":"hover:bg-[#FAF8F4]"),children:[(0,a.jsxs)("span",{className:"flex flex-1 min-w-0 items-start gap-2.5",children:[(0,a.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-[#E5E0D8] text-xs font-medium text-[#5F5E5A]",children:s+1}),(0,a.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col items-start",children:[(0,a.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[13px] text-[#2C2C2A]",children:e.label}),e.description&&(0,a.jsx)("span",{className:"whitespace-normal [overflow-wrap:anywhere] text-[11px] text-[#9A9A9A]",children:e.description})]})]}),t&&(0,a.jsx)(o.A,{className:"mt-1 h-4 w-4 shrink-0 text-[#888780]"})]}),s<L.options.length-1&&(0,a.jsx)("div",{className:"h-px bg-[#F0EEEA]"})]},e.id)}),(0,a.jsx)("div",{className:"h-px bg-[#F0EEEA]"}),(0,a.jsxs)("div",{className:"flex w-full items-center gap-2.5 px-3.5 py-3 transition-colors ".concat($?"bg-[#F7F6F3]":"hover:bg-[#FAF8F4]"),children:[(0,a.jsx)("span",{className:"flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-md bg-[#E5E0D8]",onClick:()=>q(L.questionId,b),children:(0,a.jsx)(u.A,{className:"h-3.5 w-3.5 text-[#B4B2A9]"})}),$?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.p,{type:"text",value:(null==(t=E[L.questionId])?void 0:t.customText)||"",onChange:e=>_(L.questionId,e.target.value),onKeyDown:e=>{if((0,j.P)(e)||"Enter"!==e.key||e.shiftKey||e.ctrlKey||e.metaKey||(e.preventDefault(),J||!K))return;let s=y.current+1;setTimeout(()=>U(s,"left"),200)},placeholder:N("somethingElse"),className:"flex-1 border-none bg-transparent text-[13px] text-[#2C2C2A] placeholder:italic placeholder:text-[#B4B2A9] shadow-none focus-visible:ring-0",autoFocus:!0}),!J&&(0,a.jsx)(h.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>{if(J||!K)return;let e=y.current+1;setTimeout(()=>U(e,"left"),200)},disabled:!K,"aria-label":N("confirmAnswerAria"),className:"h-7 w-7 text-[#6B6B6B] disabled:opacity-30",children:(0,a.jsx)(x.A,{className:"h-4 w-4"})})]}):(0,a.jsx)(h.$,{variant:"ghost",onClick:()=>q(L.questionId,b),className:"flex-1 justify-start text-left text-[13px] italic text-[#B4B2A9] h-auto p-0 hover:bg-transparent",children:N("somethingElse")})]})]})]},w),I&&(0,a.jsx)("div",{className:"mt-3 rounded-lg bg-destructive/10 p-2.5 text-[12px] text-destructive",children:I}),(0,a.jsxs)("div",{className:"mt-3 flex items-center justify-between",children:[(0,a.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] text-[#B0B0B0]",children:[(0,a.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-[#C67A52]"}),N("category.".concat(T))]}),(0,a.jsx)(h.$,{onClick:z,disabled:!P||k,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white text-[13px]",children:k?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(m.A,{className:"mr-2 h-3.5 w-3.5 animate-spin"}),N("submitting")]}):N("submitAnswers")})]})]})}},11166:(e,s,t)=>{t.d(s,{o:()=>a});function a(e){let{ideaStatus:s,elaborationStatus:t,elaboration:a}=e;return!("elaborating"!==s||"resolved"===t||!a||0===a.rounds.length||a.rounds.some(e=>"pending_answers"===e.status))}},21985:(e,s,t)=>{t.d(s,{h:()=>w});var a=t(90508),n=t(1856),r=t(39268),l=t(23675),i=t(67587),c=t(85226),d=t(30825),o=t(60532),u=t(17475),x=t(22922),m=t(88064),h=t(97438),p=t(4365),f=t(17001),g=t(24377),v=t(52217);let j=(0,v.createServerReference)("00423656837d53af20d1cd96b1368bad35b5a06679",v.callServer,void 0,v.findSourceMapURL,"getProjectsAndGroupsAction"),b=(0,v.createServerReference)("60f31de57b050278cc31df8aaff8a7e74ec2299c3f",v.callServer,void 0,v.findSourceMapURL,"moveIdeaPreviewAction"),A=(0,v.createServerReference)("605aee24f55397387550bcc6d5f577568c83fff746",v.callServer,void 0,v.findSourceMapURL,"moveIdeaAction");var N=t(67712);function w(e){let{open:s,onOpenChange:t,ideaUuid:v,projectUuid:w,onMoved:C}=e,y=(0,r.c)("ideas"),S=(0,r.c)("common"),F=(0,l.useRouter)(),[E,B]=(0,n.useState)([]),[k,D]=(0,n.useState)(!1),[I,R]=(0,n.useState)(null),[U,M]=(0,n.useState)(!1),L=(()=>{if(!I)return null;for(let e of E){let s=e.projects.find(e=>e.uuid===I);if(s)return s.name}return null})(),[T,q]=(0,n.useState)(null),[_,P]=(0,n.useState)(!1),[z,O]=(0,n.useState)(null),[$,J]=(0,n.useState)(!1),[K,W]=(0,n.useState)(null),G=(0,n.useRef)(0),Q=(0,n.useCallback)(e=>{e&&e.addEventListener("wheel",e=>e.stopPropagation(),{passive:!0})},[]),V=(0,n.useCallback)(async()=>{R(null),q(null),O(null),W(null),D(!0);try{let e=await j();if(e.success){let{projects:s,groups:t}=e.data,a=s.filter(e=>e.uuid!==w).map(e=>({uuid:e.uuid,name:e.name,groupUuid:e.groupUuid})),n=new Map;for(let e of t)n.set(e.uuid,e.name);let r=new Map,l=[];for(let e of a)e.groupUuid&&n.has(e.groupUuid)?(r.has(e.groupUuid)||r.set(e.groupUuid,{uuid:e.groupUuid,name:n.get(e.groupUuid),projects:[]}),r.get(e.groupUuid).projects.push({uuid:e.uuid,name:e.name})):l.push({uuid:e.uuid,name:e.name});let i=[...r.values()];l.length>0&&i.push({uuid:"ungrouped",name:y("ungrouped"),projects:l}),B(i)}}catch(e){N.q.error("Failed to load projects for move dialog:",e),B([])}D(!1)},[w,y]);(0,n.useEffect)(()=>{s&&V()},[s,V]),(0,n.useEffect)(()=>{if(!I){q(null),O(null);return}let e=++G.current;P(!0),O(null),q(null),b(v,I).then(s=>{e===G.current&&(s.success?q(s.moved):O(s.error||y("moveDialog.error",{message:""})))}).catch(s=>{e===G.current&&(N.q.error("Failed to fetch move preview:",s),O(y("moveDialog.error",{message:s instanceof Error?s.message:String(s)})))}).finally(()=>{e===G.current&&P(!1)})},[I,v,y]);let H=async()=>{if(I&&T&&!$){J(!0),W(null);try{let e=await A(v,I);if(e.success){let s=e.moved;i.oR.success(y("moveDialog.successToast",{...s}),{action:{label:y("moveDialog.viewMovedIdea"),onClick:()=>{F.push("/projects/".concat(I,"/dashboard?panel=").concat(v,"&tab=overview"))}}}),t(!1),F.refresh(),C(s)}else W(y("moveDialog.error",{message:e.error||y("moveFailed")}))}catch(e){W(y("moveDialog.error",{message:e instanceof Error?e.message:y("moveFailed")}))}J(!1)}};return(0,a.jsx)(h.lG,{open:s,onOpenChange:t,children:(0,a.jsxs)(h.Cf,{children:[(0,a.jsxs)(h.c7,{children:[(0,a.jsx)(h.L3,{children:y("moveDialog.title")}),(0,a.jsx)(h.rr,{children:y("moveDialog.description")})]}),(0,a.jsxs)("div",{className:"space-y-3 pt-1",children:[(0,a.jsx)(m.J,{htmlFor:"move-target-project",className:"text-[13px] font-medium text-[#2C2C2C]",children:y("moveDialog.targetProjectLabel")}),k?(0,a.jsx)("div",{className:"flex items-center justify-center h-10 border border-[#E5E0D8] rounded-md",children:(0,a.jsx)(c.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(f.AM,{open:U,onOpenChange:M,children:[(0,a.jsx)(f.Wv,{asChild:!0,children:(0,a.jsxs)(x.$,{id:"move-target-project",variant:"outline",role:"combobox","aria-expanded":U,className:(0,g.cn)("w-full justify-between border-[#E5E0D8] font-normal",!L&&"text-[#9A9A9A]"),children:[null!=L?L:y("moveDialog.targetProjectPlaceholder"),(0,a.jsx)(d.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(f.hl,{ref:Q,className:"w-[--radix-popover-trigger-width] p-0 pointer-events-auto",align:"start",children:(0,a.jsxs)(p.uB,{children:[(0,a.jsx)(p.G7,{placeholder:y("moveDialog.searchProjects")}),(0,a.jsxs)(p.oI,{children:[(0,a.jsx)(p.xL,{children:y("noProjectsFound")}),E.map(e=>(0,a.jsx)(p.L$,{heading:e.name,children:e.projects.map(s=>(0,a.jsxs)(p.h_,{value:"".concat(s.name," ").concat(e.name),onSelect:()=>{R(s.uuid),M(!1)},children:[(0,a.jsx)(o.A,{className:(0,g.cn)("mr-2 h-4 w-4",I===s.uuid?"opacity-100":"opacity-0")}),s.name]},s.uuid))},e.uuid))]})]})})]}),I&&(0,a.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-lg border border-[#E5E0D8] bg-[#FAF8F4] p-3 text-[13px] text-[#2C2C2C]",children:_?(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[#6B6B6B]",children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,a.jsx)("span",{children:y("moveDialog.previewLoading")})]}):z?(0,a.jsxs)("div",{className:"flex items-start gap-2 text-destructive",children:[(0,a.jsx)(u.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,a.jsx)("span",{children:z})]}):T?(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("p",{children:y("moveDialog.previewSummary",{...T})}),(0,a.jsx)("p",{className:"text-[12px] text-[#9A9A9A]",children:y("moveDialog.previewWarning")})]}):null}),K&&(0,a.jsx)("p",{className:"text-xs text-destructive",role:"alert",children:K})]}),(0,a.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,a.jsx)(x.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:()=>t(!1),disabled:$,children:S("cancel")}),(0,a.jsx)(x.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:H,disabled:!I||!T||$||_,children:$?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.A,{className:"mr-2 h-4 w-4 animate-spin"}),y("moving")]}):y("moveDialog.confirm")})]})]})})}},29767:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},53240:(e,s,t)=>{t.d(s,{J:()=>n});var a=t(52217);let n=(0,a.createServerReference)("40790b72c792d2c2fa46044fe0c82e0a49ee9ea155",a.callServer,void 0,a.findSourceMapURL,"updateIdeaAction")},57223:(e,s,t)=>{t.d(s,{E:()=>r});var a=t(90508),n=t(24377);function r(e){let{className:s,...t}=e;return(0,a.jsx)("div",{"data-slot":"skeleton",className:(0,n.cn)("bg-accent animate-pulse rounded-md",s),...t})}},60992:(e,s,t)=>{t.d(s,{z:()=>n});var a=t(52217);let n=(0,a.createServerReference)("40ce810a8ca47feb397612ce1c7ecbe14d1af7c174",a.callServer,void 0,a.findSourceMapURL,"getElaborationAction")},70113:(e,s,t)=>{t.d(s,{i:()=>y});var a=t(90508),n=t(1856),r=t(23675),l=t(39268),i=t(85226),c=t(5425),d=t(30028),o=t(94903),u=t(22922),x=t(17722),m=t(88064),h=t(41033),p=t(91846),f=t(78307),g=t(24900),v=t(52217);let j=(0,v.createServerReference)("00e25dcfd0973eb848c09d7467227c3a499831fc31",v.callServer,void 0,v.findSourceMapURL,"getPmAgentsAction"),b=(0,v.createServerReference)("40a91f711f02008a0d8f89a422d87331c355e51b5c",v.callServer,void 0,v.findSourceMapURL,"getAgentInstancesAction"),A=(0,v.createServerReference)("403c9443216a4f1eef9d6101ed01aff7b9140167fd",v.callServer,void 0,v.findSourceMapURL,"claimIdeaAction"),N=(0,v.createServerReference)("7026a06f628dca22015d61b394daf2d85b8b5b923c",v.callServer,void 0,v.findSourceMapURL,"claimIdeaToAgentAction"),w=(0,v.createServerReference)("60dab0269ee9248c8f083ea74c0edeb86627c626e5",v.callServer,void 0,v.findSourceMapURL,"claimIdeaToUserAction"),C=(0,v.createServerReference)("408a78aa45415e5b54f4a7437be793a4a713a88c33",v.callServer,void 0,v.findSourceMapURL,"releaseIdeaAction");function y(e){var s,t;let{idea:v,projectUuid:y,currentUserUuid:S,onClose:F}=e,E=(0,l.c)(),B=(0,r.useRouter)(),[k,D]=(0,n.useState)(!1),[I,R]=(0,n.useState)("self"),[U,M]=(0,n.useState)(""),[L,T]=(0,n.useState)(""),[q,_]=(0,n.useState)([]),[P,z]=(0,n.useState)([]),[O,$]=(0,n.useState)(!0),[J,K]=(0,n.useState)(null),[W,G]=(0,n.useState)([]),[Q,V]=(0,n.useState)(!1),[H,Z]=(0,n.useState)(null),X=!!v.assignee;(0,n.useEffect)(()=>{!async function(){$(!0);let e=await j();_(e.agents||[]),z((e.users||[]).filter(e=>e.uuid!==S)),$(!1)}()},[S]),(0,n.useEffect)(()=>{if("agent"!==I||!U){G([]),Z(null);return}let e=!1;return V(!0),Z(null),b(U).then(s=>{e||G((0,f.C)(s.instances))}).finally(()=>{e||V(!1)}),()=>{e=!0}},[I,U]);let Y=null!=(t=W.find(e=>e.connectionUuid===H))?t:null,ee=new Set(W.map(e=>e.host)).size>1,es=async()=>{let e;if(D(!0),K(null),"self"===I)e=await A(v.uuid);else if("agent"===I&&U){var s;e=await N(v.uuid,U,null!=(s=null==Y?void 0:Y.agentInstanceUuid)?s:void 0)}else if("user"===I&&L)e=await w(v.uuid,L);else{if("release"!==I)return void D(!1);e=await C(v.uuid)}D(!1),(null==e?void 0:e.success)?(B.refresh(),F()):(null==e?void 0:e.error)&&K(e.error)},et="self"===I||"agent"===I&&U||"user"===I&&L||"release"===I&&X;return(0,a.jsxs)(x._8,{open:!0,onOpenChange:e=>{e||F()},className:"bg-white sm:max-w-[400px]",header:(0,a.jsx)(x.AI,{className:"text-base font-semibold text-[#2C2C2C]",children:E("ideas.assignIdea")}),footer:(0,a.jsxs)("div",{className:"flex w-full items-center justify-end gap-4",children:[(0,a.jsx)(u.$,{variant:"outline",onClick:F,disabled:k,className:"border-[#E5E0D8]",children:E("common.cancel")}),(0,a.jsx)(u.$,{onClick:es,disabled:k||!et,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:k?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"release"===I?E("common.release"):function(){if("agent"!==I||!Y)return E("common.assign");let e=(0,g.kn)(Y.cwd),s=e.isUnknown?E(e.label):e.label,t=(0,g.g9)(Y.host),a=t.isUnknown?E(t.label):t.label;return ee?E("assignInstance.assignToWithHost",{path:s,host:a}):E("assignInstance.assignTo",{path:s})}()})]}),bodyClassName:"space-y-4",children:[(0,a.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,a.jsx)("p",{className:"text-[13px] font-medium text-[#2C2C2C]",children:v.title}),v.content&&(0,a.jsx)("p",{className:"mt-1 text-[11px] text-[#6B6B6B] line-clamp-2",children:v.content})]}),X&&(0,a.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] p-3",children:(0,a.jsxs)("p",{className:"text-xs text-[#1976D2]",children:[E("common.currentAssignee"),": ",(0,a.jsx)("span",{className:"font-medium",children:null==(s=v.assignee)?void 0:s.name})]})}),J&&(0,a.jsx)("div",{className:"rounded-lg bg-[#FEE2E2] p-3",children:(0,a.jsx)("p",{className:"text-xs text-[#D32F2F]",children:J})}),(0,a.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:E("ideas.selectIdeaAssignee")}),O?(0,a.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,a.jsx)(i.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,a.jsxs)(h.z,{value:I,onValueChange:e=>R(e),className:"space-y-3",children:[(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("self"===I?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>R("self"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(h.C,{value:"self",id:"idea-self",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(m.J,{htmlFor:"idea-self",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:E("assign.assignToMyself")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:E("ideas.assignToMyselfIdeaDesc")})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("agent"===I?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>R("agent"),children:[(0,a.jsx)(h.C,{value:"agent",id:"idea-agent",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(m.J,{htmlFor:"idea-agent",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:E("ideas.orAssignToPmAgent")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:E("ideas.onlySelectedPmAgentCanWork")}),"agent"===I&&(0,a.jsxs)("div",{className:"mt-3 ml-6 space-y-3",children:[(0,a.jsxs)(p.l6,{value:U,onValueChange:M,children:[(0,a.jsx)(p.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(p.yv,{placeholder:E("ideas.selectPmAgent")})}),(0,a.jsx)(p.gC,{className:"z-[120]",children:q.length>0?q.map(e=>(0,a.jsx)(p.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(c.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,a.jsx)("span",{children:e.name})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:E("ideas.noPmAgentsAvailable")})})]}),U&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:E("assignInstance.workingDirectory")}),Q?(0,a.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-[#9A9A9A]",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}),E("assignInstance.loadingInstances")]}):0===W.length?(0,a.jsx)("p",{className:"rounded-lg bg-[#FAF8F4] p-2.5 text-[11px] leading-relaxed text-[#6B6B6B]",children:E("assignInstance.noInstances")}):(0,a.jsx)(f.O,{instances:W,selectedConnectionUuid:H,onSelect:e=>Z(e.connectionUuid),ariaLabel:E("assignInstance.workingDirectory")}),(0,a.jsxs)("div",{className:"flex items-start gap-1.5 text-[11px] leading-relaxed text-[#9A8C7E]",children:[(0,a.jsx)(d.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,a.jsx)("span",{children:E("assignInstance.ideaPinNote")})]})]})]})]}),(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors ".concat("user"===I?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>R("user"),children:[(0,a.jsx)(h.C,{value:"user",id:"idea-user",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(m.J,{htmlFor:"idea-user",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:E("assign.orAssignToUser")})]}),"user"===I&&(0,a.jsx)("div",{className:"mt-3 ml-6",children:(0,a.jsxs)(p.l6,{value:L,onValueChange:T,children:[(0,a.jsx)(p.bq,{className:"w-full border-[#E5E0D8]",children:(0,a.jsx)(p.yv,{placeholder:E("tasks.selectUser")})}),(0,a.jsx)(p.gC,{className:"z-[120]",children:P.length>0?P.map(e=>(0,a.jsx)(p.eb,{value:e.uuid,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(o.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,a.jsx)("span",{children:e.name||e.email})]})},e.uuid)):(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:E("tasks.noUsersAvailable")})})]})})]}),X&&(0,a.jsxs)("div",{className:"rounded-[10px] p-4 transition-colors cursor-pointer ".concat("release"===I?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"),onClick:()=>R("release"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(h.C,{value:"release",id:"idea-release",className:"border-[#C67A52] text-[#C67A52]"}),(0,a.jsx)(m.J,{htmlFor:"idea-release",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:E("assign.releaseAssignee")})]}),(0,a.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:E("ideas.releaseIdeaAssigneeDesc")})]})]})]})}},72216:(e,s,t)=>{t.d(s,{x:()=>n});var a=t(52217);let n=(0,a.createServerReference)("400cda1396142e823c70236309129832b2bb93f1dd",a.callServer,void 0,a.findSourceMapURL,"getIdeaActivitiesAction")},76973:(e,s,t)=>{t.d(s,{Z:()=>n});var a=t(52217);let n=(0,a.createServerReference)("6047e5f9e0b0b8ab34e4ec087a5b7c646953446365",a.callServer,void 0,a.findSourceMapURL,"deleteIdeaAction")},78948:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},84247:(e,s,t)=>{t.d(s,{Separator:()=>l});var a=t(90508);t(1856);var n=t(5725),r=t(24377);function l(e){let{className:s,orientation:t="horizontal",decorative:l=!0,...i}=e;return(0,a.jsx)(n.b,{"data-slot":"separator",decorative:l,orientation:t,className:(0,r.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",s),...i})}},95745:(e,s,t)=>{t.d(s,{e:()=>n});var a=t(52217);let n=(0,a.createServerReference)("4068d7c2e443443c634efddd8eba7ba864eb9a1436",a.callServer,void 0,a.findSourceMapURL,"verifyElaborationAction")},95900:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(66206).A)("arrow-right-left",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[97868],{15972:(e,t,n)=>{n.d(t,{T:()=>i});var a=n(90508);n(1856);var s=n(24377);function i(e){let{className:t,...n}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,s.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),...n})}},17001:(e,t,n)=>{n.d(t,{AM:()=>r,Wv:()=>l,hl:()=>o});var a=n(90508);n(1856);var s=n(79919),i=n(24377);function r(e){let{...t}=e;return(0,a.jsx)(s.Root,{"data-slot":"popover",...t})}function l(e){let{...t}=e;return(0,a.jsx)(s.Trigger,{"data-slot":"popover-trigger",...t})}function o(e){let{className:t,align:n="center",sideOffset:r=4,...l}=e;return(0,a.jsx)(s.Portal,{children:(0,a.jsx)(s.Content,{"data-slot":"popover-content",align:n,sideOffset:r,className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...l})})}},22922:(e,t,n)=>{n.d(t,{$:()=>o});var a=n(90508);n(1856);var s=n(49499),i=n(54154),r=n(24377);let l=(0,s.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o(e){let{className:t,variant:n="default",size:s="default",asChild:o=!1,...c}=e,d=o?i.bL:"button";return(0,a.jsx)(d,{"data-slot":"button","data-variant":n,"data-size":s,className:(0,r.cn)(l({variant:n,size:s,className:t})),...c})}},24377:(e,t,n)=>{n.d(t,{cn:()=>i});var a=n(49251),s=n(58849);function i(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,s.QP)((0,a.$)(t))}},24900:(e,t,n)=>{n.d(t,{g9:()=>r,kn:()=>i});let a="agentPresence.unknownPath",s="agentPresence.unknownHost";function i(e){var t,n;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null===e)return{label:a,title:a,isUnknown:!0};let i=null!=(t=s.tailSegments)?t:2,r=null!=(n=s.charBudget)?n:28,l=e.replace(/\\/g,"/").split("/").filter(e=>e.length>0);if(0===l.length)return{label:e,title:e,isUnknown:!1};let o=l.length>i,c=l.slice(-i),d=(e,t)=>{let n=e.join("/");return t?"".concat("…/").concat(n):n},u=c,x=o,m=d(u,x);for(;m.length>r&&u.length>1;)m=d(u=u.slice(1),x=!0);return{label:m,title:e,isUnknown:!1}}function r(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(""===e)return{label:s,title:s,isUnknown:!0};let a=null!=(t=n.charBudget)?t:18;if(e.length<=a)return{label:e,title:e,isUnknown:!1};let i=Math.max(0,a-1);return{label:"".concat(e.slice(0,i)).concat("…"),title:e,isUnknown:!1}}},30509:(e,t,n)=>{n.d(t,{HB:()=>s,JK:()=>l,XQ:()=>r,bN:()=>o,vh:()=>i});var a=n(14655);function s(e){let t=function(e){let t=window.location.origin,n=new a.O({store:window.localStorage});return{authority:e.issuer,client_id:e.clientId,redirect_uri:"".concat(t,"/login/callback"),post_logout_redirect_uri:"".concat(t,"/login"),response_type:"code",scope:"openid profile email",automaticSilentRenew:!1,silent_redirect_uri:"".concat(t,"/login/silent-refresh"),accessTokenExpiringNotificationTimeInSeconds:60,userStore:n,extraQueryParams:{company:e.companyUuid}}}(e);return new a.$5(t)}function i(e){localStorage.setItem("oidc_config",JSON.stringify(e))}function r(){let e=localStorage.getItem("oidc_config");if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}function l(){localStorage.removeItem("oidc_config")}function o(e){return{sub:e.profile.sub,email:e.profile.email,name:e.profile.name,picture:e.profile.picture,accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_at,idToken:e.id_token}}},37627:(e,t,n)=>{n.d(t,{m:()=>s});var a=n(90508);function s(e){let{online:t,size:n="sm"}=e,s="md"===n?"h-2.5 w-2.5":"h-2 w-2";return t?(0,a.jsxs)("span",{"aria-hidden":!0,className:"relative inline-flex ".concat(s," items-center justify-center"),children:[(0,a.jsx)("span",{className:"absolute inline-flex h-full w-full rounded-full bg-[#22C55E] opacity-30 motion-safe:animate-ping"}),(0,a.jsx)("span",{className:"relative inline-flex ".concat("md"===n?"h-1.5 w-1.5":"h-1 w-1"," rounded-full bg-[#22C55E]")})]}):(0,a.jsx)("span",{"aria-hidden":!0,className:"".concat(s," rounded-full bg-[#9A9A9A] opacity-60")})}n(57731)},41033:(e,t,n)=>{n.d(t,{C:()=>o,z:()=>l});var a=n(90508);n(1856);var s=n(97964),i=n(63197),r=n(24377);function l(e){let{className:t,...n}=e;return(0,a.jsx)(i.Root,{"data-slot":"radio-group",className:(0,r.cn)("grid gap-3",t),...n})}function o(e){let{className:t,...n}=e;return(0,a.jsx)(i.Item,{"data-slot":"radio-group-item",className:(0,r.cn)("border-input text-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 dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...n,children:(0,a.jsx)(i.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:(0,a.jsx)(s.A,{className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}},42305:(e,t,n)=>{n.d(t,{P:()=>a});function a(e){return("nativeEvent"in e?e.nativeEvent:e).isComposing||229===e.keyCode}},48416:(e,t,n)=>{n.d(t,{BT:()=>o,Wu:()=>c,ZB:()=>l,Zp:()=>i,aR:()=>r});var a=n(90508);n(1856);var s=n(24377);function i(e){let{className:t,...n}=e;return(0,a.jsx)("div",{"data-slot":"card",className:(0,s.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...n})}function r(e){let{className:t,...n}=e;return(0,a.jsx)("div",{"data-slot":"card-header",className:(0,s.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...n})}function l(e){let{className:t,...n}=e;return(0,a.jsx)("div",{"data-slot":"card-title",className:(0,s.cn)("leading-none font-semibold",t),...n})}function o(e){let{className:t,...n}=e;return(0,a.jsx)("div",{"data-slot":"card-description",className:(0,s.cn)("text-muted-foreground text-sm",t),...n})}function c(e){let{className:t,...n}=e;return(0,a.jsx)("div",{"data-slot":"card-content",className:(0,s.cn)("px-6",t),...n})}},51817:(e,t,n)=>{n.d(t,{$v:()=>h,EO:()=>u,Lt:()=>l,Rx:()=>p,Zr:()=>g,ck:()=>m,r7:()=>f,tv:()=>o,wd:()=>x});var a=n(90508);n(1856);var s=n(90299),i=n(24377),r=n(22922);function l(e){let{...t}=e;return(0,a.jsx)(s.Root,{"data-slot":"alert-dialog",...t})}function o(e){let{...t}=e;return(0,a.jsx)(s.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function c(e){let{...t}=e;return(0,a.jsx)(s.Portal,{"data-slot":"alert-dialog-portal",...t})}function d(e){let{className:t,...n}=e;return(0,a.jsx)(s.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,i.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...n})}function u(e){let{className:t,size:n="default",...r}=e;return(0,a.jsxs)(c,{children:[(0,a.jsx)(d,{}),(0,a.jsx)(s.Content,{"data-slot":"alert-dialog-content","data-size":n,className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",t),...r})]})}function x(e){let{className:t,...n}=e;return(0,a.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,i.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...n})}function m(e){let{className:t,...n}=e;return(0,a.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...n})}function f(e){let{className:t,...n}=e;return(0,a.jsx)(s.Title,{"data-slot":"alert-dialog-title",className:(0,i.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...n})}function h(e){let{className:t,...n}=e;return(0,a.jsx)(s.Description,{"data-slot":"alert-dialog-description",className:(0,i.cn)("text-muted-foreground text-sm",t),...n})}function p(e){let{className:t,variant:n="default",size:l="default",...o}=e;return(0,a.jsx)(r.$,{variant:n,size:l,asChild:!0,children:(0,a.jsx)(s.Action,{"data-slot":"alert-dialog-action",className:(0,i.cn)(t),...o})})}function g(e){let{className:t,variant:n="outline",size:l="default",...o}=e;return(0,a.jsx)(r.$,{variant:n,size:l,asChild:!0,children:(0,a.jsx)(s.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,i.cn)(t),...o})})}},54449:(e,t,n)=>{n.d(t,{OJ:()=>u,As:()=>x});var a=n(90508),s=n(1856),i=n(23675),r=n(62990),l=n(30724).Buffer;async function o(){try{await fetch("/api/keepalive",{method:"GET",credentials:"same-origin",cache:"no-store"})}catch(e){}}var c=n(67712);let d=(0,s.createContext)(null);function u(e){let{children:t}=e,n=(0,i.useRouter)(),[u,x]=(0,s.useState)(null),[m,f]=(0,s.useState)(null),[h,p]=(0,s.useState)(!0),[g,v]=(0,s.useState)(null),j=(0,s.useCallback)(()=>{x(null),f(null),v("Session expired. Please log in again."),n.push("/login")},[n]),b=(0,s.useCallback)(async()=>{try{let e=await (0,r.tm)("/api/auth/session");if(401===e.status&&(await (0,r.OX)(),e=await (0,r.tm)("/api/auth/session"),401===e.status))return j(),!1;let t=await e.json();if(t.success)return x(t.data.user),f(t.data.company),!0;return!1}catch(e){return!1}},[j]);(0,s.useEffect)(()=>{(async()=>{p(!0);let e=await (0,r.vN)();e&&!e.expired?await (0,r.aK)(e.access_token,e.refresh_token):await (0,r.OX)(),await b(),p(!1)})()},[b]),(0,s.useEffect)(()=>{let e=(0,r.dv)();if(!e)return;let t=async e=>{c.q.debug("OIDC user loaded, syncing token to cookie");try{await (0,r.aK)(e.access_token,e.refresh_token)}catch(e){c.q.error("Failed to sync token after load:",e)}};return e.events.addUserLoaded(t),()=>{e.events.removeUserLoaded(t)}},[]);let w=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!(0,r.dv)())return;let e=!1,t=async()=>{if(e)return;let n=await (0,r.vN)();!e&&n&&(w.current=setTimeout(async()=>{e||(await o(),t())},function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:20;if(!e)return 3e5;let a=function(e){try{let t=e.split(".");if(3!==t.length)return null;let n=t[1].replace(/-/g,"+").replace(/_/g,"/"),a="function"==typeof atob?atob(n):l.from(n,"base64").toString("utf-8"),s=JSON.parse(a),i="number"==typeof s.iat?s.iat:void 0,r="number"==typeof s.exp?s.exp:void 0;return{iat:i,exp:r}}catch(e){return null}}(e);if(!a||"number"!=typeof a.exp)return 3e5;let s=1e3*n,i=1e3*a.exp-s;return i>t?Math.max(i-t,5e3):"number"==typeof a.iat&&a.exp>a.iat?Math.max((a.exp-a.iat)*1e3-s,5e3):3e5}(n.access_token,Date.now())))};return t(),()=>{e=!0,w.current&&(clearTimeout(w.current),w.current=null)}},[]);let N=(0,s.useRef)(b);N.current=b;let y=(0,s.useRef)(!1);(0,s.useEffect)(()=>{let e=async()=>{if(!y.current){y.current=!0;try{await (0,r.OX)(),await N.current()}finally{y.current=!1}}},t=t=>{t.persisted&&e()},n=()=>{"visible"===document.visibilityState&&e()};return window.addEventListener("pageshow",t),document.addEventListener("visibilitychange",n),()=>{window.removeEventListener("pageshow",t),document.removeEventListener("visibilitychange",n)}},[]);let A=async()=>{try{await fetch("/api/auth/session",{method:"DELETE"}),await (0,r.ri)(),x(null),f(null),n.push("/login")}catch(e){c.q.error("Logout error:",e),(0,r.w9)(),n.push("/login")}},C=async()=>{await b()};return(0,a.jsx)(d.Provider,{value:{user:u,company:m,loading:h,error:g,logout:A,refreshSession:C},children:t})}function x(){let e=(0,s.useContext)(d);if(!e)throw Error("useAuth must be used within an AuthProvider");return e}},57731:(e,t,n)=>{n.d(t,{E:()=>o});var a=n(90508);n(1856);var s=n(49499),i=n(54154),r=n(24377);let l=(0,s.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100"}},defaultVariants:{variant:"default"}});function o(e){let{className:t,variant:n="default",asChild:s=!1,...o}=e,c=s?i.bL:"span";return(0,a.jsx)(c,{"data-slot":"badge","data-variant":n,className:(0,r.cn)(l({variant:n}),t),...o})}},59208:(e,t,n)=>{n.d(t,{$d:()=>c,Oj:()=>o});var a=n(90508),s=n(1856),i=n(62990),r=n(67712);let l=(0,s.createContext)(null);function o(e){let{children:t}=e,[n,o]=(0,s.useState)("loading"),[c,d]=(0,s.useState)([]),[u,x]=(0,s.useState)({}),[m,f]=(0,s.useState)(!1),[h,p]=(0,s.useState)(!1),[g,v]=(0,s.useState)(null),[j,b]=(0,s.useState)(null),w=(0,s.useRef)(new Set),N=(0,s.useRef)({}),y=(0,s.useCallback)(async()=>{try{let t=await (0,i.tm)("/api/agent-connections");if(!t.ok)return void o("error");let n=await t.json();if(n.success){var e;d(null!=(e=n.data.connections)?e:[]),o("ok")}else o("error")}catch(e){r.q.error("Failed to fetch agent connections:",e),o("error")}},[]),A=(0,s.useCallback)(async()=>{let e={...N.current};try{let n=await (0,i.tm)("/api/daemon/executions");if(!n.ok)return;let a=await n.json();if(a.success){var t;let n=function(e){let t={};for(let s of e){var n,a;(null!=(a=t[n=s.connectionUuid])?a:t[n]=[]).push(s)}return t}(null!=(t=a.data.executions)?t:[]);x(t=>{let a={...n};for(let n of Object.keys(N.current))N.current[n]!==e[n]&&(void 0===t[n]?delete a[n]:a[n]=t[n]);return a})}}catch(e){r.q.error("Failed to fetch daemon executions:",e)}finally{f(!0)}},[]);(0,s.useEffect)(()=>{y(),A();let e=setInterval(()=>{y(),A()},15e3);return()=>clearInterval(e)},[y,A]),(0,s.useEffect)(()=>{let e=null;function t(){n(),(e=new EventSource(!g?"/api/events":"/api/events?sessionUuid=".concat(encodeURIComponent(g)))).onmessage=e=>{let t=null;try{t=JSON.parse(e.data)}catch(e){return}if(t&&!function(e,t){if("transcript"!==e.type)return!1;for(let n of t)n(e);return!0}(t,w.current)&&"execution"===t.type){var n;let e=t;N.current[e.connectionUuid]=(null!=(n=N.current[e.connectionUuid])?n:0)+1,x(t=>(function(e,t){let n={...e};return 0===t.executions.length?delete n[t.connectionUuid]:n[t.connectionUuid]=t.executions,n})(t,e))}},e.onerror=()=>{}}function n(){e&&(e.close(),e=null)}function a(){"visible"===document.visibilityState&&(e&&e.readyState===EventSource.OPEN||(t(),A()))}return t(),document.addEventListener("visibilitychange",a),()=>{n(),document.removeEventListener("visibilitychange",a)}},[A,g]);let C=(0,s.useMemo)(()=>c.filter(e=>"online"===e.effectiveStatus).length,[c]),k=(0,s.useCallback)(e=>(w.current.add(e),()=>{w.current.delete(e)}),[]),E=(0,s.useCallback)((e,t)=>{b(t?{agentUuid:e,pin:t}:{agentUuid:e}),p(!0)},[]),S=(0,s.useCallback)(()=>{b(null)},[]),U=(0,s.useMemo)(()=>({status:n,connections:c,onlineCount:C,executionsByConnection:u,executionsLoaded:m,modalOpen:h,setModalOpen:p,openSession:g,setOpenSession:v,subscribeTranscript:k,focusTarget:j,openChatForAgent:E,clearChatFocusTarget:S}),[n,c,C,u,m,h,g,k,j,E,S]);return(0,a.jsx)(l.Provider,{value:U,children:t})}function c(){let e=(0,s.useContext)(l);if(!e)throw Error("useAgentPresence must be used within an AgentPresenceProvider");return e}},62990:(e,t,n)=>{n.d(t,{OX:()=>x,aK:()=>u,dv:()=>r,hj:()=>l,ri:()=>f,tm:()=>m,vN:()=>c,w9:()=>o});var a=n(30509),s=n(67712);let i=null;function r(){if(!i){let e=(0,a.XQ)();e&&(i=(0,a.HB)(e))}return i}function l(e){return(0,a.vh)(e),i=(0,a.HB)(e)}function o(){i=null}async function c(){let e=r();if(!e)return null;try{return await e.getUser()}catch(e){return null}}async function d(){let e=await c();return e?e.access_token:null}async function u(e,t){try{return(await fetch("/api/auth/sync-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:e,refreshToken:t})})).ok}catch(e){return s.q.error("Failed to sync token to cookie"),!1}}async function x(){try{await fetch("/api/keepalive",{method:"GET",credentials:"same-origin",cache:"no-store"})}catch(e){}}async function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=await d(),a=new Headers(t.headers);n&&a.set("Authorization","Bearer ".concat(n));let s=await fetch(e,{...t,headers:a});if(401===s.status)if(r());else try{if((await fetch("/api/auth/refresh",{method:"POST"})).ok)return a.delete("Authorization"),fetch(e,{...t,headers:a})}catch(e){}return s}async function f(){try{await fetch("/api/auth/logout",{method:"POST"})}catch(e){}let e=r();if(e)try{await e.removeUser()}catch(e){}o(),(0,a.JK)()}},64993:(e,t,n)=>{n.d(t,{F:()=>r});var a=n(90508);n(1856);var s=n(65326),i=n(24377);function r(e){let{className:t,children:n,...r}=e;return(0,a.jsxs)(s.Root,{"data-slot":"scroll-area",className:(0,i.cn)("relative",t),...r,children:[(0,a.jsx)(s.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:n}),(0,a.jsx)(l,{}),(0,a.jsx)(s.Corner,{})]})}function l(e){let{className:t,orientation:n="vertical",...r}=e;return(0,a.jsx)(s.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:n,className:(0,i.cn)("flex touch-none p-px transition-colors select-none","vertical"===n&&"h-full w-2.5 border-l border-l-transparent","horizontal"===n&&"h-2.5 flex-col border-t border-t-transparent",t),...r,children:(0,a.jsx)(s.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},67712:(e,t,n)=>{n.d(t,{q:()=>l});var a=n(55036);let s={debug:0,info:1,warn:2,error:3},i=a.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function r(e){return s[e]>=s[i]}let l={debug:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];r("debug")&&console.debug("[Chorus] ".concat(e),...n)},info:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];r("info")&&console.info("[Chorus] ".concat(e),...n)},warn:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];r("warn")&&console.warn("[Chorus] ".concat(e),...n)},error:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];r("error")&&console.error("[Chorus] ".concat(e),...n)}}},78307:(e,t,n)=>{n.d(t,{C:()=>u,O:()=>f});var a=n(90508),s=n(1856),i=n(39268),r=n(71388),l=n(41033),o=n(24377),c=n(24900),d=n(37627);function u(e){return e.filter(e=>"online"===e.effectiveStatus)}function x(e){let{cwd:t,formatOptions:n}=e,s=(0,i.c)(),l=(0,c.kn)(t,n),d=l.isUnknown?s(l.label):l.label,u=l.isUnknown?s(l.title):l.title;return(0,a.jsxs)("span",{title:u,className:(0,o.cn)("inline-flex min-w-0 items-center gap-1.5 rounded-md border border-[#E5E0D8] bg-[#FAF8F4] px-2 py-0.5","font-mono text-xs",l.isUnknown?"text-[#9A9A9A] italic":"text-[#2C2C2C]"),children:[(0,a.jsx)(r.A,{className:"size-3 shrink-0 text-[#9A9A9A]","aria-hidden":!0}),(0,a.jsx)("span",{className:"truncate",children:d})]})}function m(e){let{host:t,formatOptions:n}=e,s=(0,i.c)(),r=(0,c.g9)(t,n),l=r.isUnknown?s(r.label):r.label,o=r.isUnknown?s(r.title):r.title;return(0,a.jsx)("span",{title:o,className:"shrink-0 truncate font-mono text-[10px] text-[#9A9A9A]",children:l})}function f(e){let{instances:t,selectedConnectionUuid:n,onSelect:r,className:c,cwdFormatOptions:u,hostFormatOptions:f,ariaLabel:h}=e,p=(0,i.c)("mentionInstance"),g=(0,s.useMemo)(()=>new Set(t.map(e=>e.host)).size>1,[t]),v=1===t.length?t[0]:null;return((0,s.useEffect)(()=>{v&&n!==v.connectionUuid&&r(v)},[v,n]),0===t.length)?(0,a.jsx)("div",{className:(0,o.cn)("py-2 text-xs text-[#9A9A9A]",c),children:p("noInstances")}):(0,a.jsx)(l.z,{"aria-label":null!=h?h:p("title"),value:null!=n?n:void 0,onValueChange:e=>{let n=t.find(t=>t.connectionUuid===e);n&&r(n)},className:(0,o.cn)("gap-1.5",c),children:t.map(e=>{var t;let s=n===e.connectionUuid;return(0,a.jsxs)("div",{role:"presentation",tabIndex:-1,onClick:()=>r(e),className:(0,o.cn)("flex items-center gap-2.5 rounded-md border px-2.5 py-2 transition-colors","cursor-pointer border-[#E5E0D8] hover:bg-[#FAF8F4]",s&&"border-[#C67A52] bg-[#FAF8F4]"),children:[(0,a.jsx)("span",{className:"flex shrink-0 items-center","aria-hidden":!0,children:(0,a.jsx)(d.m,{online:!0})}),(0,a.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,a.jsx)(x,{cwd:e.cwd,formatOptions:u}),g&&(0,a.jsx)(m,{host:e.host,formatOptions:f})]}),(0,a.jsx)(l.C,{value:e.connectionUuid,"aria-label":null!=(t=e.cwd)?t:void 0,className:"shrink-0"})]},e.connectionUuid)})})}},81750:(e,t,n)=>{n.d(t,{Ke:()=>o,Nt:()=>r,R6:()=>l});var a=n(90508),s=n(38476),i=n(24377);function r(e){let{...t}=e;return(0,a.jsx)(s.Root,{"data-slot":"collapsible",...t})}function l(e){let{...t}=e;return(0,a.jsx)(s.Trigger,{"data-slot":"collapsible-trigger",...t})}function o(e){let{className:t,...n}=e;return(0,a.jsx)(s.Content,{"data-slot":"collapsible-content",className:(0,i.cn)("overflow-hidden data-[state=open]:animate-[collapsible-down_250ms_ease-in-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-in-out]",t),...n})}},91846:(e,t,n)=>{n.d(t,{bq:()=>u,eb:()=>m,gC:()=>x,l6:()=>c,yv:()=>d});var a=n(90508);n(1856);var s=n(17730),i=n(60532),r=n(89967),l=n(48218),o=n(24377);function c(e){let{...t}=e;return(0,a.jsx)(l.Root,{"data-slot":"select",...t})}function d(e){let{...t}=e;return(0,a.jsx)(l.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:n="default",children:i,...r}=e;return(0,a.jsxs)(l.Trigger,{"data-slot":"select-trigger","data-size":n,className:(0,o.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...r,children:[i,(0,a.jsx)(l.Icon,{asChild:!0,children:(0,a.jsx)(s.A,{className:"size-4 opacity-50"})})]})}function x(e){let{className:t,children:n,position:s="item-aligned",align:i="center",...r}=e;return(0,a.jsx)(l.Portal,{children:(0,a.jsxs)(l.Content,{"data-slot":"select-content",className:(0,o.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:s,align:i,...r,children:[(0,a.jsx)(f,{}),(0,a.jsx)(l.Viewport,{className:(0,o.cn)("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:n}),(0,a.jsx)(h,{})]})})}function m(e){let{className:t,children:n,...s}=e;return(0,a.jsxs)(l.Item,{"data-slot":"select-item",className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...s,children:[(0,a.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(l.ItemIndicator,{children:(0,a.jsx)(i.A,{className:"size-4"})})}),(0,a.jsx)(l.ItemText,{children:n})]})}function f(e){let{className:t,...n}=e;return(0,a.jsx)(l.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,a.jsx)(r.A,{className:"size-4"})})}function h(e){let{className:t,...n}=e;return(0,a.jsx)(l.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,a.jsx)(s.A,{className:"size-4"})})}},97261:(e,t,n)=>{n.d(t,{MarkdownContent:()=>d});var a=n(90508),s=n(1856),i=n(65700),r=n(19169),l=n(26190);let o={code:r.a,mermaid:l.a},c={mermaid:{fullscreen:!0,download:!0,copy:!0,panZoom:!0}};function d(e){let{children:t,components:n,allowedTags:r,literalTagContent:l}=e,d=function(){let[e,t]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{let e=document.documentElement,n=()=>t(e.classList.contains("dark"));n();let a=new MutationObserver(n);return a.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>a.disconnect()},[]),e}(),u=(0,s.useMemo)(()=>({config:{theme:d?"dark":"default"}}),[d]);return(0,a.jsx)(i.jH,{plugins:o,controls:c,mermaid:u,components:n,allowedTags:r,literalTagContent:l,children:t},d?"dark":"light")}},97438:(e,t,n)=>{n.d(t,{Cf:()=>x,Es:()=>f,L3:()=>h,c7:()=>m,lG:()=>o,rr:()=>p,zM:()=>c});var a=n(90508);n(1856);var s=n(9160),i=n(71350),r=n(24377),l=n(22922);function o(e){let{...t}=e;return(0,a.jsx)(i.Root,{"data-slot":"dialog",...t})}function c(e){let{...t}=e;return(0,a.jsx)(i.Trigger,{"data-slot":"dialog-trigger",...t})}function d(e){let{...t}=e;return(0,a.jsx)(i.Portal,{"data-slot":"dialog-portal",...t})}function u(e){let{className:t,...n}=e;return(0,a.jsx)(i.Overlay,{"data-slot":"dialog-overlay",className:(0,r.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...n})}function x(e){let{className:t,overlayClassName:n,children:l,showCloseButton:o=!0,...c}=e;return(0,a.jsxs)(d,{"data-slot":"dialog-portal",children:[(0,a.jsx)(u,{className:n}),(0,a.jsxs)(i.Content,{"data-slot":"dialog-content",className:(0,r.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",t),...c,children:[l,o&&(0,a.jsxs)(i.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,a.jsx)(s.A,{}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...n}=e;return(0,a.jsx)("div",{"data-slot":"dialog-header",className:(0,r.cn)("flex flex-col gap-2 text-center sm:text-left",t),...n})}function f(e){let{className:t,showCloseButton:n=!1,children:s,...o}=e;return(0,a.jsxs)("div",{"data-slot":"dialog-footer",className:(0,r.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...o,children:[s,n&&(0,a.jsx)(i.Close,{asChild:!0,children:(0,a.jsx)(l.$,{variant:"outline",children:"Close"})})]})}function h(e){let{className:t,...n}=e;return(0,a.jsx)(i.Title,{"data-slot":"dialog-title",className:(0,r.cn)("text-lg leading-none font-semibold",t),...n})}function p(e){let{className:t,...n}=e;return(0,a.jsx)(i.Description,{"data-slot":"dialog-description",className:(0,r.cn)("text-muted-foreground text-sm",t),...n})}},97868:(e,t,n)=>{n.d(t,{MH:()=>eX,u:()=>S,jQ:()=>T,Bs:()=>eJ,lb:()=>Z,wL:()=>W,A4:()=>E,Gm:()=>eY,md:()=>u.m,Jk:()=>N,fb:()=>y,c0:()=>A,le:()=>i});var a=n(1856),s=n(39268);function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e3,[t,n]=(0,a.useState)(()=>Date.now());return(0,a.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function r(){let e=(0,s.c)("time");return(0,a.useCallback)((t,n)=>{let a=n-new Date(t).getTime(),s=Math.floor(a/6e4),i=Math.floor(a/36e5),r=Math.floor(a/864e5);return s<1?e("justNow"):s<60?e("minutesAgo",{minutes:s}):i<24?e("hoursAgo",{hours:i}):e("daysAgo",{days:r})},[e])}function l(e){return e<10?"0".concat(e):String(e)}function o(){let e=(0,s.c)("agentConnections");return(0,a.useCallback)((t,n)=>{let a=Math.floor(Math.max(0,n-new Date(t).getTime())/1e3),s=Math.floor(a/86400),i=Math.floor(a%86400/3600),r=Math.floor(a%3600/60),o="".concat(l(i),":").concat(l(r),":").concat(l(a%60));return s>0?e("uptimeMonoDays",{days:s,time:o}):o},[e])}function c(){let e=(0,s.c)("agentConnections");return(0,a.useCallback)(t=>{switch(t){case"claude_code":return e("clientClaudeCode");case"openclaw":return e("clientOpenclaw");default:return e("clientUnknown")}},[e])}function d(e){if(!e.projectUuid)return null;switch(e.entityType){case"task":return"/projects/".concat(e.projectUuid,"/tasks/").concat(e.entityUuid);case"idea":return"/projects/".concat(e.projectUuid,"/dashboard?panel=").concat(e.entityUuid);case"proposal":return"/projects/".concat(e.projectUuid,"/proposals/").concat(e.entityUuid);case"document":return"/projects/".concat(e.projectUuid,"/documents/").concat(e.entityUuid);default:return null}}var u=n(37627),x=n(90508),m=n(5425),f=n(93134),h=n(57731),p=n(24900),g=n(51509),v=n(71388),j=n(68842),b=n(17730),w=n(22922);function N(e){let t=[],n=new Map;for(let a of e)n.has(a.agentUuid)||(n.set(a.agentUuid,[]),t.push(a.agentUuid)),n.get(a.agentUuid).push(a);return t.map(e=>{let t=n.get(e),a=new Set(t.map(e=>e.host)).size>1;return{agentUuid:e,agentName:t[0].agentName,clientType:t[0].clientType,connections:t,onlineCount:t.filter(e=>"online"===e.effectiveStatus).length,multiHost:a,singleHost:a?void 0:t[0].host}})}function y(e){return e.filter(e=>"online"===e.effectiveStatus)}function A(e,t,n){let a=(0,s.c)("agentPresence.drilldown"),i=o(),l=r(),c=function(e,t){if("online"!==e.effectiveStatus)return{state:"offline",runningStartedAt:null,queuedCount:0};let n=t.filter(e=>"running"===e.status),a=t.filter(e=>"queued"===e.status);if(n.length>0){var s;let e=[...n].sort((e,t)=>{var n,a;return(null!=(n=e.startedAt)?n:e.createdAt).localeCompare(null!=(a=t.startedAt)?a:t.createdAt)})[0];return{state:"running",runningStartedAt:null!=(s=e.startedAt)?s:e.createdAt,queuedCount:a.length}}return a.length>0?{state:"queued",runningStartedAt:null,queuedCount:a.length}:{state:"idle",runningStartedAt:null,queuedCount:0}}(e,t);switch(c.state){case"offline":return{text:a("offlineSince",{time:l(e.lastSeenAt,n)}),dot:(0,x.jsx)(u.m,{online:!1,size:"md"})};case"running":return{text:a("runningFor",{time:c.runningStartedAt?i(c.runningStartedAt,n):""}),dot:(0,x.jsx)("span",{"aria-hidden":!0,className:"inline-flex h-2.5 w-2.5 rounded-full bg-[#C67A52]"})};case"queued":return{text:a("queuedCount",{count:c.queuedCount}),dot:(0,x.jsx)(u.m,{online:!0,size:"md"})};default:return{text:a("idle"),dot:(0,x.jsx)(u.m,{online:!0,size:"md"})}}}function C(e){let{cwd:t,formatOptions:n}=e,a=(0,s.c)("agentPresence"),i=(0,p.kn)(null!=t?t:null,n),r=i.isUnknown?a("unknownPath"):i.label,l=i.isUnknown?a("unknownPath"):i.title,o=i.isUnknown?g.A:v.A;return(0,x.jsxs)("span",{title:l,className:"inline-flex min-w-0 items-center gap-1.5 rounded-md bg-[#F0EDE8] px-2 py-1",children:[(0,x.jsx)(o,{className:"h-3.5 w-3.5 shrink-0 text-[#9A8E7E]","aria-hidden":!0}),(0,x.jsx)("span",{className:"min-w-0 truncate font-mono text-[12px] font-semibold ".concat(i.isUnknown?"text-[#9A9A9A]":"text-[#3A3631]"),children:r})]})}function k(e){let{host:t}=e,n=(0,s.c)("agentPresence"),a=(0,p.g9)(t),i=a.isUnknown?n("unknownHost"):a.label,r=a.isUnknown?n("unknownHost"):a.title;return(0,x.jsxs)("span",{title:r,className:"inline-flex min-w-0 max-w-[140px] shrink items-center gap-1 truncate font-mono text-[11px] text-[#9A9A9A]",children:[(0,x.jsx)(j.A,{className:"h-3 w-3 shrink-0","aria-hidden":!0}),(0,x.jsx)("span",{className:"truncate",children:i})]})}function E(e){let{connection:t,showHost:n,activity:a,dot:s}=e,i="online"===t.effectiveStatus,r=n||!!a;return(0,x.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,x.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,x.jsx)(C,{cwd:t.cwd}),r&&(0,x.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5 pl-0.5",children:[n&&(0,x.jsx)(k,{host:t.host}),n&&a&&(0,x.jsx)("span",{"aria-hidden":!0,className:"shrink-0 text-[11px] text-[#C9C2B6]",children:"\xb7"}),a&&(0,x.jsx)("span",{className:"min-w-0 truncate text-[11px] text-[#9A9A9A]",children:a})]})]}),(0,x.jsx)("span",{className:"shrink-0",children:null!=s?s:(0,x.jsx)(u.m,{online:i,size:"md"})})]})}function S(e){var t,n;let{group:a,expanded:i,onToggle:r}=e,l=(0,s.c)("agentPresence"),o=(0,s.c)("agentPresence.drilldown"),d=(0,s.c)("agentConnections"),f=c(),h=(null==(t=a.agentName)?void 0:t.trim())||d("unknownAgent"),p=a.onlineCount>0,g="function"==typeof r,v=new Set(a.connections.map(e=>e.host)).size,j=""===a.singleHost?l("unknownHost"):null!=(n=a.singleHost)?n:"",N=a.multiHost?"".concat(f(a.clientType)," \xb7 ").concat(o("hostsCount",{count:v})):"".concat(f(a.clientType)," \xb7 ").concat(j),y=(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(b.A,{className:"h-4 w-4 shrink-0 text-[#B7AE9F] transition-transform ".concat(g&&i?"rotate-180":""),"aria-hidden":!0}),(0,x.jsx)("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:p?"#C67A5214":"#9A9A9A14"},children:(0,x.jsx)(m.A,{className:"h-5 w-5",style:{color:p?"#C67A52":"#9A9A9A"},"aria-hidden":!0})}),(0,x.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,x.jsx)("div",{className:"truncate text-[14px] font-semibold text-[#2C2C2C]",children:h}),(0,x.jsx)("div",{className:"mt-0.5 truncate text-[12px] text-[#9A9A9A]",children:N})]}),(0,x.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,x.jsx)("span",{className:"text-[12px] text-[#9A9A9A]",children:o("instancesCount",{count:a.connections.length})}),(0,x.jsx)(u.m,{online:p,size:"md"})]})]});return g?(0,x.jsx)(w.$,{type:"button",variant:"ghost",onClick:r,"aria-expanded":i,"aria-label":o(i?"collapseAgent":"expandAgent",{agent:h}),className:"flex h-auto w-full items-center justify-start gap-2.5 rounded-lg px-1.5 py-1 hover:bg-[#FBF4EF]",children:y}):(0,x.jsx)("div",{className:"flex items-center gap-2.5",children:y})}function U(e){var t,n;let{connection:a,size:i}=e,r=(0,s.c)("agentConnections"),l=c(),o="online"===a.effectiveStatus,d=o?m.A:f.A,u=(null==(t=a.agentName)?void 0:t.trim())||r("unknownAgent"),g=null!=(n=a.clientVersion)?n:r("versionUnknown"),v=(0,p.g9)(a.host),j=v.isUnknown?r("hostUnknown"):v.label,b=v.isUnknown?r("hostUnknown"):v.title;return(0,x.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,x.jsx)("div",{className:"".concat("lg"===i?"h-12 w-12":"md"===i?"h-10 w-10":"h-9 w-9"," ").concat("lg"===i?"rounded-xl":"rounded-lg"," flex shrink-0 items-center justify-center"),style:{backgroundColor:o?"#C67A5214":"#9A9A9A14"},children:(0,x.jsx)(d,{className:"lg"===i?"h-6 w-6":"md"===i?"h-5 w-5":"h-4 w-4",style:{color:o?"#C67A52":"#9A9A9A"}})}),(0,x.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,x.jsx)("div",{className:"truncate font-semibold text-[#2C2C2C] ".concat("lg"===i?"text-[20px]":"md"===i?"text-[16px]":"text-[14px]"),children:u}),(0,x.jsxs)("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[(0,x.jsx)(C,{cwd:a.cwd}),(0,x.jsx)(h.E,{variant:"secondary",className:"shrink-0 border-0 bg-[#F0EDE8] px-2 py-0.5 text-[10px] font-medium text-[#6B6B6B]",children:l(a.clientType)}),(0,x.jsxs)("span",{title:b,className:"truncate font-mono text-[11px] text-[#9A9A9A]",children:["v",g," \xb7 ",j]})]})]})]})}var F=n(78307),B=n(24377);function T(e){let{cwd:t,host:n,showHost:a=!0,className:i}=e,r=(0,s.c)(),l=(0,p.kn)(t),o=l.isUnknown?r(l.label):l.label,c=l.isUnknown?r(l.title):l.title,d=(0,p.g9)(n),u=d.isUnknown?r(d.label):d.label,m=d.isUnknown?r(d.title):d.title;return(0,x.jsxs)("span",{className:(0,B.cn)("inline-flex min-w-0 items-center gap-1.5",i),children:[(0,x.jsxs)("span",{title:c,className:(0,B.cn)("inline-flex min-w-0 items-center gap-1 rounded border border-[#E5E0D8] bg-[#FAF8F4] px-1.5 py-0.5","font-mono text-[10px]",l.isUnknown?"italic text-[#9A9A9A]":"text-[#6B6B6B]"),children:[(0,x.jsx)(v.A,{className:"size-2.5 shrink-0 text-[#9A9A9A]","aria-hidden":!0}),(0,x.jsx)("span",{className:"truncate",children:o})]}),a&&(0,x.jsx)("span",{title:m,className:"shrink-0 truncate font-mono text-[10px] text-[#9A9A9A]",children:u})]})}var z=n(67587),_=n(12790),I=n.n(_),M=n(13142),D=n(85226),O=n(59133),q=n(88591),R=n(43057),L=n(20578),P=n(10263),H=n(51817),$=n(62990),K=n(67712);function J(e){var t;let{exec:n}=e,i=(0,s.c)("agentConnections"),r=(0,s.c)("common"),[l,o]=(0,a.useState)(!1),[c,d]=(0,a.useState)(!1),u=(null==(t=n.entityTitle)?void 0:t.trim())||i("execEntityUnknown"),m=async()=>{d(!0);try{let e=await (0,$.tm)("/api/daemon/control",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:"interrupt",targetConnectionUuid:n.connectionUuid,entityType:n.entityType,entityUuid:n.entityUuid})});if(!e.ok){let t=i("interruptError");try{let n=await e.json();n&&"string"==typeof n.error&&n.error&&(t=n.error)}catch(e){}z.oR.error(t);return}z.oR.success(i("interruptSuccess",{title:u})),o(!1)}catch(e){K.q.error("Failed to request daemon interrupt:",e),z.oR.error(i("interruptError"))}finally{d(!1)}};return(0,x.jsxs)(H.Lt,{open:l,onOpenChange:e=>!c&&o(e),children:[(0,x.jsx)(H.tv,{asChild:!0,children:(0,x.jsxs)(w.$,{variant:"ghost",size:"sm","aria-label":i("interruptAria"),className:"h-7 shrink-0 gap-1.5 rounded-lg px-2.5 text-[12px] font-medium text-[#B45309] hover:bg-[#FEF3C7] hover:text-[#92400E]",children:[(0,x.jsx)(M.A,{className:"h-3.5 w-3.5","aria-hidden":!0}),i("interrupt")]})}),(0,x.jsxs)(H.EO,{children:[(0,x.jsxs)(H.wd,{children:[(0,x.jsx)(H.r7,{children:i("interruptConfirmTitle")}),(0,x.jsx)(H.$v,{children:i("interruptConfirmBody",{title:u})})]}),(0,x.jsxs)(H.ck,{children:[(0,x.jsx)(H.Zr,{disabled:c,children:r("cancel")}),(0,x.jsx)(H.Rx,{variant:"destructive",disabled:c,onClick:e=>{e.preventDefault(),m()},children:c?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(D.A,{className:"mr-2 h-4 w-4 motion-safe:animate-spin","aria-hidden":!0}),i("interrupting")]}):i("interruptConfirmAction")})]})]})]})}function V(e){var t;let{exec:n}=e,i=(0,s.c)("agentConnections"),[r,l]=(0,a.useState)(!1),o=(null==(t=n.entityTitle)?void 0:t.trim())||i("execEntityUnknown"),c=async()=>{l(!0);try{let e=await (0,$.tm)("/api/daemon/resume",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({connectionUuid:n.connectionUuid,entityType:n.entityType,entityUuid:n.entityUuid})});if(!e.ok){let t=i("resumeError");try{let n=await e.json();n&&"string"==typeof n.error&&n.error&&(t=n.error)}catch(e){}z.oR.error(t);return}z.oR.success(i("resumeSuccess",{title:o}))}catch(e){K.q.error("Failed to request daemon resume:",e),z.oR.error(i("resumeError"))}finally{l(!1)}};return(0,x.jsxs)(w.$,{variant:"ghost",size:"sm",disabled:r,"aria-label":i("resumeAria"),onClick:()=>void c(),className:"h-7 shrink-0 gap-1.5 rounded-lg px-2.5 text-[12px] font-medium text-[#15803D] hover:bg-[#DCFCE7] hover:text-[#166534]",children:[r?(0,x.jsx)(D.A,{className:"h-3.5 w-3.5 motion-safe:animate-spin","aria-hidden":!0}):(0,x.jsx)(O.A,{className:"h-3.5 w-3.5","aria-hidden":!0}),r?i("resuming"):i("resume")]})}function Z(e){var t,n;let{exec:i,nowMs:r,layout:l="inline"}=e,c=(0,s.c)("agentConnections"),u=o(),m=function(){let e=(0,s.c)("agentConnections");return(0,a.useCallback)(t=>{switch(t){case"task":return e("entityTask");case"idea":return e("entityIdea");case"proposal":return e("entityProposal");case"document":return e("entityDocument");case"daemon_session":return e("entityConversation");default:return e("entityUnknown")}},[e])}(),p="running"===i.status,g="interrupted"===i.status,v=g&&"user"===i.interruptedReason,j="stacked"===l,b="daemon_session"===i.entityType,w=b?(null==(t=i.entityTitle)?void 0:t.trim())||c("execConversation"):(null==(n=i.entityTitle)?void 0:n.trim())||c("execEntityUnknown"),N=d(i),y=j?"line-clamp-2":"truncate",A=(0,x.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg ".concat(p?"bg-[#C67A5214]":g?"bg-[#FEF3C7]":"bg-[#F0EDE8]"),"aria-hidden":!0,children:p?(0,x.jsx)(D.A,{className:"h-4 w-4 text-[#C67A52] motion-safe:animate-spin"}):g?(0,x.jsx)(q.A,{className:"h-4 w-4 text-[#B45309]"}):(0,x.jsx)(f.A,{className:"h-4 w-4 text-[#9A9A9A]"})}),C=(0,x.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,x.jsxs)("div",{className:"flex items-center gap-1.5",children:[b?(0,x.jsx)(R.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]","aria-hidden":!0}):(0,x.jsx)(h.E,{variant:"secondary",className:"shrink-0 border-0 bg-[#F0EDE8] px-1.5 py-0 text-[10px] font-medium text-[#6B6B6B]",children:m(i.entityType)}),N?(0,x.jsxs)(I(),{href:N,className:"group inline-flex min-w-0 items-center gap-1.5 ".concat(y," text-[14px] font-medium text-[#2C2C2C] hover:text-[#C67A52]"),children:[(0,x.jsx)("span",{className:y,children:w}),(0,x.jsx)(L.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C8C3BA] group-hover:text-[#C67A52]"})]}):(0,x.jsx)("span",{className:"block ".concat(y," text-[14px] font-medium ").concat(b?"text-[#2C2C2C]":"text-[#9A9A9A]"),children:w})]}),i.rootIdeaTitle&&(0,x.jsxs)("div",{className:"mt-1 flex items-center gap-1.5",children:[(0,x.jsx)(P.A,{className:"h-3 w-3 shrink-0 text-[#9A8C7E]","aria-hidden":!0}),(0,x.jsx)("span",{className:"".concat(j?"":"truncate"," text-[11px] text-[#9A8C7E]"),children:c("execSession",{idea:i.rootIdeaTitle})})]})]}),k=p?(0,x.jsxs)(x.Fragment,{children:[i.startedAt&&(0,x.jsx)("span",{className:"font-mono text-[12px] font-medium tabular-nums text-[#15803D]",title:c("execElapsedLabel"),children:u(i.startedAt,r)}),(0,x.jsx)(J,{exec:i})]}):g?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(h.E,{variant:"secondary",className:"shrink-0 gap-1 border-0 bg-[#FEF3C7] px-2 py-0.5 text-[10px] font-medium text-[#B45309]",children:[(0,x.jsx)(q.A,{className:"h-3 w-3","aria-hidden":!0}),c(v?"execInterruptedUser":"execInterruptedCrash")]}),v?(0,x.jsx)(V,{exec:i}):(0,x.jsx)("span",{className:"text-[11px] font-medium text-[#9A8C7E]",children:c("execCrashAutoRecovers")})]}):(0,x.jsx)("span",{className:"text-[11px] font-medium text-[#9A9A9A]",children:c("execWaiting")});return j?(0,x.jsxs)("li",{className:"flex flex-col gap-2 rounded-xl border border-[#E5E0D8] bg-white px-3.5 py-3",children:[(0,x.jsxs)("div",{className:"flex items-start gap-3",children:[A,C]}),(0,x.jsx)("div",{className:"flex flex-wrap items-center gap-2 pl-11",children:k})]}):(0,x.jsxs)("li",{className:"flex items-center gap-3 rounded-xl border border-[#E5E0D8] bg-white px-3.5 py-3",children:[A,C,p||g?(0,x.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:k}):(0,x.jsx)("span",{className:"shrink-0 text-[11px] font-medium text-[#9A9A9A]",children:c("execWaiting")})]})}function W(e){let{icon:t,label:n,count:a,children:s}=e;return(0,x.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,x.jsxs)("div",{className:"flex items-center gap-2",children:[(0,x.jsx)(t,{className:"h-4 w-4 text-[#C67A52]","aria-hidden":!0}),(0,x.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-wide text-[#6B6B6B]",children:n}),(0,x.jsx)(h.E,{variant:"secondary",className:"border-0 bg-[#F0EDE8] px-1.5 py-0 font-mono text-[10px] font-medium text-[#9A8C7E]",children:a})]}),(0,x.jsx)("ul",{className:"flex flex-col gap-2",children:s})]})}var X=n(88853),G=n(50153),Q=n(5329),Y=n(15972),ee=n(91846),et=n(42305);function en(e){let{value:t,onChange:n,onSend:a,pending:i,disabled:r,disabledReason:l,placeholder:o,sendLabel:c,layout:d,controllableExecution:u}=e,m=(0,s.c)("agentConnections"),f=0===t.trim().length,h=r||i||f,p=(0,x.jsxs)(w.$,{type:"button",size:"sm",onClick:a,disabled:h,"aria-label":c,className:"h-8 shrink-0 gap-1.5 rounded-lg bg-[#C67A52] px-3.5 text-[13px] font-medium text-white hover:bg-[#B56A44] disabled:bg-[#E5E0D8] disabled:text-[#9A9A9A]",children:[i?(0,x.jsx)(D.A,{className:"h-3.5 w-3.5 motion-safe:animate-spin","aria-hidden":!0}):(0,x.jsx)(X.A,{className:"h-3.5 w-3.5","aria-hidden":!0}),c]}),g=null!=u?u:null,v=g?"running"===g.status?(0,x.jsx)(J,{exec:g}):"interrupted"===g.status&&"user"===g.interruptedReason?(0,x.jsx)(V,{exec:g}):"interrupted"===g.status&&"crash"===g.interruptedReason?(0,x.jsx)("span",{className:"text-[11px] font-medium text-[#9A8C7E]",children:m("execCrashAutoRecovers")}):null:null,j=(0,x.jsxs)("div",{className:"absolute bottom-2 right-2 z-10 flex shrink-0 items-center gap-2",children:[v,p]}),b=r?(0,x.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[12px] font-medium text-[#B45309]",children:[(0,x.jsx)(G.A,{className:"h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,x.jsx)("span",{className:"min-w-0",children:l})]}):null;return(0,x.jsxs)("div",{className:"flex flex-col gap-2.5",children:[b,(0,x.jsxs)("div",{className:"relative",children:[(0,x.jsx)(Y.T,{value:t,onChange:e=>n(e.target.value),onKeyDown:e=>{(0,et.P)(e)||"Enter"===e.key&&!e.shiftKey&&(e.preventDefault(),h||a())},disabled:r||i,placeholder:o,rows:3,className:"min-h-[76px] resize-none rounded-xl border-[#E5E0D8] bg-white pb-12 text-[14px] text-[#2C2C2C] placeholder:text-[#9A9A9A] focus-visible:border-[#C67A52] focus-visible:ring-[#C67A52]/30"}),j]})]})}function ea(e){let{sessionUuid:t,originOnline:n,layout:i="inline",controllableExecution:r,agentUuid:l,onlineConnections:o=[],onSessionStarted:c}=e,d=(0,s.c)("agentConnections"),u=(0,s.c)("daemonChat"),[m,f]=(0,a.useState)(""),[h,p]=(0,a.useState)(!1),[g,v]=(0,a.useState)(!1),j=!n&&!!l&&o.length>0,b=async()=>{let e=m.trim();if(0!==e.length){p(!0);try{let n=await (0,$.tm)("/api/daemon-sessions/".concat(t,"/instruction"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({instructionText:e})});if(!n.ok)return void z.oR.error(await er(n,d("instructionError")));f("")}catch(e){K.q.error("Failed to send daemon instruction:",e),z.oR.error(d("instructionError"))}finally{p(!1)}}};return(0,x.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,x.jsx)(en,{value:m,onChange:f,onSend:b,pending:h,disabled:!n,disabledReason:n?null:u("originOfflineNote"),placeholder:u("replyPlaceholder"),sendLabel:d("send"),layout:i,controllableExecution:r}),j&&(g?(0,x.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,x.jsx)("span",{className:"text-[12px] font-medium text-[#6B6B6B]",children:u("continueOnlineHelp")}),(0,x.jsx)(es,{sessionUuid:t,onlineConnections:o,layout:i,onRepointed:c})]}):(0,x.jsxs)(w.$,{type:"button",variant:"outline",size:"sm",onClick:()=>v(!0),className:"h-8 w-fit gap-1.5 rounded-lg border-[#E5D5C6] bg-white text-[12px] font-medium text-[#C67A52] hover:bg-[#FBF4EF] hover:text-[#A65F3C]",children:[(0,x.jsx)(Q.A,{className:"h-3.5 w-3.5","aria-hidden":!0}),u("continueOnlineAction")]}))]})}function es(e){var t,n,i;let{sessionUuid:r,onlineConnections:l,layout:o,onRepointed:c}=e,d=(0,s.c)("agentConnections"),u=(0,s.c)("assignInstance"),m=(0,s.c)("daemonChat"),f=(0,a.useMemo)(()=>l.map(e=>{var t,n;return{connectionUuid:e.uuid,host:null!=(t=e.host)?t:"",cwd:null!=(n=e.cwd)?n:null,effectiveStatus:e.effectiveStatus}}),[l]),[h,g]=(0,a.useState)(null!=(n=null==(t=l[0])?void 0:t.uuid)?n:""),[v,j]=(0,a.useState)(""),[b,w]=(0,a.useState)(!1),N=null!=(i=f.find(e=>e.connectionUuid===h&&"online"===e.effectiveStatus))?i:null,y=(0,a.useMemo)(()=>new Set(f.map(e=>e.host)).size>1,[f]),A=async()=>{let e=v.trim();if(h&&0!==e.length){w(!0);try{let n=await (0,$.tm)("/api/daemon-sessions/".concat(r,"/repoint"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({connectionUuid:h,instructionText:e})});if(!n.ok)return void z.oR.error(await er(n,d("instructionError")));let a=null;try{var t;let e=await n.json();(null==e?void 0:e.success)&&(null==(t=e.data)?void 0:t.session)&&(a=e.data.session)}catch(e){}z.oR.success(m("continueOnlineStarted")),j(""),a&&(null==c||c(a))}catch(e){K.q.error("Failed to re-point daemon session:",e),z.oR.error(d("instructionError"))}finally{w(!1)}}},C=(()=>{if(!N)return null;let e=(0,p.kn)(N.cwd),t=e.isUnknown?u(e.label):e.label;if(y){let e=(0,p.g9)(N.host),n=e.isUnknown?u(e.label):e.label;return u("sendingToWithHost",{path:t,host:n})}return u("sendingTo",{path:t})})();return(0,x.jsxs)("div",{className:"flex flex-col gap-3 rounded-xl border border-dashed border-[#E5E0D8] bg-white p-4",children:[(0,x.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,x.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:u("workingDirectory")}),(0,x.jsx)(F.O,{instances:f,selectedConnectionUuid:h||null,onSelect:e=>g(e.connectionUuid),ariaLabel:d("pickConnection")})]}),C&&(0,x.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] text-[#6B6B6B]",children:[(0,x.jsx)(X.A,{className:"h-3 w-3 shrink-0 text-[#9A9A9A]","aria-hidden":!0}),(0,x.jsx)("span",{className:"min-w-0 truncate",children:C})]}),(0,x.jsx)(en,{value:v,onChange:j,onSend:A,pending:b,disabled:!N,disabledReason:N?null:u("offlineCantRun"),placeholder:d("sendInstructionPlaceholder"),sendLabel:d("send"),layout:o})]})}function ei(e){var t,n,i;let{agentUuid:r,onlineConnections:l,layout:o,hideHeader:c=!1,onStarted:d}=e,u=(0,s.c)("agentConnections"),m=(0,s.c)("assignInstance"),f=(0,a.useMemo)(()=>l.map(e=>{var t,n;return{connectionUuid:e.uuid,host:null!=(t=e.host)?t:"",cwd:null!=(n=e.cwd)?n:null,effectiveStatus:e.effectiveStatus}}),[l]),[h,g]=(0,a.useState)(null!=(n=null==(t=l[0])?void 0:t.uuid)?n:""),[v,j]=(0,a.useState)(""),[b,w]=(0,a.useState)(!1),N=null!=(i=f.find(e=>e.connectionUuid===h&&"online"===e.effectiveStatus))?i:null,y=(0,a.useMemo)(()=>new Set(f.map(e=>e.host)).size>1,[f]),A=async()=>{let e=v.trim();if(h&&0!==e.length){w(!0);try{let n=await (0,$.tm)("/api/daemon-sessions/ad-hoc",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentUuid:r,connectionUuid:h,instructionText:e})});if(!n.ok)return void z.oR.error(await er(n,u("instructionError")));let a=null;try{var t;let e=await n.json();(null==e?void 0:e.success)&&(null==(t=e.data)?void 0:t.session)&&(a=e.data.session)}catch(e){}z.oR.success(u("adHocSessionStarted")),j(""),a&&(null==d||d(a))}catch(e){K.q.error("Failed to start ad-hoc daemon session:",e),z.oR.error(u("instructionError"))}finally{w(!1)}}},C=(()=>{if(!N)return null;let e=(0,p.kn)(N.cwd),t=e.isUnknown?m(e.label):e.label;if(y){let e=(0,p.g9)(N.host),n=e.isUnknown?m(e.label):e.label;return m("sendingToWithHost",{path:t,host:n})}return m("sendingTo",{path:t})})();return(0,x.jsxs)("div",{className:"flex flex-col gap-3 rounded-xl border border-dashed border-[#E5E0D8] bg-white p-4",children:[!c&&(0,x.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,x.jsx)("span",{className:"text-[13px] font-semibold text-[#2C2C2C]",children:u("adHocTitle")}),(0,x.jsx)("span",{className:"text-[12px] leading-relaxed text-[#9A9A9A]",children:m("liveSendNote")})]}),(0,x.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,x.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:m("workingDirectory")}),(0,x.jsx)(F.O,{instances:f,selectedConnectionUuid:h||null,onSelect:e=>g(e.connectionUuid),ariaLabel:u("pickConnection")})]}),C&&(0,x.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] text-[#6B6B6B]",children:[(0,x.jsx)(X.A,{className:"h-3 w-3 shrink-0 text-[#9A9A9A]","aria-hidden":!0}),(0,x.jsx)("span",{className:"min-w-0 truncate",children:C})]}),(0,x.jsx)(en,{value:v,onChange:j,onSend:A,pending:b,disabled:!N,disabledReason:N?null:m("offlineCantRun"),placeholder:u("sendInstructionPlaceholder"),sendLabel:u("startSession"),layout:o})]})}async function er(e,t){try{let t=await e.json();if(t&&"string"==typeof t.error&&t.error)return t.error}catch(e){}return t}var el=n(48416),eo=n(59208),ec=n(78134),ed=n(97438),eu=n(37915),ex=n(6748),em=n(17475);function ef(e){let{status:t}=e;return"running"===t?(0,x.jsxs)("span",{"aria-hidden":!0,className:"relative inline-flex h-2.5 w-2.5 items-center justify-center",children:[(0,x.jsx)("span",{className:"absolute inline-flex h-full w-full rounded-full bg-[#C67A52] opacity-30 motion-safe:animate-ping"}),(0,x.jsx)("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-[#C67A52]"})]}):"interrupted"===t?(0,x.jsx)(q.A,{"aria-hidden":!0,className:"h-3.5 w-3.5 text-[#B45309]"}):"error"===t?(0,x.jsx)(em.A,{"aria-hidden":!0,className:"h-3.5 w-3.5 text-[#DC2626]"}):(0,x.jsx)("span",{"aria-hidden":!0,className:"h-2 w-2 rounded-full bg-[#D7D2C9]"})}function eh(e){let{row:t,selected:n,onSelect:a,nowMs:i}=e,l=(0,s.c)("daemonChat"),o=r(),c="running"===t.status?l("running"):"interrupted"===t.status?l("statusInterrupted"):"error"===t.status?l("statusError"):null;return(0,x.jsxs)(w.$,{variant:"ghost",onClick:a,"aria-current":n?"true":void 0,className:"relative h-auto w-full justify-start gap-0 rounded-none px-0 py-0 text-left transition-colors ".concat(n?"bg-[#FBF4EF] hover:bg-[#FBF4EF]":"bg-white hover:bg-[#FAF8F4]"),children:[n&&(0,x.jsx)("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-[#C67A52]"}),(0,x.jsxs)("span",{className:"flex w-full items-center gap-3 px-4 py-3.5",children:[(0,x.jsx)("span",{className:"flex w-2.5 shrink-0 justify-center",children:(0,x.jsx)(ef,{status:t.status})}),(0,x.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,x.jsxs)("span",{className:"flex items-center gap-1.5",children:[t.ideaAnchored&&(0,x.jsxs)(h.E,{variant:"secondary",className:"shrink-0 gap-1 border-0 bg-[#F3ECFB] px-1.5 py-0 text-[10px] font-medium text-[#7C5BC0]",children:[(0,x.jsx)(P.A,{className:"h-2.5 w-2.5","aria-hidden":!0}),l("badgeIdea")]}),(0,x.jsx)("span",{className:"truncate text-[14px] font-semibold text-[#2C2C2C]",children:t.title})]}),(0,x.jsxs)("span",{className:"mt-0.5 flex items-center gap-1.5",children:[c&&(0,x.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wide ".concat("running"===t.status?"text-[#C67A52]":"error"===t.status?"text-[#DC2626]":"text-[#B45309]"),children:c}),(0,x.jsx)("span",{className:"truncate font-mono text-[10px] text-[#9A9A9A]",children:o(t.session.lastTurnAt,i)})]})]})]})]})}function ep(e){let{agents:t,selectedAgentUuid:n,onSelectAgent:a,rows:r,selectedSessionUuid:l,onSelectSession:o,onNewConversation:c,visibleCount:d,onLoadMore:u}=e,m=(0,s.c)("daemonChat"),f=i(),h=r.slice(0,d),p=r.length>d,g=null===l;return(0,x.jsxs)("div",{className:"flex h-full flex-col gap-3",children:[(0,x.jsxs)("div",{className:"flex flex-col gap-1.5 px-1",children:[(0,x.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:m("agentSelectLabel")}),(0,x.jsxs)(ee.l6,{value:null!=n?n:void 0,onValueChange:a,children:[(0,x.jsx)(ee.bq,{"aria-label":m("agentSelectLabel"),className:"w-full rounded-lg border-[#E5E0D8] bg-white text-[13px] text-[#2C2C2C]",children:(0,x.jsx)(ee.yv,{placeholder:m("agentSelectPlaceholder")})}),(0,x.jsx)(ee.gC,{children:t.map(e=>(0,x.jsx)(ee.eb,{value:e.agentUuid,children:e.agentName},e.agentUuid))})]})]}),(0,x.jsx)("div",{className:"px-1",children:(0,x.jsxs)(w.$,{type:"button",onClick:c,"aria-current":g?"true":void 0,className:"h-9 w-full justify-center gap-1.5 rounded-lg text-[13px] font-medium ".concat(g?"bg-[#C67A52] text-white hover:bg-[#B56A44]":"border border-[#E5D2C2] bg-[#FBF4EF] text-[#C67A52] hover:bg-[#F6E9DF]"),children:[(0,x.jsx)(Q.A,{className:"h-4 w-4","aria-hidden":!0}),m("newConversationButton")]})}),(0,x.jsxs)(el.Zp,{className:"flex min-h-0 flex-1 flex-col gap-0 overflow-hidden rounded-2xl border-[#E5E0D8] bg-white p-0 shadow-none",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between px-4 py-3.5",children:[(0,x.jsx)("span",{className:"font-mono text-[11px] font-medium uppercase tracking-[1px] text-[#9A9A9A]",children:m("listHeader")}),(0,x.jsx)("span",{className:"font-mono text-[11px] font-medium text-[#9A9A9A]",children:r.length})]}),(0,x.jsx)("div",{className:"h-px w-full bg-[#EFEBE4]"}),0===r.length?(0,x.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-1.5 p-8 text-center",children:[(0,x.jsx)("p",{className:"text-[13px] font-medium text-[#6B6B6B]",children:m("noSessions.title")}),(0,x.jsx)("p",{className:"max-w-[220px] text-[12px] leading-relaxed text-[#9A9A9A]",children:m("noSessions.body")})]}):(0,x.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto",children:[h.map((e,t)=>(0,x.jsxs)("div",{children:[(0,x.jsx)(eh,{row:e,selected:l===e.session.uuid,onSelect:()=>o(e.session.uuid),nowMs:f}),t<h.length-1&&(0,x.jsx)("div",{className:"h-px w-full bg-[#F2EEE7]"})]},e.session.uuid)),p&&(0,x.jsx)("div",{className:"px-4 py-3",children:(0,x.jsx)(w.$,{variant:"ghost",size:"sm",onClick:u,className:"h-8 w-full rounded-lg text-[12px] font-medium text-[#C67A52] hover:bg-[#FBF4EF] hover:text-[#C67A52]",children:m("loadMore")})})]})]})]})}var eg=n(94599),ev=n(60532),ej=n(25373),eb=n(30028),ew=n(44575),eN=n(89967),ey=n(64993),eA=n(81750),eC=n(32470),ek=n(83553),eE=n(69011),eS=n(23380),eU=n(72256),eF=n(97261);function eB(e){let{message:t,agentName:n}=e,a=(0,s.c)("daemonChat"),i="user"===t.role,r=i?a("roleYou"):n||a("roleAgent"),l=function(e){let t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}(t.createdAt);return(0,x.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,x.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,x.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide ".concat(i?"text-[#C67A52]":"text-[#6B6B6B]"),children:r}),l&&(0,x.jsx)("span",{className:"font-mono text-[10px] tabular-nums text-[#9A9A9A]",children:l})]}),i?(0,x.jsx)("p",{className:"whitespace-pre-wrap break-words text-[13px] leading-relaxed text-[#2C2C2C]",children:t.text}):(0,x.jsx)("div",{className:"prose prose-sm w-full min-w-0 max-w-full break-words text-[13px] leading-relaxed text-[#2C2C2C] [&_a]:break-all [&_code]:[overflow-wrap:anywhere] [&_img]:h-auto [&_img]:max-w-full [&_pre]:max-w-full [&_pre]:overflow-x-auto [&_table]:block [&_table]:max-w-full [&_table]:overflow-x-auto",children:(0,x.jsx)(eF.MarkdownContent,{children:t.text})})]})}let eT={task_assigned:{icon:eC.A,labelKey:"triggerTask"},mentioned:{icon:ek.A,labelKey:"triggerMention"},elaboration:{icon:eE.A,labelKey:"triggerElaboration"},human_instruction:{icon:eS.A,labelKey:"triggerInstruction"},resume:{icon:eU.A,labelKey:"triggerResume"}};function ez(e){var t;let{turn:n,agentName:a,linkedExecution:i}=e,r=(0,s.c)("daemonChat"),l=eT[n.trigger],o=null!=(t=null==l?void 0:l.icon)?t:eC.A,c=r(l?l.labelKey:"triggerUnknown"),u="running"===n.status,m="pending"===n.status,f=r("running"===n.status?"turnStatusRunning":"pending"===n.status?"turnStatusPending":"turnStatusEnded"),p=n.messages.filter(e=>!e.uuid.startsWith("synthetic:")),g=i?d(i):null,v=r((null==i?void 0:i.entityType)==="idea"?"openIdea":"openTask");return(0,x.jsxs)("div",{className:"flex gap-3",children:[(0,x.jsx)("div",{"aria-hidden":!0,className:"relative w-[3px] shrink-0 rounded-full ".concat(u||m?"bg-[#C67A52]":"bg-[#EFEBE4]"),children:u&&(0,x.jsx)("span",{className:"absolute inset-0 rounded-full bg-[#C67A52] opacity-40 motion-safe:animate-pulse"})}),(0,x.jsxs)("div",{className:"min-w-0 flex-1 pb-2",children:[(0,x.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2.5 gap-y-1",children:[(0,x.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,x.jsx)(o,{className:"h-3.5 w-3.5 text-[#C67A52]","aria-hidden":!0}),(0,x.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-wide text-[#2C2C2C]",children:c})]}),(0,x.jsx)("span",{className:"font-mono text-[10px] uppercase tracking-wide text-[#9A9A9A]",children:r("turnLabel",{seq:n.seq})}),(0,x.jsxs)(h.E,{variant:"secondary",className:"gap-1 border-0 px-1.5 py-0 text-[10px] font-medium ".concat(u?"bg-[#FBF0E8] text-[#C67A52]":m?"bg-[#F0EDE8] text-[#9A8C7E]":"bg-[#F0EDE8] text-[#6B6B6B]"),children:[u&&(0,x.jsx)(D.A,{className:"h-2.5 w-2.5 motion-safe:animate-spin","aria-hidden":!0}),f]}),g&&(0,x.jsxs)(I(),{href:g,className:"group inline-flex items-center gap-1 text-[11px] font-medium text-[#C67A52] hover:text-[#B56A44]",children:[v,(0,x.jsx)(L.A,{className:"h-3 w-3","aria-hidden":!0})]})]}),n.promptText&&n.promptText.trim().length>0&&(0,x.jsx)("p",{className:"mt-2 whitespace-pre-wrap break-words rounded-lg bg-[#FCFBF8] px-3 py-2 text-[13px] leading-relaxed text-[#6B6B6B]",children:n.promptText}),(0,x.jsx)("div",{className:"mt-3 flex min-w-0 flex-col gap-3",children:p.length>0?p.map(e=>(0,x.jsx)(eB,{message:e,agentName:a},e.uuid)):(0,x.jsx)("p",{className:"text-[12px] italic text-[#9A9A9A]",children:r("turnNoMessages")})})]})]})}function e_(e){let{label:t,value:n,mono:a}=e;return(0,x.jsxs)("div",{children:[(0,x.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:t}),(0,x.jsx)("div",{className:"mt-0.5 truncate text-[13px] font-medium text-[#2C2C2C] ".concat(a?"font-mono":""),children:n})]})}function eI(e){let{cwd:t,host:n,crossHost:a}=e,i=(0,s.c)(),r=(0,s.c)("transcriptHeader"),l=(0,p.kn)(t),o=l.isUnknown?i(l.label):l.label,c=l.isUnknown?i(l.title):l.title,d=a?(0,p.g9)(n):null,u=d?d.isUnknown?i(d.label):d.label:null,m=d?d.isUnknown?i(d.title):d.title:null;return(0,x.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[(0,x.jsxs)("span",{className:"inline-flex max-w-full items-center gap-1.5 rounded-md bg-[#F1ECE3] px-2 py-0.5 ".concat(l.isUnknown?"italic text-[#9A9A9A]":"text-[#6B6B6B]"),title:"".concat(r("cwdAriaLabel"),": ").concat(c),"aria-label":"".concat(r("cwdAriaLabel"),": ").concat(c),children:[(0,x.jsx)(v.A,{className:"h-3 w-3 shrink-0 text-[#9A8C7E]","aria-hidden":!0}),(0,x.jsx)("span",{className:"truncate font-mono text-[11px] font-medium",children:o})]}),null!==u&&(0,x.jsxs)("span",{className:"inline-flex max-w-full items-center gap-1 text-[11px] font-medium text-[#9A9A9A]",title:"".concat(r("hostAriaLabel"),": ").concat(m),"aria-label":"".concat(r("hostAriaLabel"),": ").concat(m),children:[(0,x.jsx)(eg.A,{className:"h-3 w-3 shrink-0","aria-hidden":!0}),(0,x.jsx)("span",{className:"truncate ".concat((null==d?void 0:d.isUnknown)?"italic":""),children:u})]})]})}function eM(e){let{sessionId:t}=e,n=(0,s.c)("daemonChat"),[i,r]=(0,a.useState)(!1),l=n(i?"sessionIdCopied":"copySessionId"),o=async()=>{try{var e;await (null==(e=navigator.clipboard)?void 0:e.writeText(t)),r(!0),setTimeout(()=>r(!1),2e3)}catch(e){K.q.error("Failed to copy session id:",e)}};return(0,x.jsxs)(w.$,{variant:"ghost",size:"sm",onClick:o,title:l,"aria-label":l,"aria-live":"polite",className:"inline-flex h-auto items-center gap-1.5 px-1.5 py-0.5 text-[12px] font-medium text-[#6B6B6B] hover:bg-transparent hover:text-[#2C2C2C]",children:[i?(0,x.jsx)(ev.A,{className:"h-3.5 w-3.5 text-green-600","aria-hidden":!0}):(0,x.jsx)(ej.A,{className:"h-3.5 w-3.5","aria-hidden":!0}),(0,x.jsx)("span",{className:i?"inline":"hidden lg:inline",children:l})]})}function eD(e){var t,n,l,c,d;let{session:u,turns:m,title:f,loading:p,error:g,originConnection:v,originOnline:j,originCrossHost:N=!1,sessionExecutions:y,executionsByUuid:A,footerLayout:C="inline",hasMoreEarlier:k,loadingEarlier:E,onLoadEarlier:S,originAgentOnlineConnections:F=[],onSessionStarted:B}=e,T=(0,s.c)("daemonChat"),z=i(),_=r(),I=o(),M=o(),O=(null==v||null==(t=v.agentName)?void 0:t.trim())||T("roleAgent"),q=(0,a.useMemo)(()=>{var e;let t=m.find(e=>"running"===e.status);return null!=(e=null!=t?t:m[m.length-1])?e:null},[m]),R=(0,a.useMemo)(()=>{let e=y.find(e=>"running"===e.status);if(e)return e;let t=y.find(e=>"interrupted"===e.status&&"user"===e.interruptedReason);if(t)return t;let n=y.find(e=>"interrupted"===e.status&&"crash"===e.interruptedReason);return null!=n?n:null},[y]),L=(0,a.useMemo)(()=>R&&"running"===R.status?R:null,[R]),P=(0,a.useRef)(null),H=null==(n=m[m.length-1])?void 0:n.uuid,$=null!=(c=null==(l=m[m.length-1])?void 0:l.messages.length)?c:0;(0,a.useEffect)(()=>{var e;null==(e=P.current)||e.scrollIntoView({block:"end"})},[H,$]);let K=(null==u?void 0:u.status)==="ended";return(0,x.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,x.jsxs)("div",{className:"flex flex-col gap-2 px-6 py-2.5 lg:gap-3 lg:py-4",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,x.jsx)("h3",{className:"truncate text-[17px] font-semibold text-[#2C2C2C] min-w-0",children:f}),v&&(0,x.jsx)("div",{className:"shrink-0",children:(0,x.jsx)(eI,{cwd:v.cwd,host:v.host,crossHost:N})})]}),(0,x.jsxs)(eA.Nt,{children:[(0,x.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,x.jsx)(h.E,{variant:"secondary",className:"border-0 px-2 py-0.5 text-[10px] font-medium ".concat(K?"bg-[#F0EDE8] text-[#6B6B6B]":"bg-[#DCFCE7] text-[#15803D]"),children:T(K?"statusEnded":"statusActive")}),q&&"running"===q.status&&(0,x.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[11px] font-medium text-[#C67A52]",children:[(0,x.jsxs)("span",{className:"relative inline-flex h-2 w-2 items-center justify-center",children:[(0,x.jsx)("span",{className:"absolute inline-flex h-full w-full rounded-full bg-[#C67A52] opacity-40 motion-safe:animate-ping"}),(0,x.jsx)("span",{className:"relative inline-flex h-1 w-1 rounded-full bg-[#C67A52]"})]}),T("running"),(null==L?void 0:L.startedAt)&&(0,x.jsx)("span",{className:"font-mono tabular-nums text-[#C67A52]",title:T("runningElapsedLabel"),children:M(L.startedAt,z)})]}),(u||v)&&(0,x.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[u&&(0,x.jsx)(eM,{sessionId:u.sessionId}),v&&(0,x.jsxs)(eA.R6,{className:"group inline-flex items-center gap-1.5 text-[12px] font-medium text-[#6B6B6B] hover:text-[#2C2C2C]",children:[(0,x.jsx)(eb.A,{className:"h-3.5 w-3.5","aria-hidden":!0}),T("detailsLabel"),(0,x.jsx)(b.A,{className:"h-3.5 w-3.5 transition-transform group-data-[state=open]:rotate-180","aria-hidden":!0})]})]})]}),v&&(0,x.jsx)(eA.Ke,{children:(0,x.jsxs)("div",{className:"mt-3 flex flex-col gap-3 rounded-xl border border-[#EFEBE4] bg-[#FCFBF8] p-4",children:[(0,x.jsx)(U,{connection:v,size:"sm"}),(0,x.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[j&&(0,x.jsx)(e_,{label:T("detailUptime"),value:I(v.connectedAt,z),mono:!0}),(0,x.jsx)(e_,{label:T("detailHost"),value:""===v.host?T("detailsHostUnknown"):v.host,mono:!0}),v.startedAt&&(0,x.jsx)(e_,{label:T("detailStarted"),value:_(v.startedAt,z)})]})]})})]})]}),(0,x.jsx)("div",{className:"h-px w-full bg-[#EFEBE4]"}),g?(0,x.jsx)("div",{className:"flex flex-1 items-center justify-center p-8",children:(0,x.jsxs)(el.Zp,{className:"items-center gap-3 rounded-2xl border-[#E7D9C9] bg-[#FFF9F3] p-8 text-center shadow-none",children:[(0,x.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-xl bg-[#D9770615]",children:(0,x.jsx)(G.A,{className:"h-6 w-6 text-[#B45309]"})}),(0,x.jsx)("h4",{className:"text-base font-semibold text-[#92400E]",children:T("loadErrorTitle")}),(0,x.jsx)("p",{className:"max-w-md text-[13px] leading-relaxed text-[#6B6B6B]",children:T("loadErrorBody")})]})}):p?(0,x.jsx)("div",{className:"flex flex-1 items-center justify-center p-8 text-[13px] text-[#9A9A9A]",children:T("transcriptLoading")}):(0,x.jsx)(ey.F,{className:"daemon-transcript-scroll min-h-0 w-full flex-1",children:(0,x.jsxs)("div",{className:"flex w-full min-w-0 flex-col gap-3 px-6 py-3 lg:gap-5 lg:py-5",children:[(0,x.jsxs)("p",{className:"flex items-start gap-1.5 text-[11px] leading-relaxed text-[#9A9A9A]",children:[(0,x.jsx)(ew.A,{className:"mt-0.5 h-3 w-3 shrink-0","aria-hidden":!0}),(0,x.jsx)("span",{children:T("privacyNote")})]}),k&&(0,x.jsx)("div",{className:"flex justify-center",children:(0,x.jsxs)(w.$,{variant:"ghost",size:"sm",onClick:S,disabled:E,className:"h-8 gap-1.5 rounded-lg text-[12px] font-medium text-[#C67A52] hover:bg-[#FBF4EF] hover:text-[#C67A52]",children:[E?(0,x.jsx)(D.A,{className:"h-3.5 w-3.5 motion-safe:animate-spin","aria-hidden":!0}):(0,x.jsx)(eN.A,{className:"h-3.5 w-3.5","aria-hidden":!0}),T(E?"loadingEarlier":"loadEarlier")]})}),m.map(e=>{var t;return(0,x.jsx)(ez,{turn:e,agentName:O,linkedExecution:e.executionUuid&&null!=(t=A.get(e.executionUuid))?t:null},e.uuid)}),(0,x.jsx)("div",{ref:P})]})}),!g&&u&&(0,x.jsx)("div",{className:"flex flex-col gap-3 border-t border-[#EFEBE4] bg-[#FAF8F4] px-6 py-2.5 lg:py-4",children:(0,x.jsx)(ea,{sessionUuid:u.uuid,originOnline:j,layout:C,controllableExecution:R,agentUuid:null!=(d=null==v?void 0:v.agentUuid)?d:null,onlineConnections:F,onSessionStarted:B})})]})}function eO(e){let{agentUuid:t,agentName:n,onlineConnections:a,onStarted:i}=e,r=(0,s.c)("daemonChat"),l=null!==t&&a.length>0;return(0,x.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,x.jsxs)("div",{className:"flex flex-col gap-1.5 px-6 py-4",children:[(0,x.jsxs)("h3",{className:"flex items-center gap-2 text-[17px] font-semibold text-[#2C2C2C]",children:[(0,x.jsx)(Q.A,{className:"h-[18px] w-[18px] text-[#C67A52]","aria-hidden":!0}),r("newConversationTitle")]}),(0,x.jsx)("p",{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:t?r("newConversationBody",{agent:n}):r("newConversationNoAgent")})]}),(0,x.jsx)("div",{className:"h-px w-full bg-[#EFEBE4]"}),(0,x.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto px-6 py-5",children:l?(0,x.jsx)(ei,{agentUuid:t,onlineConnections:a,layout:"inline",hideHeader:!0,onStarted:i}):(0,x.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-2.5 rounded-xl border border-dashed border-[#E7D9C9] bg-[#FFF9F3] p-8 text-center",children:[(0,x.jsx)("div",{className:"flex h-11 w-11 items-center justify-center rounded-xl bg-[#D9770615]",children:(0,x.jsx)(G.A,{className:"h-5 w-5 text-[#B45309]","aria-hidden":!0})}),(0,x.jsx)("p",{className:"text-[13px] font-medium text-[#92400E]",children:r("newConversationNoOnlineTitle")}),(0,x.jsx)("p",{className:"max-w-[300px] text-[12px] leading-relaxed text-[#6B6B6B]",children:r("newConversationNoOnlineBody")})]})})]})}function eq(e,t){return e.filter(e=>t.directIdeaUuid?"idea"===e.entityType&&e.entityUuid===t.directIdeaUuid||e.rootIdeaUuid===t.directIdeaUuid:"daemon_session"===e.entityType&&e.entityUuid===t.sessionId)}var eR=n(39180);let eL="@chorus-aidlc/chorus",eP="npx ".concat(eL," daemon"),eH="npx ".concat(eL," login"),e$="/onboarding";function eK(e){let{command:t}=e,n=(0,s.c)("daemonConnectCta"),[i,r]=(0,a.useState)(!1),l=async()=>{try{var e;await (null==(e=navigator.clipboard)?void 0:e.writeText(t)),r(!0),setTimeout(()=>r(!1),2e3)}catch(e){K.q.error("Failed to copy daemon command:",e)}};return(0,x.jsxs)("div",{className:"flex items-center gap-2",children:[(0,x.jsx)("code",{className:"flex-1 overflow-x-auto rounded-md bg-foreground px-3 py-2 font-mono text-[12.5px] leading-relaxed text-background",children:t}),(0,x.jsx)(w.$,{variant:"outline",size:"sm",onClick:l,"aria-label":n(i?"copied":"copy"),"aria-live":"polite",className:"shrink-0",children:i?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(ev.A,{className:"mr-1 h-4 w-4 text-green-500"}),n("copied")]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(ej.A,{className:"mr-1 h-4 w-4"}),n("copy")]})})]})}function eJ(e){let{variant:t}=e,n=(0,s.c)("daemonConnectCta");return"compact"===t?(0,x.jsxs)("div",{className:"flex flex-col gap-2.5 px-1 py-1.5",children:[(0,x.jsxs)("div",{className:"flex items-start gap-2",children:[(0,x.jsx)(eR.A,{className:"mt-0.5 h-4 w-4 shrink-0 text-[#C67A52]","aria-hidden":!0}),(0,x.jsx)("p",{className:"text-[12.5px] leading-relaxed text-[#6B6B6B]",children:n("body")})]}),(0,x.jsx)(eK,{command:eP}),(0,x.jsx)("p",{className:"text-[11.5px] leading-relaxed text-[#9A9A9A]",children:n("loginNote",{command:eH})}),(0,x.jsx)(I(),{href:e$,className:"text-[12px] font-medium text-[#C67A52] hover:text-[#A65F3C] hover:underline",children:n("learnMore")})]}):(0,x.jsxs)("div",{className:"flex w-full flex-col gap-3 rounded-xl border border-[#EFEBE4] bg-[#FCFBF8] p-5 text-left",children:[(0,x.jsxs)("div",{className:"flex items-center gap-2",children:[(0,x.jsx)(eR.A,{className:"h-4 w-4 text-[#C67A52]","aria-hidden":!0}),(0,x.jsx)("h3",{className:"text-[14px] font-semibold text-[#2C2C2C]",children:n("headline")})]}),(0,x.jsx)("p",{className:"text-[13px] leading-relaxed text-[#6B6B6B]",children:n("bodyLong")}),(0,x.jsx)(eK,{command:eP}),(0,x.jsx)("p",{className:"text-[12px] leading-relaxed text-[#9A9A9A]",children:n("loginNote",{command:eH})}),(0,x.jsx)(I(),{href:e$,className:"text-[12.5px] font-medium text-[#C67A52] hover:text-[#A65F3C] hover:underline",children:n("learnMore")})]})}function eV(e,t){if(0===e.length||t.seq>e[e.length-1].seq)return[...e,t];let n=e.findIndex(e=>e.seq>t.seq),a=-1===n?e.length:n;return[...e.slice(0,a),t,...e.slice(a)]}function eZ(e,t){let n=new Map;for(let t of e)n.set(t.uuid,t);for(let e of t){let t=n.get(e.uuid);if(!t){n.set(e.uuid,e);continue}let a=new Set(t.messages.map(e=>e.uuid)),s=e.messages.filter(e=>!a.has(e.uuid));n.set(e.uuid,{...e,messages:[...t.messages,...s]})}return[...n.values()].sort((e,t)=>e.seq-t.seq)}function eW(){var e,t,n;let i=(0,s.c)("daemonChat"),{status:r,connections:l,executionsByConnection:o,setOpenSession:c,subscribeTranscript:d,focusTarget:u,clearChatFocusTarget:m}=(0,eo.$d)(),[f,h]=(0,a.useState)([]),[p,g]=(0,a.useState)("loading"),v=(0,a.useCallback)(async()=>{try{let t=await (0,$.tm)("/api/daemon-sessions");if(!t.ok)return void g("error");let n=await t.json();if(n.success){var e;h(null!=(e=n.data.sessions)?e:[]),g("ok")}else g("error")}catch(e){K.q.error("Failed to fetch daemon sessions:",e),g("error")}},[]);(0,a.useEffect)(()=>{v();let e=setInterval(v,15e3);return()=>clearInterval(e)},[v]);let j=(0,a.useMemo)(()=>{let e=new Map;for(let n of l){var t;!e.has(n.agentUuid)&&(null==(t=n.agentName)?void 0:t.trim())&&e.set(n.agentUuid,n.agentName.trim())}return[...new Set([...l.map(e=>e.agentUuid),...f.map(e=>e.agentUuid)])].map(t=>{var n;return{agentUuid:t,agentName:null!=(n=e.get(t))?n:i("roleAgent")}})},[l,f,i]),b=(0,a.useMemo)(()=>{var e,t,n;let a=null;for(let e of f)(!a||e.lastTurnAt>a.lastTurnAt)&&(a={agentUuid:e.agentUuid,lastTurnAt:e.lastTurnAt});return null!=(n=null!=(t=null==a?void 0:a.agentUuid)?t:null==(e=j[0])?void 0:e.agentUuid)?n:null},[f,j]),[N,y]=(0,a.useState)(null),A=N&&j.some(e=>e.agentUuid===N)?N:b;(0,a.useEffect)(()=>{!N&&"ok"===r&&"ok"===p&&b&&y(b)},[N,r,p,b]);let C=(0,a.useCallback)(e=>{var t,n,a;if(null==(t=e.title)?void 0:t.trim())return e.title.trim();if(e.directIdeaUuid)return(null==(a=e.ideaTitle)?void 0:a.trim())?e.ideaTitle.trim():i("conversationIdea",{id:e.directIdeaUuid.slice(0,8)});let s=null==(n=e.firstInstruction)?void 0:n.trim();if(s){let e=s.replace(/\s+/g," ").trim();return e.length>60?"".concat(e.slice(0,60).trimEnd(),"…"):e}return i("conversationAdHoc",{id:e.sessionId.slice(0,8)})},[i]),k=(0,a.useMemo)(()=>A?f.filter(e=>e.agentUuid===A).sort((e,t)=>e.lastTurnAt<t.lastTurnAt?1:-1).map(e=>{var t;return{session:e,title:C(e),ideaAnchored:null!=e.directIdeaUuid,status:function(e,t){let n=eq(e,t);if(n.some(e=>"running"===e.status))return"running";let a=n.find(e=>"interrupted"===e.status);return a?"user"===a.interruptedReason?"interrupted":"error":null}(null!=(t=o[e.originConnectionUuid])?t:[],e)}}):[],[f,A,o,C]),[E,S]=(0,a.useState)(12);(0,a.useEffect)(()=>{S(12)},[A]);let[U,F]=(0,a.useState)(null),B=(0,a.useMemo)(()=>{var e;return null!=(e=k.find(e=>e.session.uuid===U))?e:null},[k,U]),[T,z]=(0,a.useState)(null),[_,I]=(0,a.useState)([]),[M,D]=(0,a.useState)(!1),[O,q]=(0,a.useState)(!1),[R,L]=(0,a.useState)(!1),[P,H]=(0,a.useState)(!1),[J,V]=(0,a.useState)(null),Z=(0,a.useRef)(0),W=null!=(t=null==B?void 0:B.session.uuid)?t:null;(0,a.useEffect)(()=>(c(W),()=>c(null)),[W,c]),(0,a.useEffect)(()=>{if(!W){z(null),I([]),q(!1),L(!1),V(null);return}let e=++Z.current;D(!0),q(!1),L(!1),V(null),I([]),(async()=>{try{let t=await (0,$.tm)("/api/daemon-sessions/".concat(W));if(e!==Z.current)return;if(!t.ok)return void q(!0);let n=await t.json();if(e!==Z.current)return;if(n.success){let e=n.data;z(e),I(t=>{var n;return eZ(t,null!=(n=e.turns)?n:[])}),L(!!e.hasMore),V(null!==e.oldestTurnSeq&&null!==e.oldestMsgSeq?{turnSeq:e.oldestTurnSeq,msgSeq:e.oldestMsgSeq}:null)}else q(!0)}catch(t){if(e!==Z.current)return;K.q.error("Failed to fetch daemon session detail:",t),q(!0)}finally{e===Z.current&&D(!1)}})()},[W]);let X=(0,a.useCallback)(async()=>{if(!W||P||!J)return;let{turnSeq:e,msgSeq:t}=J,n=Z.current;H(!0);try{let a=await (0,$.tm)("/api/daemon-sessions/".concat(W,"?beforeTurnSeq=").concat(e,"&beforeMsgSeq=").concat(t));if(n!==Z.current||!a.ok)return;let s=await a.json();if(n!==Z.current)return;if(s.success){let e=s.data;I(t=>{var n;return eZ(null!=(n=e.turns)?n:[],t)}),L(!!e.hasMore),null!==e.oldestTurnSeq&&null!==e.oldestMsgSeq&&V({turnSeq:e.oldestTurnSeq,msgSeq:e.oldestMsgSeq})}}catch(e){K.q.error("Failed to load earlier transcript turns:",e)}finally{H(!1)}},[W,P,J]);(0,a.useEffect)(()=>{if(W)return d(e=>{I(t=>(function(e,t){var n,a;let s=e.findIndex(e=>e.uuid===t.turn.uuid);if("turn_created"===t.trigger){let n={...t.turn,messages:[]};if(-1===s)return eV(e,n);let a=[...e];return a[s]={...n,messages:e[s].messages},a}if(-1===s)return eV(e,{...t.turn,messages:null!=(n=t.messages)?n:[]});let i=[...e];if("turn_status_changed"===t.trigger)return i[s]={...i[s],...t.turn},i;let r=new Set(i[s].messages.map(e=>e.uuid)),l=(null!=(a=t.messages)?a:[]).filter(e=>!r.has(e.uuid));return i[s]={...i[s],...t.turn,messages:[...i[s].messages,...l]},i})(t,e))})},[W,d]);let Q=(0,a.useMemo)(()=>{var e;let t=null==T?void 0:T.session.originConnectionUuid;return t&&null!=(e=l.find(e=>e.uuid===t))?e:null},[T,l]),Y=(null==Q?void 0:Q.effectiveStatus)==="online",ee=(0,a.useMemo)(()=>{let e=null==Q?void 0:Q.agentUuid;if(!e)return!1;let t=new Set;for(let n of l)n.agentUuid===e&&""!==n.host&&t.add(n.host);return t.size>1},[Q,l]),et=(0,a.useMemo)(()=>A?l.filter(e=>e.agentUuid===A&&"online"===e.effectiveStatus):[],[l,A]),en=(0,a.useMemo)(()=>{let e=null==Q?void 0:Q.agentUuid;return e?l.filter(t=>t.agentUuid===e&&"online"===t.effectiveStatus):[]},[Q,l]),ea=null!=(n=null==(e=j.find(e=>e.agentUuid===A))?void 0:e.agentName)?n:i("roleAgent"),es=(0,a.useMemo)(()=>{var e;let t=null==T?void 0:T.session;return t?eq(null!=(e=o[t.originConnectionUuid])?e:[],t):[]},[T,o]),ei=(0,a.useMemo)(()=>{let e=new Map;for(let t of es)e.set(t.uuid,t);return e},[es]),er=B?B.title:T?C(T.session):"",[ec,ed]=(0,a.useState)(!1);(0,a.useEffect)(()=>{ec&&U&&!k.some(e=>e.session.uuid===U)&&ed(!1)},[k,ec,U]);let em=(0,a.useCallback)(e=>{F(e)},[]),ef=(0,a.useCallback)(()=>{F(null),ed(!0)},[]);(0,a.useEffect)(()=>{u&&(y(u.agentUuid),F(null),m())},[u,m]);let eh=(0,a.useCallback)(e=>{let t={uuid:e.uuid,agentUuid:e.agentUuid,sessionId:e.sessionId,directIdeaUuid:e.directIdeaUuid,originConnectionUuid:e.originConnectionUuid,status:e.status,title:e.title,lastTurnAt:e.lastTurnAt,originOnline:!0,firstInstruction:null,ideaTitle:null};h(n=>{let a=n.findIndex(e=>e.uuid===t.uuid);if(-1===a)return[t,...n];let s=[...n];return s[a]={...s[a],originConnectionUuid:e.originConnectionUuid,originOnline:!0,status:e.status,lastTurnAt:e.lastTurnAt},s}),z(t=>t&&t.session.uuid===e.uuid?{...t,session:{...t.session,originConnectionUuid:e.originConnectionUuid,status:e.status,lastTurnAt:e.lastTurnAt}}:t),F(e.uuid),v()},[v]),eg="loading"===r&&"loading"===p,ev="error"===p&&0===f.length,ej="ok"===p&&0===f.length&&0===j.length,eb=e=>{var t;return(0,x.jsx)(eD,{session:null!=(t=null==T?void 0:T.session)?t:null,turns:_,title:er,loading:M,error:O,originConnection:Q,originOnline:Y,originCrossHost:ee,sessionExecutions:es,executionsByUuid:ei,footerLayout:e,hasMoreEarlier:R,loadingEarlier:P,onLoadEarlier:X,originAgentOnlineConnections:en,onSessionStarted:eh})},ew=eb("inline"),eN=(0,x.jsx)(eO,{agentUuid:A,agentName:ea,onlineConnections:et,onStarted:eh}),ey=B?eb("stacked"):eN;return(0,x.jsxs)("div",{className:"flex h-full min-h-0 flex-col bg-[#FAF8F4]",children:[ec&&(0,x.jsxs)("div",{className:"flex h-full min-h-0 flex-col lg:hidden",children:[(0,x.jsx)("div",{className:"flex shrink-0 items-center gap-1 border-b border-[#EFEBE4] bg-[#FAF8F4] px-3 py-2.5",children:(0,x.jsxs)(w.$,{variant:"ghost",size:"sm",onClick:()=>ed(!1),className:"h-9 gap-1 px-2 text-[15px] font-normal text-[#C67A52] hover:bg-[#FBF4EF] hover:text-[#C67A52]",children:[(0,x.jsx)(eu.A,{className:"h-5 w-5"}),i("mobileBack")]})}),(0,x.jsx)("div",{className:"min-h-0 flex-1",children:ey})]}),(0,x.jsxs)("div",{className:"".concat(ec?"hidden lg:flex":"flex"," h-full min-h-0 flex-col gap-3 overflow-y-auto px-4 py-3 lg:overflow-hidden md:px-8 md:py-4 lg:gap-3 lg:px-8 lg:py-4"),children:[(0,x.jsx)("header",{className:"flex flex-col",children:(0,x.jsx)("h2",{className:"text-[22px] font-semibold text-[#2C2C2C] lg:text-[24px]",children:i("title")})}),eg?(0,x.jsx)("p",{className:"text-sm text-[#6B6B6B]",children:i("loading")}):ev?(0,x.jsxs)(el.Zp,{className:"items-center gap-3 rounded-2xl border-[#E7D9C9] bg-[#FFF9F3] p-8 text-center shadow-none md:p-12",children:[(0,x.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-xl bg-[#D9770615]",children:(0,x.jsx)(G.A,{className:"h-6 w-6 text-[#B45309]"})}),(0,x.jsx)("h3",{className:"text-base font-semibold text-[#92400E]",children:i("loadErrorTitle")}),(0,x.jsx)("p",{className:"max-w-md text-[13px] leading-relaxed text-[#6B6B6B]",children:i("loadErrorBody")})]}):ej?(0,x.jsxs)(el.Zp,{className:"items-center gap-4 rounded-2xl border-[#E5E0D8] bg-white p-8 text-center shadow-none md:p-12",children:[(0,x.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-xl bg-[#C67A5215]",children:(0,x.jsx)(ex.A,{className:"h-6 w-6 text-[#C67A52]"})}),(0,x.jsx)("h3",{className:"text-base font-semibold text-[#2C2C2C]",children:i("noAgents.title")}),(0,x.jsx)("p",{className:"max-w-md text-[13px] leading-relaxed text-[#6B6B6B]",children:i("noAgents.body")}),(0,x.jsx)("div",{className:"w-full max-w-md text-left",children:(0,x.jsx)(eJ,{variant:"prominent"})})]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)("div",{className:"flex flex-col gap-3 lg:hidden",children:(0,x.jsx)(ep,{agents:j,selectedAgentUuid:A,onSelectAgent:e=>{y(e),F(null)},rows:k,selectedSessionUuid:U,onSelectSession:e=>{em(e),ed(!0)},onNewConversation:ef,visibleCount:E,onLoadMore:()=>S(e=>e+12)})}),(0,x.jsxs)("div",{className:"hidden min-h-0 flex-1 gap-5 lg:flex",children:[(0,x.jsx)("div",{className:"flex w-[320px] shrink-0 flex-col",children:(0,x.jsx)(ep,{agents:j,selectedAgentUuid:A,onSelectAgent:e=>{y(e),F(null)},rows:k,selectedSessionUuid:U,onSelectSession:em,onNewConversation:ef,visibleCount:E,onLoadMore:()=>S(e=>e+12)})}),(0,x.jsx)(el.Zp,{className:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border-[#E5E0D8] bg-white p-0 shadow-none",children:B?ew:eN})]})]})]})]})}function eX(){let e=(0,s.c)("daemonChat"),{modalOpen:t,setModalOpen:n}=(0,eo.$d)();return(0,x.jsx)(ed.lG,{open:t,onOpenChange:n,children:(0,x.jsxs)(ed.Cf,{className:"flex h-dvh max-h-dvh w-screen max-w-none flex-col gap-0 overflow-hidden rounded-none border-0 p-0 sm:h-[92vh] sm:max-h-[92vh] sm:w-[min(96vw,1100px)] sm:max-w-[min(96vw,1100px)] sm:rounded-lg sm:border",children:[(0,x.jsxs)(ec.bL,{children:[(0,x.jsx)(ed.L3,{children:e("title")}),(0,x.jsx)(ed.rr,{children:e("subtitle")})]}),(0,x.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:(0,x.jsx)(eW,{})})]})})}var eG=n(17001),eQ=n(54449);function eY(e){let{mention:t,displayName:n}=e,i=(0,s.c)("mention"),r=(0,s.c)("agentPresence"),{openChatForAgent:l}=(0,eo.$d)(),{user:o}=(0,eQ.As)(),{pinned:c,online:d,ownerUuid:m,host:f,cwd:g}=function(e){let{connections:t}=(0,eo.$d)(),{uuid:n,pinnedHost:s,pinnedCwd:i}=e,r="pinnedHost"in e||"pinnedCwd"in e;return(0,a.useMemo)(()=>(function(e,t){var n,a,s,i,r,l;let o=void 0!==e.pinnedHost||void 0!==e.pinnedCwd,c=t.filter(t=>t.agentUuid===e.uuid);if(o){let t=null!=(s=e.pinnedHost)?s:null,n=null!=(i=e.pinnedCwd)?i:null,l=c.find(e=>e.host===t&&e.cwd===n);return l?{pinned:!0,online:"online"===l.effectiveStatus,ownerUuid:l.ownerUuid,host:l.host,cwd:l.cwd}:{pinned:!0,online:!1,ownerUuid:null!=(r=null==(a=c[0])?void 0:a.ownerUuid)?r:null,host:t,cwd:n}}let d=c.find(e=>"online"===e.effectiveStatus);return{pinned:!1,online:void 0!==d,ownerUuid:null!=(l=null==(n=null!=d?d:c[0])?void 0:n.ownerUuid)?l:null,host:null,cwd:null}})(r?{uuid:n,pinnedHost:s,pinnedCwd:i}:{uuid:n},t),[t,n,s,i,r])}(void 0!==t.pinnedHost||void 0!==t.pinnedCwd?{uuid:t.uuid,pinnedHost:t.pinnedHost,pinnedCwd:t.pinnedCwd}:{uuid:t.uuid}),v=(null==o?void 0:o.uuid)!=null&&o.uuid===m&&d,j=i(d?"online":"offline"),b=c?(0,p.kn)(g):null,N=c?(0,p.g9)(null!=f?f:""):null;return(0,x.jsxs)(eG.AM,{children:[(0,x.jsx)(eG.Wv,{asChild:!0,children:(0,x.jsxs)(h.E,{variant:"secondary",className:"cursor-pointer gap-1 align-baseline","aria-label":i("badgeAria",{name:n,status:j}),children:[(0,x.jsx)(u.m,{online:d}),(0,x.jsxs)("span",{children:["@",n]})]})}),(0,x.jsx)(eG.hl,{className:"w-64",align:"start",children:(0,x.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,x.jsxs)("div",{className:"flex items-center gap-2",children:[(0,x.jsx)(u.m,{online:d,size:"md"}),(0,x.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,x.jsx)("p",{className:"truncate text-sm font-semibold text-foreground",children:n}),(0,x.jsx)("p",{className:"text-xs text-muted-foreground",children:j})]})]}),c&&b&&N&&(0,x.jsxs)("dl",{className:"flex flex-col gap-1.5 text-xs",children:[(0,x.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,x.jsx)("dt",{className:"text-muted-foreground",children:i("workingDirectory")}),(0,x.jsx)("dd",{className:"truncate font-mono text-foreground",title:b.isUnknown?r("unknownPath"):b.title,children:b.isUnknown?r("unknownPath"):b.label})]}),(0,x.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,x.jsx)("dt",{className:"text-muted-foreground",children:i("host")}),(0,x.jsx)("dd",{className:"truncate font-mono text-foreground",title:N.isUnknown?r("unknownHost"):N.title,children:N.isUnknown?r("unknownHost"):N.label})]})]}),v&&(0,x.jsxs)(w.$,{size:"sm",variant:"outline",className:"w-full",onClick:()=>{l(t.uuid,c?{host:null!=f?f:"",cwd:null!=g?g:null}:void 0)},children:[(0,x.jsx)(R.A,{}),i("openConversation")]})]})})]})}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69305],{5877:(e,t,a)=>{Promise.resolve().then(a.bind(a,58813))},14554:(e,t,a)=>{"use strict";a.d(t,{p:()=>n});var s=a(90508);a(1856);var r=a(24377);function n(e){let{className:t,type:a,...n}=e;return(0,s.jsx)("input",{type:a,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...n})}},39674:(e,t,a)=>{"use strict";a.d(t,{Xi:()=>i,av:()=>c,j7:()=>o,tU:()=>l});var s=a(90508);a(1856);var r=a(79834),n=a(24377);function l(e){let{className:t,...a}=e;return(0,s.jsx)(r.Root,{"data-slot":"tabs",className:(0,n.cn)("flex flex-col gap-2",t),...a})}function o(e){let{className:t,...a}=e;return(0,s.jsx)(r.List,{"data-slot":"tabs-list",className:(0,n.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",t),...a})}function i(e){let{className:t,...a}=e;return(0,s.jsx)(r.Trigger,{"data-slot":"tabs-trigger",className:(0,n.cn)("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...a})}function c(e){let{className:t,...a}=e;return(0,s.jsx)(r.Content,{"data-slot":"tabs-content",className:(0,n.cn)("flex-1 outline-none",t),...a})}},58813:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>eT});var s=a(90508),r=a(1856),n=a(23675),l=a(39268),o=a(12790),i=a.n(o),c=a(22922),d=a(32239),u=a(56770),x=a(50609),m=a(23217),f=a(97645),p=a(94152),h=a(52309),g=a(70633),b=a(17730),j=a(90683),v=a(9111),y=a(62990),w=a(93114),N=a(97438),k=a(67712);let A=[{cx:54,cy:135,topY:117},{cx:96,cy:114,topY:96},{cx:120,cy:118,topY:108},{cx:155,cy:115,topY:105},{cx:146,cy:148,topY:130},{cx:95,cy:149,topY:138},{cx:133,cy:168,topY:158}],C=Array.from({length:7},(e,t)=>t).sort((e,t)=>A[e].topY-A[t].topY),S={bulb:2e3,document:1500,stars:2500,flash:400},E=function(){let e={floor:"floor.png"};for(let t=0;t<7;t++)e["char".concat(t,"-frame1")]="char".concat(t,"-frame1.png"),e["char".concat(t,"-frame2")]="char".concat(t,"-frame2.png");return e}();function F(e){let{slots:t,projectName:a,agentCount:n,collapsed:l=!1,effects:o,onEffectsConsumed:i}=e,c=(0,r.useRef)(null),d=(0,r.useRef)({}),u=(0,r.useRef)(!1),x=(0,r.useRef)(0),m=(0,r.useRef)(0),f=(0,r.useRef)(0),p=(0,r.useRef)(Array.from({length:7},()=>({state:"empty",cycleIndex:0,frameTicks:0,ticksPerFrame:1,stateTimer:0}))),h=(0,r.useRef)(t),g=(0,r.useRef)(a),b=(0,r.useRef)(n),j=(0,r.useRef)(l),v=(0,r.useRef)([]);(0,r.useEffect)(()=>{h.current=t;for(let s=0;s<7;s++){var e,a;let r=null!=(a=null==(e=t[s])?void 0:e.state)?a:"empty",n=p.current[s];n.state!==r&&(n.state=r,n.cycleIndex=0,n.frameTicks=0,n.stateTimer=0)}},[t]),(0,r.useEffect)(()=>{g.current=a},[a]),(0,r.useEffect)(()=>{b.current=n},[n]),(0,r.useEffect)(()=>{j.current=l},[l]),(0,r.useEffect)(()=>{o&&0!==o.length&&(o.forEach(e=>{var t;v.current.push({type:e.type,slotIndex:null!=(t=e.slotIndex)?t:0,elapsed:0,duration:S[e.type]})}),null==i||i())},[o,i]);let y=(0,r.useCallback)(e=>{e.fillStyle="#d0d0e0",e.fillRect(0,0,256,16),e.fillStyle="#e4e4f0",e.fillRect(0,0,256,1),e.fillStyle="#9999aa",e.fillRect(0,15,256,1),e.font="bold 7px monospace",e.textBaseline="middle",e.fillStyle="#333",e.textAlign="left";let t=g.current,a=t.length>20?t.slice(0,18)+"..":t;e.fillText(a,6,8),e.textAlign="right",e.fillStyle="#336";let s=b.current;e.fillText("".concat(s," agent").concat(1!==s?"s":""),250,8),e.textAlign="start",e.textBaseline="alphabetic"},[]),w=(0,r.useCallback)((e,t)=>{let a=h.current[t];if(!(null==a?void 0:a.sessionName))return;let s=A[t];e.font="5px monospace",e.textAlign="center",e.textBaseline="bottom";let r=a.sessionName.length>12?a.sessionName.slice(0,10)+"..":a.sessionName,n=e.measureText(r).width,l=s.cx,o=s.topY-4;e.fillStyle="rgba(0,0,0,0.55)",e.fillRect(l-n/2-2,o-6,n+4,7),e.fillStyle="#fff",e.fillText(r,l,o),e.textAlign="start",e.textBaseline="alphabetic"},[]),N=(0,r.useCallback)(e=>{for(let t of v.current){let a=t.elapsed/t.duration,s=A[t.slotIndex]||A[0];switch(t.type){case"bulb":{let t=a<.1?a/.1:a>.8?(1-a)/.2:1,r=s.cx,n=s.topY-14-2*Math.sin(a*Math.PI*4);e.fillStyle="rgba(255, 220, 50, ".concat(.3*t,")"),e.beginPath(),e.arc(r,n,8,0,2*Math.PI),e.fill(),e.fillStyle="rgba(255, 230, 80, ".concat(t,")"),e.beginPath(),e.arc(r,n,4,0,2*Math.PI),e.fill(),e.fillStyle="rgba(255, 255, 200, ".concat(t,")"),e.fillRect(r-1,n-1,2,2),e.fillStyle="rgba(180, 180, 180, ".concat(t,")"),e.fillRect(r-2,n+3,4,2);break}case"document":{let t=256+(s.cx-256)*Math.min(2*a,1),r=s.topY-10+-15*Math.sin(a*Math.PI);e.globalAlpha=a>.8?(1-a)/.2:1,e.fillStyle="#f8f8f0",e.fillRect(t,r,8,10),e.strokeStyle="#aaa",e.lineWidth=.5,e.strokeRect(t,r,8,10),e.fillStyle="#ccc",e.fillRect(t+1.5,r+2,5,1),e.fillRect(t+1.5,r+4,4,1),e.fillRect(t+1.5,r+6,5,1),e.globalAlpha=1;break}case"stars":{let t=a>.7?(1-a)/.3:1,r=s.cx,n=s.cy;for(let s=0;s<8;s++){let l=s/8*Math.PI*2+a*Math.PI*3,o=10+15*a,i=r+Math.cos(l)*o,c=n+Math.sin(l)*o,d=["#FFD700","#FF6B6B","#4ECDC4","#A78BFA"];e.fillStyle=d[s%d.length],e.globalAlpha=t*(.5+.5*Math.sin(a*Math.PI*6+s));let u=1.5+.5*Math.sin(a*Math.PI*4+s);e.fillRect(i-u/2,c-u/2,u,u)}e.globalAlpha=1;break}case"flash":{let t=a<.3?a/.3:(1-a)/.7;e.fillStyle="rgba(255, 255, 255, ".concat(.6*t,")"),e.fillRect(0,16,256,240)}}}},[]),F=(0,r.useCallback)((e,t)=>{e.clearRect(0,0,768,768),e.save(),e.scale(3,3);let a=t.floor;for(let s of((null==a?void 0:a.complete)&&a.naturalWidth&&e.drawImage(a,0,0,256,256),C)){let a=p.current[s];if("empty"===a.state)continue;let r="typing"===a.state&&a.cycleIndex%2==1,n=t["char".concat(s,"-frame").concat(r?2:1)];if((null==n?void 0:n.complete)&&n.naturalWidth){"celebrate"===a.state&&(e.save(),e.globalAlpha=.85+.15*Math.sin(Date.now()/200));let t="looking"===a.state?+Math.sin(Date.now()/300):0;0!==t&&(e.save(),e.translate(0,t)),e.drawImage(n,0,0,256,256),0!==t&&e.restore(),"celebrate"===a.state&&e.restore()}w(e,s)}y(e),N(e),e.restore()},[y,w,N]),R=(0,r.useCallback)(e=>{for(let t=0;t<7;t++){let a=p.current[t];"empty"!==a.state&&(a.stateTimer+=e,"celebrate"===a.state&&a.stateTimer>=3e3&&(a.state="idle",a.cycleIndex=0,a.frameTicks=0,a.stateTimer=0),"looking"===a.state&&a.stateTimer>=1500&&(a.state="idle",a.cycleIndex=0,a.frameTicks=0,a.stateTimer=0),"typing"===a.state&&(a.frameTicks++,a.frameTicks>=a.ticksPerFrame&&(a.frameTicks=0,a.cycleIndex=(a.cycleIndex+1)%2)))}let t=v.current;for(let a=t.length-1;a>=0;a--)t[a].elapsed+=e,t[a].elapsed>=t[a].duration&&t.splice(a,1)},[]),T=(0,r.useCallback)(e=>{if(j.current){x.current=requestAnimationFrame(T),m.current=e;return}let t=e-m.current;m.current=e,f.current+=t;let a=!1;for(;f.current>=10;)f.current-=10,R(10),a=!0;if(a){let e=c.current,t=null==e?void 0:e.getContext("2d");t&&u.current&&F(t,d.current)}x.current=requestAnimationFrame(T)},[R,F]);return(0,r.useEffect)(()=>{let e=!1;return new Promise(e=>{let t={},a=Object.entries(E),s=0,r=a.length;a.forEach(a=>{let[n,l]=a,o=new Image;o.onload=()=>{++s===r&&e(t)},o.onerror=()=>{k.q.warn("Failed to load sprite:",n,l),++s===r&&e(t)},o.src="".concat("/sprites/").concat(l),t[n]=o})}).then(t=>{if(e)return;d.current=t,u.current=!0;let a=c.current,s=null==a?void 0:a.getContext("2d");s&&(s.imageSmoothingEnabled=!1,F(s,t)),m.current=performance.now(),x.current=requestAnimationFrame(T)}),()=>{e=!0,x.current&&cancelAnimationFrame(x.current)}},[F,T]),(0,s.jsx)("canvas",{ref:c,width:768,height:768,className:"w-full",style:{imageRendering:"pixelated",aspectRatio:"1 / 1"}})}var R=a(52217);let T=(0,R.createServerReference)("40705cc101b63237107b453c520d6d78856d9c8e2c",R.callServer,void 0,R.findSourceMapURL,"getProjectActiveSessionsAction");var P=a(63964);function _(e){let{projectUuid:t,projectName:a}=e,n=(0,l.c)("pixelCanvas"),[o,i]=(0,r.useState)(!1),[c,d]=(0,r.useState)(Array.from({length:7},()=>({state:"empty"}))),[u,x]=(0,r.useState)(0),[m,f]=(0,r.useState)([]),p=(0,r.useCallback)(async()=>{let e=await T(t);if(!e.success||!e.data)return;let a=e.data;d(Array.from({length:7},(e,t)=>{let s=a[t];return s?{state:"typing",sessionName:s.sessionName}:{state:"empty"}})),x(a.length)},[t]);(0,P.l9)(p);let h=(0,r.useCallback)(()=>{f([])},[]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"fixed bottom-4 right-4 md:bottom-6 md:right-6 z-40 cursor-pointer",onClick:()=>i(!0),children:(0,s.jsxs)("div",{className:"relative transition-transform hover:scale-105",children:[(0,s.jsx)("div",{className:"overflow-hidden rounded-lg border-2 border-border bg-card shadow-lg hover:shadow-xl",children:(0,s.jsx)(w.default,{src:"/typing-animation.gif",alt:n("title"),width:72,height:72,unoptimized:!0,className:"block scale-[1.3]"})}),u>0&&(0,s.jsx)("span",{className:"absolute -top-3 -right-3 flex h-7 min-w-7 items-center justify-center rounded-full bg-[#B87351] text-xs font-bold text-white shadow-md",children:u})]})}),(0,s.jsx)(N.lG,{open:o,onOpenChange:i,children:(0,s.jsxs)(N.Cf,{className:"sm:max-w-2xl p-4",children:[(0,s.jsxs)(N.L3,{className:"text-sm",children:[a," — ",n("title")]}),(0,s.jsx)(N.rr,{className:"sr-only",children:n("title")}),(0,s.jsx)("div",{className:"overflow-hidden rounded-lg border border-border",children:(0,s.jsx)(F,{slots:c,projectName:a,agentCount:u,collapsed:!o,effects:m,onEffectsConsumed:h})})]})})]})}var M=a(59208),U=a(54449),I=a(62482),D=a(32470),O=a(17001),B=a(97868);function z(e){let{state:t}=e;return"error"===t?(0,s.jsx)("span",{"aria-hidden":!0,className:"inline-flex h-2.5 w-2.5 shrink-0 rounded-full bg-[#D97706] opacity-90"}):(0,s.jsx)("span",{className:"shrink-0",children:(0,s.jsx)(B.md,{online:"online"===t,size:"md"})})}function Y(e){let{connection:t,executions:a,showHost:r,nowMs:n}=e,o=(0,l.c)("agentPresence"),i=(0,l.c)("agentConnections"),{text:c,dot:d}=(0,B.c0)(t,a,n),u=a.filter(e=>"running"===e.status),x=a.filter(e=>"queued"===e.status),m=u.length>0||x.length>0,f="online"===t.effectiveStatus;return(0,s.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,s.jsx)(B.A4,{connection:t,showHost:r,activity:c,dot:d}),m?(0,s.jsxs)("div",{className:"flex flex-col gap-4 pl-1",children:[u.length>0&&(0,s.jsx)(B.wL,{icon:I.A,label:i("execRunning"),count:u.length,children:u.map(e=>(0,s.jsx)(B.lb,{exec:e,nowMs:n,layout:"stacked"},e.uuid))}),x.length>0&&(0,s.jsx)(B.wL,{icon:D.A,label:i("execQueued"),count:x.length,children:x.map(e=>(0,s.jsx)(B.lb,{exec:e,nowMs:n,layout:"stacked"},e.uuid))})]}):f&&(0,s.jsx)("p",{className:"pl-1 text-[12px] text-[#9A9A9A]",children:o("connectionIdle")})]})}function $(e){let{group:t,executionsByConnection:a,nowMs:r,expanded:n,onToggle:l}=e;return(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsx)(B.u,{group:t,expanded:n,onToggle:l}),n&&(0,s.jsx)("div",{className:"flex flex-col gap-3 pl-7",children:t.connections.map(e=>{var n;return(0,s.jsx)(Y,{connection:e,executions:null!=(n=a[e.uuid])?n:[],showHost:t.multiHost,nowMs:r},e.uuid)})})]})}function L(e){let{groups:t,executionsByConnection:a,nowMs:n}=e,[l,o]=(0,r.useState)(new Set);return 0===t.length?(0,s.jsx)(B.Bs,{variant:"compact"}):(0,s.jsx)("div",{className:"flex flex-col gap-5",children:t.map(e=>(0,s.jsx)($,{group:e,executionsByConnection:a,nowMs:n,expanded:l.has(e.agentUuid),onToggle:()=>{let t;return t=e.agentUuid,o(e=>{let a=new Set(e);return a.has(t)?a.delete(t):a.add(t),a})}},e.agentUuid))})}let q={online:"border-[#E7E1D7] bg-[#FCFBF8] hover:bg-[#FBF4EF] hover:border-[#E2D6C9]",idle:"border-[#EAE5DC] bg-[#FAF8F4] hover:bg-[#F6F2EC]",loading:"border-[#EAE5DC] bg-[#FAF8F4]",error:"border-[#EBD9C4] bg-[#FFF9F2] hover:bg-[#FEF3E4]"};function G(e){let t,{mobile:a=!1}=e,r=(0,l.c)("agentPresence"),{status:n,onlineCount:o,connections:i,executionsByConnection:d,setModalOpen:u}=(0,M.$d)(),x=a?"text-[12.5px]":"text-[11.5px]",m="loading"===n?"loading":"error"===n?"error":o>0?"online":"idle";if("error"===n)t=(0,s.jsx)("span",{className:"truncate font-medium text-[#B45309] ".concat(x),children:r("unavailable")});else if("loading"===n)t=(0,s.jsx)("span",{className:"truncate text-muted-foreground/70 ".concat(x),children:r("loading")});else{let e=o>0?"text-[#15803D]":"text-foreground/80";t=(0,s.jsxs)("span",{className:"flex min-w-0 items-baseline gap-1.5 truncate ".concat(x),children:[(0,s.jsx)("span",{className:"font-semibold leading-none tabular-nums ".concat(e," ").concat(a?"text-[17px]":"text-[15px]"),children:o}),(0,s.jsx)("span",{className:"truncate text-muted-foreground",children:r("onlineUnit",{count:o})})]})}let f=(0,B.Jk)((0,B.fb)(i)).filter(e=>e.onlineCount>0);return(0,s.jsxs)(O.AM,{children:[(0,s.jsx)(O.Wv,{asChild:!0,children:(0,s.jsxs)(c.$,{variant:"ghost","aria-label":r("pillAria"),className:"group h-auto w-full justify-start gap-2.5 rounded-xl border px-3 ".concat(a?"py-2.5":"py-2"," shadow-[0_1px_2px_rgba(44,44,44,0.03)] transition-colors ").concat(q[m]),children:[(0,s.jsx)(z,{state:m}),t]})}),(0,s.jsx)(O.hl,{align:"start",side:"top",sideOffset:8,className:"max-h-[60vh] w-[min(92vw,400px)] overflow-y-auto p-3",children:(0,s.jsx)(W,{groups:f,executionsByConnection:d,onViewAll:()=>u(!0)})})]})}function W(e){let{groups:t,executionsByConnection:a,onViewAll:r}=e,n=(0,l.c)("agentPresence"),o=(0,B.le)();return(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsx)("div",{className:"flex items-center justify-between",children:(0,s.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-wide text-[#6B6B6B]",children:n("popoverTitle")})}),(0,s.jsx)(L,{groups:t,executionsByConnection:a,nowMs:o}),(0,s.jsx)(c.$,{variant:"ghost",size:"sm",onClick:r,className:"w-full justify-center text-[12px] font-medium text-[#C67A52] hover:bg-[#C67A5214] hover:text-[#A65F3C]",children:n("viewAll")})]})}var K=a(67587),V=a(11966),H=a(42533),J=a(1861),X=a(43057),Q=a(83553),Z=a(95886),ee=a(11080);let et=(0,r.createContext)(null),ea=new Set(["agent_checkin"]);function es(e){let{children:t}=e,[a,o]=(0,r.useState)(0),i=(0,r.useRef)(new Set),c=(0,n.useRouter)(),d=(0,l.c)("notifications"),u=(0,r.useCallback)(()=>{i.current.forEach(e=>e())},[]),x=(0,r.useCallback)(async()=>{try{let e=await (0,y.tm)("/api/notifications?readFilter=unread&take=0");if(e.ok){let t=await e.json();t.success&&o(t.data.unreadCount)}}catch(e){}},[]),m=(0,r.useCallback)(()=>{x(),u()},[x,u]),f=(0,r.useCallback)(e=>{if(!e.action||ea.has(e.action)||!e.entityTitle||!e.actorName)return;let t=d("types.".concat(e.action)),a=e.entityTitle,r="".concat(e.actorName," \xb7 ").concat(t);(0,K.oR)(a,{description:r,icon:function(e){switch(e){case"task_assigned":case"idea_claimed":return(0,s.jsx)(V.A,{className:"h-4 w-4 text-[#C67A52]"});case"proposal_approved":case"task_verified":return(0,s.jsx)(H.A,{className:"h-4 w-4 text-green-600"});case"proposal_rejected":case"task_reopened":return(0,s.jsx)(J.A,{className:"h-4 w-4 text-red-500"});case"comment_added":return(0,s.jsx)(X.A,{className:"h-4 w-4 text-orange-500"});case"mentioned":return(0,s.jsx)(Q.A,{className:"h-4 w-4 text-blue-600"});case"proposal_submitted":return(0,s.jsx)(Z.A,{className:"h-4 w-4 text-blue-500"});case"task_status_changed":return(0,s.jsx)(ee.A,{className:"h-4 w-4 text-blue-500"});default:return(0,s.jsx)(Z.A,{className:"h-4 w-4 text-muted-foreground"})}}(e.action),duration:5e3,action:e.entityType&&e.entityUuid&&e.projectUuid?{label:d("viewDetail"),onClick:()=>c.push(function(e,t,a){let s="/projects/".concat(a);switch(e){case"task":return"".concat(s,"/tasks/").concat(t);case"idea":return"".concat(s,"/dashboard?panel=").concat(t);case"proposal":return"".concat(s,"/proposals/").concat(t);case"document":return"".concat(s,"/documents/").concat(t);default:return s}}(e.entityType,e.entityUuid,e.projectUuid))}:void 0})},[d,c]);(0,r.useEffect)(()=>{let e,t=null;function a(){s(),(t=new EventSource("/api/events/notifications")).onmessage=t=>{try{let e=JSON.parse(t.data);"number"==typeof e.unreadCount&&o(e.unreadCount),"new_notification"===e.type&&f(e)}catch(e){}clearTimeout(e),e=setTimeout(u,300)},t.onerror=()=>{}}function s(){t&&(t.close(),t=null)}function r(){"visible"===document.visibilityState?(a(),x()):s()}return a(),x(),document.addEventListener("visibilitychange",r),()=>{s(),clearTimeout(e),document.removeEventListener("visibilitychange",r)}},[x,u,f]);let p=(0,r.useMemo)(()=>({unreadCount:a,refreshNotifications:m}),[a,m]);return(0,s.jsx)(et.Provider,{value:p,children:t})}function er(){let e=(0,r.useContext)(et);return e||{unreadCount:0,refreshNotifications:()=>{}}}var en=a(36557),el=a(11426),eo=a(16544),ei=a(65626),ec=a(39674),ed=a(64993),eu=a(57731);let ex=[{bg:"bg-amber-100 dark:bg-amber-900/30",text:"text-amber-800 dark:text-amber-300"},{bg:"bg-blue-100 dark:bg-blue-900/30",text:"text-blue-800 dark:text-blue-300"},{bg:"bg-emerald-100 dark:bg-emerald-900/30",text:"text-emerald-800 dark:text-emerald-300"},{bg:"bg-violet-100 dark:bg-violet-900/30",text:"text-violet-800 dark:text-violet-300"},{bg:"bg-rose-100 dark:bg-rose-900/30",text:"text-rose-800 dark:text-rose-300"},{bg:"bg-cyan-100 dark:bg-cyan-900/30",text:"text-cyan-800 dark:text-cyan-300"},{bg:"bg-orange-100 dark:bg-orange-900/30",text:"text-orange-800 dark:text-orange-300"},{bg:"bg-indigo-100 dark:bg-indigo-900/30",text:"text-indigo-800 dark:text-indigo-300"}],em=new Set(["agent_checkin"]);function ef(e){let{onClose:t}=e,a=(0,l.c)("notifications"),o=(0,n.useRouter)(),{refreshNotifications:d}=er(),u=(0,r.useCallback)(e=>{let t=Date.now()-new Date(e).getTime(),s=Math.floor(t/6e4),r=Math.floor(t/36e5),n=Math.floor(t/864e5);return s<1?a("justNow"):s<60?a("minutesAgo",{count:s}):r<24?a("hoursAgo",{count:r}):a("daysAgo",{count:n})},[a]),[x,m]=(0,r.useState)([]),[f,p]=(0,r.useState)([]),[h,g]=(0,r.useState)(0),[b,j]=(0,r.useState)(0),[v,w]=(0,r.useState)(!0),N=(0,r.useCallback)(async(e,t)=>{let a=new URLSearchParams({limit:"20",offset:String(t)});e&&a.set("unreadOnly","true");let s=await (0,y.tm)("/api/notifications?".concat(a));if(!s.ok)return null;let r=await s.json();return r.success?r.data:null},[]);(0,r.useEffect)(()=>{let e=!1;return async function(){w(!0);let[t,a]=await Promise.all([N(!1,0),N(!0,0)]);e||(t&&(m(t.notifications),g(t.notifications.length<20?t.notifications.length:999)),a&&(p(a.notifications),j(a.unreadCount)),w(!1))}(),()=>{e=!0}},[N]);let k=async()=>{await (0,y.tm)("/api/notifications/read-all",{method:"POST"}),p([]),j(0),m(e=>e.map(e=>e.readAt?e:{...e,readAt:new Date().toISOString()})),d()},A=async e=>{e.readAt||((0,y.tm)("/api/notifications/".concat(e.uuid,"/read"),{method:"PATCH"}),p(t=>t.filter(t=>t.uuid!==e.uuid)),m(t=>t.map(t=>t.uuid===e.uuid?{...t,readAt:new Date().toISOString()}:t)),d()),t(),o.push(function(e){let{action:t,entityType:a,entityUuid:s,projectUuid:r}=e,n="/projects/".concat(r);if("report_created"===t)return"".concat(n,"/dashboard?panel=").concat(s,"&tab=overview");switch(a){case"task":return"".concat(n,"/tasks/").concat(s);case"idea":return"".concat(n,"/dashboard?panel=").concat(s);case"proposal":return"".concat(n,"/proposals/").concat(s);case"document":return"".concat(n,"/documents/").concat(s);default:return n}}(e))},C=async e=>{let t=e?f:x,a=await N(e,t.length);a&&(e?p(e=>[...e,...a.notifications]):m(e=>[...e,...a.notifications]))},S=e=>{let{Icon:t,color:r}=function(e){switch(e){case"task_assigned":case"idea_claimed":return{Icon:V.A,color:"text-[#C67A52]"};case"proposal_approved":case"task_verified":return{Icon:H.A,color:"text-green-600"};case"proposal_rejected":case"task_reopened":return{Icon:J.A,color:"text-red-500"};case"comment_added":return{Icon:X.A,color:"text-orange-500"};case"mentioned":return{Icon:Q.A,color:"text-blue-600"};case"proposal_submitted":return{Icon:Z.A,color:"text-blue-500"};case"task_status_changed":return{Icon:ee.A,color:"text-blue-500"};case"report_created":return{Icon:el.A,color:"text-emerald-600"};default:return{Icon:Z.A,color:"text-muted-foreground"}}}(e.action),n=function(e){let t=0;for(let a=0;a<e.length;a++)t=31*t+e.charCodeAt(a)|0;return ex[Math.abs(t)%ex.length]}(e.projectUuid),l=!e.readAt;return(0,s.jsx)(eo.P.div,{variants:ei.Rf,children:(0,s.jsxs)("button",{onClick:()=>A(e),className:"flex w-full gap-3 px-4 py-3 text-left hover:bg-muted/50 transition-colors border-b border-border last:border-b-0",children:[(0,s.jsx)("div",{className:"mt-1.5 flex-shrink-0",children:l?(0,s.jsx)("div",{className:"h-2 w-2 rounded-full bg-[#C67A52]"}):(0,s.jsx)("div",{className:"h-2 w-2"})}),(0,s.jsx)("div",{className:"mt-0.5 flex-shrink-0",children:(0,s.jsx)(t,{className:"h-4 w-4 ".concat(r)})}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)(eu.E,{variant:"secondary",className:"mb-1 block h-auto max-w-full whitespace-normal break-words px-1.5 py-0 text-[10px] font-medium ".concat(n.bg," ").concat(n.text," border-0"),children:e.projectName}),(0,s.jsx)("div",{className:"text-[13px] font-medium text-foreground break-words",children:e.entityTitle}),(0,s.jsx)("div",{className:"text-[12px] text-muted-foreground break-words",children:a("types.".concat(e.action))}),(0,s.jsxs)("div",{className:"mt-0.5 text-[11px] text-muted-foreground break-words",children:[e.actorName," \xb7 ",u(e.createdAt)]})]})]})},e.uuid)},E=(e,t,r)=>{let n=e.filter(e=>!em.has(e.action));return v?(0,s.jsxs)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:[a("loadMore"),"..."]}):0===n.length?(0,s.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:t?a("noUnread"):a("noNotifications")}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eo.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:.04},children:n.map(S)}),n.length<r&&(0,s.jsx)("div",{className:"p-3 text-center",children:(0,s.jsx)(c.$,{variant:"ghost",size:"sm",className:"text-xs",onClick:()=>C(t),children:a("loadMore")})})]})};return(0,s.jsxs)("div",{className:"w-[calc(100vw-2rem)] max-w-[360px]",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:a("title")}),(0,s.jsx)(c.$,{variant:"ghost",size:"sm",className:"h-auto p-0 text-xs text-primary hover:text-primary/80",onClick:k,children:a("markAllRead")})]}),(0,s.jsxs)(ec.tU,{defaultValue:"unread",className:"gap-0",children:[(0,s.jsxs)(ec.j7,{className:"w-full rounded-none border-b border-border bg-transparent px-4 py-0 h-9",children:[(0,s.jsxs)(ec.Xi,{value:"unread",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:[a("tabUnread")," ",b>0&&"(".concat(b,")")]}),(0,s.jsx)(ec.Xi,{value:"all",className:"text-xs rounded-none data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary",children:a("tabAll")})]}),(0,s.jsx)(ec.av,{value:"all",className:"mt-0",children:(0,s.jsx)(eo.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,s.jsx)(ed.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:E(x,!1,h)})},"tab-all")}),(0,s.jsx)(ec.av,{value:"unread",className:"mt-0",children:(0,s.jsx)(eo.P.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.15},children:(0,s.jsx)(ed.F,{className:"max-h-[400px] overflow-y-auto [&_[data-slot=scroll-area-viewport]>div]:!block",children:E(f,!0,b)})},"tab-unread")})]}),(0,s.jsx)("div",{className:"border-t border-border px-4 py-2 text-center",children:(0,s.jsx)(i(),{href:"/settings",onClick:t,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:a("notificationPreferences")})})]})}function ep(){let{unreadCount:e}=er(),[t,a]=(0,r.useState)(!1);return(0,s.jsxs)(O.AM,{open:t,onOpenChange:a,children:[(0,s.jsx)(O.Wv,{asChild:!0,children:(0,s.jsxs)(c.$,{variant:"ghost",size:"icon",className:"relative h-8 w-8 text-muted-foreground hover:text-foreground",children:[(0,s.jsx)(en.A,{className:"h-4 w-4"}),e>0&&(0,s.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-[#C67A52] px-1 text-[10px] font-medium text-white animate-[pulse-badge_1.5s_ease-in-out_infinite]",children:e>99?"99+":e})]})}),(0,s.jsx)(O.hl,{align:"start",sideOffset:8,className:"w-auto p-0 rounded-lg",children:(0,s.jsx)(ef,{onClose:()=>a(!1)})})]})}var eh=a(68923),eg=a(30044),eb=a(9225),ej=a(85226),ev=a(67103),ey=a(24377),ew=a(14554),eN=a(91846),ek=a(42305);let eA=["all","task","idea","proposal","document","project"],eC={task:"bg-[#EBF5FF] text-[#2563EB] border-[#2563EB]/20",idea:"bg-[#FEF9C3] text-[#A16207] border-[#A16207]/20",proposal:"bg-[#FFF7ED] text-[#C67A52] border-[#C67A52]/20",document:"bg-[#F3E8FF] text-[#7C3AED] border-[#7C3AED]/20",project:"bg-[#ECFDF5] text-[#059669] border-[#059669]/20",project_group:"bg-[#F0FDFA] text-[#0D9488] border-[#0D9488]/20"},eS={all:"filterAll",task:"filterTasks",idea:"filterIdeas",proposal:"filterProposals",document:"filterDocuments",project:"filterProjects",project_group:"filterProjects"};function eE(e){let{currentProjectUuid:t,currentProjectName:a,currentGroupUuid:o,currentGroupName:i}=e,d=(0,l.c)("search"),u=(0,l.c)("time"),x=(0,n.useRouter)(),[m,f]=(0,r.useState)(""),[p,h]=(0,r.useState)(t?"project":o?"group":"global"),[g,b]=(0,r.useState)([]),[j,v]=(0,r.useState)(!1),[y,w]=(0,r.useState)(!1),[A,C]=(0,r.useState)("all"),[S,E]=(0,r.useState)(0),F=(0,r.useRef)(null),R=(0,r.useRef)([]),T=(0,r.useRef)(void 0);(0,r.useEffect)(()=>{h(t?"project":o?"group":"global")},[t,o]),(0,r.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key&&!e.defaultPrevented&&(e.preventDefault(),w(!0))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,r.useEffect)(()=>{y?setTimeout(()=>{var e;return null==(e=F.current)?void 0:e.focus()},0):(f(""),b([]),C("all"))},[y]);let P=(0,r.useCallback)(async function(e,a){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all";if(!e.trim()){b([]),v(!1);return}v(!0);try{let r=new URLSearchParams({q:e.trim(),scope:a,limit:"20"});"project"===a&&t?r.set("scopeUuid",t):"group"===a&&o&&r.set("scopeUuid",o),"all"!==s&&r.set("types",s);let n=await fetch("/api/search?".concat(r.toString()),{credentials:"include"});if(!n.ok){k.q.error("Search failed:",n.status),b([]);return}let l=await n.json();l.success?b(l.data.results):b([])}catch(e){k.q.error("Search error:",e),b([])}finally{v(!1)}},[t,o]),_=(0,r.useCallback)(e=>{f(e),T.current&&clearTimeout(T.current),e.trim()?T.current=setTimeout(()=>{P(e,p,A)},300):(b([]),v(!1))},[p,A,P]),M=(0,r.useCallback)(e=>{h(e),m.trim()&&P(m,e,A)},[m,A,P]),U=(0,r.useCallback)(e=>{C(e),E(0),m.trim()&&P(m,p,e)},[m,p,P]);(0,r.useEffect)(()=>{E(0)},[g]);let I=(0,r.useCallback)(e=>{switch(w(!1),e.entityType){case"task":e.projectUuid&&x.push("/projects/".concat(e.projectUuid,"/tasks/").concat(e.uuid));break;case"idea":e.projectUuid&&x.push("/projects/".concat(e.projectUuid,"/dashboard?panel=").concat(e.uuid));break;case"proposal":e.projectUuid&&x.push("/projects/".concat(e.projectUuid,"/proposals/").concat(e.uuid));break;case"document":e.projectUuid&&x.push("/projects/".concat(e.projectUuid,"/documents/").concat(e.uuid));break;case"project":x.push("/projects/".concat(e.uuid,"/dashboard"));break;case"project_group":x.push("/projects")}},[x]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(c.$,{variant:"outline",size:"icon",onClick:()=>w(!0),className:"md:w-full md:justify-start md:gap-3 h-9 md:px-3 text-muted-foreground font-normal",children:[(0,s.jsx)(eg.A,{className:"h-4 w-4 shrink-0"}),(0,s.jsx)("span",{className:"hidden md:inline truncate text-sm",children:d("placeholder")}),(0,s.jsxs)("kbd",{className:"ml-auto pointer-events-none hidden md:flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium",children:[(0,s.jsx)(eb.A,{className:"h-3 w-3"}),(0,s.jsx)("span",{children:"K"})]})]}),(0,s.jsx)(N.lG,{open:y,onOpenChange:w,children:(0,s.jsxs)(N.Cf,{className:"w-[calc(100vw-2rem)] sm:max-w-[600px] p-0 gap-0 overflow-hidden [&>button]:hidden [&>*]:min-w-0 top-4 sm:top-[20%] translate-y-0","aria-describedby":void 0,children:[(0,s.jsx)(N.L3,{className:"sr-only",children:d("placeholder")}),(0,s.jsxs)("div",{className:"flex items-center gap-2 border-b px-3 sm:px-4 py-3",children:[(0,s.jsx)(eg.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,s.jsx)(ew.p,{ref:F,type:"text",placeholder:d("placeholder"),value:m,onChange:e=>_(e.target.value),onKeyDown:e=>{!(0,ek.P)(e)&&("ArrowDown"===e.key?(e.preventDefault(),E(e=>{var t;let a=Math.min(e+1,g.length-1);return null==(t=R.current[a])||t.scrollIntoView({block:"nearest"}),a})):"ArrowUp"===e.key?(e.preventDefault(),E(e=>{var t;let a=Math.max(e-1,0);return null==(t=R.current[a])||t.scrollIntoView({block:"nearest"}),a})):"Enter"===e.key&&g.length>0&&(e.preventDefault(),I(g[S])))},className:"border-0 shadow-none focus-visible:ring-0 h-8 px-0 text-sm min-w-0"}),j&&(0,s.jsx)(ej.A,{className:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"}),(0,s.jsxs)(eN.l6,{value:p,onValueChange:e=>M(e),children:[(0,s.jsx)(eN.bq,{className:"w-auto h-7 text-xs gap-1 border-dashed shrink-0",children:(0,s.jsx)(eN.yv,{})}),(0,s.jsxs)(eN.gC,{children:[(0,s.jsx)(eN.eb,{value:"global",children:d("scopeGlobal")}),o&&(0,s.jsx)(eN.eb,{value:"group",children:i||d("scopeGroup")}),t&&(0,s.jsx)(eN.eb,{value:"project",children:a||d("scopeProject")})]})]})]}),m.trim()&&(0,s.jsx)("div",{className:"flex items-center gap-1 border-b px-4 py-2 overflow-x-auto",children:eA.map(e=>(0,s.jsx)(c.$,{variant:A===e?"default":"ghost",size:"sm",onClick:()=>U(e),className:(0,ey.cn)("h-7 px-3 text-xs rounded-full shrink-0",A===e?"bg-foreground text-background hover:bg-foreground/90":"text-muted-foreground hover:text-foreground"),children:d(eS[e])},e))}),(0,s.jsx)(ed.F,{className:"max-h-[400px]",children:(0,s.jsx)(ev.N,{mode:"wait",children:m.trim()?j?(0,s.jsx)(eo.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:ei.Yv.fast},children:(0,s.jsxs)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:[(0,s.jsx)(ej.A,{className:"h-5 w-5 animate-spin mx-auto mb-2"}),d("placeholder"),"..."]})},"loading"):0===g.length?(0,s.jsx)(eo.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:ei.Yv.fast},children:(0,s.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:d("noResults")})},"no-results"):(0,s.jsx)(eo.P.div,{initial:"initial",animate:"animate",transition:{staggerChildren:ei.Yv.staggerFast},className:"p-2",children:g.map((e,t)=>(0,s.jsx)(eo.P.div,{variants:ei.Rf,children:(0,s.jsxs)("button",{ref:e=>{R.current[t]=e},onClick:()=>I(e),onMouseEnter:()=>E(t),className:(0,ey.cn)("block w-full text-left px-3 py-2.5 rounded-lg transition-colors cursor-pointer overflow-hidden",t===S?"bg-accent":"hover:bg-accent/50"),children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 mb-0.5",children:[(0,s.jsx)(eu.E,{variant:"outline",className:(0,ey.cn)("text-[10px] px-1.5 py-0 shrink-0",eC[e.entityType]||"bg-muted text-muted-foreground"),children:d("entityType.".concat(e.entityType))}),e.status&&(0,s.jsx)(eu.E,{variant:"secondary",className:"text-[10px] px-1.5 py-0 shrink-0",children:e.status}),e.projectName&&(0,s.jsx)("span",{className:"text-[10px] text-muted-foreground line-clamp-1 ml-auto",children:e.projectName})]}),(0,s.jsx)("div",{className:"font-medium text-sm line-clamp-1 break-all",children:e.title}),e.snippet&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground line-clamp-1 mt-0.5 break-all",children:e.snippet}),(0,s.jsx)("div",{className:"text-[10px] text-muted-foreground mt-1",children:(e=>{let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);return t<60?u("justNow"):t<3600?u("minutesAgo",{minutes:Math.floor(t/60)}):t<86400?u("hoursAgo",{hours:Math.floor(t/3600)}):u("daysAgo",{days:Math.floor(t/86400)})})(e.updatedAt)})]})},"".concat(e.entityType,"-").concat(e.uuid)))},"results-".concat(A)):(0,s.jsx)(eo.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:ei.Yv.fast},children:(0,s.jsx)("div",{className:"p-8 text-center text-sm text-muted-foreground",children:d("placeholder")})},"empty")})}),(0,s.jsxs)("div",{className:"hidden sm:flex items-center justify-between border-t px-4 py-2 text-[10px] text-muted-foreground",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↑"}),(0,s.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"↓"}),d("filterAll")]}),(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"⏎"}),"Open"]})]}),(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)("kbd",{className:"rounded border px-1 py-0.5 font-mono",children:"Esc"}),"Close"]})]})]})})]})}function eF(e){let{children:t}=e,a=function(e){let t=e.match(/^(\/projects\/[a-f0-9-]{36}\/(tasks|documents|proposals))\/.+$/);return t?t[1]:e}((0,n.usePathname)());return(0,s.jsx)(eo.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:ei.Yv.normal,ease:ei.Yv.easeOut},className:"flex-1 flex flex-col",children:t},a)}let eR=e=>{let{...t}=e;return(0,s.jsx)(K.l$,{className:"toaster group",...t})};function eT(e){let{children:t}=e,a=(0,n.useRouter)(),o=(0,n.usePathname)(),w=(0,l.c)(),[N,A]=(0,r.useState)(null),[C,S]=(0,r.useState)(null),[E,F]=(0,r.useState)([]),[R,T]=(0,r.useState)(!0),[I,D]=(0,r.useState)(!1),[O,z]=(0,r.useState)(!1),[Y,$]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");$(e.matches);let t=e=>$(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,r.useEffect)(()=>{z(!1)},[o]);let L=function(e){let t=e.match(/^\/projects\/([a-f0-9-]{36})(\/|$)/);return t?t[1]:null}(o),q=function(e){let t=e.match(/^\/project-groups\/([a-f0-9-]{36})(\/|$)/);return t?t[1]:null}(o),[W,K]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(!q)return void K(null);(0,y.tm)("/api/project-groups/".concat(q)).then(e=>e.ok?e.json():null).then(e=>{(null==e?void 0:e.success)&&K(e.data.name)}).catch(()=>K(null))},[q]);let V="/projects"===o||"/settings"===o||o.startsWith("/project-groups"),H=L&&!V,J=o.match(/^\/projects\/[a-f0-9-]{36}\/tasks(\/|$)/);(0,r.useEffect)(()=>{X()},[]),(0,r.useEffect)(()=>{if(!L||V){S(null),F([]);return}let e=!1;return async function(){try{var t;let a=await (0,y.tm)("/api/projects/".concat(L));if(!a.ok||e)return;let s=await a.json();if(!s.success||e)return;let r={uuid:s.data.uuid,name:s.data.name,groupUuid:null!=(t=s.data.groupUuid)?t:null};if(S(r),r.groupUuid){let t=await (0,y.tm)("/api/project-groups/".concat(r.groupUuid));if(!t.ok||e)return;let a=await t.json();a.success&&!e&&F((a.data.projects||[]).filter(e=>e.uuid!==L))}else F([])}catch(e){k.q.error("Failed to fetch current project:",e)}}(),()=>{e=!0}},[L,V]);let X=async()=>{try{let e=await (0,y.tm)("/api/auth/session");if(401===e.status&&(await (0,y.OX)(),e=await (0,y.tm)("/api/auth/session")),401===e.status){(0,y.w9)(),a.push("/login");return}if(!e.ok)return void T(!1);let t=await e.json();t.success&&t.data.user&&A({uuid:t.data.user.uuid,email:t.data.user.email,name:t.data.user.name||t.data.user.email})}catch(e){k.q.error("Session check failed:",e)}T(!1)},Q=async()=>{try{await (0,y.ri)()}catch(e){(0,y.w9)()}a.push("/login")};if(R)return(0,s.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-background",children:(0,s.jsx)("div",{className:"text-muted-foreground",children:w("common.loading")})});let Z=[{href:"/projects",label:w("nav.projects"),icon:p.A},{href:"/settings",label:w("nav.settings"),icon:h.A}],ee=e=>e.endsWith("/dashboard")?o===e:"/projects"===e?"/projects"===o:o===e||o.startsWith(e+"/"),et=e=>{var t;let{mobile:r=!1}=e,n=r?"text-[15px]":"text-[13px]",l=r?"h-5 w-5":"h-4 w-4",o=r?"gap-1.5":"gap-1",p=r?"h-10":"",h=r?"text-[13px]":"text-[11px]",v=r?"text-[15px]":"text-[13px]",y=r?"text-[12px]":"text-[11px]";return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex flex-col gap-8 p-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,s.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-7 w-7"}),(0,s.jsx)("span",{className:"text-base font-semibold text-foreground",children:w("common.appName")})]}),(0,s.jsx)("div",{className:"hidden md:block",children:(0,s.jsx)(ep,{})})]}),!r&&(0,s.jsx)(eE,{currentProjectUuid:L||void 0,currentProjectName:null==C?void 0:C.name,currentGroupUuid:q||void 0,currentGroupName:W||void 0}),(0,s.jsx)("nav",{className:"flex flex-col ".concat(o),children:H&&L?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i(),{href:"/projects",children:(0,s.jsxs)(c.$,{variant:"ghost",size:"sm",className:"w-full justify-start gap-2.5 text-muted-foreground hover:text-foreground ".concat(n," ").concat(p),children:[(0,s.jsx)(g.A,{className:r?"h-4 w-4":"h-3 w-3"}),w("nav.backToProjects")]})}),C&&(0,s.jsxs)("div",{className:"relative mt-2",children:[(0,s.jsxs)(c.$,{variant:"ghost",size:"sm",onClick:()=>E.length>0&&D(!I),className:"w-full justify-between px-3 py-1.5 ".concat(0===E.length?"cursor-default":""),children:[(0,s.jsx)("span",{className:"truncate font-semibold uppercase tracking-wider text-foreground ".concat(h),children:C.name}),E.length>0&&(0,s.jsx)(b.A,{className:"h-3 w-3 text-muted-foreground transition-transform ".concat(I?"rotate-180":"")})]}),(0,s.jsx)(ev.N,{children:I&&E.length>0&&(0,s.jsx)(eo.P.div,{variants:ei.K5,initial:"initial",animate:"animate",exit:"exit",className:"absolute left-0 right-0 top-full z-10 mt-1 origin-top rounded-lg border border-border bg-card py-1 shadow-lg",children:E.map(e=>(0,s.jsx)(c.$,{variant:"ghost",size:"sm",onClick:()=>{D(!1),a.push("/projects/".concat(e.uuid,"/dashboard"))},className:"w-full justify-start px-3 py-2 ".concat(n," [&>*]:truncate text-muted-foreground"),children:(0,s.jsx)("span",{className:"truncate",children:e.name})},e.uuid))})})]}),(0,s.jsx)("div",{className:"mt-2 flex flex-col ".concat(o),children:[{href:"/projects/".concat(L,"/dashboard"),label:w("nav.overview"),icon:d.A},{href:"/projects/".concat(L,"/documents"),label:w("nav.documents"),icon:u.A},{href:"/projects/".concat(L,"/proposals"),label:w("nav.proposals"),icon:x.A},{href:"/projects/".concat(L,"/tasks"),label:w("nav.tasks"),icon:m.A},{href:"/projects/".concat(L,"/activity"),label:w("nav.activity"),icon:f.A}].map(e=>{let t=ee(e.href),a=e.icon;return(0,s.jsx)(i(),{href:e.href,children:(0,s.jsxs)(c.$,{variant:"ghost",size:"sm",className:"relative w-full justify-start gap-2.5 ".concat(n," ").concat(p," ").concat(t?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"),children:[t&&(0,s.jsx)(eo.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,s.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,s.jsx)(a,{className:"".concat(l," ").concat(t?"text-primary":"")}),e.label]})]})},e.href)})})]}):(0,s.jsx)(s.Fragment,{children:(0,s.jsx)("div",{className:"flex flex-col ".concat(o),children:Z.map(e=>{let t=ee(e.href),a=e.icon;return(0,s.jsx)(i(),{href:e.href,children:(0,s.jsxs)(c.$,{variant:"ghost",size:"sm",className:"relative w-full justify-start gap-2.5 ".concat(n," ").concat(p," ").concat(t?"font-medium text-foreground":"text-muted-foreground hover:text-foreground"),children:[t&&(0,s.jsx)(eo.P.div,{layoutId:"nav-active",className:"absolute inset-0 rounded-md bg-secondary",transition:{type:"spring",stiffness:500,damping:30}}),(0,s.jsxs)("span",{className:"relative flex items-center gap-2.5",children:[(0,s.jsx)(a,{className:"".concat(l," ").concat(t?"text-primary":"")}),e.label]})]})},e.href)})})})})]}),(0,s.jsxs)("div",{className:"mt-auto flex flex-col gap-1 px-4 pb-4",children:[(0,s.jsx)(G,{mobile:r}),(0,s.jsx)("div",{className:"px-2 pt-1",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"flex items-center justify-center rounded-full bg-primary font-medium text-primary-foreground ".concat(r?"h-10 w-10 text-base":"h-9 w-9 text-sm"),children:(null==N||null==(t=N.name)?void 0:t.charAt(0))||"U"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("div",{className:"truncate font-medium text-foreground ".concat(v),children:null==N?void 0:N.name}),(0,s.jsx)("div",{className:"truncate text-muted-foreground ".concat(y),children:null==N?void 0:N.email})]}),(0,s.jsx)(c.$,{variant:"ghost",size:"icon",onClick:Q,title:w("common.signOut"),className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:(0,s.jsx)(j.A,{className:"h-4 w-4"})})]})})]})]})};return(0,s.jsxs)(es,{children:[(0,s.jsx)(U.OJ,{children:(0,s.jsxs)(M.Oj,{children:[(0,s.jsx)(B.MH,{}),(0,s.jsxs)("div",{className:"flex min-h-screen bg-background",children:[(0,s.jsx)("header",{className:"fixed top-0 left-0 right-0 z-30 border-b border-border bg-card md:hidden",children:(0,s.jsxs)("div",{className:"flex h-14 items-center justify-between px-4",children:[(0,s.jsx)("button",{onClick:()=>z(!0),"aria-label":w("nav.openMenu"),children:(0,s.jsx)(v.A,{className:"h-5 w-5 text-muted-foreground"})}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("img",{src:"/chorus-icon.png",alt:"Chorus",className:"h-6 w-6"}),(0,s.jsx)("span",{className:"text-sm font-semibold text-foreground",children:w("common.appName")})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(eE,{currentProjectUuid:L||void 0,currentProjectName:null==C?void 0:C.name,currentGroupUuid:q||void 0,currentGroupName:W||void 0}),(0,s.jsx)(ep,{})]})]})}),(0,s.jsx)(eh.cj,{open:O,onOpenChange:z,children:(0,s.jsx)(eh.h,{side:"left",className:"w-[280px] p-0",children:(0,s.jsx)("div",{className:"flex h-full flex-col justify-between overflow-y-auto",children:(0,s.jsx)(et,{mobile:!0})})})}),(0,s.jsx)("aside",{className:"hidden md:sticky md:top-0 md:flex h-screen w-[220px] flex-shrink-0 flex-col justify-between overflow-y-auto border-r border-border bg-card",children:(0,s.jsx)(et,{})}),H&&L?(0,s.jsxs)(P.tS,{projectUuid:L,children:[(0,s.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,s.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(J?"":"max-w-[1200px]"),children:(0,s.jsx)(eF,{children:t})})}),(0,s.jsx)(_,{projectUuid:L,projectName:(null==C?void 0:C.name)||""})]}):"/projects"===o||o.startsWith("/project-groups")?(0,s.jsx)(P.tS,{children:(0,s.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,s.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(J?"":"max-w-[1200px]"),children:(0,s.jsx)(eF,{children:t})})})}):(0,s.jsx)("main",{className:"flex-1 flex flex-col overflow-auto pt-14 md:pt-0",children:(0,s.jsx)("div",{className:"mx-auto w-full flex-1 flex flex-col ".concat(J?"":"max-w-[1200px]"),children:(0,s.jsx)(eF,{children:t})})})]})]})}),(0,s.jsx)(eR,{position:Y?"top-center":"top-right",closeButton:!Y})]})}},63964:(e,t,a)=>{"use strict";a.d(t,{S2:()=>c,eV:()=>i,l9:()=>o,tS:()=>l,w0:()=>d});var s=a(90508),r=a(1856);a(23675);let n=(0,r.createContext)(null);function l(e){let{projectUuid:t,children:a}=e,l=(0,r.useRef)(new Set),o=(0,r.useRef)(new Set),i=(0,r.useRef)(new Set),c=(0,r.useRef)(new Set),d=(0,r.useCallback)(()=>{l.current.forEach(e=>e())},[]),u=(0,r.useCallback)(e=>{o.current.forEach(t=>t(e))},[]);(0,r.useEffect)(()=>{let e,a=null,s=0,r={};function n(){l(),(a=new EventSource(t?"/api/events?projectUuid=".concat(t):"/api/events")).onmessage=t=>{let a=null;try{a=JSON.parse(t.data)}catch(e){return}if(!a)return;if("presence"===a.type)return void i.current.forEach(e=>e(a));if("execution"===a.type)return void c.current.forEach(e=>e(a));let n=a;clearTimeout(e);let l=Date.now(),o=l-s;o>=3e3?(s=l,d()):e=setTimeout(()=>{s=Date.now(),d()},Math.max(1e3,3e3-o));let x=n.entityType;clearTimeout(r[x]),r[x]=setTimeout(()=>{u(n)},300)},a.onerror=()=>{}}function l(){a&&(a.close(),a=null)}function o(){if("visible"===document.visibilityState&&(!a||a.readyState===EventSource.CLOSED))for(let e of(n(),d(),["task","idea","proposal","document","project","project_group"]))u({companyUuid:"",projectUuid:"",entityType:e,entityUuid:"",action:"updated"})}return n(),document.addEventListener("visibilitychange",o),()=>{for(let t in l(),clearTimeout(e),r)clearTimeout(r[t]);document.removeEventListener("visibilitychange",o)}},[t,d,u]);let x=(0,r.useCallback)(e=>(l.current.add(e),()=>{l.current.delete(e)}),[]),m=(0,r.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),f=(0,r.useCallback)(e=>(i.current.add(e),()=>{i.current.delete(e)}),[]),p=(0,r.useCallback)(e=>(c.current.add(e),()=>{c.current.delete(e)}),[]),h=(0,r.useMemo)(()=>({subscribe:x,subscribeEntity:m,subscribePresence:f,subscribeExecution:p}),[x,m,f,p]);return(0,s.jsx)(n.Provider,{value:h,children:a})}function o(e){let t=(0,r.useContext)(n),a=(0,r.useRef)(e);a.current=e,(0,r.useEffect)(()=>{if(!t)return;let e=()=>a.current();return e(),t.subscribe(e)},[t])}function i(e,t){let a=(0,r.useContext)(n),s=(0,r.useRef)(t);s.current=t;let l=(0,r.useRef)(e);l.current=e,(0,r.useEffect)(()=>{if(a)return a.subscribeEntity(e=>{let t=l.current;(Array.isArray(t)?t.includes(e.entityType):e.entityType===t)&&s.current(e)})},[a])}function c(e){let t=(0,r.useContext)(n),a=(0,r.useRef)(e);a.current=e,(0,r.useEffect)(()=>{if(t)return t.subscribePresence(e=>a.current(e))},[t])}function d(e,t,a){let s=(0,r.useContext)(n),l=(0,r.useRef)(a);l.current=a,(0,r.useEffect)(()=>{if(s)return s.subscribeEntity(a=>{a.entityType===e&&a.entityUuid===t&&l.current(a)})},[s,e,t])}},65626:(e,t,a)=>{"use strict";a.d(t,{K5:()=>i,Rf:()=>o,Yv:()=>s,bK:()=>l,qG:()=>n,tE:()=>r});let s={fast:.15,normal:.2,slow:.3,easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1],stagger:.04,staggerFast:.03,spring:{type:"spring",stiffness:500,damping:30},tween:{type:"tween",duration:.2,ease:[0,0,.2,1]}},r={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:s.normal,ease:s.easeOut}},exit:{opacity:0,y:-4,transition:{duration:s.fast,ease:s.easeOut}}},n={initial:{opacity:0},animate:{opacity:1,transition:{duration:s.normal,ease:s.easeOut}},exit:{opacity:0,transition:{duration:s.fast,ease:s.easeOut}}};s.normal,s.easeOut,s.fast,s.easeOut;let l={initial:{},animate:{transition:{staggerChildren:s.stagger}}},o={initial:{opacity:0,y:8},animate:{opacity:1,y:0,transition:{duration:s.normal,ease:s.easeOut}}},i={initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0,transition:{duration:s.fast,ease:s.easeOut}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:s.fast,ease:s.easeOut}}}},68923:(e,t,a)=>{"use strict";a.d(t,{CG:()=>c,Fm:()=>f,cj:()=>i,h:()=>m,qp:()=>p});var s=a(90508);a(1856);var r=a(9160),n=a(71350),l=a(49499),o=a(24377);function i(e){let{...t}=e;return(0,s.jsx)(n.Root,{"data-slot":"sheet",...t})}function c(e){let{...t}=e;return(0,s.jsx)(n.Trigger,{"data-slot":"sheet-trigger",...t})}function d(e){let{...t}=e;return(0,s.jsx)(n.Portal,{"data-slot":"sheet-portal",...t})}function u(e){let{className:t,...a}=e;return(0,s.jsx)(n.Overlay,{"data-slot":"sheet-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}let x=(0,l.F)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b",bottom:"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t",left:"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm"}},defaultVariants:{side:"right"}});function m(e){let{className:t,children:a,side:l="right",...i}=e;return(0,s.jsxs)(d,{children:[(0,s.jsx)(u,{}),(0,s.jsxs)(n.Content,{"data-slot":"sheet-content",className:(0,o.cn)(x({side:l}),t),...i,children:[a,(0,s.jsxs)(n.Close,{"data-slot":"sheet-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,s.jsx)(r.A,{className:"size-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function f(e){let{className:t,...a}=e;return(0,s.jsx)("div",{"data-slot":"sheet-header",className:(0,o.cn)("flex flex-col gap-2 p-4",t),...a})}function p(e){let{className:t,...a}=e;return(0,s.jsx)(n.Title,{"data-slot":"sheet-title",className:(0,o.cn)("text-foreground text-lg font-semibold",t),...a})}}},e=>{e.O(0,[93151,41752,12079,18944,12790,26885,14655,71350,30724,16544,27201,16551,97784,14753,89644,45532,70552,15183,26394,27378,2280,88561,97868,74951,65496,77358],()=>e(e.s=5877)),_N_E=e.O()}]);