@chorus-aidlc/chorus 0.7.1 → 0.8.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 (275) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +251 -251
  3. package/.next/standalone/.next/app-path-routes-manifest.json +42 -42
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/prerender-manifest.json +48 -48
  6. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/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 +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +2 -2
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  41. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  45. package/.next/standalone/.next/server/app/_not-found.rsc +6 -6
  46. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  49. package/.next/standalone/.next/server/app/admin/companies/new.rsc +6 -6
  50. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies.rsc +6 -6
  53. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin.html +1 -1
  55. package/.next/standalone/.next/server/app/admin.rsc +6 -6
  56. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  76. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js +1 -1
  78. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/mcp/route.js +5 -5
  87. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  92. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  104. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js +1 -1
  112. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js +1 -1
  114. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js +1 -1
  116. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
  124. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js +1 -1
  126. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js +1 -1
  130. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js +1 -1
  132. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/index.html +1 -1
  142. package/.next/standalone/.next/server/app/index.rsc +6 -6
  143. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  145. package/.next/standalone/.next/server/app/login/admin.rsc +6 -6
  146. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  148. package/.next/standalone/.next/server/app/login/callback.rsc +6 -6
  149. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  152. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +6 -6
  153. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  155. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +6 -6
  156. package/.next/standalone/.next/server/app/login.html +1 -1
  157. package/.next/standalone/.next/server/app/login.rsc +6 -6
  158. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  159. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  162. package/.next/standalone/.next/server/app/onboarding.rsc +7 -7
  163. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/projects.html +1 -1
  165. package/.next/standalone/.next/server/app/projects.rsc +8 -8
  166. package/.next/standalone/.next/server/app/settings.html +1 -1
  167. package/.next/standalone/.next/server/app/settings.rsc +8 -8
  168. package/.next/standalone/.next/server/app-paths-manifest.json +42 -42
  169. package/.next/standalone/.next/server/chunks/1002.js +1 -1
  170. package/.next/standalone/.next/server/chunks/1596.js +2 -2
  171. package/.next/standalone/.next/server/chunks/1673.js +1 -0
  172. package/.next/standalone/.next/server/chunks/1871.js +1 -1
  173. package/.next/standalone/.next/server/chunks/2570.js +1 -1
  174. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  175. package/.next/standalone/.next/server/chunks/{2675.js → 3139.js} +1 -1
  176. package/.next/standalone/.next/server/chunks/3405.js +1 -0
  177. package/.next/standalone/.next/server/chunks/4294.js +1 -0
  178. package/.next/standalone/.next/server/chunks/5044.js +1 -0
  179. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  180. package/.next/standalone/.next/server/chunks/6320.js +2 -2
  181. package/.next/standalone/.next/server/chunks/6836.js +1 -0
  182. package/.next/standalone/.next/server/chunks/8322.js +2 -2
  183. package/.next/standalone/.next/server/chunks/8844.js +1 -1
  184. package/.next/standalone/.next/server/chunks/8881.js +1 -1
  185. package/.next/standalone/.next/server/chunks/937.js +2 -2
  186. package/.next/standalone/.next/server/chunks/9508.js +2 -2
  187. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  188. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  189. package/.next/standalone/.next/server/next-font-manifest.json +1 -1
  190. package/.next/standalone/.next/server/pages/404.html +1 -1
  191. package/.next/standalone/.next/server/pages/500.html +1 -1
  192. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  194. package/.next/standalone/.next/static/chunks/10739-a14d0dc7271f247e.js +1 -0
  195. package/.next/standalone/.next/static/chunks/19126-f1bc396538752bce.js +1 -0
  196. package/.next/standalone/.next/static/chunks/{53664-a2be2eaacce03f0f.js → 23588-66d80958224a8544.js} +1 -1
  197. package/.next/standalone/.next/static/chunks/32190-a110356fb68a4333.js +1 -0
  198. package/.next/standalone/.next/static/chunks/65371-d3686d82abca6495.js +1 -0
  199. package/.next/standalone/.next/static/chunks/70317-49653c6dce23f1d9.js +1 -0
  200. package/.next/standalone/.next/static/chunks/8731-7869a6ed671c63a3.js +1 -0
  201. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-719f0815a37f19be.js +1 -0
  202. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-bc8c3c0362de377c.js +1 -0
  203. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-c1c4b5798c494341.js +1 -0
  204. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-29ac4172940780e0.js +1 -0
  205. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/{page-2d820769aa7bcaf6.js → page-e59232665c3a0412.js} +1 -1
  206. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/{page-dec0e71221d77928.js → page-9b1e02b5e2cfb410.js} +1 -1
  207. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-567e98e9e90a7ef1.js +1 -0
  208. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/{page-bc66567cb9c40bf0.js → page-31f4ffd9778a39ed.js} +1 -1
  209. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/{page-86cfeb421fa97830.js → page-8eded17e1e44522d.js} +1 -1
  210. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-7fe70579023330da.js → page-e5c99f2020b904f5.js} +1 -1
  211. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-8c51993bb3866a55.js → page-7947010e9684fbcf.js} +1 -1
  212. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-80566dcc1cd42bee.js → page-5326f2b34b200e50.js} +1 -1
  213. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-a01b45dbe80aeecf.js +1 -0
  214. package/.next/standalone/.next/static/chunks/app/{layout-22f1a931323bbb60.js → layout-482dee7dace72c88.js} +1 -1
  215. package/.next/standalone/.next/static/chunks/app/onboarding/{page-8d755192f0f67938.js → page-ac0593c045c64013.js} +1 -1
  216. package/.next/standalone/.next/static/css/84edd78de243cde6.css +1 -0
  217. package/.next/standalone/.next/static/css/{ca9796ac54f96058.css → a577d38ad6d7491b.css} +1 -1
  218. package/.next/standalone/.next/static/media/0f1bdadaf30e2d5f-s.woff2 +0 -0
  219. package/.next/standalone/.next/static/media/22a5144ee8d83bca-s.p.woff2 +0 -0
  220. package/.next/standalone/.next/static/media/2c34d62a75506231-s.woff2 +0 -0
  221. package/.next/standalone/.next/static/media/601f5c280d60caca-s.woff2 +0 -0
  222. package/.next/standalone/.next/static/media/9766a7e9e2e0ad5a-s.woff2 +0 -0
  223. package/.next/standalone/.next/static/media/a115172161b307bb-s.woff2 +0 -0
  224. package/.next/standalone/.next/static/media/aa016aab0e6d1295-s.woff2 +0 -0
  225. package/.next/standalone/.next/static/media/b66cf8e69499582a-s.woff2 +0 -0
  226. package/.next/standalone/.next/static/media/d100b2a099e34044-s.woff2 +0 -0
  227. package/.next/standalone/.next/static/media/f5271587012faf78-s.p.woff2 +0 -0
  228. package/.next/standalone/.next/static/media/f639721981034f88-s.woff2 +0 -0
  229. package/.next/standalone/package.json +1 -1
  230. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +7 -1
  231. package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +1 -1
  232. package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +1 -1
  233. package/.next/standalone/public/chorus-plugin/bin/on-post-verify-task.sh +190 -0
  234. package/.next/standalone/public/chorus-plugin/bin/on-session-start.sh +58 -0
  235. package/.next/standalone/public/chorus-plugin/bin/test-syntax.sh +1 -0
  236. package/.next/standalone/public/chorus-plugin/bin/tests/test-on-post-verify-task.sh +365 -0
  237. package/.next/standalone/public/chorus-plugin/hooks/hooks.json +9 -0
  238. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +2 -1
  239. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +9 -1
  240. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
  241. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +436 -0
  242. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +11 -1
  243. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  244. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  245. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +26 -4
  246. package/README.md +34 -7
  247. package/README.zh.md +15 -8
  248. package/chorus.mjs +56 -12
  249. package/package.json +1 -1
  250. package/.next/standalone/.next/server/chunks/1639.js +0 -1
  251. package/.next/standalone/.next/server/chunks/3300.js +0 -1
  252. package/.next/standalone/.next/server/chunks/8251.js +0 -1
  253. package/.next/standalone/.next/server/chunks/8584.js +0 -1
  254. package/.next/standalone/.next/server/chunks/9051.js +0 -1
  255. package/.next/standalone/.next/static/chunks/10739-5c185aa0432f5d56.js +0 -1
  256. package/.next/standalone/.next/static/chunks/19126-858a24cab6fd338a.js +0 -1
  257. package/.next/standalone/.next/static/chunks/29445-04c4ab36da85b7da.js +0 -1
  258. package/.next/standalone/.next/static/chunks/39611-cc227784ed679a6d.js +0 -1
  259. package/.next/standalone/.next/static/chunks/96919-8cbf6310c703e7af.js +0 -1
  260. package/.next/standalone/.next/static/chunks/99513-24849ff68a8098e1.js +0 -1
  261. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-acddb9c84f5d1607.js +0 -1
  262. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-b4c6141dd26cc506.js +0 -1
  263. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-4bf7bff8d68509f9.js +0 -1
  264. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-37a0cea0ba40c31b.js +0 -1
  265. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-355321010dd82e56.js +0 -1
  266. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-8db25385236a9bbf.js +0 -1
  267. package/.next/standalone/.next/static/css/de70bee13400563f.css +0 -1
  268. package/.next/standalone/.next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
  269. package/.next/standalone/.next/static/media/747892c23ea88013-s.woff2 +0 -0
  270. package/.next/standalone/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  271. package/.next/standalone/.next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
  272. package/.next/standalone/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  273. package/.next/standalone/.next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
  274. /package/.next/standalone/.next/static/{TJ6qFSxjQGUSajvwbI2qu → bLmYoXAXta69K0xmICa8D}/_buildManifest.js +0 -0
  275. /package/.next/standalone/.next/static/{TJ6qFSxjQGUSajvwbI2qu → bLmYoXAXta69K0xmICa8D}/_ssgManifest.js +0 -0
package/README.zh.md CHANGED
@@ -17,15 +17,18 @@ Chorus 是一个 Agent Harness——包裹在 LLM 外面的基础设施层,负
17
17
  ```
18
18
  Idea ──> Proposal ──> [Document + Task DAG] ──> Execute ──> Verify ──> Done
19
19
  ^ ^ ^ ^ ^ ^
20
- Human PM Agent PM Agent Dev Agent Admin Admin
21
- creates analyzes drafts PRD codes & reviews closes
22
- & plans & tasks reports & verifies
20
+ 人类 idea:write proposal:write task:write *:admin *:admin
21
+ 提出 + 需求澄清 + 起草 PRD/任务 + 报告进度 + 验收 + 关闭
23
22
  ```
24
23
 
24
+ 每个阶段下方标的是「执行该阶段所需的权限」,可以由人类、Agent(预设或 Custom)或两者持有。没有固定角色,5 × 3 权限矩阵的任意组合都合法,详见 [`docs/PERMISSIONS.md`](docs/PERMISSIONS.md)(英文)。
25
+
25
26
  ---
26
27
 
27
28
  ## 最近更新
28
29
 
30
+ **[v0.8.0](https://chorus-ai.dev/zh/blog/chorus-v0.8.0-release/)** — OpenSpec-aware 模式(仅 Claude Code):当仓库下同时存在 `openspec/` 目录和 `openspec` CLI 时自动启用,新增 `/opsx/{explore,propose,apply,archive}` 与 task verify 后的 archive-trigger 钩子。
31
+
29
32
  **[v0.7.0](https://chorus-ai.dev/zh/blog/chorus-v0.7.0-release/)** — 细粒度 Agent 权限:5 类资源 × 3 个动作组成的网格,取代 PM / Developer / Admin 三选一。保留原有预设,新增 Custom 选项自由组合。
30
33
 
31
34
  **[v0.6.7](https://chorus-ai.dev/zh/blog/chorus-v0.6.7-release/)** — Codex CLI 版 Chorus 插件(一条命令装完)、同一邮箱属于多个 Company 时的工作区选择器、每种客户端的接入文档。
@@ -185,9 +188,10 @@ Cmd+K 命令面板,支持跨 6 种实体类型搜索。支持范围筛选(
185
188
  │ └───────────────────────────────────────────────────────────┘ │
186
189
  └──────────────────────────────────────────────────────────────────┘
187
190
  ↑ ↑ ↑ ↑
188
- Agent w/ Agent w/ Agent w/ Human
189
- PM perms Developer perms Admin perms (Browser)
190
- (LLM) (LLM) (LLM)
191
+ Agent w/ Agent w/ Agent w/ 人类
192
+ idea+proposal task:write *:admin perms (浏览器)
193
+ :write perms perms (代理人类审批)
194
+ (LLM) (LLM) (LLM)
191
195
 
192
196
  ┌──────────▼──────────┐ ┌─────────────────────┐
193
197
  │ PostgreSQL + Prisma │ │ Redis(可选) │
@@ -308,8 +312,9 @@ PGlite 在端口 5433 运行嵌入式 PostgreSQL。数据存储在 `.pglite/`,
308
312
 
309
313
  | 方式 | 位置 | 适用场景 |
310
314
  |------|------|---------|
311
- | **Plugin 内嵌** | `public/chorus-plugin/skills/chorus/` | Claude Code + Plugin,Session 自动化 |
312
- | **独立分发** | `public/skill/`(`/skill/` 路径静态托管)| 任何 Agent,手动 Session 管理 |
315
+ | **Plugin 内嵌(Claude Code)** | `public/chorus-plugin/skills/` | Claude Code + Chorus 插件,Session 自动化与生命周期 hook |
316
+ | **Plugin 内嵌(Codex CLI)** | `plugins/chorus/skills/` | Codex CLI + Chorus 插件,移植版技能(`$` 前缀斜杠命令)|
317
+ | **独立分发** | `public/skill/`(`/skill/` 路径静态托管)| 其他 MCP 客户端(Cursor / Continue / 自研),手动 Session 管理 |
313
318
 
314
319
  ---
315
320
 
@@ -320,7 +325,9 @@ PGlite 在端口 5433 运行嵌入式 PostgreSQL。数据存储在 `.pglite/`,
320
325
  | [PRD](docs/PRD_Chorus.md) | 产品需求文档 |
321
326
  | [Architecture](docs/ARCHITECTURE.md) | 技术架构文档 |
322
327
  | [MCP Tools](docs/MCP_TOOLS.md) | MCP 工具参考 |
328
+ | [Permissions](docs/PERMISSIONS.md) | Agent 权限模型(5 × 3 矩阵 + 预设 + Custom) |
323
329
  | [Chorus Plugin](docs/chorus-plugin.md) | 插件设计与 Hook 说明 |
330
+ | [OpenSpec Mode](docs/OPENSPEC_MODE.md) | OpenSpec 模式(Plugin 0.8.1+,opt-in) |
324
331
  | [Search](docs/SEARCH.md) | 全局搜索技术设计 |
325
332
  | [AI-DLC Gap Analysis](docs/AIDLC_GAP_ANALYSIS.md) | AI-DLC 方法论差距分析 |
326
333
  | [AIG Implementation Plan](docs/CHORUS_AIG_PLAN.md) | Agent 透明度路线图 |
package/chorus.mjs CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  import { createConnection } from "node:net";
13
13
  import { homedir } from "node:os";
14
14
  import { dirname, join, resolve } from "node:path";
15
- import { fileURLToPath } from "node:url";
15
+ import { fileURLToPath, pathToFileURL } from "node:url";
16
16
 
17
17
  const __dirname = dirname(fileURLToPath(import.meta.url));
18
18
 
@@ -71,11 +71,13 @@ OPTIONS
71
71
  -d, --data-dir <path> Data directory for PGlite (default: ~/.chorus-data, env: CHORUS_DATA_DIR)
72
72
  --hostname <host> Bind address (default: 0.0.0.0)
73
73
  --pglite-port <port> Embedded PGlite port (default: 5433, env: CHORUS_PGLITE_PORT)
74
+ --use-pglite[=BOOL] Use embedded PGlite (default: true; pass =false for external Postgres)
74
75
  -h, --help Show this help message
75
76
  -v, --version Show version number
76
77
 
77
78
  ENVIRONMENT VARIABLES
78
- DATABASE_URL External PostgreSQL URL (skips embedded PGlite)
79
+ CHORUS_USE_PGLITE Set to "0" to disable embedded PGlite (default: enabled)
80
+ DATABASE_URL External PostgreSQL URL (required when --use-pglite=false)
79
81
  REDIS_URL Redis URL for multi-instance pub/sub
80
82
  DEFAULT_USER Auto-create login user email
81
83
  DEFAULT_PASSWORD Auto-create login user password
@@ -83,10 +85,10 @@ ENVIRONMENT VARIABLES
83
85
  COOKIE_SECURE Set to "true" for HTTPS deployments
84
86
 
85
87
  EXAMPLES
86
- chorus # Start with defaults
88
+ chorus # Embedded PGlite (default)
87
89
  chorus --port 3000 # Custom port
88
90
  chorus --data-dir /var/lib/chorus # Custom data directory
89
- DATABASE_URL=postgres://... chorus # Use external PostgreSQL
91
+ DATABASE_URL=postgres://... chorus --use-pglite=false # External PostgreSQL
90
92
  `);
91
93
  process.exit(0);
92
94
  }
@@ -158,14 +160,40 @@ function ensureSecret() {
158
160
  let pgliteProcess = null;
159
161
 
160
162
  async function main() {
161
- // 1. Ensure data directory
162
- mkdirSync(join(dataDir, "pglite"), { recursive: true });
163
+ // 1. Determine database mode
164
+ // --use-pglite means "the database is PGlite-backed" (local or remote).
165
+ // It controls pg.Pool sizing (max=1 to avoid the @electric-sql/pglite-socket
166
+ // cross-handler race), independently of whether the PGlite process is
167
+ // local or remote.
168
+ //
169
+ // Whether to start a local embedded PGlite is decided by DATABASE_URL:
170
+ // - If DATABASE_URL is set, treat it as a pre-existing DB (PGlite or
171
+ // real Postgres) and connect to it.
172
+ // - Otherwise, --use-pglite=true (default) starts an embedded PGlite.
173
+ const usePgliteFlag = getArg("--use-pglite");
174
+ const envFlag = process.env.CHORUS_USE_PGLITE;
175
+ const usePglite =
176
+ usePgliteFlag === "false" || envFlag === "0" || envFlag === "false"
177
+ ? false
178
+ : true;
179
+ const startEmbeddedPglite = usePglite && !process.env.DATABASE_URL;
180
+
181
+ if (!usePglite && !process.env.DATABASE_URL) {
182
+ console.error(
183
+ "ERROR: --use-pglite=false requires DATABASE_URL to be set."
184
+ );
185
+ process.exit(1);
186
+ }
163
187
 
164
- // 2. Determine database mode
165
- const useExternalDb = !!process.env.DATABASE_URL;
188
+ // 2. Signal child processes to pin pg.Pool max=1 when using any PGlite backend.
189
+ if (usePglite) {
190
+ process.env.CHORUS_USE_PGLITE = "1";
191
+ }
166
192
 
167
- if (!useExternalDb) {
168
- // Start embedded PGlite
193
+ // 3. Start embedded PGlite if requested (no DATABASE_URL pointing at an
194
+ // external instance).
195
+ if (startEmbeddedPglite) {
196
+ mkdirSync(join(dataDir, "pglite"), { recursive: true });
169
197
  console.log(`Starting embedded PostgreSQL (PGlite) on port ${PGLITE_PORT}...`);
170
198
 
171
199
  // @electric-sql/pglite-socket does not expose `./dist/scripts/server.js`
@@ -253,13 +281,26 @@ async function main() {
253
281
  console.log("");
254
282
  console.log(` URL: http://${hostname === "0.0.0.0" ? "localhost" : hostname}:${port}`);
255
283
  console.log(` Data: ${dataDir}`);
256
- console.log(` Database: ${useExternalDb ? "external PostgreSQL" : "PGlite (embedded)"}`);
284
+ const dbLabel = usePglite
285
+ ? (startEmbeddedPglite
286
+ ? "PGlite (embedded, pg.Pool max=1)"
287
+ : "PGlite (external, pg.Pool max=1)")
288
+ : "external PostgreSQL";
289
+ console.log(` Database: ${dbLabel}`);
257
290
  console.log(` Redis: ${process.env.REDIS_URL ? "connected" : "disabled (in-memory EventBus)"}`);
258
291
  const maskedPassword = process.env.DEFAULT_PASSWORD === "chorus"
259
292
  ? "chorus"
260
293
  : "****";
261
294
  console.log(` Login: ${process.env.DEFAULT_USER} / ${maskedPassword}`);
262
295
  console.log("");
296
+ if (usePglite) {
297
+ console.log(" ⚠ PGlite mode pins pg.Pool to max=1 to avoid a cross-handler");
298
+ console.log(" race in @electric-sql/pglite-socket. Concurrent DB traffic is");
299
+ console.log(" serialized — fine for local single-user use, but for multi-user");
300
+ console.log(" or production deployments use a real PostgreSQL: pass");
301
+ console.log(" --use-pglite=false and set DATABASE_URL.");
302
+ console.log("");
303
+ }
263
304
 
264
305
  // 7. Ensure static assets are accessible inside standalone directory
265
306
  // next build puts .next/static/ and public/ at the project root, but
@@ -279,8 +320,11 @@ async function main() {
279
320
  }
280
321
 
281
322
  // 8. Start Next.js standalone server
323
+ // Use pathToFileURL — on Windows, dynamic import() rejects bare drive paths
324
+ // like "C:\…\server.js" with ERR_UNSUPPORTED_ESM_URL_SCHEME. file:// URLs
325
+ // work on every platform.
282
326
  process.chdir(standaloneDir);
283
- await import(join(standaloneDir, "server.js"));
327
+ await import(pathToFileURL(join(standaloneDir, "server.js")).href);
284
328
  }
285
329
 
286
330
  // ---------------------------------------------------------------------------
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chorus-aidlc/chorus",
3
- "version": "0.7.1",
3
+ "version": "0.8.1",
4
4
  "description": "The Agent Harness for AI-Human Collaboration — session lifecycle, task state, sub-agent orchestration, observability, and failure recovery",
5
5
  "homepage": "https://github.com/Chorus-AIDLC/Chorus",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- "use strict";exports.id=1639,exports.ids=[1639],exports.modules={257:(a,b,c)=>{c.d(b,{F:()=>e});var d=c(42377);let e=(0,d.createServerReference)("4077a5703649e3d1c4349209f65e6d64b6ea5c4d23",d.callServer,void 0,d.findSourceMapURL,"getTaskSourceAction")},644:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},785:(a,b,c)=>{c.d(b,{f:()=>e});var d=c(42377);let e=(0,d.createServerReference)("406afedcd411eaaa478d46b4f103677baf2db8bcc6",d.callServer,void 0,d.findSourceMapURL,"getTaskActivitiesAction")},8849:(a,b,c)=>{c.d(b,{b:()=>e});var d=c(42377);let e=(0,d.createServerReference)("6087c85c777ab278476906c7c12f9db1d6c24f5275",d.callServer,void 0,d.findSourceMapURL,"updateTaskStatusAction")},13151:(a,b,c)=>{c.d(b,{Y:()=>e});var d=c(42377);let e=(0,d.createServerReference)("401c19f5b7d207c4cba88fcbdee5866eb70f265d78",d.callServer,void 0,d.findSourceMapURL,"updateTaskFieldsAction")},15327:(a,b,c)=>{c.d(b,{h:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60729c80a78426b20df988578d998a566a66bc2496",d.callServer,void 0,d.findSourceMapURL,"markCriteriaAction")},16276:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(42377);let e=(0,d.createServerReference)("6044118f945eb7ec572d28494f4fc5b2fb4820827d",d.callServer,void 0,d.findSourceMapURL,"deleteTaskAction")},16638:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(42377);let e=(0,d.createServerReference)("4031d5da5330dfa122d8300df4f488c4f13fa1d9fe",d.callServer,void 0,d.findSourceMapURL,"createTaskAction")},18693:(a,b,c)=>{c.d(b,{Q:()=>u});var d=c(10837),e=c(21968),f=c(1007),g=c(9222),h=c(10694),i=c(86460),j=c(16235),k=c(97443),l=c(42424),m=c(2852),n=c(11225),o=c(55732),p=c(42377);p.callServer,p.findSourceMapURL;let q=(0,p.createServerReference)("40f7a9a62acd203b03bc4bce1bc45bd4b3bc71546d",p.callServer,void 0,p.findSourceMapURL,"claimTaskAction"),r=(0,p.createServerReference)("600aa54e0e9c1ebfbce33061f33fa54ae172ce6aba",p.callServer,void 0,p.findSourceMapURL,"claimTaskToAgentAction"),s=(0,p.createServerReference)("6038409dcf4869824ac35ca72e9453a9d7d26b2232",p.callServer,void 0,p.findSourceMapURL,"claimTaskToUserAction"),t=(0,p.createServerReference)("403eb1f951029f9e86952fc15cad6fcd97bc7241e2",p.callServer,void 0,p.findSourceMapURL,"releaseTaskAction");function u({task:a,projectUuid:b,currentUserUuid:c,onClose:p}){let u=(0,g.c)(),v=(0,f.useRouter)(),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)("self"),[A,B]=(0,e.useState)(""),[C,D]=(0,e.useState)(""),[E,F]=(0,e.useState)([]),[G,H]=(0,e.useState)([]),[I,J]=(0,e.useState)(!0),[K,L]=(0,e.useState)(null),M=!!a.assignee,N=async()=>{let b;if(x(!0),L(null),"self"===y)b=await q(a.uuid);else if("agent"===y&&A)b=await r(a.uuid,A);else if("user"===y&&C)b=await s(a.uuid,C);else{if("release"!==y)return void x(!1);b=await t(a.uuid)}x(!1),b?.success?(p(),v.refresh()):b?.error&&L(b.error)},O="self"===y||"agent"===y&&A||"user"===y&&C||"release"===y&&M;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"fixed inset-0 z-50 bg-black/40",onClick:p}),(0,d.jsxs)("div",{className:"fixed left-1/2 top-1/2 z-50 w-[400px] -translate-x-1/2 -translate-y-1/2 rounded-2xl bg-white shadow-xl border border-[#E5E0D8]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between border-b border-[#E5E0D8] px-6 py-5",children:[(0,d.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:u("tasks.assignTask")}),(0,d.jsx)("button",{onClick:p,className:"text-[#9A9A9A] hover:text-[#6B6B6B] transition-colors",children:(0,d.jsx)(h.A,{className:"h-5 w-5"})})]}),(0,d.jsxs)("div",{className:"p-6 space-y-4",children:[(0,d.jsxs)("div",{className:"rounded-lg bg-[#FAF8F4] p-3",children:[(0,d.jsx)("p",{className:"text-[13px] font-medium text-[#2C2C2C]",children:a.title}),a.description&&(0,d.jsx)("p",{className:"mt-1 text-[11px] text-[#6B6B6B] line-clamp-2",children:a.description})]}),M&&(0,d.jsx)("div",{className:"rounded-lg bg-[#E3F2FD] p-3",children:(0,d.jsxs)("p",{className:"text-xs text-[#1976D2]",children:[u("common.currentAssignee"),": ",(0,d.jsx)("span",{className:"font-medium",children:a.assignee?.name})]})}),K&&(0,d.jsx)("div",{className:"rounded-lg bg-[#FEE2E2] p-3",children:(0,d.jsx)("p",{className:"text-xs text-[#D32F2F]",children:K})}),(0,d.jsx)("p",{className:"text-[13px] text-[#6B6B6B]",children:u("assign.selectAssignee")}),I?(0,d.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,d.jsx)(i.A,{className:"h-6 w-6 animate-spin text-[#9A9A9A]"})}):(0,d.jsxs)(n.z,{value:y,onValueChange:a=>z(a),className:"space-y-3",children:[(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors cursor-pointer ${"self"===y?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"}`,onClick:()=>z("self"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)(n.C,{value:"self",id:"self",className:"border-[#C67A52] text-[#C67A52]"}),(0,d.jsx)(m.J,{htmlFor:"self",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.assignToMyself")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:u("assign.assignToMyselfDesc")})]}),(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors ${"agent"===y?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>z("agent"),children:[(0,d.jsx)(n.C,{value:"agent",id:"agent",className:"border-[#C67A52] text-[#C67A52]"}),(0,d.jsx)(m.J,{htmlFor:"agent",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.orAssignToAgent")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:u("tasks.onlySelectedAgentCanWork")}),"agent"===y&&(0,d.jsx)("div",{className:"mt-3 ml-6",children:(0,d.jsxs)(o.l6,{value:A,onValueChange:B,children:[(0,d.jsx)(o.bq,{className:"w-full border-[#E5E0D8]",children:(0,d.jsx)(o.yv,{placeholder:u("tasks.selectAgent")})}),(0,d.jsx)(o.gC,{children:E.length>0?E.map(a=>(0,d.jsx)(o.eb,{value:a.uuid,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(j.A,{className:"h-4 w-4 text-[#C67A52]"}),(0,d.jsx)("span",{children:a.name})]})},a.uuid)):(0,d.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:u("tasks.noAgentsAvailable")})})]})})]}),(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors ${"user"===y?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8]"}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5 cursor-pointer",onClick:()=>z("user"),children:[(0,d.jsx)(n.C,{value:"user",id:"user",className:"border-[#C67A52] text-[#C67A52]"}),(0,d.jsx)(m.J,{htmlFor:"user",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.orAssignToUser")})]}),"user"===y&&(0,d.jsx)("div",{className:"mt-3 ml-6",children:(0,d.jsxs)(o.l6,{value:C,onValueChange:D,children:[(0,d.jsx)(o.bq,{className:"w-full border-[#E5E0D8]",children:(0,d.jsx)(o.yv,{placeholder:u("tasks.selectUser")})}),(0,d.jsx)(o.gC,{children:G.length>0?G.map(a=>(0,d.jsx)(o.eb,{value:a.uuid,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(k.A,{className:"h-4 w-4 text-[#6B6B6B]"}),(0,d.jsx)("span",{children:a.name||a.email})]})},a.uuid)):(0,d.jsx)("div",{className:"px-3 py-2 text-xs text-[#9A9A9A]",children:u("tasks.noUsersAvailable")})})]})})]}),M&&(0,d.jsxs)("div",{className:`rounded-[10px] p-4 transition-colors cursor-pointer ${"release"===y?"bg-[#FDF8F6] border-2 border-[#C67A52]":"bg-white border border-[#E5E0D8] hover:border-[#C67A52]/50"}`,onClick:()=>z("release"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,d.jsx)(n.C,{value:"release",id:"release",className:"border-[#C67A52] text-[#C67A52]"}),(0,d.jsx)(m.J,{htmlFor:"release",className:"text-sm font-medium text-[#2C2C2C] cursor-pointer",children:u("assign.releaseAssignee")})]}),(0,d.jsx)("p",{className:"mt-2 ml-6 text-xs text-[#6B6B6B] leading-relaxed",children:u("assign.releaseAssigneeDesc")})]})]})]}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-4 rounded-b-2xl bg-white px-6 py-6 border-t border-[#E5E0D8]",children:[(0,d.jsx)(l.$,{variant:"outline",onClick:p,disabled:w,className:"border-[#E5E0D8]",children:u("common.cancel")}),(0,d.jsx)(l.$,{onClick:N,disabled:w||!O,className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:w?(0,d.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):u("release"===y?"common.release":"common.assign")})]})]})]})}},20326:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40587f04bba4020ab6512d4dfce1f1270f96030863",d.callServer,void 0,d.findSourceMapURL,"getTaskSessionsAction")},21326:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},22293:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{TK:()=>l,kq:()=>m,wG:()=>k,xo:()=>j});var e=c(2613);c(50785);var f=c(9259),g=c(50530),h=c(12217),i=a([f,g]);async function j(a){let b=await (0,f.d)();if(!b)return{dependsOn:[],dependedBy:[]};try{return await g.vQ(b.companyUuid,a)}catch{return{dependsOn:[],dependedBy:[]}}}async function k(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{return await g.QL(c.companyUuid,a,b),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Unknown error"}}}async function l(a,b){let c=await (0,f.d)();if(!c)return{success:!1,error:"Unauthorized"};try{return await g.j9(c.companyUuid,a,b),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Unknown error"}}}async function m(a){let b=await (0,f.d)();if(!b)return{tasks:[]};try{return{tasks:(await g.Vk({companyUuid:b.companyUuid,projectUuid:a,skip:0,take:1e3})).tasks.map(a=>({uuid:a.uuid,title:a.title,status:a.status}))}}catch{return{tasks:[]}}}[f,g]=i.then?(await i)():i,(0,h.D)([j,k,l,m]),(0,e.A)(j,"405851867c858db547dd452f0019918f1385e0ba82",null),(0,e.A)(k,"60ea2934ba4a5b604a82f3617d1f94581311cab833",null),(0,e.A)(l,"601df9f3e57fbab53bd868d240dd95e5e96a4f125b",null),(0,e.A)(m,"404b290ebea3f0db599f51adffb8b083d3a8edcae5",null),d()}catch(a){d(a)}})},42206:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(42377);let e=(0,d.createServerReference)("601df9f3e57fbab53bd868d240dd95e5e96a4f125b",d.callServer,void 0,d.findSourceMapURL,"removeTaskDependencyAction")},42296:(a,b,c)=>{c.d(b,{k:()=>e});var d=c(42377);let e=(0,d.createServerReference)("404b290ebea3f0db599f51adffb8b083d3a8edcae5",d.callServer,void 0,d.findSourceMapURL,"getProjectTasksForDependencyAction")},45519:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]])},58270:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},59179:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]])},60265:(a,b,c)=>{c.d(b,{_u:()=>w,c_:()=>q,nF:()=>v,qK:()=>t});var d=c(10837),e=c(21968),f=c(47797),g=c(92460);c(63410);var h=c(24346),i=c.n(h),j=c(9222),k=c(49599);let l={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},m={open:"#E65100",assigned:"#1976D2",in_progress:"#5A9E6F",to_verify:"#7B1FA2",done:"#00796B",closed:"#9A9A9A"},n={low:"priority.low",medium:"priority.medium",high:"priority.high",critical:"priority.critical"},o={open:"status.open",assigned:"status.assigned",in_progress:"status.inProgress",to_verify:"status.toVerify",done:"status.done",closed:"status.closed"},p={low:"bg-[#9A9A9A]",medium:"bg-[#E65100]",high:"bg-[#D32F2F]",critical:"bg-[#B71C1C]"},q={taskNode:function({data:a}){let b=(0,j.c)();return(0,d.jsxs)("div",{className:"rounded-lg border-2 border-[#E5E2DC] bg-white px-4 py-3 shadow-sm min-w-[200px] max-w-[260px] cursor-pointer hover:border-[#C67A52] transition-colors",children:[(0,d.jsx)(f.h7,{type:"target",position:g.yX.Top,className:"!bg-[#C67A52] !w-2 !h-2"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,d.jsx)(k.E,{className:`text-[10px] ${l[a.status]||""}`,children:b(o[a.status]||a.status)}),(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)("div",{className:`h-1.5 w-1.5 rounded-full ${p[a.priority]||""}`}),(0,d.jsx)("span",{className:"text-[10px] text-[#9A9A9A]",children:b(n[a.priority]||a.priority)})]})]}),(0,d.jsx)("p",{className:"text-xs font-medium text-[#2C2C2C] leading-snug line-clamp-2",children:a.title}),(0,d.jsx)(f.h7,{type:"source",position:g.yX.Bottom,className:"!bg-[#C67A52] !w-2 !h-2"})]})}},r={taskNode:function({data:a}){let b=m[a.status]||"#E5E0D8";return(0,d.jsxs)("div",{className:"rounded-md border-[1.5px] bg-white px-2.5 py-1.5 shadow-sm",style:{borderColor:b,width:s},children:[(0,d.jsx)(f.h7,{type:"target",position:g.yX.Top,className:"!bg-[#C67A52] !w-1.5 !h-1.5"}),(0,d.jsx)("p",{className:"text-[10px] font-medium text-[#2C2C2C] leading-tight line-clamp-2",children:a.title}),(0,d.jsx)(f.h7,{type:"source",position:g.yX.Bottom,className:"!bg-[#C67A52] !w-1.5 !h-1.5"})]})}},s=150,t={animated:!0,style:{stroke:"#C67A52",strokeWidth:2},markerEnd:{type:"arrowclosed",color:"#C67A52"}},u={animated:!0,style:{stroke:"#C67A52",strokeWidth:1.5},markerEnd:{type:"arrowclosed",color:"#C67A52"}};function v(a,b,c){let d=c?.nodeWidth??240,e=c?.nodeHeight??80,f=new(i()).graphlib.Graph;return f.setDefaultEdgeLabel(()=>({})),f.setGraph({rankdir:"TB",nodesep:c?.nodesep??50,ranksep:c?.ranksep??80}),a.forEach(a=>{f.setNode(a.id,{width:d,height:e})}),b.forEach(a=>{f.setEdge(a.source,a.target)}),i().layout(f),{nodes:a.map(a=>{let b=f.node(a.id);return{...a,position:{x:b.x-d/2,y:b.y-e/2}}}),edges:b}}function w({tasks:a,edges:b,readonly:c=!1,compact:g=!1,height:h,onNodeClick:i,className:k}){let l=(0,j.c)(),{layoutedNodes:m,layoutedEdges:n}=(0,e.useMemo)(()=>{let c=a.map(a=>({id:a.uuid,type:"taskNode",position:{x:0,y:0},data:{title:a.title,status:a.status,priority:a.priority,proposalUuid:a.proposalUuid??null}})),d=v(c,b.map((a,b)=>({id:`e-${b}`,source:a.to,target:a.from,...g?u:t})),g?{nodeWidth:s,nodeHeight:50,nodesep:20,ranksep:40}:void 0);return{layoutedNodes:d.nodes,layoutedEdges:d.edges}},[a,b,g]);return 0===a.length?(0,d.jsx)("div",{className:`flex items-center justify-center text-sm text-[#9A9A9A] ${k||""}`,style:h?{height:h}:void 0,children:l("tasks.noTasksToDisplay")}):(0,d.jsx)("div",{className:`rounded-[10px] border border-[#E5E0D8] bg-[#F7F6F3] ${k||""}`,style:h?{height:h}:void 0,children:(0,d.jsxs)(f.Gc,{nodes:m,edges:n,nodeTypes:g?r:q,onNodeClick:i?(a,b)=>i(b.id):void 0,fitView:!0,fitViewOptions:{padding:.2},minZoom:.3,maxZoom:1.5,proOptions:{hideAttribution:!0},nodesDraggable:!c,nodesConnectable:!c,elementsSelectable:!c,panOnDrag:!0,zoomOnScroll:!0,children:[(0,d.jsx)(f.VS,{color:"#E5E0D8",gap:20}),!c&&(0,d.jsx)(f.H2,{className:"[&>button]:border-[#E5E0D8] [&>button]:bg-white [&>button]:text-[#2C2C2C] [&>button:hover]:bg-[#FAF8F4]"})]})})}},64029:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{f:()=>l});var e=c(2613);c(50785);var f=c(9259),g=c(67738),h=c(50530),i=c(97307),j=c(12217),k=a([f,g,h]);async function l(a){let b=await (0,f.d)();if(!b)return{activities:[],total:0};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{activities:[],total:0};return await (0,g.listActivitiesWithActorNames)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"task",targetUuid:a,skip:0,take:50})}catch(a){return i.A.error({err:a},"Failed to get task activities"),{activities:[],total:0}}}[f,g,h]=k.then?(await k)():k,(0,j.D)([l]),(0,e.A)(l,"406afedcd411eaaa478d46b4f103677baf2db8bcc6",null),d()}catch(a){d(a)}})},66334:(a,b,c)=>{c.d(b,{x:()=>e});var d=c(42377);let e=(0,d.createServerReference)("405851867c858db547dd452f0019918f1385e0ba82",d.callServer,void 0,d.findSourceMapURL,"getTaskDependenciesAction")},71353:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{IY:()=>n,Nq:()=>m,hD:()=>l});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(50530),i=c(97307),j=c(12217),k=a([g,h]);async function l(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,error:"Only users can verify acceptance criteria"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};let e=await (0,h._T)(c.companyUuid,a,b,{type:c.type,actorUuid:c.actorUuid});return(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0,data:e}}catch(a){return i.A.error({err:a},"Failed to mark acceptance criteria"),{success:!1,error:"Failed to mark acceptance criteria"}}}async function m(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};if("user"!==c.type&&"super_admin"!==c.type)return{success:!1,error:"Only users can reset acceptance criteria"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};return await (0,h.Qi)(c.companyUuid,a,b),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0}}catch(a){return i.A.error({err:a},"Failed to reset acceptance criterion"),{success:!1,error:"Failed to reset acceptance criterion"}}}async function n(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};let e=await (0,h.cn)(c.companyUuid,a,b,{type:c.type,actorUuid:c.actorUuid});return(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0,data:e}}catch(a){return i.A.error({err:a},"Failed to self-check acceptance criteria"),{success:!1,error:"Failed to self-check acceptance criteria"}}}[g,h]=k.then?(await k)():k,(0,j.D)([l,m,n]),(0,e.A)(l,"60729c80a78426b20df988578d998a566a66bc2496",null),(0,e.A)(m,"60048fa1d5ef26a606a459457d8fb1984a1900b2b7",null),(0,e.A)(n,"6016192f1fc8a0ebae45917ad49a14d6e2da8c7ec4",null),d()}catch(a){d(a)}})},72189:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{F:()=>k});var e=c(2613);c(50785);var f=c(9259),g=c(97879),h=c(97307),i=c(12217),j=a([f,g]);async function k(a){let b=await (0,f.d)();if(!b)return null;try{let c=await (0,g.PK)(b.companyUuid,a);if(!c)return null;return{uuid:c.uuid,title:c.title}}catch(a){return h.A.error({err:a},"Failed to get task source"),null}}[f,g]=j.then?(await j)():j,(0,i.D)([k]),(0,e.A)(k,"4077a5703649e3d1c4349209f65e6d64b6ea5c4d23",null),d()}catch(a){d(a)}})},73393:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A0:()=>t,TV:()=>v,Yw:()=>u,bd:()=>q,hR:()=>r,iY:()=>n,p2:()=>p,qb:()=>o,vq:()=>w,y9:()=>s});var e=c(2613);c(50785);var f=c(5562),g=c(9259),h=c(50530),i=c(28774),j=c(67738),k=c(97307),l=c(12217),m=a([g,h,i,j]);async function n(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{success:!1,error:"Task not found"};if("open"!==c.status&&"assigned"!==c.status)return{success:!1,error:"Task is not available for claiming"};return await (0,h.QK)({taskUuid:a,companyUuid:b.companyUuid,assigneeType:b.type,assigneeUuid:b.actorUuid,assignedByUuid:b.actorUuid}),await (0,j.createActivity)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"task",targetUuid:a,actorType:b.type,actorUuid:b.actorUuid,action:"assigned",value:{assigneeType:b.type,assigneeUuid:b.actorUuid}}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to claim task"),{success:!1,error:"Failed to claim task"}}}async function o(a,b){let c=await (0,g.d)();if(!c||"user"!==c.type)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};if("open"!==d.status&&"assigned"!==d.status)return{success:!1,error:"Task is not available for claiming"};return await (0,h.QK)({taskUuid:a,companyUuid:c.companyUuid,assigneeType:"agent",assigneeUuid:b,assignedByUuid:c.actorUuid}),await (0,j.createActivity)({companyUuid:c.companyUuid,projectUuid:d.projectUuid,targetType:"task",targetUuid:a,actorType:c.type,actorUuid:c.actorUuid,action:"assigned",value:{assigneeType:"agent",assigneeUuid:b}}),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to claim task to agent"),{success:!1,error:"Failed to claim task"}}}async function p(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{success:!1,error:"Task not found"};if("assigned"!==c.status&&"in_progress"!==c.status)return{success:!1,error:"Task is not in assigned status"};return await (0,h.Fp)(a),await (0,j.createActivity)({companyUuid:b.companyUuid,projectUuid:c.projectUuid,targetType:"task",targetUuid:a,actorType:b.type,actorUuid:b.actorUuid,action:"released"}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to release task"),{success:!1,error:"Failed to release task"}}}async function q(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};return await (0,h.lC)(a,{status:b}),await (0,j.createActivity)({companyUuid:c.companyUuid,projectUuid:d.projectUuid,targetType:"task",targetUuid:a,actorType:c.type,actorUuid:c.actorUuid,action:"status_changed",value:{status:b}}),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to update task status"),{success:!1,error:"Failed to update task status"}}}async function r(a){let b=await (0,g.d)();if(!b||"user"!==b.type)return{success:!1,error:"Only humans can verify tasks"};try{let c=await (0,h.K4)(b.companyUuid,a);if(!c)return{success:!1,error:"Task not found"};if("to_verify"!==c.status)return{success:!1,error:"Task is not in to_verify status"};let d=await (0,h.Ew)(a);if(!d.allowed)return{success:!1,error:d.reason||"Not all required acceptance criteria are passed"};return await (0,h.lC)(a,{status:"done"}),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${c.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to verify task"),{success:!1,error:"Failed to verify task"}}}async function s(a,b){let c=await (0,g.d)();if(!c||"user"!==c.type)return{success:!1,error:"Unauthorized"};try{let d=await (0,h.K4)(c.companyUuid,a);if(!d)return{success:!1,error:"Task not found"};if("open"!==d.status&&"assigned"!==d.status)return{success:!1,error:"Task is not available for assigning"};return await (0,h.QK)({taskUuid:a,companyUuid:c.companyUuid,assigneeType:"user",assigneeUuid:b,assignedByUuid:c.actorUuid}),await (0,j.createActivity)({companyUuid:c.companyUuid,projectUuid:d.projectUuid,targetType:"task",targetUuid:a,actorType:c.type,actorUuid:c.actorUuid,action:"assigned",value:{assigneeType:"user",assigneeUuid:b}}),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks/${a}`),(0,f.revalidatePath)(`/projects/${d.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to assign task to user"),{success:!1,error:"Failed to assign task"}}}async function t(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{let c=await (0,h.UT)({companyUuid:b.companyUuid,projectUuid:a.projectUuid,title:a.title,description:a.description||null,priority:a.priority||"medium",storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria,createdByUuid:b.actorUuid});return await (0,j.createActivity)({companyUuid:b.companyUuid,projectUuid:a.projectUuid,targetType:"task",targetUuid:c.uuid,actorType:b.type,actorUuid:b.actorUuid,action:"task_created"}),(0,f.revalidatePath)(`/projects/${a.projectUuid}/tasks`),{success:!0,taskUuid:c.uuid}}catch(a){return k.A.error({err:a},"Failed to create task"),{success:!1,error:"Failed to create task"}}}async function u(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{if(!await (0,h.K4)(b.companyUuid,a.taskUuid))return{success:!1,error:"Task not found"};return await (0,h.lC)(a.taskUuid,{title:a.title,description:a.description,priority:a.priority,storyPoints:a.storyPoints,acceptanceCriteria:a.acceptanceCriteria}),(0,f.revalidatePath)(`/projects/${a.projectUuid}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to update task"),{success:!1,error:"Failed to update task"}}}async function v(a,b){let c=await (0,g.d)();if(!c)return{success:!1,error:"Unauthorized"};try{if(!await (0,h.K4)(c.companyUuid,a))return{success:!1,error:"Task not found"};return await (0,h.vq)(a),(0,f.revalidatePath)(`/projects/${b}/tasks`),{success:!0}}catch(a){return k.A.error({err:a},"Failed to delete task"),{success:!1,error:"Failed to delete task"}}}async function w(){let a=await (0,g.d)();if(!a||"user"!==a.type)return{agents:[],users:[]};try{let b=await (0,i.Ad)(a.companyUuid,"developer",a.actorUuid),c=await (0,i.A8)(a.companyUuid);return{agents:b,users:c,currentUserUuid:a.actorUuid}}catch(a){return k.A.error({err:a},"Failed to get developer agents"),{agents:[],users:[]}}}[g,h,i,j]=m.then?(await m)():m,(0,l.D)([n,o,p,q,r,s,t,u,v,w]),(0,e.A)(n,"40f7a9a62acd203b03bc4bce1bc45bd4b3bc71546d",null),(0,e.A)(o,"600aa54e0e9c1ebfbce33061f33fa54ae172ce6aba",null),(0,e.A)(p,"403eb1f951029f9e86952fc15cad6fcd97bc7241e2",null),(0,e.A)(q,"6087c85c777ab278476906c7c12f9db1d6c24f5275",null),(0,e.A)(r,"4077142db8d2ec1c066a58969b721cb84bc309c1be",null),(0,e.A)(s,"6038409dcf4869824ac35ca72e9453a9d7d26b2232",null),(0,e.A)(t,"4031d5da5330dfa122d8300df4f488c4f13fa1d9fe",null),(0,e.A)(u,"401c19f5b7d207c4cba88fcbdee5866eb70f265d78",null),(0,e.A)(v,"6044118f945eb7ec572d28494f4fc5b2fb4820827d",null),(0,e.A)(w,"00b90e532ab1af14f03a59ebaf794acdcb1e8e00e2",null),d()}catch(a){d(a)}})},77521:(a,b,c)=>{c.d(b,{Bj:()=>i,L8:()=>e,Wl:()=>j,_5:()=>h,eT:()=>f,fw:()=>g});var d=c(76664);let e=480;function f(a){switch(a){case"done":return"bg-[#00796B]";case"in_progress":return"bg-[#1976D2]";case"to_verify":return"bg-[#7B1FA2]";case"open":case"assigned":return"bg-[#E65100]";case"closed":return"bg-[#9A9A9A]";default:return"bg-[#D9D9D9]"}}function g(a,b){let c=new Date(a),e=new Date().getTime()-c.getTime(),f=Math.floor(e/6e4),g=Math.floor(e/36e5),h=Math.floor(e/864e5);return f<1?b("time.justNow"):f<60?b("time.minutesAgo",{minutes:f}):g<24?b("time.hoursAgo",{hours:g}):h<7?b("time.daysAgo",{days:h}):(0,d.r)(c)}let h={todo:"bg-[#FFF3E0] text-[#E65100]",in_progress:"bg-[#E3F2FD] text-[#1976D2]",human_conduct_required:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]"},i={todo:"todo",in_progress:"inProgress",human_conduct_required:"humanConductRequired",done:"done"},j={open:"open",researching:"researching",answer_questions:"answerQuestions",planning:"planning",review_proposal:"reviewProposal",building:"building",verify_work:"verifyWork",done:"done"}},78474:(a,b,c)=>{c.d(b,{N:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60048fa1d5ef26a606a459457d8fb1984a1900b2b7",d.callServer,void 0,d.findSourceMapURL,"resetCriterionAction")},81751:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{J:()=>l,h:()=>m});var e=c(2613);c(50785);var f=c(4687),g=c(9259),h=c(30457),i=c(97307),j=c(12217),k=a([g,h]);async function l(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,h.OU)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return i.A.error({err:a},"Failed to fetch task sessions"),{success:!1,error:"Failed to fetch task sessions"}}}async function m(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,h.y_)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return i.A.error({err:a},"Failed to fetch batch worker counts"),{success:!1,error:"Failed to fetch batch worker counts"}}}[g,h]=k.then?(await k)():k,(0,j.D)([l,m]),(0,e.A)(l,"40587f04bba4020ab6512d4dfce1f1270f96030863",null),(0,e.A)(m,"4037ee2edf72df3a68ba1e20d0b95f368656445ca8",null),d()}catch(a){d(a)}})},86104:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{v:()=>ab});var e=c(10837),f=c(21968),g=c(1007),h=c(9222),i=c(33407),j=c(10694),k=c(92900),l=c(35209),m=c(87461),n=c(16235),o=c(65956),p=c(86460),q=c(67832),r=c(98893),s=c(97825),t=c(59179),u=c(55775),v=c(9810),w=c(97443),x=c(58270),y=c(644),z=c(21326),A=c(79543),B=c(49599),C=c(35198),D=c(42424),E=c(9994),F=c(20170),G=c(2852),H=c(74645),I=c(55732),J=c(6019),K=c(80251),L=c(8849),M=c(16638),N=c(13151),O=c(16276),P=c(15327),Q=c(78474),R=c(56828);c(785),c(257);var S=c(41709),T=c(83457),U=c(18693);c(66334),c(42296);var V=c(89653),W=c(42206);c(20326);var X=c(76664),Y=c(31009),Z=c(45148),$=c(77521),_=a([R,T]);[R,T]=_.then?(await _)():_;let ac={open:"bg-[#FFF3E0] text-[#E65100]",assigned:"bg-[#E3F2FD] text-[#1976D2]",in_progress:"bg-[#E8F5E9] text-[#5A9E6F]",to_verify:"bg-[#F3E5F5] text-[#7B1FA2]",done:"bg-[#E0F2F1] text-[#00796B]",closed:"bg-[#F5F5F5] text-[#9A9A9A]"},ad={open:"open",assigned:"assigned",in_progress:"inProgress",to_verify:"toVerify",done:"done",closed:"closed"},ae={low:"bg-[#F5F5F5] text-[#9A9A9A]",medium:"bg-[#FFF3E0] text-[#E65100]",high:"bg-[#FEE2E2] text-[#D32F2F]",critical:"bg-[#FFCDD2] text-[#B71C1C]"},af={low:"lowPriority",medium:"mediumPriority",high:"highPriority",critical:"criticalPriority"};function aa(a,b){let c=new Date(a),d=new Date().getTime()-c.getTime(),e=Math.floor(d/6e4),f=Math.floor(d/36e5),g=Math.floor(d/864e5);return e<1?b("time.justNow"):e<60?b("time.minutesAgo",{minutes:e}):f<24?b("time.hoursAgo",{hours:f}):g<7?b("time.daysAgo",{days:g}):(0,X.r)(c)}function ab({task:a,projectUuid:b,currentUserUuid:c,mode:d="overlay",onClose:_,onCreated:ab,onDependencyChange:ag,onBack:ah}){let ai=(0,h.c)(),aj=(0,g.useRouter)(),[ak,al]=(0,f.useState)(!1),[am,an]=(0,f.useState)(!1),[ao,ap]=(0,f.useState)([]),[aq,ar]=(0,f.useState)(!0),[as,at]=(0,f.useState)(null),[au,av]=(0,f.useState)(!1),[aw,ax]=(0,f.useState)([]),[ay,az]=(0,f.useState)([]),[aA,aB]=(0,f.useState)(!1),[aC,aD]=(0,f.useState)([]),[aE,aF]=(0,f.useState)(null),[aG,aH]=(0,f.useState)([]),[aI,aJ]=(0,f.useState)([]),aK=null===a,[aL,aM]=(0,f.useState)(aK),[aN,aO]=(0,f.useState)(a?.title||""),[aP,aQ]=(0,f.useState)(a?.description||""),[aR,aS]=(0,f.useState)(a?.priority||"medium"),[aT,aU]=(0,f.useState)(a?.storyPoints!=null?String(a.storyPoints):""),[aV,aW]=(0,f.useState)(a?.acceptanceCriteria||""),[aX,aY]=(0,f.useState)(!1),[aZ,a$]=(0,f.useState)(null),[a_,a0]=(0,f.useState)(!1),a1=a?.assignee?.uuid===c,a2=a1&&a?.status==="assigned",a3=a1&&a?.status==="in_progress",a4=a?.status==="to_verify",a5=async b=>{if(!a)return;an(!0);let c=await (0,L.b)(a.uuid,b);an(!1),c.success&&(_(),aj.refresh())},a6=()=>{if(aK)return void _();aM(!1),a&&(aO(a.title),aQ(a.description||""),aS(a.priority),aU(null!=a.storyPoints?String(a.storyPoints):""),aW(a.acceptanceCriteria||"")),a$(null)},a7=async()=>{if(!aN.trim())return void a$(ai("tasks.titleRequired"));aY(!0),a$(null);let c=aT.trim()?parseFloat(aT):null;if(aK){let a=await (0,M.A)({projectUuid:b,title:aN.trim(),description:aP.trim()||void 0,priority:aR,storyPoints:c,acceptanceCriteria:aV.trim()||null});aY(!1),a.success?(aI.length>0&&a.taskUuid&&(await Promise.all(aI.map(b=>(0,V.w)(a.taskUuid,b.uuid))),ag?.()),ab?.(),_(),aj.refresh()):a$(a.error||ai("tasks.createFailed"))}else{let d=await (0,N.Y)({taskUuid:a.uuid,projectUuid:b,title:aN.trim(),description:aP.trim()||null,priority:aR,storyPoints:c,acceptanceCriteria:aV.trim()||null});aY(!1),d.success?(aM(!1),aj.refresh()):a$(d.error||ai("tasks.updateFailed"))}},a8=async()=>{if(!a)return;a0(!0);let c=await (0,O.T)(a.uuid,b);a0(!1),c.success&&(_(),aj.refresh())},a9=async b=>{if(!a)return;aF(null);let c=await (0,V.w)(a.uuid,b);if(c.success){let a=aC.find(a=>a.uuid===b);a&&ax(b=>[...b,a]),ag?.()}else aF(c.error||ai("tasks.failedToAddDep"))},ba=async b=>{if(!a)return;aF(null);let c=await (0,W.T)(a.uuid,b);c.success?(ax(a=>a.filter(a=>a.uuid!==b)),ag?.()):aF(c.error||ai("tasks.failedToRemoveDep"))},bb=async b=>{if(!a)return;aF(null);let c=await (0,W.T)(b,a.uuid);c.success?(az(a=>a.filter(a=>a.uuid!==b)),ag?.()):aF(c.error||ai("tasks.failedToRemoveDep"))},bc=aC.filter(b=>b.uuid!==a?.uuid&&!aw.some(a=>a.uuid===b.uuid)),bd=aC.filter(a=>!aI.some(b=>b.uuid===a.uuid)),be="sidebyside"===d;return(0,e.jsxs)(e.Fragment,{children:[!be&&(0,e.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:_}),(0,e.jsxs)("div",{className:`fixed top-14 md:top-0 flex h-[calc(100%-3.5rem)] md:h-full w-full flex-col bg-white shadow-xl border-l border-[#E5E0D8] ${be?`z-40 ${ak?"":"animate-in slide-in-from-right duration-300"}`:`z-50 right-0 ${ak?"":"animate-in slide-in-from-right duration-300"}`}`,style:{maxWidth:`${$.L8}px`,...be?{right:`${$.L8}px`}:{}},children:[(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-[#F5F2EC] px-6 py-5",children:[ah&&(0,e.jsx)(D.$,{variant:"ghost",size:"icon",className:"mr-2 h-8 w-8 shrink-0",onClick:ah,children:(0,e.jsx)(l.A,{className:"h-4 w-4 text-[#6B6B6B]"})}),(0,e.jsx)("div",{className:"flex-1 min-w-0",children:aL?(0,e.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C]",children:aK?ai("tasks.createTaskTitle"):ai("tasks.editTask")}):a?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h2",{className:"text-base font-semibold text-[#2C2C2C] truncate",children:a.title}),(0,e.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,e.jsx)(B.E,{className:ac[a.status]||"",children:ai(`status.${ad[a.status]||a.status}`)}),(0,e.jsx)(B.E,{className:ae[a.priority]||"",children:ai(`priority.${af[a.priority]||a.priority}`)}),a.storyPoints&&(0,e.jsxs)("span",{className:"rounded bg-[#F5F2EC] px-2 py-0.5 text-xs font-medium text-[#6B6B6B]",children:[a.storyPoints,"h"]})]})]}):null}),(0,e.jsxs)("div",{className:"flex items-center gap-2 ml-4",children:[a&&!aL&&(0,e.jsxs)(D.$,{variant:"outline",size:"sm",className:"h-8 gap-1.5 border-[#E5E0D8] text-[#2C2C2C]",onClick:()=>{a&&(aO(a.title),aQ(a.description||""),aS(a.priority),aU(null!=a.storyPoints?String(a.storyPoints):""),aW(a.acceptanceCriteria||""),a$(null),aM(!0))},children:[(0,e.jsx)(m.A,{className:"h-3.5 w-3.5 text-[#6B6B6B]"}),(0,e.jsx)("span",{className:"text-xs",children:ai("common.edit")})]}),(0,e.jsx)(D.$,{variant:"outline",size:"icon",className:"h-8 w-8 border-[#E5E0D8]",onClick:aL&&!aK?a6:_,children:(0,e.jsx)(j.A,{className:"h-4 w-4 text-[#6B6B6B]"})})]})]}),(0,e.jsx)(H.F,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,e.jsx)("div",{className:"flex min-h-full flex-col px-6 py-5",children:aL?(0,e.jsxs)("div",{className:"space-y-5",children:[aZ&&(0,e.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:aZ}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{htmlFor:"edit-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:ai("tasks.titleLabel")}),(0,e.jsx)(E.p,{id:"edit-title",value:aN,onChange:a=>aO(a.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]",autoFocus:!0})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{htmlFor:"edit-description",className:"text-[13px] font-medium text-[#2C2C2C]",children:ai("tasks.descriptionLabel")}),(0,e.jsx)(F.T,{id:"edit-description",value:aP,onChange:a=>aQ(a.target.value),rows:4,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{htmlFor:"edit-priority",className:"text-[13px] font-medium text-[#2C2C2C]",children:ai("tasks.priorityLabel")}),(0,e.jsxs)(I.l6,{value:aR,onValueChange:aS,children:[(0,e.jsx)(I.bq,{className:"border-[#E5E0D8] text-sm focus:ring-[#C67A52]",children:(0,e.jsx)(I.yv,{})}),(0,e.jsxs)(I.gC,{children:[(0,e.jsx)(I.eb,{value:"low",children:ai("priority.low")}),(0,e.jsx)(I.eb,{value:"medium",children:ai("priority.medium")}),(0,e.jsx)(I.eb,{value:"high",children:ai("priority.high")})]})]})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{htmlFor:"edit-story-points",className:"text-[13px] font-medium text-[#2C2C2C]",children:ai("tasks.storyPointsLabel")}),(0,e.jsx)(E.p,{id:"edit-story-points",type:"number",min:"0",step:"0.5",value:aT,onChange:a=>aU(a.target.value),className:"border-[#E5E0D8] text-sm focus-visible:ring-[#C67A52]"})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{htmlFor:"edit-acceptance-criteria",className:"text-[13px] font-medium text-[#2C2C2C]",children:ai("tasks.acceptanceCriteriaLabel")}),(0,e.jsx)(F.T,{id:"edit-acceptance-criteria",value:aV,onChange:a=>aW(a.target.value),rows:4,className:"border-[#E5E0D8] text-sm resize-none focus-visible:ring-[#C67A52]"})]}),aK&&(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(G.J,{className:"text-[13px] font-medium text-[#2C2C2C]",children:ai("tasks.dependencies")}),aI.length>0&&(0,e.jsx)("div",{className:"space-y-1.5",children:aI.map(a=>(0,e.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,e.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:a.title}),(0,e.jsx)(B.E,{className:`shrink-0 text-[10px] ${ac[a.status]||""}`,children:ai(`status.${ad[a.status]||a.status}`)})]}),(0,e.jsx)(D.$,{type:"button",variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>aJ(b=>b.filter(b=>b.uuid!==a.uuid)),children:(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},a.uuid))}),bd.length>0&&(0,e.jsxs)(I.l6,{onValueChange:a=>{let b=aC.find(b=>b.uuid===a);b&&aJ(a=>[...a,b])},children:[(0,e.jsx)(I.bq,{className:"h-8 border-[#E5E0D8] text-xs text-[#6B6B6B] focus:ring-[#C67A52]",children:(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(k.A,{className:"h-3 w-3"}),(0,e.jsx)(I.yv,{placeholder:ai("tasks.addDependency")})]})}),(0,e.jsx)(I.gC,{children:bd.map(a=>(0,e.jsx)(I.eb,{value:a.uuid,children:(0,e.jsx)("span",{className:"truncate",children:a.title})},a.uuid))})]},aI.length)]})]}):a?(0,e.jsxs)(Y.P.div,{variants:Z.qG,initial:"initial",animate:"animate",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ai("common.assignee")}),(0,e.jsx)("div",{className:"mt-2 flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-3",children:a.assignee?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(K.eu,{className:"h-7 w-7",children:(0,e.jsx)(K.q5,{className:"agent"===a.assignee.type?"bg-[#C67A52] text-white":"bg-[#E5E0D8] text-[#6B6B6B]",children:"agent"===a.assignee.type?(0,e.jsx)(n.A,{className:"h-3.5 w-3.5"}):a.assignee.name.charAt(0).toUpperCase()})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("div",{className:"text-sm font-medium text-[#2C2C2C]",children:a.assignee.name}),(0,e.jsx)("div",{className:"text-xs text-[#6B6B6B]",children:"agent"===a.assignee.type?`${ai("common.agent")} • ${a.assignee.assignedAt?(0,X.r)(a.assignee.assignedAt):""}`:ai("common.user")})]})]}):(0,e.jsx)("span",{className:"text-sm text-[#9A9A9A]",children:ai("common.unassigned")})})]}),aG.length>0&&(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ai("sessions.activeWorkers")}),(0,e.jsx)("div",{className:"mt-2 space-y-1.5",children:aG.map(a=>(0,e.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg bg-[#FAF8F4] p-2.5",children:[(0,e.jsx)("div",{className:"h-2 w-2 rounded-full bg-green-500 flex-shrink-0"}),(0,e.jsxs)("div",{className:"min-w-0",children:[(0,e.jsx)("div",{className:"text-xs font-medium text-[#2C2C2C] truncate",children:a.sessionName}),(0,e.jsxs)("div",{className:"text-[10px] text-[#9A9A9A]",children:[a.agentName," \xb7 ",aa(a.checkinAt,ai)]})]})]},a.sessionUuid))})]}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ai("common.description")}),(0,e.jsx)("div",{className:"mt-2",children:a.description?(0,e.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,e.jsx)(S.jH,{plugins:{code:T.a},children:a.description})}):(0,e.jsx)("p",{className:"text-sm italic text-[#9A9A9A]",children:ai("common.noDescription")})})]}),a.acceptanceCriteria&&!(a.acceptanceCriteriaItems&&a.acceptanceCriteriaItems.length>0)&&(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ai("tasks.acceptanceCriteria")}),(0,e.jsx)("div",{className:"mt-2",children:(0,e.jsx)("div",{className:"prose prose-sm max-w-none text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,e.jsx)(S.jH,{plugins:{code:T.a},children:a.acceptanceCriteria})})})]}),as&&(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ai("common.source")}),(0,e.jsx)("a",{href:`/projects/${b}/proposals/${as.uuid}`,className:"mt-2 flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3 hover:bg-[#F0EDE5] transition-colors",children:(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(o.A,{className:"h-3.5 w-3.5 text-[#C67A52]"}),(0,e.jsx)("span",{className:"text-xs text-[#2C2C2C]",children:as.title})]})})]}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ai("tasks.dependencies")}),aE&&(0,e.jsx)("div",{className:"mt-2 rounded-lg bg-destructive/10 p-2.5 text-xs text-destructive",children:aE}),aA?(0,e.jsx)("div",{className:"mt-2 flex items-center justify-center py-4",children:(0,e.jsx)(p.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):(0,e.jsxs)(e.Fragment,{children:[aw.length>0&&(0,e.jsxs)("div",{className:"mt-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,e.jsx)(q.A,{className:"h-3 w-3 text-[#9A9A9A]"}),(0,e.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ai("tasks.dependsOn")})]}),(0,e.jsx)("div",{className:"space-y-1.5",children:aw.map(a=>(0,e.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-[#C67A52]"}),(0,e.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:a.title}),(0,e.jsx)(B.E,{className:`shrink-0 text-[10px] ${ac[a.status]||""}`,children:ai(`status.${ad[a.status]||a.status}`)})]}),(0,e.jsx)(D.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>ba(a.uuid),children:(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},a.uuid))})]}),ay.length>0&&(0,e.jsxs)("div",{className:"mt-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,e.jsx)(q.A,{className:"h-3 w-3 rotate-180 text-[#9A9A9A]"}),(0,e.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ai("tasks.blockedByThis")})]}),(0,e.jsx)("div",{className:"space-y-1.5",children:ay.map(a=>(0,e.jsxs)("div",{className:"group flex items-center justify-between rounded-lg bg-[#FAF8F4] p-3",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,e.jsx)(i.A,{className:"h-3.5 w-3.5 shrink-0 text-[#6B6B6B]"}),(0,e.jsx)("span",{className:"text-xs text-[#2C2C2C] truncate",children:a.title}),(0,e.jsx)(B.E,{className:`shrink-0 text-[10px] ${ac[a.status]||""}`,children:ai(`status.${ad[a.status]||a.status}`)})]}),(0,e.jsx)(D.$,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity ml-2 shrink-0",onClick:()=>bb(a.uuid),children:(0,e.jsx)(j.A,{className:"h-3.5 w-3.5 text-[#9A9A9A] hover:text-[#D32F2F]"})})]},a.uuid))})]}),0===aw.length&&0===ay.length&&(0,e.jsx)("p",{className:"mt-2 text-sm italic text-[#9A9A9A]",children:ai("tasks.noDependencies")}),bc.length>0&&(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsxs)(I.l6,{onValueChange:a=>a9(a),children:[(0,e.jsx)(I.bq,{className:"h-8 border-[#E5E0D8] text-xs text-[#6B6B6B] focus:ring-[#C67A52]",children:(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(k.A,{className:"h-3 w-3"}),(0,e.jsx)(I.yv,{placeholder:ai("tasks.addDependency")})]})}),(0,e.jsx)(I.gC,{children:bc.map(a=>(0,e.jsx)(I.eb,{value:a.uuid,children:(0,e.jsx)("span",{className:"truncate",children:a.title})},a.uuid))})]},aw.length)})]})]}),a&&a.acceptanceCriteriaItems&&a.acceptanceCriteriaItems.length>0&&(()=>{let b=a.acceptanceCriteriaItems,c=a.acceptanceSummary,d=a=>"passed"===a?(0,e.jsx)(r.A,{className:"h-4 w-4 text-green-600"}):"failed"===a?(0,e.jsx)(s.A,{className:"h-4 w-4 text-red-600"}):(0,e.jsx)(t.A,{className:"h-4 w-4 text-yellow-600"}),f=a=>"passed"===a?"bg-green-50 text-green-700":"failed"===a?"bg-red-50 text-red-700":"bg-yellow-50 text-yellow-700",g=async(b,c)=>{(await (0,P.h)(a.uuid,[{uuid:b,status:c}])).success&&aj.refresh()};return(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ai("acceptanceCriteria.title")}),c&&(0,e.jsx)(B.E,{className:f(a.acceptanceStatus||"pending"),variant:"secondary",children:ai("acceptanceCriteria.progress",{passed:c.passed,total:c.total})})]}),(0,e.jsxs)("div",{className:"mt-2 space-y-2",children:[b.map(b=>(0,e.jsx)(C.Zp,{className:"p-3",children:(0,e.jsxs)("div",{className:"flex items-start gap-2",children:[(0,e.jsx)("div",{className:"mt-0.5 shrink-0",children:d(b.status)}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,e.jsx)("span",{className:"text-xs text-[#2C2C2C]",children:b.description}),(0,e.jsx)(B.E,{variant:"outline",className:"text-[10px] shrink-0",children:b.required?ai("acceptanceCriteria.required"):ai("acceptanceCriteria.optional")})]}),(0,e.jsxs)("div",{className:"mt-2 space-y-1",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,e.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:ai("acceptanceCriteria.devSelfCheck")}),(0,e.jsxs)(B.E,{className:`text-[10px] ${f(b.devStatus)}`,variant:"secondary",children:[d(b.devStatus),(0,e.jsx)("span",{className:"ml-1",children:ai(`acceptanceCriteria.status.${b.devStatus}`)})]})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2 text-[10px]",children:[(0,e.jsx)("span",{className:"text-[#9A9A9A] w-20 shrink-0",children:ai("acceptanceCriteria.verification")}),(0,e.jsxs)(B.E,{className:`text-[10px] ${f(b.status)}`,variant:"secondary",children:[d(b.status),(0,e.jsx)("span",{className:"ml-1",children:ai(`acceptanceCriteria.status.${b.status}`)})]})]})]}),b.devEvidence&&(0,e.jsxs)("div",{className:"mt-2 rounded bg-[#FAF8F4] p-2",children:[(0,e.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:ai("acceptanceCriteria.devEvidence")}),(0,e.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:b.devEvidence})]}),b.evidence&&(0,e.jsxs)("div",{className:"mt-2 rounded bg-[#FAF8F4] p-2",children:[(0,e.jsx)("span",{className:"text-[10px] font-medium text-[#9A9A9A]",children:ai("acceptanceCriteria.verifyEvidence")}),(0,e.jsx)("p",{className:"text-[11px] text-[#2C2C2C] mt-0.5",children:b.evidence})]}),"pending"===b.status?(0,e.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,e.jsxs)(D.$,{size:"sm",variant:"outline",className:"h-8 min-h-[44px] sm:min-h-0 flex-1 sm:flex-none text-xs text-green-700 border-green-200 hover:bg-green-50",onClick:()=>g(b.uuid,"passed"),children:[(0,e.jsx)(r.A,{className:"h-3.5 w-3.5 mr-1"}),ai("acceptanceCriteria.pass")]}),(0,e.jsxs)(D.$,{size:"sm",variant:"outline",className:"h-8 min-h-[44px] sm:min-h-0 flex-1 sm:flex-none text-xs text-red-700 border-red-200 hover:bg-red-50",onClick:()=>g(b.uuid,"failed"),children:[(0,e.jsx)(s.A,{className:"h-3.5 w-3.5 mr-1"}),ai("acceptanceCriteria.fail")]})]}):(0,e.jsx)("div",{className:"mt-2",children:(0,e.jsx)(D.$,{size:"sm",variant:"ghost",className:"h-7 min-h-[44px] sm:min-h-0 text-xs text-[#9A9A9A] hover:text-[#2C2C2C]",onClick:async()=>{(await (0,Q.N)(a.uuid,b.uuid)).success&&aj.refresh()},children:ai("acceptanceCriteria.undoVerification")})})]})]})},b.uuid)),c&&(c.requiredPending>0||c.requiredFailed>0)&&(0,e.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-yellow-50 p-3 mt-2",children:[(0,e.jsx)(u.A,{className:"h-4 w-4 text-yellow-600 shrink-0"}),(0,e.jsx)("span",{className:"text-xs text-yellow-700",children:ai("acceptanceCriteria.gateBlocked",{count:c.requiredPending+c.requiredFailed})})]}),c&&0===c.requiredPending&&0===c.requiredFailed&&c.required>0&&(0,e.jsxs)("div",{className:"flex items-center gap-2 rounded-lg bg-green-50 p-3 mt-2",children:[(0,e.jsx)(r.A,{className:"h-4 w-4 text-green-600 shrink-0"}),(0,e.jsx)("span",{className:"text-xs text-green-700",children:ai("acceptanceCriteria.gateReady")})]})]})]})})(),(0,e.jsxs)("div",{className:"mt-5 flex-1",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ai("common.activity")}),(0,e.jsx)("div",{className:"mt-2 space-y-3",children:aq?(0,e.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,e.jsx)(p.A,{className:"h-4 w-4 animate-spin text-[#9A9A9A]"})}):0===ao.length?(0,e.jsx)("p",{className:"text-sm text-[#9A9A9A] italic",children:ai("common.noActivity")}):ao.map(a=>(0,e.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,e.jsx)("div",{className:"flex h-5 w-5 items-center justify-center rounded-full bg-[#F5F2EC]",children:(0,e.jsx)("div",{className:`h-2 w-2 rounded-full ${function(a){switch(a){case"task_created":return"bg-[#C67A52]";case"task_assigned":case"task_claimed":return"bg-[#1976D2]";case"task_started":return"bg-[#5A9E6F]";case"task_submitted":return"bg-[#7B1FA2]";case"task_completed":case"task_verified":return"bg-[#00796B]";case"task_released":return"bg-[#E65100]";default:return"bg-[#6B6B6B]"}}(a.action)}`})}),(0,e.jsxs)("div",{className:"flex-1",children:[(0,e.jsx)("p",{className:"text-xs text-[#2C2C2C]",children:function(a,b){let c=a.sessionName?`${a.actorName} / ${a.sessionName}`:a.actorName,{action:d}=a;switch(d){case"task_created":return b("activity.taskCreated",{actor:c});case"task_assigned":return b("activity.taskAssigned",{actor:c});case"task_claimed":return b("activity.taskClaimed",{actor:c});case"task_started":return b("activity.taskStarted",{actor:c});case"task_submitted":return b("activity.taskSubmitted",{actor:c});case"task_completed":case"task_verified":return b("activity.taskCompleted",{actor:c});case"task_released":return b("activity.taskReleased",{actor:c});case"task_status_changed":return b("activity.taskStatusChanged",{actor:c});default:return`${c}: ${d}`}}(a,ai)}),(0,e.jsx)("p",{className:"text-[10px] text-[#9A9A9A]",children:aa(a.createdAt,ai)})]})]},a.uuid))})]}),(0,e.jsxs)("div",{className:"mt-5",children:[(0,e.jsx)("label",{className:"text-[11px] font-medium uppercase tracking-wide text-[#9A9A9A]",children:ai("comments.title")}),(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsx)(R.$,{targetType:"task",targetUuid:a.uuid,currentUserUuid:c,compact:!0})})]})]}):null})}),(0,e.jsx)("div",{className:"border-t border-[#F5F2EC] px-6 py-4",children:(0,e.jsx)("div",{className:"flex items-center gap-3",children:aL?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(D.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:a6,disabled:aX,children:ai("common.cancel")}),(0,e.jsx)(D.$,{className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",onClick:a7,disabled:aX||!aN.trim(),children:aX?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),ai("common.saving")]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(v.A,{className:"mr-2 h-4 w-4"}),aK?ai("common.create"):ai("tasks.saveChanges")]})})]}):a?(0,e.jsxs)(e.Fragment,{children:["done"!==a.status&&"closed"!==a.status&&(0,e.jsxs)(D.$,{variant:"outline",className:"border-[#E5E0D8]",onClick:()=>av(!0),disabled:am,children:[(0,e.jsx)(w.A,{className:"mr-2 h-4 w-4"}),ai("common.assign")]}),a2&&(0,e.jsxs)(D.$,{className:"flex-1 bg-[#1976D2] hover:bg-[#1565C0] text-white",onClick:()=>a5("in_progress"),disabled:am,children:[(0,e.jsx)(x.A,{className:"mr-2 h-4 w-4"}),ai("tasks.startWork")]}),a3&&(0,e.jsxs)(D.$,{className:"flex-1 bg-[#7B1FA2] hover:bg-[#6A1B9A] text-white",onClick:()=>a5("to_verify"),disabled:am,children:[(0,e.jsx)(y.A,{className:"mr-2 h-4 w-4"}),ai("tasks.submitForReview")]}),a4&&(0,e.jsxs)(D.$,{className:"flex-1 bg-[#22C55E] hover:bg-[#16A34A] text-white",onClick:()=>a5("done"),disabled:am,children:[(0,e.jsx)(z.A,{className:"mr-2 h-4 w-4"}),ai("tasks.markAsVerified")]}),("done"===a.status||"closed"===a.status)&&(0,e.jsx)("div",{className:"text-sm text-[#9A9A9A] text-center w-full",children:ai("tasks.taskCompleted")}),(0,e.jsx)("div",{className:"ml-auto",children:(0,e.jsxs)(J.Lt,{children:[(0,e.jsx)(J.tv,{asChild:!0,children:(0,e.jsx)(D.$,{variant:"outline",size:"icon",className:"h-9 w-9 border-[#E5E0D8] text-[#D32F2F] hover:bg-[#FFEBEE] hover:text-[#D32F2F] hover:border-[#D32F2F]",children:(0,e.jsx)(A.A,{className:"h-4 w-4"})})}),(0,e.jsxs)(J.EO,{children:[(0,e.jsxs)(J.wd,{children:[(0,e.jsx)(J.r7,{children:ai("tasks.deleteTask")}),(0,e.jsx)(J.$v,{children:ai("tasks.deleteTaskConfirm",{title:a.title})})]}),(0,e.jsxs)(J.ck,{children:[(0,e.jsx)(J.Zr,{children:ai("common.cancel")}),(0,e.jsx)(J.Rx,{variant:"destructive",onClick:a8,disabled:a_,children:a_?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),ai("common.delete")]}):ai("common.delete")})]})]})]})})]}):null})})]}),a&&au&&(0,e.jsx)(U.Q,{task:a,projectUuid:b,currentUserUuid:c,onClose:()=>av(!1)})]})}d()}catch(a){d(a)}})},89653:(a,b,c)=>{c.d(b,{w:()=>e});var d=c(42377);let e=(0,d.createServerReference)("60ea2934ba4a5b604a82f3617d1f94581311cab833",d.callServer,void 0,d.findSourceMapURL,"addTaskDependencyAction")},95654:(a,b,c)=>{c.d(b,{h:()=>e});var d=c(42377);let e=(0,d.createServerReference)("4037ee2edf72df3a68ba1e20d0b95f368656445ca8",d.callServer,void 0,d.findSourceMapURL,"getBatchWorkerCountsAction")},98625:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(21968);function e(a,b){let[c,e]=(0,d.useState)(b??null),[f,g]=(0,d.useState)(()=>null),h=(0,d.useCallback)((b,c)=>{let d=new URLSearchParams(window.location.search);b?d.set("panel",b):d.delete("panel"),c?d.set("tab",c):d.delete("tab");let e=d.toString();return e?`${a}?${e}`:a},[a]),i=(0,d.useCallback)((a,b)=>{let c=h(a,b);window.history.replaceState(null,"",c),e(a),g(b??null)},[h]),j=(0,d.useCallback)(()=>{let a=h(null);window.history.replaceState(null,"",a),e(null),g(null)},[h]),k=(0,d.useCallback)(a=>{if(!c)return;let b=h(c,a);window.history.replaceState(null,"",b),g(a)},[h,c]);return{selectedId:c,selectedTab:f,openPanel:i,closePanel:j,switchTab:k}}}};
@@ -1 +0,0 @@
1
- exports.id=3300,exports.ids=[3300],exports.modules={237:(a,b,c)=>{"use strict";c.d(b,{IdeaCreateForm:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call IdeaCreateForm() from the server but IdeaCreateForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/app/(dashboard)/projects/[uuid]/ideas/idea-create-form.tsx","IdeaCreateForm")},8234:(a,b,c)=>{"use strict";c.d(b,{AnimatedEmptyState:()=>f});var d=c(10837),e=c(31009);function f({children:a}){return(0,d.jsx)(e.P.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},transition:{duration:.2,ease:[0,0,.2,1]},children:a})}},34799:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IdeasList:()=>A});var e=c(10837),f=c(21968),g=c(81512),h=c.n(g),i=c(9222),j=c(16235),k=c(97443),l=c(59129),m=c(65956),n=c(35198),o=c(49599),p=c(80251),q=c(41709),r=c(83457),s=c(27380),t=c(76172),u=c(98625),v=c(22727),w=c(39099),x=c(60184),y=c(76664),z=a([r,s]);[r,s]=z.then?(await z)():z;let B={open:{dot:"bg-[#2563EB]",className:"bg-[#DBEAFE] text-[#1D4ED8] border-transparent"},elaborating:{dot:"bg-[#1976D2]",className:"bg-[#E3F2FD] text-[#1976D2] border-transparent"},proposal_created:{dot:"bg-[#FF9800]",className:"bg-[#FFF3E0] text-[#E65100] border-transparent"},completed:{dot:"bg-[#4CAF50]",className:"bg-[#E8F5E9] text-[#2E7D32] border-transparent"},closed:{dot:"bg-[#9A9A9A]",className:"bg-[#F5F5F5] text-[#6B6B6B] border-transparent"}},C={open:"open",elaborating:"elaborating",proposal_created:"proposal_created",completed:"completed",closed:"closed"};function A({ideas:a,projectUuid:b,currentUserUuid:c,usedIdeaUuids:d,ideaProposalMap:g,initialSelectedIdeaUuid:z}){let A=(0,i.c)(),[D,E]=(0,f.useState)(a),[F,G]=(0,f.useState)(d),[H,I]=(0,f.useState)(g),J=(0,f.useCallback)(async()=>{let a=await (0,x.z)(b);a.success&&(E(a.data.ideas),G(a.data.usedIdeaUuids),I(a.data.ideaProposalMap))},[b]);(0,t.eV)("idea",J);let K=`/projects/${b}/ideas`,{selectedId:L,openPanel:M,closePanel:N}=(0,u.T)(K,z),O=new Set(F),P=(0,f.useMemo)(()=>L?D.find(a=>a.uuid===L)??null:null,[L,D]);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(w.I,{className:"space-y-4",children:D.map(a=>{let c=B[a.status]||B.open,d=O.has(a.uuid);return(0,e.jsx)(w.T,{children:(0,e.jsx)(v.D,{entityType:"idea",entityUuid:a.uuid,children:(0,e.jsxs)(n.Zp,{className:"cursor-pointer border-[#E5E0D8] py-4 transition-all hover:border-[#C67A52]/50 hover:shadow-sm",onClick:()=>M(a.uuid),children:[(0,e.jsxs)(n.aR,{className:"gap-0 py-0",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(p.eu,{size:"sm",children:(0,e.jsx)(p.q5,{className:"bg-[#E5E0D8] text-[#6B6B6B]",children:a.createdBy?.type==="agent"?(0,e.jsx)(j.A,{className:"h-3 w-3"}):(0,e.jsx)(k.A,{className:"h-3 w-3"})})}),(0,e.jsx)("span",{className:"text-[11px] text-[#6B6B6B]",children:a.createdBy?.name||A("common.unknown")}),(0,e.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:"•"}),(0,e.jsx)("span",{className:"text-[11px] text-[#9A9A9A]",children:function(a,b){let c=new Date(a),d=new Date().getTime()-c.getTime(),e=Math.floor(d/6e4),f=Math.floor(d/36e5),g=Math.floor(d/864e5);return e<1?b("time.justNow"):e<60?b("time.minutesAgo",{minutes:e}):f<24?b("time.hoursAgo",{hours:f}):g<7?b("time.daysAgo",{days:g}):(0,y.r)(c)}(a.createdAt,A)})]}),(0,e.jsx)(n.X9,{children:(0,e.jsxs)(o.E,{className:`gap-1.5 text-[10px] ${c.className}`,children:[(0,e.jsx)("span",{className:`h-1.5 w-1.5 rounded-full ${c.dot}`}),d?A("ideas.proposalGenerated"):A(`status.${C[a.status]||a.status}`)]})})]}),(0,e.jsxs)(n.Wu,{className:"space-y-2 py-0",children:[a.assignee&&(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)("span",{className:"text-[11px] text-[#9A9A9A]",children:[A("ideas.assignedTo"),":"]}),(0,e.jsxs)(o.E,{className:"gap-1.5 bg-[#F0F9FF] text-[#0284C7] border-transparent text-[10px]",children:[(0,e.jsx)(j.A,{className:"h-3 w-3"}),a.assignee.name]})]}),(0,e.jsx)("h3",{className:"text-sm font-medium text-[#2C2C2C]",children:a.title}),a.content&&(0,e.jsx)("div",{className:"prose prose-sm max-w-none line-clamp-3 text-[13px] leading-relaxed text-[#2C2C2C]",children:(0,e.jsx)(q.jH,{plugins:{code:r.a},children:a.content})})]}),(0,e.jsxs)(n.wL,{className:"gap-4 py-0 text-[#6B6B6B]",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)(l.A,{className:"h-3.5 w-3.5"}),(0,e.jsxs)("span",{className:"text-xs",children:[a.commentCount," ",A("comments.title").toLowerCase()]})]}),d&&H[a.uuid]&&(0,e.jsxs)(h(),{href:`/projects/${b}/proposals/${H[a.uuid]}`,onClick:a=>a.stopPropagation(),className:"flex items-center gap-1.5 text-[#C67A52] hover:text-[#B56A42] transition-colors",children:[(0,e.jsx)(m.A,{className:"h-3.5 w-3.5"}),(0,e.jsx)("span",{className:"text-xs font-medium",children:A("ideas.viewProposal")})]})]})]})})},a.uuid)})}),P&&(0,e.jsx)(s.D,{idea:P,projectUuid:b,currentUserUuid:c,isUsedInProposal:O.has(P.uuid),onClose:N,onDeleted:N})]})}d()}catch(a){d(a)}})},36928:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{r:()=>v});var e=c(10023),f=c(18198),g=c.n(f),h=c(66530),i=c(26555),j=c(85394),k=c(74236),l=c(61007),m=c(97448),n=c(29662),o=c(66643),p=c(61413),q=c(57578),r=c(54349),s=c(237),t=c(84805),u=a([n,o,p,q,r]);[n,o,p,q,r]=u.then?(await u)():u;let w=["open","elaborating","proposal_created"],x={open:"open",elaborating:"elaborating",proposal_created:"proposal_created",completed:"completed",closed:"closed"};async function v({projectUuid:a,filter:b,isAssignedToMeFilter:c,initialSelectedIdeaUuid:d}){let f=await (0,n.d)();f||(0,h.redirect)("/login");let u=await (0,i.A)();await (0,p.Yi)(f.companyUuid,a)||(0,h.redirect)("/projects");let{ideas:v}=await (0,o.BB)({companyUuid:f.companyUuid,projectUuid:a,skip:0,take:1e3}),{ideas:y}=await (0,o.BB)({companyUuid:f.companyUuid,projectUuid:a,skip:0,take:1e3,assignedToMe:!0,actorUuid:f.actorUuid,actorType:f.type}),z=v.reduce((a,b)=>(a[b.status]=(a[b.status]||0)+1,a),{}),A=v.map(a=>a.uuid),B=A.length>0?await (0,q.e1)(f.companyUuid,A):{usedIdeas:[]},C=B.usedIdeas.map(a=>a.uuid),D={};for(let a of B.usedIdeas)D[a.uuid]=a.proposalUuid;let E=A.length>0?await (0,r.uA)(f.companyUuid,"idea",A):{},F=v;return c&&(F=y),"all"!==b&&(F=F.filter(a=>a.status===b)),(0,e.jsxs)("div",{className:"p-4 md:p-8",children:[(0,e.jsxs)("div",{className:"mb-6",children:[(0,e.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:u("ideas.title")}),(0,e.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:u("ideas.subtitle")})]}),(0,e.jsx)("div",{className:"mb-6",children:(0,e.jsx)(s.IdeaCreateForm,{projectUuid:a})}),(0,e.jsxs)("div",{className:"mb-6 flex gap-2 overflow-x-auto border-b border-border pb-4",children:[(0,e.jsx)(g(),{href:`/projects/${a}/ideas`,children:(0,e.jsxs)(j.$,{variant:"all"!==b||c?"ghost":"default",size:"sm",children:[u("ideas.all")," (",v.length,")"]})}),(0,e.jsx)(g(),{href:`/projects/${a}/ideas?assignedToMe=true`,children:(0,e.jsxs)(j.$,{variant:c&&"all"===b?"default":"ghost",size:"sm",children:[u("ideas.assignedToMe")," (",y.length,")"]})}),w.map(d=>{let f=z[d]||0;return(0,e.jsx)(g(),{href:`/projects/${a}/ideas?status=${d}${c?"&assignedToMe=true":""}`,children:(0,e.jsxs)(j.$,{variant:b===d?"default":"ghost",size:"sm",children:[u(`status.${x[d]}`)," (",f,")"]})},d)})]}),0===F.length?(0,e.jsx)(m.AnimatedEmptyState,{children:(0,e.jsxs)(k.Zp,{className:"flex flex-col items-center justify-center p-12 text-center",children:[(0,e.jsx)("div",{className:"mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-primary/10",children:(0,e.jsx)(l.A,{className:"h-8 w-8 text-primary"})}),(0,e.jsx)("h3",{className:"mb-2 text-lg font-medium text-foreground",children:"all"===b?u("ideas.noIdeas"):u("ideas.noIdeasWithStatus",{status:u(`status.${x[b]||b}`)})}),(0,e.jsx)("p",{className:"mb-6 max-w-sm text-sm text-muted-foreground",children:"all"===b?u("ideas.startByAdding"):u("ideas.ideasWithStatus")})]})}):(0,e.jsx)(t.IdeasList,{ideas:F.map(a=>({...a,commentCount:E[a.uuid]||0})),projectUuid:a,currentUserUuid:f.actorUuid,usedIdeaUuids:C,ideaProposalMap:D,initialSelectedIdeaUuid:d})]})}d()}catch(a){d(a)}})},39099:(a,b,c)=>{"use strict";c.d(b,{I:()=>g,T:()=>h});var d=c(10837),e=c(31009),f=c(45148);function g({children:a,className:b}){return(0,d.jsx)(e.P.div,{variants:f.bK,initial:"initial",animate:"animate",className:b,children:a})}function h({children:a,className:b}){return(0,d.jsx)(e.P.div,{variants:f.Rf,className:b,children:a})}},49311:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"0001960bafd749f60c5daf5bf3ba30b546ed920c71":()=>i.UD,"4004515421cee66239801b5c67f258475b249ba1ea":()=>i.qN,"40160cd5e9a08aca7375aefb470815b4c1834b7e5f":()=>f.zK,"401d400f977bdb2e53c96b824bed06e5eb5d27b37f":()=>e.Dv,"4046bd6d9d24b5c05b8e7465ad674fd309a5e165c9":()=>h.x,"4061a070c7e88c5985f3e622263de70c08970d9483":()=>i.ZL,"407011622364a55cf622bc6ca450f4e59d50867852":()=>f.w$,"409c7e2e848a704785745d8b3cd8498d2e2630bca0":()=>j.zS,"40d99ce33fa98dde63c6c3af0de97e7ef37cae60cb":()=>e.v5,"40efa334cd5378fdd2735cdbdc9b23b5f566211461":()=>f.JQ,"6033e1b95a65f202a52a6c893ef6879a5ea6d41f3f":()=>i.Ax,"607d2caeb9721178dd2c04ee76b961254a265c6262":()=>g.d,"60a749eb3a1cdc769e1047033577ceecc2f28e72ea":()=>e.Tg,"60beceb03c0f9caf18b244a0bd6e2987b282ae7dea":()=>j.yu,"60c8e7782eaba4568e3c087b3714fa32c4ced85ddf":()=>i.M$,"60ee487b6ee7a95212d187583976479e92aeff9d5f":()=>f.Z$,"702f319e2077ad37c4270562c100077fcbf2c67fa3":()=>j.em,"7042e4bd4e748b78e5378f1256a7824a4a64be3935":()=>g.s});var e=c(22299),f=c(31138),g=c(98581),h=c(80041),i=c(23157),j=c(22110),k=a([e,f,g,h,i,j]);[e,f,g,h,i,j]=k.then?(await k)():k,d()}catch(a){d(a)}})},52770:(a,b,c)=>{Promise.resolve().then(c.bind(c,43775)),Promise.resolve().then(c.bind(c,92851)),Promise.resolve().then(c.bind(c,11226)),Promise.resolve().then(c.bind(c,13065)),Promise.resolve().then(c.bind(c,64098)),Promise.resolve().then(c.bind(c,49442)),Promise.resolve().then(c.bind(c,66542)),Promise.resolve().then(c.bind(c,87827)),Promise.resolve().then(c.bind(c,81448)),Promise.resolve().then(c.bind(c,53392)),Promise.resolve().then(c.bind(c,97271)),Promise.resolve().then(c.bind(c,73814)),Promise.resolve().then(c.bind(c,62329)),Promise.resolve().then(c.bind(c,2768)),Promise.resolve().then(c.bind(c,1159)),Promise.resolve().then(c.bind(c,69757)),Promise.resolve().then(c.bind(c,92521)),Promise.resolve().then(c.bind(c,6873)),Promise.resolve().then(c.bind(c,10375)),Promise.resolve().then(c.bind(c,4176)),Promise.resolve().then(c.bind(c,33914)),Promise.resolve().then(c.bind(c,19868)),Promise.resolve().then(c.bind(c,32886)),Promise.resolve().then(c.bind(c,20294)),Promise.resolve().then(c.bind(c,94733)),Promise.resolve().then(c.bind(c,61298)),Promise.resolve().then(c.bind(c,8013)),Promise.resolve().then(c.bind(c,44236)),Promise.resolve().then(c.bind(c,5699)),Promise.resolve().then(c.t.bind(c,18198,23)),Promise.resolve().then(c.bind(c,237)),Promise.resolve().then(c.bind(c,84805)),Promise.resolve().then(c.bind(c,97448))},53376:(a,b,c)=>{"use strict";c.d(b,{IdeaCreateForm:()=>s});var d=c(10837),e=c(21968),f=c(1007),g=c(9222),h=c(42424),i=c(9994),j=c(20170),k=c(2852),l=c(35198),m=c(78323),n=c(31009),o=c(9810),p=c(86460),q=c(42377);let r=(0,q.createServerReference)("407011622364a55cf622bc6ca450f4e59d50867852",q.callServer,void 0,q.findSourceMapURL,"createIdeaAction");function s({projectUuid:a}){let b=(0,g.c)(),c=(0,f.useRouter)(),[q,s]=(0,e.useTransition)(),[t,u]=(0,e.useState)(""),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(!1),B=async d=>{if(d.preventDefault(),y(null),!t.trim())return void y(b("ideas.titleRequired"));s(async()=>{try{let d=await r({projectUuid:a,title:t.trim(),content:v.trim()||void 0});d.success?(A(!0),setTimeout(()=>{u(""),w(""),c.refresh(),A(!1)},600)):y(d.error||b("ideas.createFailed"))}catch{y(b("common.genericError"))}})};return(0,d.jsx)(l.Zp,{className:"border-[#E5E0D8] rounded-2xl py-5",children:(0,d.jsx)(l.Wu,{children:(0,d.jsxs)("form",{onSubmit:B,className:"space-y-4",children:[x&&(0,d.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:x}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.J,{htmlFor:"idea-title",className:"text-[13px] font-medium text-[#2C2C2C]",children:b("ideas.titleLabel")}),(0,d.jsx)(i.p,{id:"idea-title",value:t,onChange:a=>u(a.target.value),placeholder:b("ideas.whatIsYourIdea"),className:"border-[#E5E0D8] text-sm",required:!0})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.J,{htmlFor:"idea-content",className:"text-[13px] font-medium text-[#2C2C2C]",children:b("common.content")}),(0,d.jsx)(j.T,{id:"idea-content",value:v,onChange:a=>w(a.target.value),placeholder:b("ideas.addMoreDetails"),rows:2,className:"border-[#E5E0D8] text-sm resize-none"})]})]}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(h.$,{type:"submit",disabled:q||z||!t.trim(),size:"sm",className:"bg-[#C67A52] hover:bg-[#B56A42] text-white",children:(0,d.jsx)(m.N,{mode:"wait",children:z?(0,d.jsx)(n.P.span,{initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},exit:{opacity:0},transition:{duration:.15},className:"flex items-center gap-2",children:(0,d.jsx)(o.A,{className:"h-3.5 w-3.5"})},"success"):q?(0,d.jsxs)(n.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(p.A,{className:"h-4 w-4 animate-spin"}),b("common.creating")]},"loading"):(0,d.jsx)(n.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:b("ideas.submit")},"idle")})})})]})})})}},60184:(a,b,c)=>{"use strict";c.d(b,{z:()=>e});var d=c(42377);let e=(0,d.createServerReference)("40160cd5e9a08aca7375aefb470815b4c1834b7e5f",d.callServer,void 0,d.findSourceMapURL,"fetchIdeasAction")},70922:(a,b,c)=>{Promise.resolve().then(c.bind(c,13753)),Promise.resolve().then(c.bind(c,81093)),Promise.resolve().then(c.bind(c,14672)),Promise.resolve().then(c.bind(c,25711)),Promise.resolve().then(c.bind(c,70952)),Promise.resolve().then(c.bind(c,98556)),Promise.resolve().then(c.bind(c,14220)),Promise.resolve().then(c.bind(c,5989)),Promise.resolve().then(c.bind(c,15906)),Promise.resolve().then(c.bind(c,45106)),Promise.resolve().then(c.bind(c,13277)),Promise.resolve().then(c.bind(c,55212)),Promise.resolve().then(c.bind(c,73935)),Promise.resolve().then(c.bind(c,50382)),Promise.resolve().then(c.bind(c,66529)),Promise.resolve().then(c.bind(c,41335)),Promise.resolve().then(c.bind(c,66619)),Promise.resolve().then(c.bind(c,53187)),Promise.resolve().then(c.bind(c,28121)),Promise.resolve().then(c.bind(c,63658)),Promise.resolve().then(c.bind(c,95556)),Promise.resolve().then(c.bind(c,28386)),Promise.resolve().then(c.bind(c,15644)),Promise.resolve().then(c.bind(c,25400)),Promise.resolve().then(c.bind(c,15700)),Promise.resolve().then(c.bind(c,31284)),Promise.resolve().then(c.bind(c,2807)),Promise.resolve().then(c.bind(c,59782)),Promise.resolve().then(c.bind(c,80501)),Promise.resolve().then(c.t.bind(c,81512,23)),Promise.resolve().then(c.bind(c,53376)),Promise.resolve().then(c.bind(c,34799)),Promise.resolve().then(c.bind(c,8234))},84805:(a,b,c)=>{"use strict";c.d(b,{IdeasList:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call IdeasList() from the server but IdeasList is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/app/(dashboard)/projects/[uuid]/ideas/ideas-list.tsx","IdeasList")},85394:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(10023);c(73426);var e=c(89571),f=c(15362),g=c(63413);let h=(0,e.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 i({className:a,variant:b="default",size:c="default",asChild:e=!1,...i}){let j=e?f.bL:"button";return(0,d.jsx)(j,{"data-slot":"button","data-variant":b,"data-size":c,className:(0,g.cn)(h({variant:b,size:c,className:a})),...i})}},97448:(a,b,c)=>{"use strict";c.d(b,{AnimatedEmptyState:()=>d});let d=(0,c(37143).registerClientReference)(function(){throw Error("Attempted to call AnimatedEmptyState() from the server but AnimatedEmptyState is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/ubuntu/dev/ai-pm/src/components/animated-empty-state.tsx","AnimatedEmptyState")},98625:(a,b,c)=>{"use strict";c.d(b,{T:()=>e});var d=c(21968);function e(a,b){let[c,e]=(0,d.useState)(b??null),[f,g]=(0,d.useState)(()=>null),h=(0,d.useCallback)((b,c)=>{let d=new URLSearchParams(window.location.search);b?d.set("panel",b):d.delete("panel"),c?d.set("tab",c):d.delete("tab");let e=d.toString();return e?`${a}?${e}`:a},[a]),i=(0,d.useCallback)((a,b)=>{let c=h(a,b);window.history.replaceState(null,"",c),e(a),g(b??null)},[h]),j=(0,d.useCallback)(()=>{let a=h(null);window.history.replaceState(null,"",a),e(null),g(null)},[h]),k=(0,d.useCallback)(a=>{if(!c)return;let b=h(c,a);window.history.replaceState(null,"",b),g(a)},[h,c]);return{selectedId:c,selectedTab:f,openPanel:i,closePanel:j,switchTab:k}}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=8251,exports.ids=[8251],exports.modules={2852:(a,b,c)=>{c.d(b,{J:()=>g});var d=c(10837);c(21968);var e=c(13277),f=c(96307);function g({className:a,...b}){return(0,d.jsx)(e.Root,{"data-slot":"label",className:(0,f.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...b})}},6008:(a,b,c)=>{c.d(b,{eZ:()=>d,kl:()=>e,lp:()=>f});let d=["idea","proposal","document","task","project"],e=["read","write","admin"],f=d.flatMap(a=>e.map(b=>`${a}:${b}`))},20170:(a,b,c)=>{c.d(b,{T:()=>f});var d=c(10837);c(21968);var e=c(96307);function f({className:a,...b}){return(0,d.jsx)("textarea",{"data-slot":"textarea",className:(0,e.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",a),...b})}},25711:(a,b,c)=>{c.r(b),c.d(b,{Checkbox:()=>v,CheckboxIndicator:()=>x,Indicator:()=>x,Root:()=>v,createCheckboxScope:()=>p,unstable_BubbleInput:()=>z,unstable_CheckboxBubbleInput:()=>z,unstable_CheckboxProvider:()=>s,unstable_CheckboxTrigger:()=>u,unstable_Provider:()=>s,unstable_Trigger:()=>u});var d=c(21968),e=c(96090),f=c(42990),g=c(22546),h=c(15035),i=c(29851),j=c(7579),k=c(5030),l=c(16551),m=c(10837),n="Checkbox",[o,p]=(0,f.A)(n),[q,r]=o(n);function s(a){let{__scopeCheckbox:b,checked:c,children:e,defaultChecked:f,disabled:g,form:i,name:j,onCheckedChange:k,required:l,value:o="on",internal_do_not_use_render:p}=a,[r,s]=(0,h.i)({prop:c,defaultProp:f??!1,onChange:k,caller:n}),[t,u]=d.useState(null),[v,w]=d.useState(null),x=d.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:r,disabled:g,setChecked:s,control:t,setControl:u,name:j,form:i,value:o,hasConsumerStoppedPropagationRef:x,required:l,defaultChecked:!A(f)&&f,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,m.jsx)(q,{scope:b,...z,children:"function"==typeof p?p(z):e})}var t="CheckboxTrigger",u=d.forwardRef(({__scopeCheckbox:a,onKeyDown:b,onClick:c,...f},h)=>{let{control:i,value:j,disabled:k,checked:n,required:o,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:s,isFormControl:u,bubbleInput:v}=r(t,a),w=(0,e.s)(h,p),x=d.useRef(n);return d.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,m.jsx)(l.sG.button,{type:"button",role:"checkbox","aria-checked":A(n)?"mixed":n,"aria-required":o,"data-state":B(n),"data-disabled":k?"":void 0,disabled:k,value:j,...f,ref:w,onKeyDown:(0,g.mK)(b,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,g.mK)(c,a=>{q(a=>!!A(a)||!a),v&&u&&(s.current=a.isPropagationStopped(),s.current||a.stopPropagation())})})});u.displayName=t;var v=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i,onCheckedChange:j,form:k,...l}=a;return(0,m.jsx)(s,{__scopeCheckbox:c,checked:e,defaultChecked:f,disabled:h,required:g,onCheckedChange:j,name:d,form:k,value:i,internal_do_not_use_render:({isFormControl:a})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u,{...l,ref:b,__scopeCheckbox:c}),a&&(0,m.jsx)(z,{__scopeCheckbox:c})]})})});v.displayName=n;var w="CheckboxIndicator",x=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,f=r(w,c);return(0,m.jsx)(k.C,{present:d||A(f.checked)||!0===f.checked,children:(0,m.jsx)(l.sG.span,{"data-state":B(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});x.displayName=w;var y="CheckboxBubbleInput",z=d.forwardRef(({__scopeCheckbox:a,...b},c)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:h,defaultChecked:k,required:n,disabled:o,name:p,value:q,form:s,bubbleInput:t,setBubbleInput:u}=r(y,a),v=(0,e.s)(c,u),w=(0,i.Z)(h),x=(0,j.X)(f);d.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==h&&a){let c=new Event("click",{bubbles:b});t.indeterminate=A(h),a.call(t,!A(h)&&h),t.dispatchEvent(c)}},[t,w,h,g]);let z=d.useRef(!A(h)&&h);return(0,m.jsx)(l.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:k??z.current,required:n,disabled:o,name:p,value:q,form:s,...b,tabIndex:-1,ref:v,style:{...b.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(a){return"indeterminate"===a}function B(a){return A(a)?"indeterminate":a?"checked":"unchecked"}z.displayName=y},26078:(a,b,c)=>{c.d(b,{RU:()=>h,s8:()=>g});let d={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]},e=["read","write","admin"],f=new Set(["idea","proposal","document","task","project"].flatMap(a=>e.map(b=>`${a}:${b}`)));function g(a){return f.has(a)}function h(a,b){let c=new Set;if(a)for(let b of a){let a=d[b.endsWith("_agent")?b:`${b}_agent`];if(a)for(let b of a)c.add(b)}if(b)for(let a of b)g(a)&&c.add(a);return c}},28774:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A8:()=>p,Ad:()=>o,CG:()=>n,Iq:()=>m,RB:()=>k,Sn:()=>h,d5:()=>l,tN:()=>j,x4:()=>i});var e=c(71255),f=c(77219),g=a([e,f]);async function h({companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,permissions:h}){return e.z.agent.create({data:{companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,...void 0!==h&&{permissions:h}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,createdAt:!0}})}async function i(a,b,c){if(c&&!await e.z.agent.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0}}))throw Error("Agent not found");return e.z.agent.update({where:{uuid:a},data:b,select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,lastActiveAt:!0,createdAt:!0}})}async function j(a,b){return e.z.apiKey.updateMany({where:{agentUuid:a,revokedAt:null},data:{name:b}})}async function k(a){return e.z.agent.delete({where:{uuid:a}})}async function l(a,b,c,d){let f={companyUuid:a,revokedAt:null,...d&&{agent:{ownerUuid:d}}},[g,h]=await Promise.all([e.z.apiKey.findMany({where:f,skip:b,take:c,orderBy:{createdAt:"desc"},include:{agent:{select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0}}}}),e.z.apiKey.count({where:f})]);return{apiKeys:g,total:h}}async function m({companyUuid:a,agentUuid:b,name:c,expiresAt:d}){let{key:g,hash:h,prefix:i}=(0,f.XH)();return{...await e.z.apiKey.create({data:{companyUuid:a,agentUuid:b,keyHash:h,keyPrefix:i,name:c,expiresAt:d},select:{uuid:!0,keyPrefix:!0,name:!0,expiresAt:!0,createdAt:!0}}),key:g}}async function n(a,b,c){return e.z.apiKey.findFirst({where:{uuid:b,companyUuid:a,...c&&{agent:{ownerUuid:c}}},select:{uuid:!0,agentUuid:!0,revokedAt:!0}})}async function o(a,b,c){return e.z.agent.findMany({where:{companyUuid:a,...c&&{ownerUuid:c},OR:[{roles:{has:b}},{roles:{has:`${b}_agent`}}]},select:{uuid:!0,name:!0,roles:!0,ownerUuid:!0},orderBy:{name:"asc"}})}async function p(a){return e.z.user.findMany({where:{companyUuid:a},select:{uuid:!0,name:!0,email:!0},orderBy:{name:"asc"}})}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},30356:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$y:()=>r,Fv:()=>p,IF:()=>o,KT:()=>s,Zh:()=>n,fG:()=>t,p3:()=>q});var e=c(2613);c(50785);var f=c(4687),g=c(9259),h=c(28774),i=c(30457),j=c(97307),k=c(26078),l=c(12217),m=a([g,h,i]);async function n(){let a=await (0,g.d)();a||(0,f.redirect)("/login");try{let{apiKeys:b}=await (0,h.d5)(a.companyUuid,0,100,a.actorUuid),c=b.map(a=>{let b=a.agent?.roles||[],c=a.agent?.permissions||[];return{uuid:a.uuid,keyPrefix:a.keyPrefix,name:a.agent?.name||a.name,lastUsed:null,expiresAt:a.expiresAt?.toISOString()||null,createdAt:a.createdAt.toISOString(),roles:b,permissions:c,effectivePermissions:Array.from((0,k.RU)(b,c)),agentUuid:a.agent?.uuid||"",persona:a.agent?.persona||null}});return{success:!0,data:c}}catch(a){return j.A.error({err:a},"Failed to fetch API keys"),{success:!1,error:"Failed to fetch API keys"}}}async function o(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{if(a.permissions){for(let b of a.permissions)if(!(0,k.s8)(b))return{success:!1,error:`Invalid permission: ${b}`}}let c=await (0,h.Sn)({companyUuid:b.companyUuid,name:a.name,roles:a.roles,ownerUuid:b.actorUuid,persona:a.persona,permissions:a.permissions}),d=await (0,h.Iq)({companyUuid:b.companyUuid,agentUuid:c.uuid,name:a.name});return{success:!0,key:d.key,agentUuid:c.uuid}}catch(a){return j.A.error({err:a},"Failed to create agent and API key"),{success:!1,error:"Failed to create API key"}}}async function p(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,h.CG)(b.companyUuid,a,b.actorUuid);if(!c)return{success:!1,error:"API key not found"};return await (0,h.RB)(c.agentUuid),{success:!0}}catch(a){return j.A.error({err:a},"Failed to delete API key"),{success:!1,error:"Failed to delete API key"}}}async function q(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{let c=await (0,i.Xo)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return j.A.error({err:a},"Failed to fetch agent sessions"),{success:!1,error:"Failed to fetch agent sessions"}}}async function r(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{return await (0,i.Vu)(b.companyUuid,a),{success:!0}}catch(a){return j.A.error({err:a},"Failed to close session"),{success:!1,error:"Failed to close session"}}}async function s(a){let b=await (0,g.d)();b||(0,f.redirect)("/login");try{return await (0,i.aQ)(b.companyUuid,a),{success:!0}}catch(a){return j.A.error({err:a},"Failed to reopen session"),{success:!1,error:"Failed to reopen session"}}}async function t(a){let b=await (0,g.d)();if(!b)return{success:!1,error:"Unauthorized"};try{if(a.permissions){for(let b of a.permissions)if(!(0,k.s8)(b))return{success:!1,error:`Invalid permission: ${b}`}}let c={};return void 0!==a.name&&(c.name=a.name),void 0!==a.roles&&(c.roles=a.roles),void 0!==a.persona&&(c.persona=a.persona),void 0!==a.permissions&&(c.permissions=a.permissions),await (0,h.x4)(a.agentUuid,c,b.companyUuid),void 0!==a.name&&await (0,h.tN)(a.agentUuid,a.name),{success:!0}}catch(a){return j.A.error({err:a},"Failed to update agent"),{success:!1,error:"Failed to update agent"}}}[g,h,i]=m.then?(await m)():m,(0,l.D)([n,o,p,q,r,s,t]),(0,e.A)(n,"008b7180af3fc37a4555d4dbfbb50d4ba3f5e62522",null),(0,e.A)(o,"4068b2fd6444238f60f22b80c2ba2d7324b889c046",null),(0,e.A)(p,"40020c619b3c4ae9759e19b5cfad47549c7eb588b9",null),(0,e.A)(q,"40c53dbb594ff66d6cee8f50abb3bd9bad42486071",null),(0,e.A)(r,"40f4fe6c53086a0a5e2976478adb1febed7be49171",null),(0,e.A)(s,"40155fa863acc9a1b239d8a523eed04771033c3261",null),(0,e.A)(t,"405c52526bb7c91d84755aa8b6d56788f28ba4a825",null),d()}catch(a){d(a)}})},35198:(a,b,c)=>{c.d(b,{BT:()=>i,Wu:()=>k,X9:()=>j,ZB:()=>h,Zp:()=>f,aR:()=>g,wL:()=>l});var d=c(10837);c(21968);var e=c(96307);function f({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card",className:(0,e.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...b})}function g({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-header",className:(0,e.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",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-title",className:(0,e.cn)("leading-none font-semibold",a),...b})}function i({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-description",className:(0,e.cn)("text-muted-foreground text-sm",a),...b})}function j({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-action",className:(0,e.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...b})}function k({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-content",className:(0,e.cn)("px-6",a),...b})}function l({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-footer",className:(0,e.cn)("flex items-center px-6 [.border-t]:pt-6",a),...b})}},53162:(a,b,c)=>{c.d(b,{I:()=>e});var d=c(42377);let e=(0,d.createServerReference)("4068b2fd6444238f60f22b80c2ba2d7324b889c046",d.callServer,void 0,d.findSourceMapURL,"createAgentAndKeyAction")},54005:(a,b,c)=>{c.d(b,{o:()=>d});let d={developer_agent:["idea:read","proposal:read","document:read","project:read","task:read","task:write"],pm_agent:["idea:read","idea:write","proposal:read","proposal:write","document:read","document:write","task:read","task:write","project:read","project:write"],admin_agent:["idea:read","idea:write","idea:admin","proposal:read","proposal:write","proposal:admin","document:read","document:write","document:admin","task:read","task:write","task:admin","project:read","project:write","project:admin"]}},67328:(a,b,c)=>{c.d(b,{Y:()=>l});var d=c(10837),e=c(21968),f=c(9222),g=c(42424),h=c(9810),i=c(10694),j=c(54722),k=c(91484);function l({onAgentCreated:a,createAgentAndKey:b,onClose:c,embedded:l=!1,submitLabel:m,submittingLabel:n}){let o=(0,f.c)(),[p,q]=(0,e.useState)(""),[r,s]=(0,e.useState)("admin_agent"),[t,u]=(0,e.useState)(["admin_agent"]),[v,w]=(0,e.useState)([]),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)(!1),F=async c=>{if((c.preventDefault(),p)&&("custom"!==r||0!==v.length)){A(!0);try{let c=await b({name:p,roles:t,permissions:"custom"===r?v:[],persona:x||null});c.success&&c.key?(l||C(c.key),a({uuid:c.agentUuid||"",name:p,roles:t,permissions:"custom"===r?v:[]},c.key)):j.q.error("Failed to create API key:",c.error)}catch(a){j.q.error("Failed to create API key:",a)}finally{A(!1)}}},G=async a=>{try{await navigator.clipboard.writeText(a),E(!0),setTimeout(()=>E(!1),2e3)}catch(a){j.q.error("Failed to copy to clipboard:",a)}},H=()=>{q(""),s("admin_agent"),u(["admin_agent"]),w([]),y(""),C(null),c?.()};return B&&!l?(0,d.jsxs)("div",{className:"p-6",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-2 text-green-600",children:[(0,d.jsx)(h.A,{className:"h-5 w-5"}),(0,d.jsx)("span",{className:"font-medium",children:o("settings.apiKeyCreated")})]}),(0,d.jsx)("p",{className:"mb-4 text-sm text-muted-foreground",children:o("settings.apiKeyCreatedDesc")}),(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-2",children:[(0,d.jsx)("code",{className:"flex-1 rounded bg-foreground px-3 py-2 font-mono text-sm text-background",children:B}),(0,d.jsx)(g.$,{variant:"outline",size:"sm",onClick:()=>G(B),children:o(D?"common.copied":"common.copy")})]}),(0,d.jsx)(g.$,{onClick:H,className:"w-full",children:o("common.done")})]}):(0,d.jsxs)("form",{onSubmit:F,children:[!l&&(0,d.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:o("settings.createApiKey")}),c&&(0,d.jsx)(g.$,{type:"button",variant:"ghost",size:"icon",onClick:H,className:"h-8 w-8",children:(0,d.jsx)(i.A,{className:"h-4 w-4"})})]}),(0,d.jsx)("div",{className:l?void 0:"p-6",children:(0,d.jsx)(k.L,{name:p,onNameChange:q,preset:r,permissions:v,onPermissionsChange:function(a){s(a.preset),u(a.roles),w(a.permissions)},persona:x,onPersonaChange:y,nameInputId:"keyName",personaInputId:"create-agent-persona"})}),(0,d.jsxs)("div",{className:l?"flex justify-end gap-3 pt-2":"flex justify-end gap-3 border-t border-border px-6 py-4",children:[!l&&c&&(0,d.jsx)(g.$,{type:"button",variant:"outline",onClick:H,children:o("common.cancel")}),(0,d.jsx)(g.$,{type:"submit",disabled:!p||"custom"===r&&0===v.length||z,className:l?"w-full":void 0,size:l?"lg":"default",children:z?n??o("settings.creating"):m??o("settings.createApiKey")})]})]})}},77219:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{XH:()=>h});var e=c(55511),f=c(71255);c(97307);var g=a([f]);f=(g.then?(await g)():g)[0];let i="cho_";function h(){var a;let b=(0,e.randomBytes)(32).toString("base64url"),c=`${i}${b}`,d=(a=c,(0,e.createHash)("sha256").update(a).digest("hex")),f=`${i}${b.slice(0,4)}...${b.slice(-4)}`;return{key:c,hash:d,prefix:f}}d()}catch(a){d(a)}})},91484:(a,b,c)=>{c.d(b,{L:()=>u});var d=c(10837),e=c(21968),f=c(9222),g=c(9994),h=c(2852),i=c(20170),j=c(9810),k=c(25711),l=c(96307);function m({className:a,...b}){return(0,d.jsx)(k.Root,{"data-slot":"checkbox",className:(0,l.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(k.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,d.jsx)(j.A,{className:"size-3.5"})})})}var n=c(55732),o=c(54005),p=c(6008);let q={admin_agent:"agent.permissions.presetAdmin",pm_agent:"agent.permissions.presetPm",developer_agent:"agent.permissions.presetDev",custom:"agent.permissions.presetCustom"},r={admin_agent:"agent.permissions.help.admin",pm_agent:"agent.permissions.help.pm",developer_agent:"agent.permissions.help.dev",custom:"agent.permissions.help.custom"},s=["admin_agent","pm_agent","developer_agent","custom"];function t({preset:a,permissions:b,onChange:c,readOnly:e=!1}){let g=(0,f.c)(),i=a??"custom",j=new Set("custom"===i?b:o.o[i]);return(0,d.jsxs)("div",{"data-testid":"agent-permission-picker",className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)(h.J,{className:"text-[13px] font-medium",children:g("agent.permissions.title")}),(0,d.jsx)("p",{className:"text-muted-foreground text-xs",children:g("agent.permissions.description")})]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(h.J,{htmlFor:"agent-permission-preset",children:g("agent.permissions.presetLabel")}),(0,d.jsxs)(n.l6,{value:i,onValueChange:function(a){if("custom"===a)return void c({preset:"custom",roles:[],permissions:Array.from(j)});a in o.o&&c({preset:a,roles:[a],permissions:[]})},disabled:e,children:[(0,d.jsx)(n.bq,{id:"agent-permission-preset",className:"w-full","aria-label":g("agent.permissions.presetLabel"),children:(0,d.jsx)(n.yv,{placeholder:g(q[i]),children:g(q[i])})}),(0,d.jsx)(n.gC,{children:s.map(a=>(0,d.jsx)(n.eb,{value:a,textValue:g(q[a]),children:(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 py-0.5",children:[(0,d.jsx)("span",{className:"text-sm font-semibold",children:g(q[a])}),(0,d.jsx)("span",{className:"text-muted-foreground text-xs",children:g(r[a])})]})},a))})]})]}),(0,d.jsxs)("div",{role:"grid","aria-label":g("agent.permissions.title"),className:"overflow-hidden rounded-md border",children:[(0,d.jsxs)("div",{role:"row",className:"bg-muted/50 text-muted-foreground grid grid-cols-[1.5fr_repeat(3,1fr)] items-center gap-2 px-4 py-2 text-xs font-medium",children:[(0,d.jsx)("div",{role:"columnheader",children:g("agent.permissions.resourceHeader")}),p.kl.map(a=>(0,d.jsx)("div",{role:"columnheader",className:"text-center",children:g(`agent.permissions.actions.${a}`)},a))]}),p.eZ.map(a=>(0,d.jsxs)("div",{role:"row",className:"border-t grid grid-cols-[1.5fr_repeat(3,1fr)] items-center gap-2 px-4 py-2 text-sm",children:[(0,d.jsx)("div",{role:"rowheader",className:"font-medium",children:g(`agent.permissions.resources.${a}`)}),p.kl.map(b=>{let f=`${a}:${b}`,h=`perm-${a}-${b}`;return(0,d.jsx)("div",{role:"gridcell",className:"flex items-center justify-center",children:(0,d.jsx)(m,{id:h,checked:j.has(f),disabled:e,"aria-label":`${g(`agent.permissions.resources.${a}`)} ${g(`agent.permissions.actions.${b}`)}`,onCheckedChange:a=>{if(!e){let b=new Set(j);!0===a?b.add(f):b.delete(f),c({preset:"custom",roles:[],permissions:Array.from(b)})}}})},b)})]},a))]})]})]})}function u({name:a,onNameChange:b,preset:c,permissions:j,onPermissionsChange:k,persona:l,onPersonaChange:m,nameInputId:n="agent-form-name",personaInputId:p="agent-form-persona",readOnly:q=!1}){let r=(0,f.c)(),s=(0,e.useMemo)(()=>"custom"===c?j:[...o.o[c]],[c,j]);return(0,d.jsxs)("div",{className:"space-y-5",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(h.J,{htmlFor:n,className:"text-[13px]",children:r("settings.name")}),(0,d.jsx)(g.p,{id:n,value:a,onChange:a=>b(a.target.value),placeholder:r("settings.namePlaceholder"),className:"border-[#E5E0D8]",required:!0,disabled:q})]}),(0,d.jsx)(t,{preset:c,permissions:s,onChange:k,readOnly:q}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(h.J,{htmlFor:p,className:"text-[13px]",children:r("settings.agentPersona")}),(0,d.jsx)(i.T,{id:p,value:l,onChange:a=>m(a.target.value),placeholder:r("settings.personaPlaceholder"),rows:4,disabled:q}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:r("settings.personaHint")})]})]})}}};