@chorus-aidlc/chorus 0.17.3 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +327 -325
  3. package/.next/standalone/.next/app-path-routes-manifest.json +37 -37
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +27 -27
  6. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +2 -2
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  46. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  50. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  51. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  54. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  55. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  57. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  58. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/admin.html +2 -2
  60. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  61. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/agent-connections/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  69. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  83. package/.next/standalone/.next/server/app/api/comments/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon/executions/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
  100. package/.next/standalone/.next/server/app/api/daemon/resume/route.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  103. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  106. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js.nft.json +1 -1
  107. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route.js.nft.json +1 -1
  109. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  113. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
  116. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/daemon-sessions/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  129. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
  132. package/.next/standalone/.next/server/app/api/events/notifications/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  135. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  139. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  142. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  145. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  148. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  151. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  154. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
  159. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/mcp/route.js +1 -1
  162. package/.next/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  165. package/.next/standalone/.next/server/app/api/me/assignments/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  168. package/.next/standalone/.next/server/app/api/mentionables/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  171. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  174. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  179. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  180. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  183. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  186. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
  192. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
  193. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  195. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  198. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js.nft.json +1 -1
  199. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  203. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  205. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  206. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  208. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  209. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  210. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  211. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
  212. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -1
  213. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  214. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  216. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  217. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js.nft.json +1 -1
  218. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  219. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  220. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js.nft.json +1 -1
  221. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route.js.nft.json +1 -1
  223. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -1
  224. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  225. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  226. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  227. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  228. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  229. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  230. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  232. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  233. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  234. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  235. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  236. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js.nft.json +1 -1
  237. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  238. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  239. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js.nft.json +1 -1
  240. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  241. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  242. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  245. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js.nft.json +1 -1
  246. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  247. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  248. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js.nft.json +1 -1
  249. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  250. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  251. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js.nft.json +1 -1
  252. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  253. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  254. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js.nft.json +1 -1
  255. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  256. package/.next/standalone/.next/server/app/index.html +2 -2
  257. package/.next/standalone/.next/server/app/index.rsc +2 -2
  258. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  259. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  260. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  261. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  262. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  263. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  264. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  265. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  267. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  268. package/.next/standalone/.next/server/app/login.html +2 -2
  269. package/.next/standalone/.next/server/app/login.rsc +2 -2
  270. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  271. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  273. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  274. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  275. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  276. package/.next/standalone/.next/server/app/projects.html +2 -2
  277. package/.next/standalone/.next/server/app/projects.rsc +3 -3
  278. package/.next/standalone/.next/server/app/settings.html +2 -2
  279. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  280. package/.next/standalone/.next/server/app-paths-manifest.json +37 -37
  281. package/.next/standalone/.next/server/chunks/109.js +1 -0
  282. package/.next/standalone/.next/server/chunks/1318.js +1 -1
  283. package/.next/standalone/.next/server/chunks/1496.js +1 -0
  284. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  285. package/.next/standalone/.next/server/chunks/2572.js +1 -1
  286. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  287. package/.next/standalone/.next/server/chunks/3112.js +1 -1
  288. package/.next/standalone/.next/server/chunks/{1201.js → 3619.js} +2 -2
  289. package/.next/standalone/.next/server/chunks/{3630.js → 4810.js} +1 -1
  290. package/.next/standalone/.next/server/chunks/4827.js +1 -1
  291. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  292. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  293. package/.next/standalone/.next/server/chunks/6506.js +2 -2
  294. package/.next/standalone/.next/server/chunks/6737.js +1 -0
  295. package/.next/standalone/.next/server/chunks/6753.js +3 -3
  296. package/.next/standalone/.next/server/chunks/679.js +1 -1
  297. package/.next/standalone/.next/server/chunks/731.js +1 -0
  298. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  299. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  300. package/.next/standalone/.next/server/chunks/7857.js +1 -0
  301. package/.next/standalone/.next/server/chunks/920.js +1 -1
  302. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  303. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  304. package/.next/standalone/.next/server/chunks/9931.js +1 -1
  305. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  306. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  307. package/.next/standalone/.next/server/pages/404.html +2 -2
  308. package/.next/standalone/.next/server/pages/500.html +1 -1
  309. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  310. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  311. package/.next/standalone/.next/static/chunks/11595.0afa1a540f681fb4.js +1 -0
  312. package/.next/standalone/.next/static/chunks/22705-324a191727ae45b7.js +1 -0
  313. package/.next/standalone/.next/static/chunks/33456.4a5f4712a7e78d8f.js +1 -0
  314. package/.next/standalone/.next/static/chunks/44216-3876e84f5b02d355.js +1 -0
  315. package/.next/standalone/.next/static/chunks/4860.5719e32b95be2d93.js +1 -0
  316. package/.next/standalone/.next/static/chunks/6528-a8a562ef7d26bb43.js +1 -0
  317. package/.next/standalone/.next/static/chunks/67439-7b339b28ed0ecfc6.js +1 -0
  318. package/.next/standalone/.next/static/chunks/79919-ae8bd8d8ec1e38ce.js +1 -0
  319. package/.next/standalone/.next/static/chunks/{46021-f5d072b0cbcb7fac.js → 82203-4ce5926624df7ed0.js} +1 -1
  320. package/.next/standalone/.next/static/chunks/94643-37ac7b8ef8ea5e75.js +1 -0
  321. package/.next/standalone/.next/static/chunks/99373.6c1509bfaf599741.js +1 -0
  322. package/.next/standalone/.next/static/chunks/99775-697e82ee04eac6b1.js +1 -0
  323. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-2fda722cdace8147.js +1 -0
  324. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-77b175e52a85f3cb.js → page-b45c42c536eff64b.js} +1 -1
  325. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-792aba7fd6b6daa3.js +1 -0
  326. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-800a979f12b73f27.js +1 -0
  327. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-69d3162667f85677.js → page-34de35f75aa71f6d.js} +1 -1
  328. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-a16002aa2a911619.js +1 -0
  329. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/{page-a3f83031dfbafc81.js → page-e8030824994edf35.js} +1 -1
  330. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-4f7f1ddbaf79be8f.js +1 -0
  331. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-3c7ff3a40a4615ac.js → page-349b0977f3c6209a.js} +1 -1
  332. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-7b8e11fdc5b596d0.js → page-be43cb06112fce12.js} +1 -1
  333. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-6916e1abab42a6e6.js +1 -0
  334. package/.next/standalone/.next/static/chunks/app/onboarding/{page-0ce33b9327fe3d8c.js → page-c0090caae202eae5.js} +1 -1
  335. package/.next/standalone/.next/static/chunks/{webpack-dffb97a4feb8faba.js → webpack-cfb63dd1b416c92e.js} +1 -1
  336. package/.next/standalone/.next/static/css/75c761a5428611fa.css +1 -0
  337. package/.next/standalone/package.json +1 -1
  338. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +2 -2
  339. package/.next/standalone/public/chorus-plugin/agents/code-reviewer.md +1 -0
  340. package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +12 -3
  341. package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +4 -0
  342. package/.next/standalone/public/chorus-plugin/bin/chorus-api.sh +1 -1
  343. package/.next/standalone/public/chorus-plugin/bin/on-post-submit-for-verify.sh +3 -3
  344. package/.next/standalone/public/chorus-plugin/bin/on-post-submit-proposal.sh +3 -3
  345. package/.next/standalone/public/chorus-plugin/bin/on-post-verify-task.sh +2 -2
  346. package/.next/standalone/public/chorus-plugin/bin/on-session-start.sh +39 -64
  347. package/.next/standalone/public/chorus-plugin/bin/resolve-spec-mode.sh +107 -0
  348. package/.next/standalone/public/chorus-plugin/bin/tests/test-resolver-drift.sh +46 -0
  349. package/.next/standalone/public/chorus-plugin/bin/tests/test-skill-harness-fidelity-negative.sh +328 -0
  350. package/.next/standalone/public/chorus-plugin/bin/tests/test-skill-harness-fidelity.sh +372 -0
  351. package/.next/standalone/public/chorus-plugin/bin/tests/test-spec-mode-resolution.sh +83 -0
  352. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  353. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +11 -6
  354. package/.next/standalone/public/chorus-plugin/skills/chorus-cli/SKILL.md +1 -1
  355. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +14 -9
  356. package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +1 -1
  357. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
  358. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +27 -31
  359. package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +11 -1
  360. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +14 -7
  361. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +6 -4
  362. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +10 -8
  363. package/.next/standalone/public/chorus-plugin/skills/spec-lite/SKILL.md +147 -0
  364. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +49 -34
  365. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-code-reviewer.json +1 -1
  366. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-proposal-reviewer.json +2 -1
  367. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-task-reviewer.json +1 -1
  368. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus.md +1 -1
  369. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
  370. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-cli/SKILL.md +1 -1
  371. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +9 -7
  372. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +1 -1
  373. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +1 -1
  374. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +35 -27
  375. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-orchestrate/SKILL.md +9 -1
  376. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +14 -7
  377. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +2 -2
  378. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +8 -8
  379. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-spec-lite/SKILL.md +147 -0
  380. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +39 -25
  381. package/.next/standalone/public/kiro-plugin/.kiro/steering/chorus.md +11 -6
  382. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
  383. package/.next/standalone/public/kiro-plugin/bin/on-agent-spawn.sh +41 -0
  384. package/.next/standalone/public/kiro-plugin/bin/on-post-submit-for-verify.sh +3 -3
  385. package/.next/standalone/public/kiro-plugin/bin/on-post-submit-proposal.sh +3 -3
  386. package/.next/standalone/public/kiro-plugin/bin/on-post-verify-task.sh +2 -2
  387. package/.next/standalone/public/kiro-plugin/bin/resolve-spec-mode.sh +107 -0
  388. package/.next/standalone/public/kiro-plugin/manifest.txt +2 -0
  389. package/.next/standalone/public/skill/chorus/SKILL.md +11 -1
  390. package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +1 -0
  391. package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
  392. package/.next/standalone/public/skill/orchestrate-chorus/SKILL.md +11 -1
  393. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +5 -2
  394. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  395. package/.next/standalone/public/skill/review-chorus/SKILL.md +5 -3
  396. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +4 -0
  397. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +23 -7
  398. package/README.ja.md +3 -3
  399. package/README.ko.md +3 -3
  400. package/README.md +3 -3
  401. package/README.zh.md +3 -3
  402. package/cli/agent-cli-config.mjs +323 -0
  403. package/cli/agent-launcher.mjs +44 -16
  404. package/cli/claude-spawner.mjs +22 -13
  405. package/cli/codex-spawner.mjs +23 -15
  406. package/cli/credentials.mjs +7 -0
  407. package/cli/daemon-config.mjs +14 -0
  408. package/cli/daemon.mjs +32 -6
  409. package/cli/dsh-managed-config.mjs +26 -28
  410. package/cli/dsh-spawner.mjs +23 -15
  411. package/cli/init/steps/credential-seed.mjs +1 -1
  412. package/cli/kiro-spawner.mjs +22 -15
  413. package/cli/launch-diagnostics.mjs +67 -0
  414. package/cli/login.mjs +17 -1
  415. package/cli/pi-spawner.mjs +19 -12
  416. package/cli/prompts.mjs +52 -2
  417. package/cli/spawner-select.mjs +6 -11
  418. package/package.json +1 -1
  419. package/.next/standalone/.next/server/chunks/1114.js +0 -1
  420. package/.next/standalone/.next/server/chunks/1155.js +0 -1
  421. package/.next/standalone/.next/server/chunks/6465.js +0 -1
  422. package/.next/standalone/.next/server/chunks/8105.js +0 -1
  423. package/.next/standalone/.next/server/chunks/8232.js +0 -1
  424. package/.next/standalone/.next/static/chunks/11595.f7c3ef5cd7fc8feb.js +0 -1
  425. package/.next/standalone/.next/static/chunks/33456.c81079032acc2966.js +0 -1
  426. package/.next/standalone/.next/static/chunks/45262-38b332523f00a223.js +0 -1
  427. package/.next/standalone/.next/static/chunks/4860.f0cfb1201191ae88.js +0 -1
  428. package/.next/standalone/.next/static/chunks/66609-64a01d5cb415465b.js +0 -1
  429. package/.next/standalone/.next/static/chunks/79919-c5a2a3fd8f5f9204.js +0 -1
  430. package/.next/standalone/.next/static/chunks/94394-38194b81b489275c.js +0 -1
  431. package/.next/standalone/.next/static/chunks/94643-f1bdf37fb3bb6adb.js +0 -1
  432. package/.next/standalone/.next/static/chunks/95225-96b44da3ebd6ddad.js +0 -1
  433. package/.next/standalone/.next/static/chunks/96482-2b3bdb2544d72e5a.js +0 -1
  434. package/.next/standalone/.next/static/chunks/99373.3c23ac2efbd4db02.js +0 -1
  435. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-66328332f62c7371.js +0 -1
  436. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-87ceae13c4950fc9.js +0 -1
  437. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-45e95154e546460e.js +0 -1
  438. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-b7b2017e5be69564.js +0 -1
  439. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-8b06834ca0f663bb.js +0 -1
  440. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-efe5326c47aca9ca.js +0 -1
  441. package/.next/standalone/.next/static/css/1d9cf83f50b6db00.css +0 -1
  442. /package/.next/standalone/.next/static/{wuqYN129vOIGymh_NEdZe → IxKVu5zkFPTjSKAUR99yH}/_buildManifest.js +0 -0
  443. /package/.next/standalone/.next/static/{wuqYN129vOIGymh_NEdZe → IxKVu5zkFPTjSKAUR99yH}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=1201,exports.ids=[1201],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}`))},8495:(a,b,c)=>{c.d(b,{S:()=>h});var d=c(10837);c(21968);var e=c(9810),f=c(25711),g=c(96307);function h({className:a,...b}){return(0,d.jsx)(f.Root,{"data-slot":"checkbox",className:(0,g.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(f.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,d.jsx)(e.A,{className:"size-3.5"})})})}},13277:(a,b,c)=>{c.r(b),c.d(b,{Label:()=>g,Root:()=>h});var d=c(21968),e=c(16551),f=c(10837),g=d.forwardRef((a,b)=>(0,f.jsx)(e.sG.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));g.displayName="Label";var h=g},25019:(a,b,c)=>{c.d(b,{I:()=>e});var d=c(42377);let e=(0,d.createServerReference)("403000d9280f48fe9c639cd14646a8e95ac606efd4",d.callServer,void 0,d.findSourceMapURL,"createAgentAndKeyAction")},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}},26346:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},27882:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Z:()=>m});var e=c(10837),f=c(9222),g=c(35198),h=c(94372),i=c(82658),j=c(21790),k=c(86700),l=a([k]);function m({apiKey:a}){let b=(0,f.c)("onboarding"),c=a||"<YOUR_API_KEY>",d=(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.profileStep.title")}),(0,e.jsx)(k.N,{language:"bash",code:'export CHORUS_AGENT_PROFILE="<agent-uuid>"'}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.profileStep.desc")})]});return(0,e.jsx)(g.Zp,{className:"w-full",children:(0,e.jsx)(g.Wu,{className:"p-6",children:(0,e.jsxs)(h.tU,{defaultValue:"claude-code",className:"w-full",children:[(0,e.jsxs)(h.j7,{className:"w-full justify-start overflow-x-auto",children:[(0,e.jsx)(h.Xi,{value:"claude-code",className:"shrink-0",children:b("install.tabs.claudeCode")}),(0,e.jsx)(h.Xi,{value:"codex",className:"shrink-0",children:b("install.tabs.codex")}),(0,e.jsx)(h.Xi,{value:"kiro",className:"shrink-0",children:b("install.tabs.kiro")}),(0,e.jsx)(h.Xi,{value:"pi",className:"shrink-0",children:b("install.tabs.pi")}),(0,e.jsx)(h.Xi,{value:"dsh",className:"shrink-0",children:b("install.tabs.dsh")}),(0,e.jsx)(h.Xi,{value:"opencode",className:"shrink-0",children:b("install.tabs.opencode")}),(0,e.jsx)(h.Xi,{value:"openclaw",className:"shrink-0",children:b("install.tabs.openClaw")}),(0,e.jsx)(h.Xi,{value:"other",className:"shrink-0",children:b("install.tabs.other")})]}),(0,e.jsxs)(h.av,{value:"claude-code",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.claudeCode.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
1
+ "use strict";exports.id=3619,exports.ids=[3619],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}`))},8495:(a,b,c)=>{c.d(b,{S:()=>h});var d=c(10837);c(21968);var e=c(9810),f=c(25711),g=c(96307);function h({className:a,...b}){return(0,d.jsx)(f.Root,{"data-slot":"checkbox",className:(0,g.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(f.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,d.jsx)(e.A,{className:"size-3.5"})})})}},13277:(a,b,c)=>{c.r(b),c.d(b,{Label:()=>g,Root:()=>h});var d=c(21968),e=c(16551),f=c(10837),g=d.forwardRef((a,b)=>(0,f.jsx)(e.sG.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));g.displayName="Label";var h=g},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}},26346:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},27882:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Z:()=>m});var e=c(10837),f=c(9222),g=c(35198),h=c(94372),i=c(82658),j=c(21790),k=c(86700),l=a([k]);function m({apiKey:a}){let b=(0,f.c)("onboarding"),c=a||"<YOUR_API_KEY>",d=(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.profileStep.title")}),(0,e.jsx)(k.N,{language:"bash",code:'export CHORUS_AGENT_PROFILE="<agent-uuid>"'}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.profileStep.desc")})]});return(0,e.jsx)(g.Zp,{className:"w-full",children:(0,e.jsx)(g.Wu,{className:"p-6",children:(0,e.jsxs)(h.tU,{defaultValue:"claude-code",className:"w-full",children:[(0,e.jsxs)(h.j7,{className:"w-full justify-start overflow-x-auto",children:[(0,e.jsx)(h.Xi,{value:"claude-code",className:"shrink-0",children:b("install.tabs.claudeCode")}),(0,e.jsx)(h.Xi,{value:"codex",className:"shrink-0",children:b("install.tabs.codex")}),(0,e.jsx)(h.Xi,{value:"kiro",className:"shrink-0",children:b("install.tabs.kiro")}),(0,e.jsx)(h.Xi,{value:"pi",className:"shrink-0",children:b("install.tabs.pi")}),(0,e.jsx)(h.Xi,{value:"dsh",className:"shrink-0",children:b("install.tabs.dsh")}),(0,e.jsx)(h.Xi,{value:"opencode",className:"shrink-0",children:b("install.tabs.opencode")}),(0,e.jsx)(h.Xi,{value:"openclaw",className:"shrink-0",children:b("install.tabs.openClaw")}),(0,e.jsx)(h.Xi,{value:"other",className:"shrink-0",children:b("install.tabs.other")})]}),(0,e.jsxs)(h.av,{value:"claude-code",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.claudeCode.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
2
2
  export CHORUS_API_KEY="${c}"`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.claudeCode.step1Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.claudeCode.step2Title")}),(0,e.jsx)(k.N,{language:"bash",code:`npm install -g @chorus-aidlc/chorus@0.17.0
3
3
  chorus agents add --agents claude`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.claudeCode.step2Tip")})]})]}),(0,e.jsxs)(h.av,{value:"codex",className:"mt-4 space-y-4",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.codex.step1Title")}),(0,e.jsx)(k.N,{language:"bash",code:`export CHORUS_URL=""
4
4
  export CHORUS_API_KEY="${c}"`}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:b("install.codex.step1Tip")})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:b("install.codex.step2Title")}),(0,e.jsx)(k.N,{language:"bash",code:`npm install -g @chorus-aidlc/chorus@0.17.0
@@ -34,6 +34,6 @@ Read the setup instructions from:
34
34
  /skill/chorus/SKILL.md
35
35
 
36
36
  Follow the "Setup" section to configure the MCP server,
37
- then call chorus_checkin() to verify the connection.`})]})]})})})}k=(l.then?(await l)():l)[0],d()}catch(a){d(a)}})},28774:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A8:()=>q,CG:()=>o,Iq:()=>n,RB:()=>l,Sn:()=>i,d5:()=>m,ic:()=>p,tN:()=>k,x4:()=>j});var e=c(71255),f=c(77219),g=c(26078),h=a([e,f]);async function i({companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,permissions:h}){return e.z.agent.create({data:{companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,...void 0!==h&&{permissions:h}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,createdAt:!0}})}async function j(a,b,c){if(c&&!await e.z.agent.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0}}))throw Error("Agent not found");return e.z.agent.update({where:{uuid:a},data:b,select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,lastActiveAt:!0,createdAt:!0}})}async function k(a,b){return e.z.apiKey.updateMany({where:{agentUuid:a,revokedAt:null},data:{name:b}})}async function l(a){return e.z.agent.delete({where:{uuid:a}})}async function m(a,b,c,d){let f={companyUuid:a,revokedAt:null,...d&&{agent:{ownerUuid:d}}},[g,h]=await Promise.all([e.z.apiKey.findMany({where:f,skip:b,take:c,orderBy:{createdAt:"desc"},include:{agent:{select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0}}}}),e.z.apiKey.count({where:f})]);return{apiKeys:g,total:h}}async function n({companyUuid:a,agentUuid:b,name:c,expiresAt:d}){let{key:g,hash:h,prefix:i}=(0,f.XH)();return{...await e.z.apiKey.create({data:{companyUuid:a,agentUuid:b,keyHash:h,keyPrefix:i,name:c,expiresAt:d},select:{uuid:!0,keyPrefix:!0,name:!0,expiresAt:!0,createdAt:!0}}),key:g}}async function o(a,b,c){return e.z.apiKey.findFirst({where:{uuid:b,companyUuid:a,...c&&{agent:{ownerUuid:c}}},select:{uuid:!0,agentUuid:!0,revokedAt:!0}})}async function p(a,b,c){return(await e.z.agent.findMany({where:{companyUuid:a,...c&&{ownerUuid:c}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,ownerUuid:!0},orderBy:{name:"asc"}})).filter(a=>(0,g.RU)(a.roles,a.permissions).has(b)).map(({uuid:a,name:b,roles:c,ownerUuid:d})=>({uuid:a,name:b,roles:c,ownerUuid:d}))}async function q(a){return e.z.user.findMany({where:{companyUuid:a},select:{uuid:!0,name:!0,email:!0},orderBy:{name:"asc"}})}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},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.default.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.default.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.default.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.u0)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return j.default.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.default.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.default.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.default.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,"008fd5d8a0f3a50eb9f7b1ab44badd771fee6902df",null),(0,e.A)(o,"403000d9280f48fe9c639cd14646a8e95ac606efd4",null),(0,e.A)(p,"4084f0cb955a77eab1be1d49f399fdf2c96860d24e",null),(0,e.A)(q,"40cd88f0bd543116e26b0544dbeca077f629a06cfd",null),(0,e.A)(r,"40af8fe6fb532b330ac5fdea3e6221f80af99ff97a",null),(0,e.A)(s,"40f310cb283e2fa206bd5682689745fee7a2284e37",null),(0,e.A)(t,"40d296e42d19b643dae76f6fc4fbbbfcfcd8b9d808",null),d()}catch(a){d(a)}})},33321:(a,b,c)=>{c.d(b,{m:()=>l});var d=c(10837),e=c(97731),f=c(26346),g=c(9222),h=c(42424),i=c(58857),j=c(96307);let k="https://doc.chorus-ai.dev";function l({variant:a="inline",className:b}){let c=(0,g.c)("resourceLinks"),{locale:l}=(0,i.Y)(),m="en"===l?k:`${k}/${l}`;return(0,d.jsxs)("div",{className:(0,j.cn)("flex flex-wrap items-center gap-2","footer"===a&&"justify-center gap-3",b),children:[(0,d.jsx)(h.$,{variant:"outline",size:"sm",asChild:!0,children:(0,d.jsxs)("a",{href:"https://github.com/Chorus-AIDLC/Chorus",target:"_blank",rel:"noopener noreferrer","aria-label":c("githubAria"),children:[(0,d.jsx)(e.A,{className:"h-4 w-4"}),c("github")]})}),(0,d.jsx)(h.$,{variant:"outline",size:"sm",asChild:!0,children:(0,d.jsxs)("a",{href:m,target:"_blank",rel:"noopener noreferrer","aria-label":c("docsAria"),children:[(0,d.jsx)(f.A,{className:"h-4 w-4"}),c("docs")]})})]})}},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.a(a,async(a,d)=>{try{c.d(b,{Y:()=>o});var e=c(10837),f=c(21968),g=c(9222),h=c(42424),i=c(9810),j=c(10694),k=c(54722),l=c(98632),m=c(27882),n=a([m]);function o({onAgentCreated:a,createAgentAndKey:b,onClose:c,embedded:d=!1,submitLabel:n,submittingLabel:o}){let p=(0,g.c)(),[q,r]=(0,f.useState)(""),[s,t]=(0,f.useState)("admin_agent"),[u,v]=(0,f.useState)(["admin_agent"]),[w,x]=(0,f.useState)([]),[y,z]=(0,f.useState)(""),[A,B]=(0,f.useState)(!1),[C,D]=(0,f.useState)(null),[E,F]=(0,f.useState)(!1),G=async c=>{if((c.preventDefault(),q)&&("custom"!==s||0!==w.length)){B(!0);try{let c=await b({name:q,roles:u,permissions:"custom"===s?w:[],persona:y||null});c.success&&c.key?(d||D(c.key),a({uuid:c.agentUuid||"",name:q,roles:u,permissions:"custom"===s?w:[]},c.key)):k.q.error("Failed to create API key:",c.error)}catch(a){k.q.error("Failed to create API key:",a)}finally{B(!1)}}},H=async a=>{try{await navigator.clipboard.writeText(a),F(!0),setTimeout(()=>F(!1),2e3)}catch(a){k.q.error("Failed to copy to clipboard:",a)}},I=()=>{r(""),t("admin_agent"),v(["admin_agent"]),x([]),z(""),D(null),c?.()};return C&&!d?(0,e.jsxs)("div",{className:"p-6",children:[(0,e.jsxs)("div",{className:"mb-4 flex items-center gap-2 text-green-600",children:[(0,e.jsx)(i.A,{className:"h-5 w-5"}),(0,e.jsx)("span",{className:"font-medium",children:p("settings.apiKeyCreated")})]}),(0,e.jsx)("p",{className:"mb-4 text-sm text-muted-foreground",children:p("settings.apiKeyCreatedDesc")}),(0,e.jsxs)("div",{className:"mb-4 flex items-center gap-2",children:[(0,e.jsx)("code",{className:"flex-1 rounded bg-foreground px-3 py-2 font-mono text-sm text-background",children:C}),(0,e.jsx)(h.$,{variant:"outline",size:"sm",onClick:()=>H(C),children:p(E?"common.copied":"common.copy")})]}),(0,e.jsx)("p",{className:"mb-3 text-sm text-muted-foreground",children:p("settings.installGuideIntro")}),(0,e.jsx)("div",{className:"mb-4",children:(0,e.jsx)(m.Z,{apiKey:C})}),(0,e.jsx)(h.$,{onClick:I,className:"w-full",children:p("common.done")})]}):(0,e.jsxs)("form",{onSubmit:G,children:[!d&&(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,e.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:p("settings.createApiKey")}),c&&(0,e.jsx)(h.$,{type:"button",variant:"ghost",size:"icon",onClick:I,className:"h-8 w-8",children:(0,e.jsx)(j.A,{className:"h-4 w-4"})})]}),(0,e.jsx)("div",{className:d?void 0:"p-6",children:(0,e.jsx)(l.L,{name:q,onNameChange:r,preset:s,permissions:w,onPermissionsChange:function(a){t(a.preset),v(a.roles),x(a.permissions)},persona:y,onPersonaChange:z,nameInputId:"keyName",personaInputId:"create-agent-persona"})}),(0,e.jsxs)("div",{className:d?"flex justify-end gap-3 pt-2":"flex justify-end gap-3 border-t border-border px-6 py-4",children:[!d&&c&&(0,e.jsx)(h.$,{type:"button",variant:"outline",onClick:I,children:p("common.cancel")}),(0,e.jsx)(h.$,{type:"submit",disabled:!q||"custom"===s&&0===w.length||A,className:d?"w-full":void 0,size:d?"lg":"default",children:A?o??p("settings.creating"):n??p("settings.createApiKey")})]})]})}m=(n.then?(await n)():n)[0],d()}catch(a){d(a)}})},77219:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{XH:()=>h});var e=c(55511),f=c(71255);c(97307);var g=a([f]);f=(g.then?(await g)():g)[0];let i="cho_";function h(){var a;let b=(0,e.randomBytes)(32).toString("base64url"),c=`${i}${b}`,d=(a=c,(0,e.createHash)("sha256").update(a).digest("hex")),f=`${i}${b.slice(0,4)}...${b.slice(-4)}`;return{key:c,hash:d,prefix:f}}d()}catch(a){d(a)}})},86700:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{N:()=>h});var e=c(10837),f=c(97450),g=a([f]);function h({code:a,language:b}){let c=`\`\`\`${b||""}
37
+ then call chorus_checkin() to verify the connection.`})]})]})})})}k=(l.then?(await l)():l)[0],d()}catch(a){d(a)}})},28774:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A8:()=>q,CG:()=>o,Iq:()=>n,RB:()=>l,Sn:()=>i,d5:()=>m,ic:()=>p,tN:()=>k,x4:()=>j});var e=c(71255),f=c(77219),g=c(26078),h=a([e,f]);async function i({companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,permissions:h}){return e.z.agent.create({data:{companyUuid:a,name:b,roles:c,ownerUuid:d,persona:f,systemPrompt:g,...void 0!==h&&{permissions:h}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,createdAt:!0}})}async function j(a,b,c){if(c&&!await e.z.agent.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0}}))throw Error("Agent not found");return e.z.agent.update({where:{uuid:a},data:b,select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0,systemPrompt:!0,ownerUuid:!0,lastActiveAt:!0,createdAt:!0}})}async function k(a,b){return e.z.apiKey.updateMany({where:{agentUuid:a,revokedAt:null},data:{name:b}})}async function l(a){return e.z.agent.delete({where:{uuid:a}})}async function m(a,b,c,d){let f={companyUuid:a,revokedAt:null,...d&&{agent:{ownerUuid:d}}},[g,h]=await Promise.all([e.z.apiKey.findMany({where:f,skip:b,take:c,orderBy:{createdAt:"desc"},include:{agent:{select:{uuid:!0,name:!0,roles:!0,permissions:!0,persona:!0}}}}),e.z.apiKey.count({where:f})]);return{apiKeys:g,total:h}}async function n({companyUuid:a,agentUuid:b,name:c,expiresAt:d}){let{key:g,hash:h,prefix:i}=(0,f.XH)();return{...await e.z.apiKey.create({data:{companyUuid:a,agentUuid:b,keyHash:h,keyPrefix:i,name:c,expiresAt:d},select:{uuid:!0,keyPrefix:!0,name:!0,expiresAt:!0,createdAt:!0}}),key:g}}async function o(a,b,c){return e.z.apiKey.findFirst({where:{uuid:b,companyUuid:a,...c&&{agent:{ownerUuid:c}}},select:{uuid:!0,agentUuid:!0,revokedAt:!0}})}async function p(a,b,c){return(await e.z.agent.findMany({where:{companyUuid:a,...c&&{ownerUuid:c}},select:{uuid:!0,name:!0,roles:!0,permissions:!0,ownerUuid:!0},orderBy:{name:"asc"}})).filter(a=>(0,g.RU)(a.roles,a.permissions).has(b)).map(({uuid:a,name:b,roles:c,ownerUuid:d})=>({uuid:a,name:b,roles:c,ownerUuid:d}))}async function q(a){return e.z.user.findMany({where:{companyUuid:a},select:{uuid:!0,name:!0,email:!0},orderBy:{name:"asc"}})}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},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.default.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.default.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.default.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.u0)(b.companyUuid,a);return{success:!0,data:c}}catch(a){return j.default.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.default.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.default.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.default.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,"002cab2ff8ad5c9bdc19c10515cbd60b86c38a983a",null),(0,e.A)(o,"406bfc5869a1b214098d5ebb59ed5fb137669c159a",null),(0,e.A)(p,"4032217a0f5aa51b05929363a8f42784d2ac3e38d4",null),(0,e.A)(q,"40ab42da3351967533a0159d4d58d76ac4b9f01832",null),(0,e.A)(r,"407a8b0ae891f585a7a4370d58c890d57c101e0088",null),(0,e.A)(s,"404e71a0e75a4668c08d56b3125aa0ddcf2a2169e6",null),(0,e.A)(t,"40321c15b35df32c6769512deaf09d1089212c241f",null),d()}catch(a){d(a)}})},33321:(a,b,c)=>{c.d(b,{m:()=>l});var d=c(10837),e=c(97731),f=c(26346),g=c(9222),h=c(42424),i=c(58857),j=c(96307);let k="https://doc.chorus-ai.dev";function l({variant:a="inline",className:b}){let c=(0,g.c)("resourceLinks"),{locale:l}=(0,i.Y)(),m="en"===l?k:`${k}/${l}`;return(0,d.jsxs)("div",{className:(0,j.cn)("flex flex-wrap items-center gap-2","footer"===a&&"justify-center gap-3",b),children:[(0,d.jsx)(h.$,{variant:"outline",size:"sm",asChild:!0,children:(0,d.jsxs)("a",{href:"https://github.com/Chorus-AIDLC/Chorus",target:"_blank",rel:"noopener noreferrer","aria-label":c("githubAria"),children:[(0,d.jsx)(e.A,{className:"h-4 w-4"}),c("github")]})}),(0,d.jsx)(h.$,{variant:"outline",size:"sm",asChild:!0,children:(0,d.jsxs)("a",{href:m,target:"_blank",rel:"noopener noreferrer","aria-label":c("docsAria"),children:[(0,d.jsx)(f.A,{className:"h-4 w-4"}),c("docs")]})})]})}},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.a(a,async(a,d)=>{try{c.d(b,{Y:()=>o});var e=c(10837),f=c(21968),g=c(9222),h=c(42424),i=c(9810),j=c(10694),k=c(54722),l=c(98632),m=c(27882),n=a([m]);function o({onAgentCreated:a,createAgentAndKey:b,onClose:c,embedded:d=!1,submitLabel:n,submittingLabel:o}){let p=(0,g.c)(),[q,r]=(0,f.useState)(""),[s,t]=(0,f.useState)("admin_agent"),[u,v]=(0,f.useState)(["admin_agent"]),[w,x]=(0,f.useState)([]),[y,z]=(0,f.useState)(""),[A,B]=(0,f.useState)(!1),[C,D]=(0,f.useState)(null),[E,F]=(0,f.useState)(!1),G=async c=>{if((c.preventDefault(),q)&&("custom"!==s||0!==w.length)){B(!0);try{let c=await b({name:q,roles:u,permissions:"custom"===s?w:[],persona:y||null});c.success&&c.key?(d||D(c.key),a({uuid:c.agentUuid||"",name:q,roles:u,permissions:"custom"===s?w:[]},c.key)):k.q.error("Failed to create API key:",c.error)}catch(a){k.q.error("Failed to create API key:",a)}finally{B(!1)}}},H=async a=>{try{await navigator.clipboard.writeText(a),F(!0),setTimeout(()=>F(!1),2e3)}catch(a){k.q.error("Failed to copy to clipboard:",a)}},I=()=>{r(""),t("admin_agent"),v(["admin_agent"]),x([]),z(""),D(null),c?.()};return C&&!d?(0,e.jsxs)("div",{className:"p-6",children:[(0,e.jsxs)("div",{className:"mb-4 flex items-center gap-2 text-green-600",children:[(0,e.jsx)(i.A,{className:"h-5 w-5"}),(0,e.jsx)("span",{className:"font-medium",children:p("settings.apiKeyCreated")})]}),(0,e.jsx)("p",{className:"mb-4 text-sm text-muted-foreground",children:p("settings.apiKeyCreatedDesc")}),(0,e.jsxs)("div",{className:"mb-4 flex items-center gap-2",children:[(0,e.jsx)("code",{className:"flex-1 rounded bg-foreground px-3 py-2 font-mono text-sm text-background",children:C}),(0,e.jsx)(h.$,{variant:"outline",size:"sm",onClick:()=>H(C),children:p(E?"common.copied":"common.copy")})]}),(0,e.jsx)("p",{className:"mb-3 text-sm text-muted-foreground",children:p("settings.installGuideIntro")}),(0,e.jsx)("div",{className:"mb-4",children:(0,e.jsx)(m.Z,{apiKey:C})}),(0,e.jsx)(h.$,{onClick:I,className:"w-full",children:p("common.done")})]}):(0,e.jsxs)("form",{onSubmit:G,children:[!d&&(0,e.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,e.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:p("settings.createApiKey")}),c&&(0,e.jsx)(h.$,{type:"button",variant:"ghost",size:"icon",onClick:I,className:"h-8 w-8",children:(0,e.jsx)(j.A,{className:"h-4 w-4"})})]}),(0,e.jsx)("div",{className:d?void 0:"p-6",children:(0,e.jsx)(l.L,{name:q,onNameChange:r,preset:s,permissions:w,onPermissionsChange:function(a){t(a.preset),v(a.roles),x(a.permissions)},persona:y,onPersonaChange:z,nameInputId:"keyName",personaInputId:"create-agent-persona"})}),(0,e.jsxs)("div",{className:d?"flex justify-end gap-3 pt-2":"flex justify-end gap-3 border-t border-border px-6 py-4",children:[!d&&c&&(0,e.jsx)(h.$,{type:"button",variant:"outline",onClick:I,children:p("common.cancel")}),(0,e.jsx)(h.$,{type:"submit",disabled:!q||"custom"===s&&0===w.length||A,className:d?"w-full":void 0,size:d?"lg":"default",children:A?o??p("settings.creating"):n??p("settings.createApiKey")})]})]})}m=(n.then?(await n)():n)[0],d()}catch(a){d(a)}})},75669:(a,b,c)=>{c.d(b,{I:()=>e});var d=c(42377);let e=(0,d.createServerReference)("406bfc5869a1b214098d5ebb59ed5fb137669c159a",d.callServer,void 0,d.findSourceMapURL,"createAgentAndKeyAction")},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)}})},86700:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{N:()=>h});var e=c(10837),f=c(97450),g=a([f]);function h({code:a,language:b}){let c=`\`\`\`${b||""}
38
38
  ${a}
39
39
  \`\`\``;return(0,e.jsx)(f.MarkdownContent,{children:c})}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},97731:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]])},98632:(a,b,c)=>{c.d(b,{L:()=>t});var d=c(10837),e=c(21968),f=c(9222),g=c(16235),h=c(6871),i=c(9994),j=c(2852),k=c(20170),l=c(8495),m=c(55732),n=c(54005),o=c(6008);let p={admin_agent:"agent.permissions.presetAdmin",pm_agent:"agent.permissions.presetPm",developer_agent:"agent.permissions.presetDev",custom:"agent.permissions.presetCustom"},q={admin_agent:"agent.permissions.help.admin",pm_agent:"agent.permissions.help.pm",developer_agent:"agent.permissions.help.dev",custom:"agent.permissions.help.custom"},r=["admin_agent","pm_agent","developer_agent","custom"];function s({preset:a,permissions:b,onChange:c,readOnly:e=!1}){let g=(0,f.c)(),h=a??"custom",i=new Set("custom"===h?b:n.o[h]);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)(j.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)(j.J,{htmlFor:"agent-permission-preset",children:g("agent.permissions.presetLabel")}),(0,d.jsxs)(m.l6,{value:h,onValueChange:function(a){if("custom"===a)return void c({preset:"custom",roles:[],permissions:Array.from(i)});a in n.o&&c({preset:a,roles:[a],permissions:[]})},disabled:e,children:[(0,d.jsx)(m.bq,{id:"agent-permission-preset",className:"w-full","aria-label":g("agent.permissions.presetLabel"),children:(0,d.jsx)(m.yv,{placeholder:g(p[h]),children:g(p[h])})}),(0,d.jsx)(m.gC,{children:r.map(a=>(0,d.jsx)(m.eb,{value:a,textValue:g(p[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(p[a])}),(0,d.jsx)("span",{className:"text-muted-foreground text-xs",children:g(q[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")}),o.kl.map(a=>(0,d.jsx)("div",{role:"columnheader",className:"text-center",children:g(`agent.permissions.actions.${a}`)},a))]}),o.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}`)}),o.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)(l.S,{id:h,checked:i.has(f),disabled:e,"aria-label":`${g(`agent.permissions.resources.${a}`)} ${g(`agent.permissions.actions.${b}`)}`,onCheckedChange:a=>{if(!e){let b=new Set(i);!0===a?b.add(f):b.delete(f),c({preset:"custom",roles:[],permissions:Array.from(b)})}}})},b)})]},a))]})]})]})}function t({name:a,onNameChange:b,preset:c,permissions:l,onPermissionsChange:m,persona:o,onPersonaChange:p,nameInputId:q="agent-form-name",personaInputId:r="agent-form-persona",readOnly:t=!1}){let u=(0,f.c)(),v=(0,e.useMemo)(()=>"custom"===c?l:[...n.o[c]],[c,l]);return(0,d.jsxs)("div",{className:"space-y-5",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[a.trim()?(0,d.jsx)(h.AgentAvatar,{name:a,size:56,className:"rounded-2xl"}):(0,d.jsx)("div",{"aria-hidden":!0,className:"flex size-14 items-center justify-center rounded-2xl bg-muted text-muted-foreground",children:(0,d.jsx)(g.A,{className:"size-7"})}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:u("settings.agentAvatarPreview")})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(j.J,{htmlFor:q,className:"text-[13px]",children:u("settings.name")}),(0,d.jsx)(i.p,{id:q,value:a,onChange:a=>b(a.target.value),placeholder:u("settings.namePlaceholder"),className:"border-border",required:!0,disabled:t})]}),(0,d.jsx)(s,{preset:c,permissions:v,onChange:m,readOnly:t}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(j.J,{htmlFor:r,className:"text-[13px]",children:u("settings.agentPersona")}),(0,d.jsx)(k.T,{id:r,value:o,onChange:a=>p(a.target.value),placeholder:u("settings.personaPlaceholder"),rows:4,disabled:t}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:u("settings.personaHint")})]})]})}}};
@@ -1 +1 @@
1
- "use strict";exports.id=3630,exports.ids=[3630],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})}},13277:(a,b,c)=>{c.r(b),c.d(b,{Label:()=>g,Root:()=>h});var d=c(21968),e=c(16551),f=c(10837),g=d.forwardRef((a,b)=>(0,f.jsx)(e.sG.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));g.displayName="Label";var h=g},22776:(a,b,c)=>{c.d(b,{O:()=>n});var d=c(10837),e=c(21968),f=c(9222),g=c(86460),h=c(80697);let i=(0,c(56556).A)("folder-cog",[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3",key:"128dxu"}],["path",{d:"m14.305 19.53.923-.382",key:"3m78fa"}],["path",{d:"m15.228 16.852-.923-.383",key:"npixar"}],["path",{d:"m16.852 15.228-.383-.923",key:"5xggr7"}],["path",{d:"m16.852 20.772-.383.924",key:"dpfhf9"}],["path",{d:"m19.148 15.228.383-.923",key:"1reyyz"}],["path",{d:"m19.53 21.696-.382-.924",key:"1goivc"}],["path",{d:"m20.772 16.852.924-.383",key:"htqkph"}],["path",{d:"m20.772 19.148.924.383",key:"9w9pjp"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]]);var j=c(79543),k=c(6871),l=c(42424),m=c(59469);let n=(0,e.forwardRef)(function({projectUuid:a,agentError:b},c){let n=(0,f.c)(),[o,p]=(0,e.useState)([]),[q,r]=(0,e.useState)({}),[s,t]=(0,e.useState)(new Set),[u,v]=(0,e.useState)(!0),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)({}),C=(0,e.useCallback)(async()=>{v(!0),z(!1);try{let b=await fetch(a?`/api/projects/${encodeURIComponent(a)}/agent-cwds`:"/api/projects/agent-cwd-options"),c=await b.json();if(!b.ok||!c.success)throw Error("load failed");p(c.data.agents)}catch{z(!0)}finally{v(!1)}},[a]);(0,e.useEffect)(()=>{C()},[C]);let D=(a,b)=>{r(a),t(b)};return(0,e.useImperativeHandle)(c,()=>({validate:async()=>{let a=[];for(let b of Object.values(q))try{let c=await (0,m.q)(b);a.push(c),r(a=>({...a,[b.agentUuid]:c}))}catch(c){let a=c instanceof Error?c.message:"INTERNAL_ERROR";return B(c=>({...c,[b.agentUuid]:n(`directoryBrowser.errors.${a}`)})),x(b.agentUuid),null}return{upserts:a,clears:[...s]}}}),[s,q,n]),(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-[14px] font-semibold text-foreground",children:n("projectSettings.agentCwds.title")}),(0,d.jsx)("p",{className:"mt-1 text-[12px] text-muted-foreground",children:n("projectSettings.agentCwds.description")})]}),u&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)(g.A,{className:"size-4 animate-spin"}),n("projectSettings.agentCwds.loading")]}),y&&(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",role:"alert",children:[(0,d.jsx)("span",{className:"text-xs text-destructive",children:n("projectSettings.agentCwds.loadFailed")}),(0,d.jsxs)(l.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void C(),children:[(0,d.jsx)(h.A,{className:"mr-2 size-3.5"}),n("common.retry")]})]}),!u&&!y&&0===o.length&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:n("projectSettings.agentCwds.emptyOnline")}),o.map(c=>{let e=q[c.agent.uuid],f=s.has(c.agent.uuid)?null:e?{host:e.host,cwd:e.cwd,status:"valid"}:c.preference;return(0,d.jsxs)("div",{className:"min-w-0 rounded-lg border border-border p-4",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-start gap-2.5",children:[(0,d.jsx)(k.AgentAvatar,{name:c.agent.name,size:"sm",className:"mt-0.5 rounded-md"}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-semibold",children:c.agent.name}),f?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"mt-1 break-all font-mono text-[11px]",children:f.cwd}),(0,d.jsx)("p",{className:"mt-1 truncate text-[11px] text-muted-foreground",children:f.host}),(0,d.jsx)("p",{className:"valid"===f.status?"mt-1 text-[11px] text-emerald-700 dark:text-emerald-400":"mt-1 text-[11px] text-destructive",children:n(`projectSettings.agentCwds.status.${f.status}`)})]}):(0,d.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:n("projectSettings.agentCwds.notConfigured")})]})]}),(0,d.jsxs)("div",{className:"flex shrink-0 gap-1",children:[(0,d.jsx)(l.$,{type:"button",size:"icon",variant:"ghost",title:n(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),"aria-label":n(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),onClick:()=>x(w===c.agent.uuid?null:c.agent.uuid),children:(0,d.jsx)(i,{className:"size-4"})}),f&&(0,d.jsx)(l.$,{type:"button",size:"icon",variant:"ghost",className:"text-destructive",title:n("projectSettings.agentCwds.clear"),"aria-label":n("projectSettings.agentCwds.clear"),onClick:()=>(b=>{let c={...q};delete c[b];let d=new Set(s);a&&d.add(b),D(c,d)})(c.agent.uuid),children:(0,d.jsx)(j.A,{className:"size-4"})})]})]}),w===c.agent.uuid&&(0,d.jsxs)("div",{className:"mt-4 border-t border-border pt-4",children:[(0,d.jsx)(m.e,{agentUuid:c.agent.uuid,instances:c.onlineInstances,showConfirm:!1,onValidated:()=>void 0,onSelectionChange:a=>((a,b)=>{if(!a)return;let c=new Set(s);c.delete(b),D({...q,[b]:a},c),B(a=>{let c={...a};return delete c[b],c})})(a,c.agent.uuid)}),(A[c.agent.uuid]||b?.agentUuid===c.agent.uuid)&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:A[c.agent.uuid]||b?.message})]}),w!==c.agent.uuid&&b?.agentUuid===c.agent.uuid&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:b.message})]},c.agent.uuid)})]})})},24916:(a,b,c)=>{c.d(b,{C:()=>t});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(78323),i=c(31009),j=c(9810),k=c(86460),l=c(92900),m=c(11568),n=c(42424),o=c(9994),p=c(2852),q=c(20170),r=c(42087),s=c(22776);function t({open:a,onOpenChange:b,groupUuid:c,groupName:t,onCreated:u}){let v=(0,g.c)(),w=(0,f.r)(),[x,y]=(0,e.useTransition)(),[z,A]=(0,e.useState)(""),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(!1),J=(0,e.useRef)(null),K=t||v("projectGroups.ungrouped"),L=async()=>{if(!z.trim())return;E(null),G(null);let a=await J.current?.validate();a&&y(async()=>{try{let d=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:z.trim(),description:B.trim()||void 0,groupUuid:c||void 0,agentCwds:a.upserts.map(({agentUuid:a,validationRequestUuid:b})=>({agentUuid:a,validationRequestUuid:b}))})}),e=await d.json();if(e.success)I(!0),setTimeout(()=>{A(""),C(""),b(!1),u?.(),w.refresh(),I(!1)},600);else{let a="object"==typeof e.error&&e.error?e.error.message:e.error,b="object"==typeof e.error&&e.error&&"string"==typeof e.error.details?.agentUuid?e.error.details.agentUuid:null;b?G({agentUuid:b,message:a||v("projects.createFailed")}):E(a||v("projects.createFailed"))}}catch{E(v("common.genericError"))}})};return(0,d.jsx)(m.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(m.Cf,{className:"flex max-h-[90svh] flex-col gap-0 overflow-hidden rounded-[16px] p-0 sm:max-w-[620px]",showCloseButton:!1,children:[(0,d.jsx)(m.c7,{className:"flex flex-row items-center justify-between p-[20px_24px] border-b border-[#E5E2DC] dark:border-[#2a2a2e]",children:(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)(m.L3,{className:"text-lg font-semibold tracking-[-0.3px] text-foreground",children:v("projectGroups.newProjectTitle")}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:v("projectGroups.creatingIn",{groupName:K})})]})}),(0,d.jsx)(m.rr,{className:"sr-only",children:v("projectGroups.newProjectTitle")}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 overflow-y-auto p-6",children:[D&&(0,d.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:D}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("projectGroups.projectTitle")}),(0,d.jsx)(o.p,{value:z,onChange:a=>A(a.target.value),placeholder:v("projectGroups.projectTitlePlaceholder"),className:"h-10 rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]",onKeyDown:a=>{!(0,r.P)(a)&&"Enter"===a.key&&z.trim()&&L()}})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("common.description")}),(0,d.jsx)(q.T,{value:B,onChange:a=>C(a.target.value),placeholder:v("projectGroups.projectDescriptionPlaceholder"),className:"min-h-[80px] rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]"})]}),(0,d.jsx)("div",{className:"border-t border-border pt-5",children:(0,d.jsx)(s.O,{ref:J,agentError:F})})]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC] dark:border-[#2a2a2e]",children:[(0,d.jsx)(n.$,{variant:"outline",onClick:()=>b(!1),className:"rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e] text-[13px]",children:v("common.cancel")}),(0,d.jsx)(n.$,{onClick:L,disabled:x||H||!z.trim(),className:"rounded-lg bg-primary hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:(0,d.jsx)(h.N,{mode:"wait",children:H?(0,d.jsx)(i.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)(j.A,{className:"h-3.5 w-3.5"})},"success"):x?(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 animate-spin"}),v("common.creating")]},"loading"):(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),v("projectGroups.createProject")]},"idle")})})]})]})})}},62135:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"4006e8c81d68cba1549b088f73504fbb6faf276b1d":()=>e.Dv,"40ac33af344dac842ddf4f4b9024eec0de33994d92":()=>e.v5,"60be186425172e6c1e4109eb36028ae9604ac8003c":()=>e.Tg});var e=c(22299),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},79543:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},92900:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])}};
1
+ "use strict";exports.id=4810,exports.ids=[4810],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})}},13277:(a,b,c)=>{c.r(b),c.d(b,{Label:()=>g,Root:()=>h});var d=c(21968),e=c(16551),f=c(10837),g=d.forwardRef((a,b)=>(0,f.jsx)(e.sG.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));g.displayName="Label";var h=g},22776:(a,b,c)=>{c.d(b,{O:()=>n});var d=c(10837),e=c(21968),f=c(9222),g=c(86460),h=c(80697);let i=(0,c(56556).A)("folder-cog",[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3",key:"128dxu"}],["path",{d:"m14.305 19.53.923-.382",key:"3m78fa"}],["path",{d:"m15.228 16.852-.923-.383",key:"npixar"}],["path",{d:"m16.852 15.228-.383-.923",key:"5xggr7"}],["path",{d:"m16.852 20.772-.383.924",key:"dpfhf9"}],["path",{d:"m19.148 15.228.383-.923",key:"1reyyz"}],["path",{d:"m19.53 21.696-.382-.924",key:"1goivc"}],["path",{d:"m20.772 16.852.924-.383",key:"htqkph"}],["path",{d:"m20.772 19.148.924.383",key:"9w9pjp"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]]);var j=c(79543),k=c(6871),l=c(42424),m=c(59469);let n=(0,e.forwardRef)(function({projectUuid:a,agentError:b},c){let n=(0,f.c)(),[o,p]=(0,e.useState)([]),[q,r]=(0,e.useState)({}),[s,t]=(0,e.useState)(new Set),[u,v]=(0,e.useState)(!0),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)({}),C=(0,e.useCallback)(async()=>{v(!0),z(!1);try{let b=await fetch(a?`/api/projects/${encodeURIComponent(a)}/agent-cwds`:"/api/projects/agent-cwd-options"),c=await b.json();if(!b.ok||!c.success)throw Error("load failed");p(c.data.agents)}catch{z(!0)}finally{v(!1)}},[a]);(0,e.useEffect)(()=>{C()},[C]);let D=(a,b)=>{r(a),t(b)};return(0,e.useImperativeHandle)(c,()=>({validate:async()=>{let a=[];for(let b of Object.values(q))try{let c=await (0,m.q)(b);a.push(c),r(a=>({...a,[b.agentUuid]:c}))}catch(c){let a=c instanceof Error?c.message:"INTERNAL_ERROR";return B(c=>({...c,[b.agentUuid]:n(`directoryBrowser.errors.${a}`)})),x(b.agentUuid),null}return{upserts:a,clears:[...s]}}}),[s,q,n]),(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-[14px] font-semibold text-foreground",children:n("projectSettings.agentCwds.title")}),(0,d.jsx)("p",{className:"mt-1 text-[12px] text-muted-foreground",children:n("projectSettings.agentCwds.description")})]}),u&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)(g.A,{className:"size-4 animate-spin"}),n("projectSettings.agentCwds.loading")]}),y&&(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",role:"alert",children:[(0,d.jsx)("span",{className:"text-xs text-destructive",children:n("projectSettings.agentCwds.loadFailed")}),(0,d.jsxs)(l.$,{type:"button",size:"sm",variant:"outline",onClick:()=>void C(),children:[(0,d.jsx)(h.A,{className:"mr-2 size-3.5"}),n("common.retry")]})]}),!u&&!y&&0===o.length&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:n("projectSettings.agentCwds.emptyOnline")}),o.map(c=>{let e=q[c.agent.uuid],f=s.has(c.agent.uuid)?null:e?{host:e.host,cwd:e.cwd,status:"valid"}:c.preference;return(0,d.jsxs)("div",{className:"min-w-0 rounded-lg border border-border p-4",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-start gap-2.5",children:[(0,d.jsx)(k.AgentAvatar,{name:c.agent.name,size:"sm",className:"mt-0.5 rounded-md"}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-semibold",children:c.agent.name}),f?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"mt-1 break-all font-mono text-[11px]",children:f.cwd}),(0,d.jsx)("p",{className:"mt-1 truncate text-[11px] text-muted-foreground",children:f.host}),(0,d.jsx)("p",{className:"valid"===f.status?"mt-1 text-[11px] text-emerald-700 dark:text-emerald-400":"mt-1 text-[11px] text-destructive",children:n(`projectSettings.agentCwds.status.${f.status}`)})]}):(0,d.jsx)("p",{className:"mt-1 text-[11px] text-muted-foreground",children:n("projectSettings.agentCwds.notConfigured")})]})]}),(0,d.jsxs)("div",{className:"flex shrink-0 gap-1",children:[(0,d.jsx)(l.$,{type:"button",size:"icon",variant:"ghost",title:n(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),"aria-label":n(f?"projectSettings.agentCwds.replace":"projectSettings.agentCwds.configure"),onClick:()=>x(w===c.agent.uuid?null:c.agent.uuid),children:(0,d.jsx)(i,{className:"size-4"})}),f&&(0,d.jsx)(l.$,{type:"button",size:"icon",variant:"ghost",className:"text-destructive",title:n("projectSettings.agentCwds.clear"),"aria-label":n("projectSettings.agentCwds.clear"),onClick:()=>(b=>{let c={...q};delete c[b];let d=new Set(s);a&&d.add(b),D(c,d)})(c.agent.uuid),children:(0,d.jsx)(j.A,{className:"size-4"})})]})]}),w===c.agent.uuid&&(0,d.jsxs)("div",{className:"mt-4 border-t border-border pt-4",children:[(0,d.jsx)(m.e,{agentUuid:c.agent.uuid,instances:c.onlineInstances,showConfirm:!1,onValidated:()=>void 0,onSelectionChange:a=>((a,b)=>{if(!a)return;let c=new Set(s);c.delete(b),D({...q,[b]:a},c),B(a=>{let c={...a};return delete c[b],c})})(a,c.agent.uuid)}),(A[c.agent.uuid]||b?.agentUuid===c.agent.uuid)&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:A[c.agent.uuid]||b?.message})]}),w!==c.agent.uuid&&b?.agentUuid===c.agent.uuid&&(0,d.jsx)("p",{className:"mt-2 text-xs text-destructive",role:"alert",children:b.message})]},c.agent.uuid)})]})})},24916:(a,b,c)=>{c.d(b,{C:()=>t});var d=c(10837),e=c(21968),f=c(68884),g=c(9222),h=c(78323),i=c(31009),j=c(9810),k=c(86460),l=c(92900),m=c(11568),n=c(42424),o=c(9994),p=c(2852),q=c(20170),r=c(42087),s=c(22776);function t({open:a,onOpenChange:b,groupUuid:c,groupName:t,onCreated:u}){let v=(0,g.c)(),w=(0,f.r)(),[x,y]=(0,e.useTransition)(),[z,A]=(0,e.useState)(""),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(!1),J=(0,e.useRef)(null),K=t||v("projectGroups.ungrouped"),L=async()=>{if(!z.trim())return;E(null),G(null);let a=await J.current?.validate();a&&y(async()=>{try{let d=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:z.trim(),description:B.trim()||void 0,groupUuid:c||void 0,agentCwds:a.upserts.map(({agentUuid:a,validationRequestUuid:b})=>({agentUuid:a,validationRequestUuid:b}))})}),e=await d.json();if(e.success)I(!0),setTimeout(()=>{A(""),C(""),b(!1),u?.(),w.refresh(),I(!1)},600);else{let a="object"==typeof e.error&&e.error?e.error.message:e.error,b="object"==typeof e.error&&e.error&&"string"==typeof e.error.details?.agentUuid?e.error.details.agentUuid:null;b?G({agentUuid:b,message:a||v("projects.createFailed")}):E(a||v("projects.createFailed"))}}catch{E(v("common.genericError"))}})};return(0,d.jsx)(m.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(m.Cf,{className:"flex max-h-[90svh] flex-col gap-0 overflow-hidden rounded-[16px] p-0 sm:max-w-[620px]",showCloseButton:!1,children:[(0,d.jsx)(m.c7,{className:"flex flex-row items-center justify-between p-[20px_24px] border-b border-[#E5E2DC] dark:border-[#2a2a2e]",children:(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,d.jsx)(m.L3,{className:"text-lg font-semibold tracking-[-0.3px] text-foreground",children:v("projectGroups.newProjectTitle")}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:v("projectGroups.creatingIn",{groupName:K})})]})}),(0,d.jsx)(m.rr,{className:"sr-only",children:v("projectGroups.newProjectTitle")}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-col gap-5 overflow-y-auto p-6",children:[D&&(0,d.jsx)("div",{className:"rounded-lg bg-destructive/10 p-3 text-sm text-destructive",children:D}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("projectGroups.projectTitle")}),(0,d.jsx)(o.p,{value:z,onChange:a=>A(a.target.value),placeholder:v("projectGroups.projectTitlePlaceholder"),className:"h-10 rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]",onKeyDown:a=>{!(0,r.P)(a)&&"Enter"===a.key&&z.trim()&&L()}})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)(p.J,{className:"text-[13px] font-medium text-foreground",children:v("common.description")}),(0,d.jsx)(q.T,{value:B,onChange:a=>C(a.target.value),placeholder:v("projectGroups.projectDescriptionPlaceholder"),className:"min-h-[80px] rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e]"})]}),(0,d.jsx)("div",{className:"border-t border-border pt-5",children:(0,d.jsx)(s.O,{ref:J,agentError:F})})]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3 p-[16px_24px] border-t border-[#E5E2DC] dark:border-[#2a2a2e]",children:[(0,d.jsx)(n.$,{variant:"outline",onClick:()=>b(!1),className:"rounded-lg border-[#E5E2DC] dark:border-[#2a2a2e] text-[13px]",children:v("common.cancel")}),(0,d.jsx)(n.$,{onClick:L,disabled:x||H||!z.trim(),className:"rounded-lg bg-primary hover:bg-[#B56A42] text-white text-[13px] gap-1.5",children:(0,d.jsx)(h.N,{mode:"wait",children:H?(0,d.jsx)(i.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)(j.A,{className:"h-3.5 w-3.5"})},"success"):x?(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 animate-spin"}),v("common.creating")]},"loading"):(0,d.jsxs)(i.P.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"flex items-center gap-2",children:[(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),v("projectGroups.createProject")]},"idle")})})]})]})})}},79543:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},84699:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"4079ae8a7478c20cd3b8c415a8b1ba4048b28cbc96":()=>e.v5,"40cd8f78e8b94dc20417644833541764844f158904":()=>e.Dv,"60c18f1ee4705ee799deb017140858d0e281450684":()=>e.Tg});var e=c(22299),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},92900:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(56556).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])}};
@@ -1 +1 @@
1
- "use strict";exports.id=4827,exports.ids=[4827],exports.modules={27473:(a,b,c)=>{c.d(b,{hD:()=>h,OG:()=>k,YB:()=>m,mA:()=>l,FB:()=>j});var d=c(70936),e=c(7046),f=c(65582);let g=new(c(16698)).AsyncLocalStorage;class h extends Error{constructor(a,b,c=400,d){super(b),this.code=a,this.status=c,this.details=d,this.name="ApiError"}}let i={P2002:"Unique constraint violation",P2025:"Record not found",P2003:"Foreign key constraint violation"};function j(a){return async(b,c)=>{let j=crypto.randomUUID(),k=(0,f.q)({requestId:j});return g.run({requestId:j,logger:k},async()=>{try{return await a(b,c)}catch(a){if((g.getStore()?.logger??f.default).error({err:a},"API error"),a instanceof h)return d.NextResponse.json({success:!1,error:{code:a.code,message:a.message,details:a.details}},{status:a.status});if(a&&"object"==typeof a&&"code"in a){let b=i[a.code];if(b){if("P2025"===a.code)return e.sO.notFound();if("P2002"===a.code)return e.sO.conflict(b);return e.sO.database(b)}}if(a instanceof Error)return e.sO.internal("Internal server error");return e.sO.internal()}})}}async function k(a){try{return await a.json()}catch{throw new h("BAD_REQUEST","Invalid JSON body",400)}}function l(a){let b=new URL(a.url),c={};return b.searchParams.forEach((a,b)=>{c[b]=a}),c}function m(a){let b=l(a),c=Math.max(1,parseInt(b.page||"1",10)),d=Math.min(100,Math.max(1,parseInt(b.pageSize||"20",10)));return{page:c,pageSize:d,skip:(c-1)*d,take:d}}},97515:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{BP:()=>x,IH:()=>r,Mx:()=>t,_R:()=>v,hx:()=>s,qU:()=>o,vA:()=>h,y8:()=>u});var e=c(52618),f=c(65582),g=a([e]);e=(g.then?(await g)():g)[0];let w=["claude_code","openclaw","codex","kiro","dsh","pi"],x=9e4;function h(a){return null!==a&&"conflict"in a}function i(a,b,c=Date.now()){return"online"===a&&c-b.getTime()<=x}function j(a){let b=i(a.status,a.lastSeenAt)?"online":"offline";return{uuid:a.uuid,agentUuid:a.agentUuid,agentName:a.agent?.name??null,ownerUuid:a.agent?.ownerUuid??null,clientType:a.clientType,clientVersion:a.clientVersion,host:a.host,cwd:a.cwd,startedAt:a.startedAt?a.startedAt.toISOString():null,status:a.status,effectiveStatus:b,connectedAt:a.connectedAt.toISOString(),lastSeenAt:a.lastSeenAt.toISOString(),disconnectedAt:a.disconnectedAt?a.disconnectedAt.toISOString():null,agentInstanceUuid:a.agentInstanceUuid??null}}function k(a){let b=a?.trim();return b?b.toLocaleLowerCase("en-US"):"￿"}function l(a){return null===a?"￿":a}function m(a,b){return a<b?-1:+(a>b)}function n(a){return[...a].sort((a,b)=>a.effectiveStatus!==b.effectiveStatus?"online"===a.effectiveStatus?-1:1:m(k(a.agentName),k(b.agentName))||m(a.agentUuid,b.agentUuid)||m(l(a.cwd),l(b.cwd))||m(a.host,b.host)||m(a.clientType,b.clientType)||m(a.uuid,b.uuid))}function o(a){let b=a.get("clientType")??"",c=a.get("livenessAck"),d=a.get("clientVersion"),e=a.get("host"),f=a.get("cwd"),g=null,h=a.get("startedAt");if(h){let a=new Date(h);Number.isNaN(a.getTime())||(g=a)}return{clientType:b,livenessAck:c??null,clientVersion:d??null,host:e??null,cwd:f??null,startedAt:g}}async function p(a,b,c,d){let g={companyUuid:a,agentUuid:b,host:c,cwd:d};try{if(null===d){let d=await e.z.agentInstance.findFirst({where:{companyUuid:a,agentUuid:b,host:c,cwd:null},select:{uuid:!0}});if(d)return(await e.z.agentInstance.update({where:{uuid:d.uuid},data:{updatedAt:new Date},select:{uuid:!0}})).uuid;return(await e.z.agentInstance.create({data:g,select:{uuid:!0}})).uuid}return(await e.z.agentInstance.upsert({where:{companyUuid_agentUuid_host_cwd:{companyUuid:a,agentUuid:b,host:c,cwd:d}},create:g,update:{updatedAt:new Date},select:{uuid:!0}})).uuid}catch(e){return f.default.error({err:e,companyUuid:a,agentUuid:b,host:c,cwd:d},"Failed to upsert AgentInstance; connection will register with a null instance link"),null}}async function q(a,b,c,d,f){for(let g of(await e.z.daemonConnection.findMany({where:{agentUuid:a,host:b,cwd:c},select:{status:!0,lastSeenAt:!0,startedAt:!0,clientType:!0}}))){if(!i(g.status,g.lastSeenAt,f))continue;let a=null!==d&&null!==g.startedAt&&g.startedAt.getTime()===d.getTime(),b=null===d&&null===g.startedAt;if(!a&&!b)return{incumbentStartedAt:g.startedAt,incumbentClientType:g.clientType}}return null}async function r(a,b,d){var g;if(g=d.clientType,!w.includes(g))return null;let h=d.host??"",i=d.cwd??null,j=new Date;try{if(null!==i){let c=await q(b,h,i,d.startedAt??null,j.getTime());if(c)return f.default.warn({companyUuid:a,agentUuid:b,host:h,cwd:i,incumbentStartedAt:c.incumbentStartedAt,incomingStartedAt:d.startedAt??null,incumbentClientType:c.incumbentClientType,incomingClientType:d.clientType},"Skipping daemon connection registration: a live daemon already holds this (agent, host, cwd)"),{conflict:!0,host:h,cwd:i}}let g=await p(a,b,h,i),k={companyUuid:a,agentUuid:b,clientType:d.clientType,clientVersion:d.clientVersion??null,host:h,cwd:i,startedAt:d.startedAt??null,status:"online",connectedAt:j,lastSeenAt:j,disconnectedAt:null,agentInstanceUuid:g},l={companyUuid:a,clientVersion:d.clientVersion??null,startedAt:d.startedAt??null,status:"online",connectedAt:j,lastSeenAt:j,disconnectedAt:null,agentInstanceUuid:g};if(null===i){let a=await e.z.daemonConnection.findFirst({where:{agentUuid:b,clientType:d.clientType,host:h,cwd:null},select:{uuid:!0}});if(a){let b=await e.z.daemonConnection.update({where:{uuid:a.uuid},data:l,select:{uuid:!0,connectedAt:!0}});return{uuid:b.uuid,connectedAt:b.connectedAt}}let c=await e.z.daemonConnection.create({data:k,select:{uuid:!0,connectedAt:!0}});return{uuid:c.uuid,connectedAt:c.connectedAt}}let m=await e.z.daemonConnection.findFirst({where:{agentUuid:b,clientType:d.clientType,host:h,cwd:i},select:{uuid:!0,startedAt:!0}}),n=await e.z.daemonConnection.upsert({where:{agentUuid_clientType_host_cwd:{agentUuid:b,clientType:d.clientType,host:h,cwd:i}},create:k,update:l,select:{uuid:!0,connectedAt:!0}}),o=d.startedAt??null,r=m?.startedAt instanceof Date?m.startedAt:null;return m&&null!==r&&null!==o&&r.getTime()!==o.getTime()&&Promise.all([c.e(8481),c.e(7578),c.e(1722),c.e(3419),c.e(1114)]).then(c.bind(c,34853)).then(({reconcileOrphanTurns:b})=>b(a,n.uuid,{force:!0})).catch(b=>{f.default.error({err:b,companyUuid:a,connectionUuid:n.uuid},"New-generation orphan-turn reconcile failed to dispatch")}),{uuid:n.uuid,connectedAt:n.connectedAt}}catch(c){return f.default.error({err:c,companyUuid:a,agentUuid:b,clientType:d.clientType},"Failed to register daemon connection"),null}}async function s(a,b){try{await e.z.daemonConnection.updateMany({where:{uuid:b.uuid,companyUuid:a,connectedAt:b.connectedAt},data:{status:"offline",disconnectedAt:new Date}})}catch(c){f.default.error({err:c,companyUuid:a,connectionUuid:b.uuid},"Failed to mark daemon connection disconnected")}}async function t(a,b,c){try{return(await e.z.daemonConnection.updateMany({where:{uuid:b.uuid,companyUuid:a,connectedAt:b.connectedAt,...c?{agentUuid:c}:{}},data:{status:"online",lastSeenAt:new Date}})).count>0}catch(c){return f.default.error({err:c,companyUuid:a,connectionUuid:b.uuid},"Failed to touch daemon connection"),!1}}async function u(a,b){let c=await e.z.daemonConnection.findMany({where:{companyUuid:a,agent:{ownerUuid:b}},include:{agent:{select:{name:!0,ownerUuid:!0}}}});return n(c.map(j))}async function v(a,b){let c=await e.z.daemonConnection.findMany({where:{companyUuid:a,agentUuid:b},include:{agent:{select:{name:!0,ownerUuid:!0}}}});return n(c.map(j))}d()}catch(a){d(a)}})}};
1
+ "use strict";exports.id=4827,exports.ids=[4827],exports.modules={27473:(a,b,c)=>{c.d(b,{hD:()=>h,OG:()=>k,YB:()=>m,mA:()=>l,FB:()=>j});var d=c(70936),e=c(7046),f=c(65582);let g=new(c(16698)).AsyncLocalStorage;class h extends Error{constructor(a,b,c=400,d){super(b),this.code=a,this.status=c,this.details=d,this.name="ApiError"}}let i={P2002:"Unique constraint violation",P2025:"Record not found",P2003:"Foreign key constraint violation"};function j(a){return async(b,c)=>{let j=crypto.randomUUID(),k=(0,f.q)({requestId:j});return g.run({requestId:j,logger:k},async()=>{try{return await a(b,c)}catch(a){if((g.getStore()?.logger??f.default).error({err:a},"API error"),a instanceof h)return d.NextResponse.json({success:!1,error:{code:a.code,message:a.message,details:a.details}},{status:a.status});if(a&&"object"==typeof a&&"code"in a){let b=i[a.code];if(b){if("P2025"===a.code)return e.sO.notFound();if("P2002"===a.code)return e.sO.conflict(b);return e.sO.database(b)}}if(a instanceof Error)return e.sO.internal("Internal server error");return e.sO.internal()}})}}async function k(a){try{return await a.json()}catch{throw new h("BAD_REQUEST","Invalid JSON body",400)}}function l(a){let b=new URL(a.url),c={};return b.searchParams.forEach((a,b)=>{c[b]=a}),c}function m(a){let b=l(a),c=Math.max(1,parseInt(b.page||"1",10)),d=Math.min(100,Math.max(1,parseInt(b.pageSize||"20",10)));return{page:c,pageSize:d,skip:(c-1)*d,take:d}}},97515:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{BP:()=>x,IH:()=>r,Mx:()=>t,_R:()=>v,hx:()=>s,qU:()=>o,vA:()=>h,y8:()=>u});var e=c(52618),f=c(65582),g=a([e]);e=(g.then?(await g)():g)[0];let w=["claude_code","openclaw","codex","kiro","dsh","pi"],x=9e4;function h(a){return null!==a&&"conflict"in a}function i(a,b,c=Date.now()){return"online"===a&&c-b.getTime()<=x}function j(a){let b=i(a.status,a.lastSeenAt)?"online":"offline";return{uuid:a.uuid,agentUuid:a.agentUuid,agentName:a.agent?.name??null,ownerUuid:a.agent?.ownerUuid??null,clientType:a.clientType,clientVersion:a.clientVersion,host:a.host,cwd:a.cwd,startedAt:a.startedAt?a.startedAt.toISOString():null,status:a.status,effectiveStatus:b,connectedAt:a.connectedAt.toISOString(),lastSeenAt:a.lastSeenAt.toISOString(),disconnectedAt:a.disconnectedAt?a.disconnectedAt.toISOString():null,agentInstanceUuid:a.agentInstanceUuid??null}}function k(a){let b=a?.trim();return b?b.toLocaleLowerCase("en-US"):"￿"}function l(a){return null===a?"￿":a}function m(a,b){return a<b?-1:+(a>b)}function n(a){return[...a].sort((a,b)=>a.effectiveStatus!==b.effectiveStatus?"online"===a.effectiveStatus?-1:1:m(k(a.agentName),k(b.agentName))||m(a.agentUuid,b.agentUuid)||m(l(a.cwd),l(b.cwd))||m(a.host,b.host)||m(a.clientType,b.clientType)||m(a.uuid,b.uuid))}function o(a){let b=a.get("clientType")??"",c=a.get("livenessAck"),d=a.get("clientVersion"),e=a.get("host"),f=a.get("cwd"),g=null,h=a.get("startedAt");if(h){let a=new Date(h);Number.isNaN(a.getTime())||(g=a)}return{clientType:b,livenessAck:c??null,clientVersion:d??null,host:e??null,cwd:f??null,startedAt:g}}async function p(a,b,c,d){let g={companyUuid:a,agentUuid:b,host:c,cwd:d};try{if(null===d){let d=await e.z.agentInstance.findFirst({where:{companyUuid:a,agentUuid:b,host:c,cwd:null},select:{uuid:!0}});if(d)return(await e.z.agentInstance.update({where:{uuid:d.uuid},data:{updatedAt:new Date},select:{uuid:!0}})).uuid;return(await e.z.agentInstance.create({data:g,select:{uuid:!0}})).uuid}return(await e.z.agentInstance.upsert({where:{companyUuid_agentUuid_host_cwd:{companyUuid:a,agentUuid:b,host:c,cwd:d}},create:g,update:{updatedAt:new Date},select:{uuid:!0}})).uuid}catch(e){return f.default.error({err:e,companyUuid:a,agentUuid:b,host:c,cwd:d},"Failed to upsert AgentInstance; connection will register with a null instance link"),null}}async function q(a,b,c,d,f){for(let g of(await e.z.daemonConnection.findMany({where:{agentUuid:a,host:b,cwd:c},select:{status:!0,lastSeenAt:!0,startedAt:!0,clientType:!0}}))){if(!i(g.status,g.lastSeenAt,f))continue;let a=null!==d&&null!==g.startedAt&&g.startedAt.getTime()===d.getTime(),b=null===d&&null===g.startedAt;if(!a&&!b)return{incumbentStartedAt:g.startedAt,incumbentClientType:g.clientType}}return null}async function r(a,b,d){var g;if(g=d.clientType,!w.includes(g))return null;let h=d.host??"",i=d.cwd??null,j=new Date;try{if(null!==i){let c=await q(b,h,i,d.startedAt??null,j.getTime());if(c)return f.default.warn({companyUuid:a,agentUuid:b,host:h,cwd:i,incumbentStartedAt:c.incumbentStartedAt,incomingStartedAt:d.startedAt??null,incumbentClientType:c.incumbentClientType,incomingClientType:d.clientType},"Skipping daemon connection registration: a live daemon already holds this (agent, host, cwd)"),{conflict:!0,host:h,cwd:i}}let g=await p(a,b,h,i),k={companyUuid:a,agentUuid:b,clientType:d.clientType,clientVersion:d.clientVersion??null,host:h,cwd:i,startedAt:d.startedAt??null,status:"online",connectedAt:j,lastSeenAt:j,disconnectedAt:null,agentInstanceUuid:g},l={companyUuid:a,clientVersion:d.clientVersion??null,startedAt:d.startedAt??null,status:"online",connectedAt:j,lastSeenAt:j,disconnectedAt:null,agentInstanceUuid:g};if(null===i){let a=await e.z.daemonConnection.findFirst({where:{agentUuid:b,clientType:d.clientType,host:h,cwd:null},select:{uuid:!0}});if(a){let b=await e.z.daemonConnection.update({where:{uuid:a.uuid},data:l,select:{uuid:!0,connectedAt:!0}});return{uuid:b.uuid,connectedAt:b.connectedAt}}let c=await e.z.daemonConnection.create({data:k,select:{uuid:!0,connectedAt:!0}});return{uuid:c.uuid,connectedAt:c.connectedAt}}let m=await e.z.daemonConnection.findFirst({where:{agentUuid:b,clientType:d.clientType,host:h,cwd:i},select:{uuid:!0,startedAt:!0}}),n=await e.z.daemonConnection.upsert({where:{agentUuid_clientType_host_cwd:{agentUuid:b,clientType:d.clientType,host:h,cwd:i}},create:k,update:l,select:{uuid:!0,connectedAt:!0}}),o=d.startedAt??null,r=m?.startedAt instanceof Date?m.startedAt:null;return m&&null!==r&&null!==o&&r.getTime()!==o.getTime()&&Promise.all([c.e(8481),c.e(7578),c.e(1722),c.e(3419),c.e(6737)]).then(c.bind(c,34853)).then(({reconcileOrphanTurns:b})=>b(a,n.uuid,{force:!0})).catch(b=>{f.default.error({err:b,companyUuid:a,connectionUuid:n.uuid},"New-generation orphan-turn reconcile failed to dispatch")}),{uuid:n.uuid,connectedAt:n.connectedAt}}catch(c){return f.default.error({err:c,companyUuid:a,agentUuid:b,clientType:d.clientType},"Failed to register daemon connection"),null}}async function s(a,b){try{await e.z.daemonConnection.updateMany({where:{uuid:b.uuid,companyUuid:a,connectedAt:b.connectedAt},data:{status:"offline",disconnectedAt:new Date}})}catch(c){f.default.error({err:c,companyUuid:a,connectionUuid:b.uuid},"Failed to mark daemon connection disconnected")}}async function t(a,b,c){try{return(await e.z.daemonConnection.updateMany({where:{uuid:b.uuid,companyUuid:a,connectedAt:b.connectedAt,...c?{agentUuid:c}:{}},data:{status:"online",lastSeenAt:new Date}})).count>0}catch(c){return f.default.error({err:c,companyUuid:a,connectionUuid:b.uuid},"Failed to touch daemon connection"),!1}}async function u(a,b){let c=await e.z.daemonConnection.findMany({where:{companyUuid:a,agent:{ownerUuid:b}},include:{agent:{select:{name:!0,ownerUuid:!0}}}});return n(c.map(j))}async function v(a,b){let c=await e.z.daemonConnection.findMany({where:{companyUuid:a,agentUuid:b},include:{agent:{select:{name:!0,ownerUuid:!0}}}});return n(c.map(j))}d()}catch(a){d(a)}})}};