@chorus-aidlc/chorus 0.12.1 → 0.13.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 (507) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +416 -369
  3. package/.next/standalone/.next/app-path-routes-manifest.json +36 -34
  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/react-loadable-manifest.json +36 -30
  7. package/.next/standalone/.next/routes-manifest.json +16 -0
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +2 -2
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +2 -2
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +2 -2
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +2 -0
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -0
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -0
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  48. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  52. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  53. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
  56. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  57. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/admin/companies.html +1 -1
  59. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  60. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/admin.html +1 -1
  62. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  63. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/keepalive/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -0
  131. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js.nft.json +1 -0
  132. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -0
  133. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/index.html +1 -1
  152. package/.next/standalone/.next/server/app/index.rsc +2 -2
  153. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/login/admin.html +1 -1
  155. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  156. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/login/callback.html +1 -1
  158. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  159. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -1
  162. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  163. package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
  165. package/.next/standalone/.next/server/app/login/silent-refresh.rsc +2 -2
  166. package/.next/standalone/.next/server/app/login.html +1 -1
  167. package/.next/standalone/.next/server/app/login.rsc +2 -2
  168. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  169. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  172. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  173. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/projects.html +1 -1
  175. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  176. package/.next/standalone/.next/server/app/settings.html +1 -1
  177. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  178. package/.next/standalone/.next/server/app-paths-manifest.json +36 -34
  179. package/.next/standalone/.next/server/chunks/1113.js +2 -2
  180. package/.next/standalone/.next/server/chunks/1337.js +1 -1
  181. package/.next/standalone/.next/server/chunks/1463.js +1 -1
  182. package/.next/standalone/.next/server/chunks/1559.js +13 -0
  183. package/.next/standalone/.next/server/chunks/{2779.js → 178.js} +3 -3
  184. package/.next/standalone/.next/server/chunks/2315.js +1 -1
  185. package/.next/standalone/.next/server/chunks/2364.js +2 -2
  186. package/.next/standalone/.next/server/chunks/2631.js +2 -2
  187. package/.next/standalone/.next/server/chunks/282.js +1 -1
  188. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  189. package/.next/standalone/.next/server/chunks/298.js +1 -0
  190. package/.next/standalone/.next/server/chunks/3197.js +3 -0
  191. package/.next/standalone/.next/server/chunks/3217.js +1 -1
  192. package/.next/standalone/.next/server/chunks/3219.js +1 -1
  193. package/.next/standalone/.next/server/chunks/3373.js +1 -0
  194. package/.next/standalone/.next/server/chunks/3680.js +1 -1
  195. package/.next/standalone/.next/server/chunks/4157.js +1 -1
  196. package/.next/standalone/.next/server/chunks/4193.js +1 -1
  197. package/.next/standalone/.next/server/chunks/4375.js +2 -2
  198. package/.next/standalone/.next/server/chunks/4615.js +1 -1
  199. package/.next/standalone/.next/server/chunks/5011.js +1 -0
  200. package/.next/standalone/.next/server/chunks/5090.js +1 -1
  201. package/.next/standalone/.next/server/chunks/5217.js +1 -1
  202. package/.next/standalone/.next/server/chunks/5319.js +1 -1
  203. package/.next/standalone/.next/server/chunks/5453.js +1 -1
  204. package/.next/standalone/.next/server/chunks/5511.js +1 -1
  205. package/.next/standalone/.next/server/chunks/5957.js +1 -0
  206. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  207. package/.next/standalone/.next/server/chunks/6207.js +1 -1
  208. package/.next/standalone/.next/server/chunks/679.js +1 -0
  209. package/.next/standalone/.next/server/chunks/6813.js +1 -0
  210. package/.next/standalone/.next/server/chunks/7217.js +1 -1
  211. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  212. package/.next/standalone/.next/server/chunks/7421.js +1 -0
  213. package/.next/standalone/.next/server/chunks/7912.js +1 -0
  214. package/.next/standalone/.next/server/chunks/796.js +6 -6
  215. package/.next/standalone/.next/server/chunks/8431.js +1 -1
  216. package/.next/standalone/.next/server/chunks/8812.js +1 -1
  217. package/.next/standalone/.next/server/chunks/8821.js +1 -0
  218. package/.next/standalone/.next/server/chunks/903.js +1 -1
  219. package/.next/standalone/.next/server/chunks/920.js +1 -1
  220. package/.next/standalone/.next/server/chunks/937.js +1 -1
  221. package/.next/standalone/.next/server/chunks/9849.js +2 -2
  222. package/.next/standalone/.next/server/chunks/{7063.js → 9855.js} +2 -2
  223. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  224. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  225. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  226. package/.next/standalone/.next/server/pages/404.html +1 -1
  227. package/.next/standalone/.next/server/pages/500.html +1 -1
  228. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  229. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  230. package/.next/standalone/.next/static/chunks/10919-7f63b2801a92b8c6.js +1 -0
  231. package/.next/standalone/.next/static/chunks/{16551-68896c0ca7966ebf.js → 16551-d129ae0de4a04d69.js} +5 -5
  232. package/.next/standalone/.next/static/chunks/1891-d4a9e756fefba3a9.js +1 -0
  233. package/.next/standalone/.next/static/chunks/22190.149dd0799cbcba06.js +1 -0
  234. package/.next/standalone/.next/static/chunks/{2351.35085ef2663aaa44.js → 2351.a2908f154b03857c.js} +1 -1
  235. package/.next/standalone/.next/static/chunks/{29047.664290ff8a84b205.js → 29047.65b677c7f3e6459f.js} +1 -1
  236. package/.next/standalone/.next/static/chunks/2987-c15f09093b821b24.js +1 -0
  237. package/.next/standalone/.next/static/chunks/{30682.c8fc49d63bf75772.js → 30682.b12a9bef588e7b03.js} +1 -1
  238. package/.next/standalone/.next/static/chunks/31467.9f8adfa602f97fcf.js +115 -0
  239. package/.next/standalone/.next/static/chunks/{33187.1328c15b9dab78a8.js → 33187.13c12f5c0821ac57.js} +1 -1
  240. package/.next/standalone/.next/static/chunks/{33665.20ed9144405f8b21.js → 33665.804ece4d6c6e4eca.js} +3 -3
  241. package/.next/standalone/.next/static/chunks/34520.1a6c6a7c421b0ff3.js +1 -0
  242. package/.next/standalone/.next/static/chunks/36493-5326c14a7240edc8.js +1 -0
  243. package/.next/standalone/.next/static/chunks/43741-aeea04ab873ac4e9.js +1 -0
  244. package/.next/standalone/.next/static/chunks/{47066.7848777fc81f5714.js → 47066.214cf62dd898ea16.js} +1 -1
  245. package/.next/standalone/.next/static/chunks/4860.c3c83713d1f163a5.js +1 -0
  246. package/.next/standalone/.next/static/chunks/48782.4ca261e8e23a8983.js +24 -0
  247. package/.next/standalone/.next/static/chunks/49852-5337f139a2f87c46.js +1 -0
  248. package/.next/standalone/.next/static/chunks/49965-fa11628d5ac8fbbe.js +1 -0
  249. package/.next/standalone/.next/static/chunks/56812-a6fe5225adc0b2ff.js +1 -0
  250. package/.next/standalone/.next/static/chunks/58699.364d357d33fcb52f.js +80 -0
  251. package/.next/standalone/.next/static/chunks/61963.fd130ba09dd25e2e.js +23 -0
  252. package/.next/standalone/.next/static/chunks/64894-71b047ae8ef2f3d8.js +1 -0
  253. package/.next/standalone/.next/static/chunks/65317.ab0c5ecb4164b291.js +148 -0
  254. package/.next/standalone/.next/static/chunks/{69477.4b854e377a3860cc.js → 69477.5b79cd575f93298f.js} +1 -1
  255. package/.next/standalone/.next/static/chunks/{69763.37d07a3035805bc7.js → 69763.003df47b4ee38644.js} +1 -1
  256. package/.next/standalone/.next/static/chunks/7317.8e3ce1ce083425d8.js +5 -0
  257. package/.next/standalone/.next/static/chunks/73506.b9c053e2335b6084.js +1 -0
  258. package/.next/standalone/.next/static/chunks/78966.075119c3a72135ed.js +1 -0
  259. package/.next/standalone/.next/static/chunks/79806.21f1d23ca273000d.js +4 -0
  260. package/.next/standalone/.next/static/chunks/85947.c813bf8bc6e1d675.js +90 -0
  261. package/.next/standalone/.next/static/chunks/8796-69e708cb8603d8b4.js +1 -0
  262. package/.next/standalone/.next/static/chunks/91666-3fd4f3512a53ff20.js +1 -0
  263. package/.next/standalone/.next/static/chunks/91709.ed3bfd285c518df1.js +287 -0
  264. package/.next/standalone/.next/static/chunks/94400.0d371a4d306a614b.js +1 -0
  265. package/.next/standalone/.next/static/chunks/96028.cdbf36dca753e70f.js +215 -0
  266. package/.next/standalone/.next/static/chunks/{96132.3bac072bb2743fb5.js → 96132.ab9b9433c7b2fa1c.js} +1 -1
  267. package/.next/standalone/.next/static/chunks/97263-018d631416efa5cd.js +1 -0
  268. package/.next/standalone/.next/static/chunks/{97784-42081b75f8cc6da8.js → 97784-7b90a17294840e32.js} +1 -1
  269. package/.next/standalone/.next/static/chunks/99373.2b68fce200cc323e.js +1 -0
  270. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-6061b60d52262d3c.js +1 -0
  271. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-78ab05c72bcd04fd.js +1 -0
  272. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/{page-f1b0daea9f947caf.js → page-31ae6abada6e6a64.js} +1 -1
  273. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-478cce81afbfc145.js +1 -0
  274. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/{page-c68f1eda3779b448.js → page-494b80e61b485870.js} +1 -1
  275. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/{page-e0935445535c28cb.js → page-7ebb779f0db4c58b.js} +1 -1
  276. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/page-bfbfc5005de2be13.js +1 -0
  277. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-fbb4dd4124525f97.js +1 -0
  278. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-164fe175720b24a1.js +1 -0
  279. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-2742c745a90f843f.js +1 -0
  280. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-ceeec49af0396432.js → page-f2313bf05387b39b.js} +1 -1
  281. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-1286afe43c086d6a.js → page-955e8fd8d7b0b7c8.js} +1 -1
  282. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-fec019d974ef8d4e.js → page-0bc22273214e522f.js} +1 -1
  283. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/{page-0fb1d51016f6bd56.js → page-960ab78b5055780c.js} +1 -1
  284. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/{route-f1b0daea9f947caf.js → route-31ae6abada6e6a64.js} +1 -1
  285. package/.next/standalone/.next/static/chunks/app/api/admin/companies/{route-f1b0daea9f947caf.js → route-31ae6abada6e6a64.js} +1 -1
  286. package/.next/standalone/.next/static/chunks/app/api/admin/login/{route-f1b0daea9f947caf.js → route-31ae6abada6e6a64.js} +1 -1
  287. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-31ae6abada6e6a64.js +1 -0
  288. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-31ae6abada6e6a64.js +1 -0
  289. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-31ae6abada6e6a64.js +1 -0
  290. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-31ae6abada6e6a64.js +1 -0
  291. package/.next/standalone/.next/static/chunks/app/api/agents/route-31ae6abada6e6a64.js +1 -0
  292. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-31ae6abada6e6a64.js +1 -0
  293. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-31ae6abada6e6a64.js +1 -0
  294. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-31ae6abada6e6a64.js +1 -0
  295. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-31ae6abada6e6a64.js +1 -0
  296. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-31ae6abada6e6a64.js +1 -0
  297. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-31ae6abada6e6a64.js +1 -0
  298. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-31ae6abada6e6a64.js +1 -0
  299. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-31ae6abada6e6a64.js +1 -0
  300. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-31ae6abada6e6a64.js +1 -0
  301. package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-31ae6abada6e6a64.js +1 -0
  302. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-31ae6abada6e6a64.js +1 -0
  303. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-31ae6abada6e6a64.js +1 -0
  304. package/.next/standalone/.next/static/chunks/app/api/comments/route-31ae6abada6e6a64.js +1 -0
  305. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-31ae6abada6e6a64.js +1 -0
  306. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-31ae6abada6e6a64.js +1 -0
  307. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-31ae6abada6e6a64.js +1 -0
  308. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-31ae6abada6e6a64.js +1 -0
  309. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-31ae6abada6e6a64.js +1 -0
  310. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-31ae6abada6e6a64.js +1 -0
  311. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-31ae6abada6e6a64.js +1 -0
  312. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-31ae6abada6e6a64.js +1 -0
  313. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-31ae6abada6e6a64.js +1 -0
  314. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-31ae6abada6e6a64.js +1 -0
  315. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-31ae6abada6e6a64.js +1 -0
  316. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-31ae6abada6e6a64.js +1 -0
  317. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-31ae6abada6e6a64.js +1 -0
  318. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-31ae6abada6e6a64.js +1 -0
  319. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-31ae6abada6e6a64.js +1 -0
  320. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-31ae6abada6e6a64.js +1 -0
  321. package/.next/standalone/.next/static/chunks/app/api/events/route-31ae6abada6e6a64.js +1 -0
  322. package/.next/standalone/.next/static/chunks/app/api/health/route-31ae6abada6e6a64.js +1 -0
  323. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-31ae6abada6e6a64.js +1 -0
  324. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-31ae6abada6e6a64.js +1 -0
  325. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-31ae6abada6e6a64.js +1 -0
  326. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-31ae6abada6e6a64.js +1 -0
  327. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-31ae6abada6e6a64.js +1 -0
  328. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-31ae6abada6e6a64.js +1 -0
  329. package/.next/standalone/.next/static/chunks/app/api/keepalive/route-31ae6abada6e6a64.js +1 -0
  330. package/.next/standalone/.next/static/chunks/app/api/mcp/route-31ae6abada6e6a64.js +1 -0
  331. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-31ae6abada6e6a64.js +1 -0
  332. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-31ae6abada6e6a64.js +1 -0
  333. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-31ae6abada6e6a64.js +1 -0
  334. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-31ae6abada6e6a64.js +1 -0
  335. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-31ae6abada6e6a64.js +1 -0
  336. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-31ae6abada6e6a64.js +1 -0
  337. package/.next/standalone/.next/static/chunks/app/api/notifications/route-31ae6abada6e6a64.js +1 -0
  338. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-31ae6abada6e6a64.js +1 -0
  339. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-31ae6abada6e6a64.js +1 -0
  340. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-31ae6abada6e6a64.js +1 -0
  341. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-31ae6abada6e6a64.js +1 -0
  342. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-31ae6abada6e6a64.js +1 -0
  343. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-31ae6abada6e6a64.js +1 -0
  344. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-31ae6abada6e6a64.js +1 -0
  345. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-31ae6abada6e6a64.js +1 -0
  346. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-31ae6abada6e6a64.js +1 -0
  347. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-31ae6abada6e6a64.js +1 -0
  348. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-31ae6abada6e6a64.js +1 -0
  349. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-31ae6abada6e6a64.js +1 -0
  350. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-31ae6abada6e6a64.js +1 -0
  351. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-31ae6abada6e6a64.js +1 -0
  352. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-31ae6abada6e6a64.js +1 -0
  353. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-31ae6abada6e6a64.js +1 -0
  354. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-31ae6abada6e6a64.js +1 -0
  355. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-31ae6abada6e6a64.js +1 -0
  356. package/.next/standalone/.next/static/chunks/app/api/projects/route-31ae6abada6e6a64.js +1 -0
  357. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-31ae6abada6e6a64.js +1 -0
  358. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-31ae6abada6e6a64.js +1 -0
  359. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-31ae6abada6e6a64.js +1 -0
  360. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-31ae6abada6e6a64.js +1 -0
  361. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-31ae6abada6e6a64.js +1 -0
  362. package/.next/standalone/.next/static/chunks/app/api/search/route-31ae6abada6e6a64.js +1 -0
  363. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-31ae6abada6e6a64.js +1 -0
  364. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-31ae6abada6e6a64.js +1 -0
  365. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-31ae6abada6e6a64.js +1 -0
  366. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-31ae6abada6e6a64.js +1 -0
  367. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-31ae6abada6e6a64.js +1 -0
  368. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-31ae6abada6e6a64.js +1 -0
  369. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-31ae6abada6e6a64.js +1 -0
  370. package/.next/standalone/.next/static/chunks/app/onboarding/{page-2936274fb252329e.js → page-500aded75bf11ed6.js} +1 -1
  371. package/.next/standalone/.next/static/chunks/{f57f1d5e.71d2022a2e2d95ba.js → f57f1d5e.c345ce68aa5052a7.js} +1 -1
  372. package/.next/standalone/.next/static/chunks/{fcc64ffe-de8d357e657bd162.js → fcc64ffe-2c36a6b45f81782c.js} +3 -3
  373. package/.next/standalone/.next/static/chunks/webpack-7483083a976ed3d7.js +1 -0
  374. package/.next/standalone/.next/static/css/ed6baccd62b81c4e.css +1 -0
  375. package/.next/standalone/package.json +3 -1
  376. package/README.md +8 -0
  377. package/README.zh.md +8 -0
  378. package/chorus.mjs +118 -34
  379. package/cli/embedded-db.mjs +234 -0
  380. package/package.json +3 -1
  381. package/.next/standalone/.next/server/chunks/1596.js +0 -13
  382. package/.next/standalone/.next/server/chunks/2622.js +0 -1
  383. package/.next/standalone/.next/server/chunks/4292.js +0 -1
  384. package/.next/standalone/.next/server/chunks/4872.js +0 -1
  385. package/.next/standalone/.next/server/chunks/5538.js +0 -1
  386. package/.next/standalone/.next/server/chunks/6096.js +0 -3
  387. package/.next/standalone/.next/server/chunks/7427.js +0 -1
  388. package/.next/standalone/.next/server/chunks/8732.js +0 -1
  389. package/.next/standalone/.next/server/chunks/9161.js +0 -1
  390. package/.next/standalone/.next/static/chunks/10344-2e9a9d767e2e8ed1.js +0 -1
  391. package/.next/standalone/.next/static/chunks/22190.ee4e8f3ac0189d87.js +0 -1
  392. package/.next/standalone/.next/static/chunks/2280-f48bf99ea9d88ece.js +0 -1
  393. package/.next/standalone/.next/static/chunks/31467.2013df596c751e6e.js +0 -115
  394. package/.next/standalone/.next/static/chunks/34520.34ba1239c9b5a275.js +0 -1
  395. package/.next/standalone/.next/static/chunks/46983-8bf90f1ffeb55957.js +0 -1
  396. package/.next/standalone/.next/static/chunks/46999-f53da8f53fe1b8a9.js +0 -1
  397. package/.next/standalone/.next/static/chunks/4860.e3d0dd79a4d37626.js +0 -1
  398. package/.next/standalone/.next/static/chunks/48782.5b60e8a0f22f6da1.js +0 -24
  399. package/.next/standalone/.next/static/chunks/54637-71d281d649ea3a17.js +0 -1
  400. package/.next/standalone/.next/static/chunks/58245-b2ea112ace9624d2.js +0 -1
  401. package/.next/standalone/.next/static/chunks/58699.fa3b8ce67889f23b.js +0 -80
  402. package/.next/standalone/.next/static/chunks/61963.18e80afc0dac41e3.js +0 -23
  403. package/.next/standalone/.next/static/chunks/65317.7179d4bc41c8075a.js +0 -148
  404. package/.next/standalone/.next/static/chunks/7317.1a06bc56028637f6.js +0 -5
  405. package/.next/standalone/.next/static/chunks/73506.7423a313220e1769.js +0 -1
  406. package/.next/standalone/.next/static/chunks/78917-aa5bbff9248799a4.js +0 -1
  407. package/.next/standalone/.next/static/chunks/79806.d210b93e41d4d7ff.js +0 -4
  408. package/.next/standalone/.next/static/chunks/85573-fb4d2cbd67612d47.js +0 -1
  409. package/.next/standalone/.next/static/chunks/85947.cf4ac5dd618283ee.js +0 -90
  410. package/.next/standalone/.next/static/chunks/88561-0b14e1564419f215.js +0 -1
  411. package/.next/standalone/.next/static/chunks/89035-faf398b7bbc7d2ed.js +0 -1
  412. package/.next/standalone/.next/static/chunks/91709.f7c8eff0c3692bd6.js +0 -287
  413. package/.next/standalone/.next/static/chunks/94400.30696ed643217da2.js +0 -1
  414. package/.next/standalone/.next/static/chunks/96028.427c0bd44fa35314.js +0 -215
  415. package/.next/standalone/.next/static/chunks/99373.cc6319fa4cf36081.js +0 -1
  416. package/.next/standalone/.next/static/chunks/app/(dashboard)/layout-b3a497ba5eb08036.js +0 -1
  417. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-2944c6c9bc48a7d6.js +0 -1
  418. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-d786f0c18a9c4f06.js +0 -1
  419. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-f824632ff61a9fa7.js +0 -1
  420. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/page-dbcb6e50fc4816c6.js +0 -1
  421. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-1295bc505e727383.js +0 -1
  422. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-f1b0daea9f947caf.js +0 -1
  423. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-f1b0daea9f947caf.js +0 -1
  424. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-f1b0daea9f947caf.js +0 -1
  425. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-f1b0daea9f947caf.js +0 -1
  426. package/.next/standalone/.next/static/chunks/app/api/agents/route-f1b0daea9f947caf.js +0 -1
  427. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-f1b0daea9f947caf.js +0 -1
  428. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-f1b0daea9f947caf.js +0 -1
  429. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-f1b0daea9f947caf.js +0 -1
  430. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-f1b0daea9f947caf.js +0 -1
  431. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-f1b0daea9f947caf.js +0 -1
  432. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-f1b0daea9f947caf.js +0 -1
  433. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-f1b0daea9f947caf.js +0 -1
  434. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-f1b0daea9f947caf.js +0 -1
  435. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-f1b0daea9f947caf.js +0 -1
  436. package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-f1b0daea9f947caf.js +0 -1
  437. package/.next/standalone/.next/static/chunks/app/api/auth/session/route-f1b0daea9f947caf.js +0 -1
  438. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-f1b0daea9f947caf.js +0 -1
  439. package/.next/standalone/.next/static/chunks/app/api/comments/route-f1b0daea9f947caf.js +0 -1
  440. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-f1b0daea9f947caf.js +0 -1
  441. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-f1b0daea9f947caf.js +0 -1
  442. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-f1b0daea9f947caf.js +0 -1
  443. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-f1b0daea9f947caf.js +0 -1
  444. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-f1b0daea9f947caf.js +0 -1
  445. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-f1b0daea9f947caf.js +0 -1
  446. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-f1b0daea9f947caf.js +0 -1
  447. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-f1b0daea9f947caf.js +0 -1
  448. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-f1b0daea9f947caf.js +0 -1
  449. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-f1b0daea9f947caf.js +0 -1
  450. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-f1b0daea9f947caf.js +0 -1
  451. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-f1b0daea9f947caf.js +0 -1
  452. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-f1b0daea9f947caf.js +0 -1
  453. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-f1b0daea9f947caf.js +0 -1
  454. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-f1b0daea9f947caf.js +0 -1
  455. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-f1b0daea9f947caf.js +0 -1
  456. package/.next/standalone/.next/static/chunks/app/api/events/route-f1b0daea9f947caf.js +0 -1
  457. package/.next/standalone/.next/static/chunks/app/api/health/route-f1b0daea9f947caf.js +0 -1
  458. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-f1b0daea9f947caf.js +0 -1
  459. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-f1b0daea9f947caf.js +0 -1
  460. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-f1b0daea9f947caf.js +0 -1
  461. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-f1b0daea9f947caf.js +0 -1
  462. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-f1b0daea9f947caf.js +0 -1
  463. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-f1b0daea9f947caf.js +0 -1
  464. package/.next/standalone/.next/static/chunks/app/api/keepalive/route-f1b0daea9f947caf.js +0 -1
  465. package/.next/standalone/.next/static/chunks/app/api/mcp/route-f1b0daea9f947caf.js +0 -1
  466. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-f1b0daea9f947caf.js +0 -1
  467. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-f1b0daea9f947caf.js +0 -1
  468. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-f1b0daea9f947caf.js +0 -1
  469. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-f1b0daea9f947caf.js +0 -1
  470. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-f1b0daea9f947caf.js +0 -1
  471. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-f1b0daea9f947caf.js +0 -1
  472. package/.next/standalone/.next/static/chunks/app/api/notifications/route-f1b0daea9f947caf.js +0 -1
  473. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-f1b0daea9f947caf.js +0 -1
  474. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-f1b0daea9f947caf.js +0 -1
  475. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-f1b0daea9f947caf.js +0 -1
  476. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-f1b0daea9f947caf.js +0 -1
  477. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-f1b0daea9f947caf.js +0 -1
  478. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-f1b0daea9f947caf.js +0 -1
  479. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-f1b0daea9f947caf.js +0 -1
  480. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-f1b0daea9f947caf.js +0 -1
  481. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-f1b0daea9f947caf.js +0 -1
  482. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-f1b0daea9f947caf.js +0 -1
  483. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-f1b0daea9f947caf.js +0 -1
  484. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-f1b0daea9f947caf.js +0 -1
  485. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-f1b0daea9f947caf.js +0 -1
  486. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-f1b0daea9f947caf.js +0 -1
  487. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-f1b0daea9f947caf.js +0 -1
  488. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-f1b0daea9f947caf.js +0 -1
  489. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-f1b0daea9f947caf.js +0 -1
  490. package/.next/standalone/.next/static/chunks/app/api/projects/route-f1b0daea9f947caf.js +0 -1
  491. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-f1b0daea9f947caf.js +0 -1
  492. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-f1b0daea9f947caf.js +0 -1
  493. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-f1b0daea9f947caf.js +0 -1
  494. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-f1b0daea9f947caf.js +0 -1
  495. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-f1b0daea9f947caf.js +0 -1
  496. package/.next/standalone/.next/static/chunks/app/api/search/route-f1b0daea9f947caf.js +0 -1
  497. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-f1b0daea9f947caf.js +0 -1
  498. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-f1b0daea9f947caf.js +0 -1
  499. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-f1b0daea9f947caf.js +0 -1
  500. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-f1b0daea9f947caf.js +0 -1
  501. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-f1b0daea9f947caf.js +0 -1
  502. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-f1b0daea9f947caf.js +0 -1
  503. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-f1b0daea9f947caf.js +0 -1
  504. package/.next/standalone/.next/static/chunks/webpack-ed3555ea61243391.js +0 -1
  505. package/.next/standalone/.next/static/css/6e8fd46b062fd4fc.css +0 -1
  506. /package/.next/standalone/.next/static/{GmBblfxcDziUENBiEap4B → W3KEB0tOAICVtfAUfR_M9}/_buildManifest.js +0 -0
  507. /package/.next/standalone/.next/static/{GmBblfxcDziUENBiEap4B → W3KEB0tOAICVtfAUfR_M9}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[46999],{14554:(e,s,t)=>{t.d(s,{p:()=>r});var a=t(90508);t(1856);var n=t(24377);function r(e){let{className:s,type:t,...r}=e;return(0,a.jsx)("input",{type:t,"data-slot":"input",className:(0,n.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",s),...r})}},26965:(e,s,t)=>{t.d(s,{L:()=>v});var a=t(90508),n=t(1856),r=t(39268),i=t(14554),l=t(88064),o=t(15972),d=t(60532),c=t(98861),m=t(24377);function u(e){let{className:s,...t}=e;return(0,a.jsx)(c.Root,{"data-slot":"checkbox",className:(0,m.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",s),...t,children:(0,a.jsx)(c.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,a.jsx)(d.A,{className:"size-3.5"})})})}var x=t(91846),p=t(44775),h=t(93810);let g={admin_agent:"agent.permissions.presetAdmin",pm_agent:"agent.permissions.presetPm",developer_agent:"agent.permissions.presetDev",custom:"agent.permissions.presetCustom"},f={admin_agent:"agent.permissions.help.admin",pm_agent:"agent.permissions.help.pm",developer_agent:"agent.permissions.help.dev",custom:"agent.permissions.help.custom"},b=["admin_agent","pm_agent","developer_agent","custom"];function j(e){let{preset:s,permissions:t,onChange:n,readOnly:i=!1}=e,o=(0,r.c)(),d=null!=s?s:"custom",c=new Set("custom"===d?t:p.o[d]);return(0,a.jsxs)("div",{"data-testid":"agent-permission-picker",className:"space-y-4",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)(l.J,{className:"text-[13px] font-medium",children:o("agent.permissions.title")}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:o("agent.permissions.description")})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(l.J,{htmlFor:"agent-permission-preset",children:o("agent.permissions.presetLabel")}),(0,a.jsxs)(x.l6,{value:d,onValueChange:function(e){if("custom"===e)return void n({preset:"custom",roles:[],permissions:Array.from(c)});e in p.o&&n({preset:e,roles:[e],permissions:[]})},disabled:i,children:[(0,a.jsx)(x.bq,{id:"agent-permission-preset",className:"w-full","aria-label":o("agent.permissions.presetLabel"),children:(0,a.jsx)(x.yv,{placeholder:o(g[d]),children:o(g[d])})}),(0,a.jsx)(x.gC,{children:b.map(e=>(0,a.jsx)(x.eb,{value:e,textValue:o(g[e]),children:(0,a.jsxs)("div",{className:"flex flex-col gap-0.5 py-0.5",children:[(0,a.jsx)("span",{className:"text-sm font-semibold",children:o(g[e])}),(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:o(f[e])})]})},e))})]})]}),(0,a.jsxs)("div",{role:"grid","aria-label":o("agent.permissions.title"),className:"overflow-hidden rounded-md border",children:[(0,a.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,a.jsx)("div",{role:"columnheader",children:o("agent.permissions.resourceHeader")}),h.kl.map(e=>(0,a.jsx)("div",{role:"columnheader",className:"text-center",children:o("agent.permissions.actions.".concat(e))},e))]}),h.eZ.map(e=>(0,a.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,a.jsx)("div",{role:"rowheader",className:"font-medium",children:o("agent.permissions.resources.".concat(e))}),h.kl.map(s=>{let t="".concat(e,":").concat(s),r="perm-".concat(e,"-").concat(s);return(0,a.jsx)("div",{role:"gridcell",className:"flex items-center justify-center",children:(0,a.jsx)(u,{id:r,checked:c.has(t),disabled:i,"aria-label":"".concat(o("agent.permissions.resources.".concat(e))," ").concat(o("agent.permissions.actions.".concat(s))),onCheckedChange:e=>{if(!i){let s=new Set(c);!0===e?s.add(t):s.delete(t),n({preset:"custom",roles:[],permissions:Array.from(s)})}}})},s)})]},e))]})]})]})}function v(e){let{name:s,onNameChange:t,preset:d,permissions:c,onPermissionsChange:m,persona:u,onPersonaChange:x,nameInputId:h="agent-form-name",personaInputId:g="agent-form-persona",readOnly:f=!1}=e,b=(0,r.c)(),v=(0,n.useMemo)(()=>"custom"===d?c:[...p.o[d]],[d,c]);return(0,a.jsxs)("div",{className:"space-y-5",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(l.J,{htmlFor:h,className:"text-[13px]",children:b("settings.name")}),(0,a.jsx)(i.p,{id:h,value:s,onChange:e=>t(e.target.value),placeholder:b("settings.namePlaceholder"),className:"border-[#E5E0D8]",required:!0,disabled:f})]}),(0,a.jsx)(j,{preset:d,permissions:v,onChange:m,readOnly:f}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(l.J,{htmlFor:g,className:"text-[13px]",children:b("settings.agentPersona")}),(0,a.jsx)(o.T,{id:g,value:u,onChange:e=>x(e.target.value),placeholder:b("settings.personaPlaceholder"),rows:4,disabled:f}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:b("settings.personaHint")})]})]})}},37750:(e,s,t)=>{t.d(s,{Y:()=>u});var a=t(90508),n=t(1856),r=t(39268),i=t(22922),l=t(60532),o=t(9160),d=t(67712),c=t(26965),m=t(83792);function u(e){let{onAgentCreated:s,createAgentAndKey:t,onClose:u,embedded:x=!1,submitLabel:p,submittingLabel:h}=e,g=(0,r.c)(),[f,b]=(0,n.useState)(""),[j,v]=(0,n.useState)("admin_agent"),[N,y]=(0,n.useState)(["admin_agent"]),[w,k]=(0,n.useState)([]),[C,_]=(0,n.useState)(""),[S,T]=(0,n.useState)(!1),[A,R]=(0,n.useState)(null),[I,L]=(0,n.useState)(!1),U=async e=>{if((e.preventDefault(),f)&&("custom"!==j||0!==w.length)){T(!0);try{let e=await t({name:f,roles:N,permissions:"custom"===j?w:[],persona:C||null});e.success&&e.key?(x||R(e.key),s({uuid:e.agentUuid||"",name:f,roles:N,permissions:"custom"===j?w:[]},e.key)):d.q.error("Failed to create API key:",e.error)}catch(e){d.q.error("Failed to create API key:",e)}finally{T(!1)}}},K=async e=>{try{await navigator.clipboard.writeText(e),L(!0),setTimeout(()=>L(!1),2e3)}catch(e){d.q.error("Failed to copy to clipboard:",e)}},P=()=>{b(""),v("admin_agent"),y(["admin_agent"]),k([]),_(""),R(null),null==u||u()};return A&&!x?(0,a.jsxs)("div",{className:"p-6",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center gap-2 text-green-600",children:[(0,a.jsx)(l.A,{className:"h-5 w-5"}),(0,a.jsx)("span",{className:"font-medium",children:g("settings.apiKeyCreated")})]}),(0,a.jsx)("p",{className:"mb-4 text-sm text-muted-foreground",children:g("settings.apiKeyCreatedDesc")}),(0,a.jsxs)("div",{className:"mb-4 flex items-center gap-2",children:[(0,a.jsx)("code",{className:"flex-1 rounded bg-foreground px-3 py-2 font-mono text-sm text-background",children:A}),(0,a.jsx)(i.$,{variant:"outline",size:"sm",onClick:()=>K(A),children:g(I?"common.copied":"common.copy")})]}),(0,a.jsx)("p",{className:"mb-3 text-sm text-muted-foreground",children:g("settings.installGuideIntro")}),(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(m.Z,{apiKey:A})}),(0,a.jsx)(i.$,{onClick:P,className:"w-full",children:g("common.done")})]}):(0,a.jsxs)("form",{onSubmit:U,children:[!x&&(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-6 py-5",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:g("settings.createApiKey")}),u&&(0,a.jsx)(i.$,{type:"button",variant:"ghost",size:"icon",onClick:P,className:"h-8 w-8",children:(0,a.jsx)(o.A,{className:"h-4 w-4"})})]}),(0,a.jsx)("div",{className:x?void 0:"p-6",children:(0,a.jsx)(c.L,{name:f,onNameChange:b,preset:j,permissions:w,onPermissionsChange:function(e){v(e.preset),y(e.roles),k(e.permissions)},persona:C,onPersonaChange:_,nameInputId:"keyName",personaInputId:"create-agent-persona"})}),(0,a.jsxs)("div",{className:x?"flex justify-end gap-3 pt-2":"flex justify-end gap-3 border-t border-border px-6 py-4",children:[!x&&u&&(0,a.jsx)(i.$,{type:"button",variant:"outline",onClick:P,children:g("common.cancel")}),(0,a.jsx)(i.$,{type:"submit",disabled:!f||"custom"===j&&0===w.length||S,className:x?"w-full":void 0,size:x?"lg":"default",children:S?null!=h?h:g("settings.creating"):null!=p?p:g("settings.createApiKey")})]})]})}},39674:(e,s,t)=>{t.d(s,{Xi:()=>o,av:()=>d,j7:()=>l,tU:()=>i});var a=t(90508);t(1856);var n=t(79834),r=t(24377);function i(e){let{className:s,...t}=e;return(0,a.jsx)(n.Root,{"data-slot":"tabs",className:(0,r.cn)("flex flex-col gap-2",s),...t})}function l(e){let{className:s,...t}=e;return(0,a.jsx)(n.List,{"data-slot":"tabs-list",className:(0,r.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",s),...t})}function o(e){let{className:s,...t}=e;return(0,a.jsx)(n.Trigger,{"data-slot":"tabs-trigger",className:(0,r.cn)("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",s),...t})}function d(e){let{className:s,...t}=e;return(0,a.jsx)(n.Content,{"data-slot":"tabs-content",className:(0,r.cn)("flex-1 outline-none",s),...t})}},44775:(e,s,t)=>{t.d(s,{o:()=>a});let a={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"]}},50006:(e,s,t)=>{t.d(s,{N:()=>r});var a=t(90508),n=t(97261);function r(e){let{code:s,language:t}=e,r="```".concat(t||"","\n").concat(s,"\n```");return(0,a.jsx)(n.MarkdownContent,{children:r})}},61326:(e,s,t)=>{t.d(s,{I:()=>n});var a=t(52217);let n=(0,a.createServerReference)("40d5de51bfd07b9c8ce2e2cad19237ae6e620611fc",a.callServer,void 0,a.findSourceMapURL,"createAgentAndKeyAction")},83792:(e,s,t)=>{t.d(s,{Z:()=>c});var a=t(90508),n=t(39268),r=t(48416),i=t(39674),l=t(81750),o=t(17730),d=t(50006);function c(e){let{apiKey:s}=e,t=(0,n.c)("onboarding"),c=window.location.origin,m=s||"<YOUR_API_KEY>";return(0,a.jsx)(r.Zp,{className:"w-full",children:(0,a.jsx)(r.Wu,{className:"p-6",children:(0,a.jsxs)(i.tU,{defaultValue:"claude-code",className:"w-full",children:[(0,a.jsxs)(i.j7,{className:"w-full",children:[(0,a.jsx)(i.Xi,{value:"claude-code",className:"flex-1",children:t("install.tabs.claudeCode")}),(0,a.jsx)(i.Xi,{value:"codex",className:"flex-1",children:t("install.tabs.codex")}),(0,a.jsx)(i.Xi,{value:"opencode",className:"flex-1",children:t("install.tabs.opencode")}),(0,a.jsx)(i.Xi,{value:"openclaw",className:"flex-1",children:t("install.tabs.openClaw")}),(0,a.jsx)(i.Xi,{value:"other",className:"flex-1",children:t("install.tabs.other")})]}),(0,a.jsxs)(i.av,{value:"claude-code",className:"mt-4 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.claudeCode.step1Title")}),(0,a.jsx)(d.N,{language:"bash",code:'export CHORUS_URL="'.concat(c,'"\nexport CHORUS_API_KEY="').concat(m,'"')}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:t("install.claudeCode.step1Tip")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.claudeCode.step2Title")}),(0,a.jsx)(d.N,{language:"bash",code:"/plugin marketplace add Chorus-AIDLC/chorus\n/plugin install chorus@chorus-plugins"})]})]}),(0,a.jsxs)(i.av,{value:"codex",className:"mt-4 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.codex.step1Title")}),(0,a.jsx)(d.N,{language:"bash",code:'export CHORUS_URL="'.concat(c,'"\nexport CHORUS_API_KEY="').concat(m,'"')}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:t("install.codex.step1Tip")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.codex.step2Title")}),(0,a.jsx)(d.N,{language:"bash",code:"curl -fsSL ".concat(c,"/install-codex.sh | bash")}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:t("install.codex.step2Tip")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.codex.step3Title")}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:t("install.codex.step3Desc")})]})]}),(0,a.jsxs)(i.av,{value:"opencode",className:"mt-4 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.opencode.step1Title")}),(0,a.jsx)(d.N,{language:"bash",code:'export CHORUS_URL="'.concat(c,'"\nexport CHORUS_API_KEY="').concat(m,'"')}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:t("install.opencode.step1Tip")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.opencode.step2Title")}),(0,a.jsx)(d.N,{language:"bash",code:"curl -fsSL ".concat(c,"/install-opencode.sh | bash")}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:t("install.opencode.step2Tip")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.opencode.step3Title")}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:t("install.opencode.step3Desc")})]}),(0,a.jsxs)(l.Nt,{children:[(0,a.jsxs)(l.R6,{className:"flex w-full items-center gap-2 rounded-md border px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:[(0,a.jsx)(o.A,{className:"size-4 transition-transform duration-200 [[data-state=open]>&]:rotate-180"}),t("install.opencode.troubleshootingTitle")]}),(0,a.jsx)(l.Ke,{children:(0,a.jsxs)("div",{className:"mt-2 space-y-2",children:[(0,a.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,a.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:t("install.opencode.issueCache.title")}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t("install.opencode.issueCache.fix")})]}),(0,a.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,a.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:t("install.opencode.issueEnv.title")}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t("install.opencode.issueEnv.fix")})]}),(0,a.jsxs)("div",{className:"rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,a.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:t("install.opencode.issueCheckin.title")}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t("install.opencode.issueCheckin.fix")})]})]})})]})]}),(0,a.jsxs)(i.av,{value:"openclaw",className:"mt-4 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.openClaw.step1Title")}),(0,a.jsx)(d.N,{language:"bash",code:"openclaw plugins install @chorus-aidlc/chorus-openclaw-plugin"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.openClaw.step2Title")}),(0,a.jsx)(d.N,{language:"json",code:'{\n "hooks": { "enabled": true, "token": "<your-token>" },\n "plugins": {\n "enabled": true,\n "entries": {\n "chorus-openclaw-plugin": {\n "enabled": true,\n "config": {\n "chorusUrl": "'.concat(c,'",\n "apiKey": "').concat(m,'",\n "autoStart": true\n }\n }\n }\n }\n}')})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.openClaw.step3Title")}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:t("install.openClaw.step3Desc")})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-2 text-sm font-medium text-foreground",children:t("install.openClaw.step4Title")}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:t("install.openClaw.step4Desc")}),(0,a.jsx)(d.N,{code:"/chorus status"})]}),(0,a.jsxs)(l.Nt,{children:[(0,a.jsxs)(l.R6,{className:"flex w-full items-center gap-2 rounded-md border px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:[(0,a.jsx)(o.A,{className:"size-4 transition-transform duration-200 [[data-state=open]>&]:rotate-180"}),t("install.openClaw.troubleshootingTitle")]}),(0,a.jsx)(l.Ke,{children:(0,a.jsxs)("div",{className:"mt-2 rounded-md border border-amber-500/20 bg-amber-500/5 p-3",children:[(0,a.jsx)("p",{className:"text-sm font-medium text-amber-600 dark:text-amber-400",children:t("install.openClaw.troubleshootingError")}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:t("install.openClaw.troubleshootingFix")})]})})]})]}),(0,a.jsxs)(i.av,{value:"other",className:"mt-4 space-y-4",children:[(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:t("install.other.description")}),(0,a.jsx)(d.N,{code:"Please install and configure the Chorus AI-DLC collaboration platform.\n\nChorus URL: ".concat(c,"\nAPI Key: ").concat(m,"\n\nRead the setup instructions from:\n").concat(c,'/skill/chorus/SKILL.md\n\nFollow the "Setup" section to configure the MCP server,\nthen call chorus_checkin() to verify the connection.')})]})]})})})}},88064:(e,s,t)=>{t.d(s,{J:()=>i});var a=t(90508);t(1856);var n=t(58057),r=t(24377);function i(e){let{className:s,...t}=e;return(0,a.jsx)(n.Root,{"data-slot":"label",className:(0,r.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",s),...t})}},93810:(e,s,t)=>{t.d(s,{eZ:()=>a,kl:()=>n,lp:()=>r});let a=["idea","proposal","document","task","project"],n=["read","write","admin"],r=a.flatMap(e=>n.map(s=>"".concat(e,":").concat(s)))}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4860],{4860:e=>{e.exports=JSON.parse('{"common":{"appName":"Chorus","loading":"加载中...","save":"保存","cancel":"取消","delete":"删除","edit":"编辑","create":"创建","search":"搜索","done":"完成","copy":"复制","copied":"已复制!","back":"返回","viewAll":"查看全部","showMore":"展开","showLess":"收起","signOut":"退出登录","optional":"可选","unassigned":"未分配","agent":"智能体","user":"用户","status":"状态","priority":"优先级","type":"类型","created":"创建时间","updated":"更新时间","version":"版本","description":"描述","details":"详情","content":"内容","assignment":"分配","noDescription":"暂无描述","noContent":"暂无内容","creating":"创建中...","processing":"处理中...","saving":"保存中...","claim":"认领","release":"释放","assign":"分配","reassign":"重新分配","verify":"验证","reject":"拒绝","approve":"批准","selectProject":"请先选择一个项目","assignee":"负责人","activity":"动态","noActivity":"暂无动态","source":"来源","currentAssignee":"当前负责人","failedToAssign":"分配失败","actions":"操作","genericError":"发生错误,请重试。","unknown":"未知","system":"系统","confirmDelete":"确定要删除吗?"},"activity":{"taskCreated":"{actor} 创建了此任务","taskAssigned":"{actor} 被分配到此任务","taskClaimed":"{actor} 认领了此任务","taskStarted":"{actor} 开始处理此任务","taskSubmitted":"{actor} 提交了此任务待审核","taskCompleted":"{actor} 完成了此任务","taskReleased":"{actor} 释放了此任务","taskStatusChanged":"{actor} 更改了任务状态","ideaCreated":"{actor} 创建了此想法","ideaAssigned":"{actor} 被分配到此想法","ideaClaimed":"{actor} 认领了此想法","ideaReleased":"{actor} 释放了此想法","ideaStatusChanged":"{actor} 更改了想法状态","ideaEdited":"{actor} 编辑了想法","ideaReparented":"{actor} 更改了想法的父级","elaborationStarted":"{actor} 发起了需求澄清","elaborationAnswered":"{actor} 回答了需求澄清","elaborationSkipped":"{actor} 跳过了需求澄清","elaborationResolved":"{actor} 完成了需求澄清","elaborationFollowup":"{actor} 发起了追加需求澄清","genericAction":"{actor} 执行了 {action}","entityIdea":"想法","entityProposal":"提案","entityTask":"任务","entityDocument":"文档","entityProject":"项目","actionCreated":"创建了","actionUpdated":"更新了","actionApproved":"批准了","actionRejected":"拒绝了","actionClaimed":"认领了","actionCompleted":"完成了","actionRevoked":"已撤回","title":"动态","subtitle":"项目最近活动","noActivity":"暂无动态","noActivityDesc":"当您和智能体在此项目上工作时,动态将在此显示。","loadingActivity":"加载动态中..."},"comments":{"title":"评论","noComments":"暂无评论","addComment":"添加评论...(输入 @ 提及他人)","roleAgent":"Agent","roleHuman":"用户","onBehalfOf":"代表 {name}","showMore":"展开更多","showLess":"收起","loadError":"加载评论失败","retry":"重试","loadingMore":"加载更多...","noMoreComments":"没有更多评论"},"mentions":{"noResults":"无结果","searchPlaceholder":"输入名称以提及..."},"assign":{"selectAssignee":"选择如何分配此任务","assignToMyself":"分配给我自己","assignToMyselfDesc":"您的所有开发智能体都可以查看并处理此任务","orAssignToUser":"分配给其他用户","orAssignToAgent":"分配给特定智能体","releaseAssignee":"释放(清除负责人)","releaseAssigneeDesc":"移除当前负责人,使此任务重新可用"},"assignInstance":{"workingDirectory":"工作目录","loadingInstances":"正在加载工作目录…","noInstances":"该智能体没有在线的守护进程。任务已分配并已通知该智能体,它将在下次上线时领取。","pinNote":"自主唤醒会将此任务路由到你在此固定的确切(主机,路径)实例。只能固定在线实例。路径绝不会从项目推断。","ideaPinNote":"想法是固定的根:该智能体的提案、任务和自主唤醒都会继承你在此固定的(主机,路径)。只能固定在线实例。留空则分配给普通智能体。","assignTo":"分配到 {path}","assignToWithHost":"分配到 {path} \xb7 {host}","sendingTo":"发送到 {path}","sendingToWithHost":"发送到 {path} \xb7 {host}","liveSendNote":"立即发送指令。实时发送要求该路径处于在线状态。","offlineCantRun":"离线 — 重新连接前无法运行"},"time":{"justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","today":"今天","yesterday":"昨天"},"nav":{"projects":"项目","settings":"设置","overview":"概览","documents":"文档","proposals":"提案","tasks":"任务","activity":"动态","logout":"退出登录","newProject":"新建项目","backToProjects":"项目","openMenu":"打开菜单"},"priority":{"low":"低","medium":"中","high":"高","lowPriority":"低优先级","mediumPriority":"中优先级","highPriority":"高优先级","critical":"紧急","criticalPriority":"紧急优先级"},"status":{"open":"开放","active":"进行中","draft":"草稿","pending":"待审核","pendingReview":"待审核","approved":"已批准","rejected":"已拒绝","done":"已完成","inProgress":"进行中","todo":"待办","toVerify":"待验证","claimed":"已认领","current":"当前","assigned":"已分配","completed":"已完成","closed":"已关闭","elaborating":"需求澄清中","elaborated":"已细化","proposalCreated":"方案已创建","proposal_created":"方案已创建","needHumanInput":"需要人工介入","humanConductRequired":"需要指挥"},"admin":{"title":"超级管理员","dashboard":"仪表盘","welcome":"欢迎使用 Chorus 超级管理后台","email":"邮箱","emailPlaceholder":"you@company.com","password":"密码","passwordPlaceholder":"输入密码","signingIn":"登录中...","signInAsAdmin":"以超级管理员身份登录","backToEmail":"返回邮箱输入","totalCompanies":"公司总数","registeredOrgs":"已注册的组织","registeredOrgsCount":"{count} 个已注册组织","totalUsers":"用户总数","humanUsers":"所有公司的人类用户","totalAgents":"智能体总数","aiAgents":"所有公司的 AI 智能体","quickActions":"快捷操作","commonTasks":"常用管理任务","addCompany":"添加公司","addCompanyDesc":"注册新的组织","manageCompanies":"管理公司","manageCompaniesDesc":"查看和配置组织","companies":"公司","oidcRedirectUri":"OIDC 重定向 URI(回调地址)","oidcRedirectUriDesc":"在您的 OIDC 提供商中配置此 URL 作为允许的重定向 URI","tableName":"名称","tableEmailDomains":"邮箱域名","tableOidcStatus":"OIDC 状态","tableUsers":"用户","tableAgents":"智能体","tableActions":"操作","noCompanies":"暂无公司。","addFirstCompany":"添加您的第一个公司","oidcConfigured":"已配置","oidcNotConfigured":"未配置","deleteCompanyConfirm":"确定要删除「{name}」吗?此操作无法撤销。","deleteCompanyConfirmFull":"确定要删除「{name}」吗?此操作无法撤销,并将删除所有关联数据。","failedToDelete":"删除公司失败","networkError":"网络错误,请重试。","backToCompanies":"返回公司列表","deleteCompany":"删除公司","createdOn":"创建于 {date}","companyNotFound":"公司未找到","failedToLoad":"加载公司失败","failedToUpdate":"更新公司失败","companyUpdated":"公司更新成功","projects":"项目","basicInfo":"基本信息","companyName":"公司名称","emailDomains":"邮箱域名","emailDomainsPlaceholder":"acme.com, acme.org","emailDomainsHelp":"以逗号分隔的邮箱域名列表","oidcConfig":"OIDC 配置","oidcEnabled":"已启用","oidcConfigDesc":"配置 OpenID Connect (PKCE) 以实现单点登录认证。当 Issuer URL 和 Client ID 都填写后,OIDC 将自动启用。","oidcIssuerUrl":"OIDC Issuer URL","oidcIssuerUrlPlaceholder":"https://login.microsoftonline.com/tenant-id/v2.0","oidcIssuerUrlHelp":"OpenID Connect 发现端点 URL","clientId":"Client ID","clientIdPlaceholder":"例如:12345678-abcd-efgh-ijkl-123456789012","clientIdHelp":"OAuth 2.0 Client ID(PKCE 模式,无需密钥)","saveChanges":"保存更改","createCompany":"创建公司","createCompanyDesc":"设置新公司并配置 OIDC 认证","emailDomain":"邮箱域名","emailDomainHelp":"使用此邮箱域名的用户将被路由到此公司","required":"必填","companyNamePlaceholder":"例如:Acme 公司","emailDomainPlaceholder":"例如:acme.com","invalidCredentials":"凭证无效","createCompanyFailed":"创建公司失败"},"dashboard":{"title":"仪表盘","subtitle":"项目活动概览","welcome":"欢迎使用 Chorus","welcomeDesc":"创建您的第一个项目或选择现有项目开始。","viewProjects":"查看项目","createProject":"创建项目","quickActions":"快捷操作","addNewIdea":"新想法","reviewProposals":"审核提案","viewTaskBoard":"任务看板","recentActivity":"最近动态","activityPlaceholder":"动态信息将在此显示","taskPipeline":"任务流水线","totalTasks":"共 {count} 个","todoCount":"待办 ({count})","inProgressCount":"进行中 ({count})","toVerifyCount":"待验证 ({count})","doneCount":"已完成 ({count})","noRecentTasks":"暂无任务","noRecentActivity":"暂无动态","viewAll":"查看全部","settings":"设置"},"projectSettings":{"title":"项目设置","basicInfo":"基本信息","projectName":"项目名称","description":"描述","saveChanges":"保存更改","saving":"保存中...","saveSuccess":"项目已更新","saveFailed":"更新项目失败","dangerZone":"危险区域","deleteTitle":"删除此项目","deleteDescription":"永久删除此项目及其所有数据,此操作无法撤销。"},"projects":{"title":"项目","subtitle":"管理您的项目并跟踪进度","newProject":"新建项目","noProjects":"暂无项目","noProjectsDesc":"创建您的第一个项目,开始与 AI 智能体协作。","createFirst":"创建第一个项目","onboarding":{"welcomeTitle":"欢迎使用 Chorus","welcomeDesc":"Chorus 通过项目组和项目来组织工作。让我们来设置您的工作空间。","whatIsGroupTitle":"项目组","whatIsGroupDesc":"用于归类相关项目的容器。可以理解为一个团队、产品线或计划 —— 例如「移动应用」或「Q3 发布」。","whatIsProjectTitle":"项目","whatIsProjectDesc":"实际工作发生的地方。每个项目有自己的想法、提案、文档和任务。AI 智能体在项目内协作。","step1Title":"第一步:创建项目组","step1Desc":"先组织您的工作空间。创建一个分组来归类相关项目。","step2Title":"第二步:创建项目","step2Desc":"在分组中添加一个项目。这是您收集想法和分配 AI 智能体工作的地方。","createGroupBtn":"创建项目组","agentTipTitle":"有管理员智能体?让 AI 帮你完成设置","agentTipDesc":"复制以下提示词发送给管理员智能体,自动创建项目组和项目:","agentPrompt":"请帮我设置工作空间。创建一个名为「{groupName}」的项目组,描述为「{groupDesc}」,然后在其中创建一个名为「{projectName}」的项目。","agentPromptDefault":"请帮我设置工作空间。创建一个名为「我的团队」的项目组并添加简要描述,然后在其中创建一个初始项目。","copiedPrompt":"提示词已复制!"},"ideas":"个想法","tasks":"个任务","docs":"个文档","loadingProjects":"加载项目中...","createFailed":"创建项目失败","activeProjects":"活跃项目","totalTasks":"总任务数","openProposals":"待审提案","ideasCaptured":"已收集想法","taskProgress":"任务进度","createNewProject":"创建新项目","createNewProjectDesc":"开始一个新项目并邀请团队","updated":"更新于","listView":"列表","gridView":"网格","empty":"空","complete":"完成","createNew":{"title":"创建新项目","subtitle":"设置项目详情,之后再将想法分配给 产品经理智能体","gettingStartedTitle":"开始使用","gettingStartedDesc":"填写以下基本信息。创建后,您可以添加想法并分配给 产品经理智能体生成提案。","basicInfo":"基本信息","projectName":"项目名称","projectNamePlaceholder":"例如:项目 Alpha","descriptionLabel":"描述","descriptionPlaceholder":"简要描述这个项目是关于什么的...","initialIdeas":"初始想法","initialIdeasDesc":"分享任何初始想法或需求,供 产品经理智能体在生成提案时参考","ideaPlaceholder":"例如:我们需要支持 OAuth 的用户认证...","addAnother":"添加另一个想法","documents":"文档","documentsDesc":"上传 PRD、技术设计或任何参考文档供 产品经理智能体分析","dragDrop":"拖放文件到此处,或点击浏览","fileTypes":"Markdown(.md)文档","createProject":"创建项目"}},"ideas":{"title":"想法","subtitle":"捕捉并跟踪项目想法","newIdea":"新想法","all":"全部","whatIsYourIdea":"您的想法是什么?","addMoreDetails":"添加更多详情...","noIdeas":"暂无想法","noIdeasFiltered":"暂无{status}的想法","startByAdding":"从添加您的第一个想法开始。想法可以被 AI 智能体拾取进行分析。","ideasWithStatus":"此状态的想法将在此显示。","addFirstIdea":"添加第一个想法","loadingIdeas":"加载想法中...","ideaNotFound":"想法未找到","backToIdeas":"返回想法列表","claimIdea":"认领想法","assignIdea":"分配想法","source":"来源:","assignedToMe":"分配给我","usedInProposal":"已用于提案","noIdeasWithStatus":"暂无{status}的想法","selectIdeaAssignee":"选择如何分配此想法","assignToMyselfIdeaDesc":"您的所有 产品经理智能体都可以查看并处理此想法","orAssignToPmAgent":"分配给特定 产品经理智能体","onlySelectedPmAgentCanWork":"只有选中的 产品经理智能体可以处理此想法","selectPmAgent":"选择一个 产品经理智能体","noPmAgentsAvailable":"没有可用的 产品经理智能体","releaseIdeaAssigneeDesc":"移除当前负责人,使此想法重新可用","proposalGenerated":"已生成提案","viewProposal":"查看提案","assignedTo":"分配给","titleLabel":"标题","submit":"提交","editIdea":"编辑想法","saveChanges":"保存更改","completed":"已完成","titleRequired":"标题不能为空","updateFailed":"更新想法失败","deleteIdea":"删除想法","deleteIdeaConfirm":"确定要删除「{title}」吗?此操作无法撤销。","createFailed":"创建想法失败","noProjectsFound":"未找到项目","moveFailed":"移动想法失败","moving":"移动中...","ungrouped":"未分组","actions":{"move":"移动到项目..."},"moveDialog":{"title":"将 Idea 移动到其他项目","description":"选择目标项目。关联的提案、文档、任务以及活动记录都会随这个 Idea 一起迁移。","targetProjectLabel":"目标项目","targetProjectPlaceholder":"选择一个项目...","searchProjects":"搜索项目...","previewLoading":"正在计算影响范围...","previewSummary":"将一并移动:{ideas} 个 idea(含派生)、{proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","previewWarning":"此操作不可撤销。","confirm":"确认移动","cancel":"取消","error":"移动失败:{message}","successToast":"已移动 {ideas} 个 idea — 更新 {proposals} 个提案、{documents} 个文档、{tasks} 个任务、{activities} 条活动。","viewMovedIdea":"查看"}},"tasks":{"title":"任务","subtitle":"任务管理看板","newTask":"新任务","agentHours":"智能体工时总计","noTasks":"暂无任务","loadingTasks":"加载任务中...","taskNotFound":"任务未找到","backToTasks":"返回任务列表","claimTask":"认领任务","assignTask":"分配任务","statusProgress":"状态进度","subtasks":"子任务","parentTask":"父任务","storyPoints":"故事点","acceptanceCriteria":"验收标准","startWork":"开始工作","submitForReview":"提交验证","markAsVerified":"标记为已验证","taskCompleted":"任务已完成","noActionsAvailable":"无可用操作","onlySelectedAgentCanWork":"仅选定的智能体可以处理此任务","selectAgent":"选择智能体","selectUser":"选择用户","noAgentsAvailable":"暂无可用的智能体","noUsersAvailable":"暂无其他用户","editTask":"编辑任务","createTaskTitle":"创建任务","deleteTask":"删除任务","deleteTaskConfirm":"确定要删除「{title}」吗?此操作无法撤销。","titleLabel":"标题","titleRequired":"标题不能为空","descriptionLabel":"描述","priorityLabel":"优先级","storyPointsLabel":"故事点(小时)","acceptanceCriteriaLabel":"验收标准","saveChanges":"保存更改","createFailed":"创建任务失败","updateFailed":"更新任务失败","dependencies":"依赖关系","dependsOn":"依赖于","blockedByThis":"被此任务阻塞","noDependencies":"无依赖","addDependency":"添加依赖","failedToAddDep":"添加依赖失败","failedToRemoveDep":"移除依赖失败","noTasksToDisplay":"暂无任务","kanbanView":"看板","dagView":"DAG","listView":"列表","allStatuses":"全部","dependencyBlocked":"依赖未完成","dependencyBlockedDescription":"此任务有未完成的前置依赖。在依赖未完成时开始工作可能会导致问题。","forceMove":"强制移动","forceMoveConfirm":"确定要将此任务移动到进行中吗?其前置依赖尚未完成。","blockerList":"阻塞任务","blockedTooltip":"被 {count} 个未完成的依赖阻塞","blockedBy":"阻塞于:{tasks}","noActiveSession":"无活跃会话","forceStatusChange":"强制状态变更","proposalFilter":{"label":"提案","allProposals":"所有提案","clear":"清除","search":"搜索提案...","taskCount":"{count} 个任务","filtered":"{filtered} / {total} 个提案","noResults":"未找到提案","filteredSubtitle":"显示 {filtered} / {total} 个任务(已筛选)"}},"proposals":{"pageTitle":"提案","subtitle":"审核和批准 AI 生成的提案","all":"全部","pendingReview":"待审核","noProposals":"暂无提案","noProposalsDesc":"当 产品经理智能体分析想法时会创建提案。它们将在此显示供您审核。","loadingProposals":"加载提案中...","proposalNotFound":"提案未找到","backToProposals":"返回提案列表","sourceIdea":"来源想法","sourceIdeas":"来源想法","noSourceIdeas":"无来源想法","awaitingReview":"等待您的审核","reviewInstructions":"审核内容并批准或拒绝此提案。","basedOn":"基于","documentDrafts":"文档草稿","documents":"文档","taskDrafts":"任务草稿","tasks":"任务","emptyContainer":"此提案容器为空。请添加文档或任务。","inputType":"输入类型","creatorType":"创建者类型","containerSummary":"容器摘要","inputs":"输入","discussion":"讨论","reviewInfo":"审核信息","reviewedBy":"审核人","reviewedAt":"审核时间","reviewNote":"审核备注","requestChanges":"请求修改","approveProposal":"批准提案","approveProposalDesc":"可选填备注给提案创建者(例如给 Agent 的指示)。","approveNotePlaceholder":"添加备注(可选)...","rejectProposal":"拒绝提案","rejectProposalDesc":"请填写拒绝此提案的原因。","rejectReasonPlaceholder":"请输入拒绝原因...","rejectionReason":"拒绝原因","createProposal":"创建提案","basicInfo":"基本信息","title":"标题","titlePlaceholder":"输入提案标题...","descriptionPlaceholder":"描述这个提案是关于什么的...","selectSourceIdeas":"选择来源想法","noAvailableIdeas":"没有可用的想法。您需要先认领一个想法。","titleRequired":"标题是必填的","selectAtLeastOneIdea":"请至少选择一个想法","createFailed":"创建提案失败","createAndEdit":"创建并编辑","addDocumentDraft":"添加文档","addTaskDraft":"添加任务","editDraft":"编辑","deleteDraft":"删除","documentType":"文档类型","documentTitle":"文档标题","documentContent":"内容(Markdown)","taskTitle":"任务标题","taskDescription":"描述","taskPriority":"优先级","taskStoryPoints":"故事点(小时)","taskAcceptanceCriteria":"验收标准","submitForReview":"提交审核","draftNotice":"此提案为草稿状态。添加内容后可提交审核。","draftStatus":"草稿","confirmSubmit":"提交此提案进行审核?","confirmSubmitDesc":"一旦提交,在审核完成前将无法编辑提案内容。","completed":"已完成","typeNewDocument":"新文档","typeDocumentUpdate":"文档更新","typeTaskBreakdown":"任务拆分","typeDocumentAndTasks":"文档 + 任务","tasksCount":"{count} 个任务","closeProposal":"关闭提案","closeProposalDesc":"关闭提案后将无法再编辑。请填写关闭原因。","closeReasonPlaceholder":"请输入关闭原因...","closedNotice":"此提案已被永久关闭。","revokeProposal":"撤回批准","revokeProposalDesc":"此操作将关闭所有由此提案生成的任务,并删除所有生成的文档。提案将回退为草稿状态。","revokeReasonPlaceholder":"请输入撤回原因...","revokeTasksToClose":"将关闭 {count} 个任务","revokeDocsToDelete":"将删除 {count} 个文档","failedToSaveDocDraft":"保存文档草稿失败","failedToSaveTaskDraft":"保存任务草稿失败","docTypePrd":"PRD","docTypeTechDesign":"技术设计","docTypeAdr":"ADR","docTypeSpec":"规格说明","docTypeGuide":"指南","docSubtitlePrd":"产品需求文档","docSubtitleTechDesign":"技术设计文档","docSubtitleAdr":"架构决策记录","docSubtitleSpec":"规格说明书","docSubtitleGuide":"指南","acCount":"{count} AC","depCount":"{count} 依赖","storyPointsPlaceholder":"例如 4","cardsView":"卡片","dependencyExists":"此依赖关系已存在","cyclicDependency":"无法添加依赖:会产生循环","failedToAddDependency":"添加依赖失败","taskDraftDetails":"任务草稿详情","newTaskDraft":"新建任务草稿","editTaskDraft":"编辑","deleteTaskDraft":"删除任务草稿","deleteTaskDraftConfirm":"确定要删除此任务草稿吗?","dependsOn":"依赖任务","noDependencies":"无依赖关系","addDependency":"添加依赖","selectDependency":"选择任务...","removeDependency":"移除","viewMode":"查看","taskDraftSaved":"任务草稿已保存","deleteProposal":"删除提案","deleteProposalDesc":"确定要删除此提案吗?此操作无法撤销。"},"proposalValidation":{"title":"提交检查清单","passed":"所有检查已通过","hasErrors":"请先修复错误再提交","loading":"正在检查...","error":"错误","warning":"警告","info":"提示","errorCount":"{count} 个错误","warningCount":"{count} 个警告","E1":"必须包含至少一个 PRD 文档","E2":"文档「{title}」内容不足(最少 100 个字符)","E3":"必须包含至少一个任务","E4":"必须关联至少一个 Idea","E5":"Idea「{title}」尚未完成需求澄清","W1":"建议添加技术设计文档","W2":"任务「{title}」缺少描述","E-AC":"任务「{title}」缺少验收标准","W4":"存在多个任务但未定义依赖关系","W5":"Proposal 缺少描述","I1":"任务「{title}」未设置优先级","I2":"任务「{title}」未设置故事点"},"documents":{"title":"文档","subtitle":"PRD、规格说明和项目文档","newDocument":"新文档","all":"全部","noDocuments":"暂无文档","noDocumentsDesc":"当提案被批准时会创建文档。您也可以手动创建文档。","createDocument":"创建文档","loadingDocuments":"加载文档中...","documentNotFound":"文档未找到","backToDocuments":"返回文档列表","updated":"更新于 {date}","sourceProposal":"来源提案","viewProposal":"查看提案","versionHistory":"版本历史","previousVersions":"个历史版本","documentContent":"文档内容...","saveChanges":"保存更改","titleLabel":"标题","titleRequired":"标题不能为空","titlePlaceholder":"输入文档标题","typeLabel":"类型","uploadMarkdown":"Markdown 文件(可选)","clickToUpload":"点击上传 Markdown 文件","characters":"个字符","createFailed":"创建文档失败","typePrd":"PRD","typeSpec":"技术规格","typeDesign":"设计文档","typeTechDesign":"技术设计","typeAdr":"ADR","typeGuide":"指南","typeNote":"笔记","typeReport":"总结报告","typeOther":"其他","deleteDocument":"删除文档","deleteDocumentDescription":"此操作将永久删除文档「{title}」,无法恢复。","deleteSuccess":"文档已删除。","deleteFailed":"删除文档失败。","deleteFailedNotFound":"该文档已不存在。"},"export":{"exportDocument":"导出","exportAs":"导出为 {format}","formatMd":"Markdown (.md)","formatPdf":"PDF (.pdf)","formatDocx":"Word (.docx)","exporting":"导出中...","exportSuccess":"文档导出成功","exportError":"文档导出失败","fetchingContent":"加载文档中..."},"settings":{"title":"设置","subtitle":"管理您的账户和智能体配置","breadcrumb":"Chorus / 设置","language":"语言","languageDesc":"选择您的首选语言","agents":"智能体","agentsDesc":"创建 API 密钥,让您的个人智能体访问 Chorus。每个密钥可以分配不同的角色。","createApiKey":"创建 API 密钥","noApiKeys":"暂无 API 密钥。创建一个开始使用。","roles":"角色:","developerAgent":"开发智能体","developerAgentDesc":"执行任务、编写代码、报告问题、提交代码","pmAgent":"产品经理智能体","pmAgentDesc":"分析需求、撰写提案、管理任务","adminAgent":"管理员智能体","adminAgentDesc":"人类级别权限:审批提案、验证任务、创建项目","created":"创建于","apiKeyCreated":"API 密钥已创建","apiKeyCreatedDesc":"请立即复制此密钥。您将无法再次查看它!","installGuideIntro":"现在就连接你的智能体——在下方选择你的客户端。上方密钥已嵌入到代码片段中,且不会再次显示。","name":"名称","namePlaceholder":"我的智能体密钥","agentRoles":"智能体角色","agentRolesDesc":"选择此 API 密钥可以访问的角色。","agentPersona":"智能体人设","agentPersonaDesc":"选择预设或编写您自己的人设。这定义了智能体在所有交互中的行为方式。","agentPersonaDescNoRoles":"定义此智能体在所有交互中的行为方式。","personaPlaceholder":"描述此智能体应如何行为。例如:\'您是一个专注于清晰和简洁的助手...\'","personaHint":"人设会在每次 check-in 时自动注入到智能体的上下文。","personaHintNoRoles":"为您的智能体编写自定义人设。","creating":"创建中...","confirmDelete":"确定要删除此 API 密钥吗?","confirmDeleteTitle":"删除 API 密钥","confirmDeleteDesc":"确定要删除此 API 密钥吗?此操作无法撤销。","editAgent":"编辑智能体","saveChanges":"保存更改","saving":"保存中...","editAgentDesc":"更新此智能体的名称、角色和人设。","updateSuccess":"智能体更新成功","updateFailed":"更新智能体失败","setupGuide":"设置向导","setupGuideDesc":"逐步设置您的 AI 智能体连接","openSetupGuide":"打开设置向导","effectivePermissions":"生效的权限","noEffectivePermissions":"尚未授予任何权限","customRole":"自定义"},"login":{"title":"Chorus","subtitle":"AI 与人类协作平台","email":"邮箱","emailPlaceholder":"you@company.com","continue":"继续","checking":"检查中...","helpText":"输入您的邮箱以登录或创建账户","networkError":"网络错误,请重试。","processingLogin":"正在处理登录...","sessionExpired":"会话已过期,请重新登录。","completingAuth":"正在完成认证...","registeringUser":"正在注册用户...","loginSuccess":"登录成功!正在跳转...","authFailed":"认证失败","backToLogin":"返回登录","noOrganizationFound":"未找到该邮箱对应的组织","defaultAuth":{"title":"登录","email":"邮箱","password":"密码","submit":"登录","error":"邮箱或密码错误","ssoLink":"使用 SSO 登录","orDivider":"或"},"pickWorkspace":{"title":"选择一个 workspace","subtitle":"该邮箱关联 {count} 个 workspace,请选择一个登录。","differentEmail":"换个邮箱","loading":"加载 workspace...","noCandidates":"未找到该邮箱对应的 workspace。","errorLoading":"加载 workspace 失败,请重试。"},"rolePicker":{"title":"该邮箱有多种登录方式,请选择如何继续。","superAdmin":"以超级管理员身份登录","regularUser":"使用密码登录","oidcCompany":"使用 {company} 登录","oidcCompanyFallback":"使用 SSO 登录","back":"换个邮箱"}},"projectOverview":{"loadingProject":"加载项目中...","notFoundTitle":"项目未找到","backToProjects":"返回项目列表","settings":"设置","quickActions":"快捷操作","addIdea":"添加想法","viewKanban":"查看看板","browseDocuments":"浏览文档","ideasSubtext":"{open} 待处理, {inProgress} 进行中","tasksSubtext":"{open} 待处理, {toVerify} 待验证","documentsSubtext":"PRD、规格说明、笔记","proposalsSubtext":"{pending} 待审核","deleteProject":"删除项目","deleteProjectConfirm":"确定要删除「{name}」吗?此操作无法撤销,将永久删除所有关联的想法、提案、任务、文档和动态。"},"personas":{"devPm":"开发导向产品经理","devPmDesc":"您是一位优先考虑开发者体验并构建开发者优先产品的产品经理。您理解技术约束,并能与工程团队有效沟通。","fullPm":"全能产品经理","fullPmDesc":"您是一位全面的产品经理,以构建能为目标受众解决实际问题的产品为己任。您平衡业务目标、用户需求和技术可行性。","simplePm":"简约产品经理","simplePmDesc":"您是一位专注的产品经理,优先考虑核心功能,避免过度设计。您相信快速交付、收集反馈、快速迭代。","seniorDev":"高级开发者","seniorDevDesc":"您是一位经验丰富的高级软件开发者,擅长构建可扩展的系统。您编写简洁、可维护的代码并遵循最佳实践。您指导初级开发者并做出架构决策。","fullstackDev":"全栈开发者","fullstackDevDesc":"您是一位多才多艺的全栈开发者,能够在整个技术栈中自如工作。您可以构建 API、设计数据库和创建响应式 UI。您优先考虑用户体验和性能。","pragmaticDev":"务实开发者","pragmaticDevDesc":"您是一位务实的开发者,专注于快速交付可工作的解决方案。您避免过早优化,为关键路径编写测试,并偏好简单解决方案而非复杂抽象。","carefulAdmin":"谨慎管理员","carefulAdminDesc":"您是一位谨慎的管理员,在批准前会仔细审查所有提案和任务。您会验证验收标准是否满足,检查潜在问题,并记录您的推理过程。如有疑问,您更倾向于询问澄清而非盲目批准。","efficientAdmin":"高效管理员","efficientAdminDesc":"您是一位高效的管理员,在保持质量标准的同时简化审批流程。您信任团队的工作,但仍会进行必要的检查。您专注于快速解除阻塞,同时确保满足基本质量要求。"},"sessions":{"title":"会话","activeSessions":"活跃会话","noSessions":"近 1 小时内无活跃会话","close":"关闭","reopen":"重新打开","closeConfirm":"确定要关闭此会话吗?","statusActive":"活跃","statusInactive":"不活跃","statusClosed":"已关闭","activeWorkers":"活跃工作者","workerCount":"{count} 个工作者","checkedInSince":"签入于 {time}","lastActive":"最后活跃 {time}","checkins":"{count} 个任务"},"pixelCanvas":{"title":"工作区"},"notifications":{"title":"通知","markAllRead":"全部标记已读","noNotifications":"暂无通知","noUnread":"没有未读通知","viewAll":"查看全部","tabAll":"全部","tabUnread":"未读","justNow":"刚刚","minutesAgo":"{count} 分钟前","hoursAgo":"{count} 小时前","daysAgo":"{count} 天前","projectBadge":"项目","notificationPreferences":"通知偏好","loadMore":"加载更多","viewDetail":"查看","types":{"proposal_approved":"提案已通过","proposal_rejected":"提案已拒绝","proposal_submitted":"提案已提交","task_assigned":"任务已分配给你","task_status_changed":"任务状态已变更","task_submitted_for_verify":"任务已提交验证","task_verified":"任务已验证","task_reopened":"任务已重新打开","comment_added":"新评论","idea_claimed":"想法已认领","elaboration_requested":"需求澄清已请求","elaboration_answered":"需求澄清已回答","mentioned":"你被提及了","agent_checkin":"Agent 已成功连接","report_created":"新报告"},"preferences":{"title":"通知偏好","description":"配置哪些事件触发通知","taskEvents":"任务事件","proposalEvents":"提案事件","ideaEvents":"想法事件","commentEvents":"评论事件","taskAssigned":"任务分配","taskStatusChanged":"任务状态变更","taskVerified":"任务验证","taskReopened":"任务重新打开","proposalSubmitted":"提案提交","proposalApproved":"提案通过","proposalRejected":"提案拒绝","ideaClaimed":"想法认领","commentAdded":"新增评论","elaborationEvents":"需求澄清事件","elaborationRequested":"需求澄清请求","elaborationAnswered":"需求澄清回答","mentionEvents":"提及事件","mentioned":"在评论或内容中被提及"}},"elaboration":{"title":"需求澄清","answeredCounter":"已回答 {answered} / {total}","roundLabel":"第 {number} 轮","validated":"已验证","pendingAnswers":"待回答","statusAnswered":"已回答","appendedBadge":"后续补充","noAnswer":"未回答","otherOption":"其他","otherPlaceholder":"请说明...","submitAnswers":"提交回答","confirmAnswerAria":"确认回答","submitting":"提交中...","submitFailed":"提交回答失败","navCounter":"{current} / {total}","questionCount":"{count} 个问题","somethingElse":"其他答案","skipButton":"跳过需求澄清","skipConfirmTitle":"跳过需求澄清?","skipConfirmDescription":"这将跳过结构化问答,直接将需求标记为已澄清。仅建议在需求非常明确时跳过。","skipReasonLabel":"跳过原因","skipReasonPlaceholder":"例如:有明确复现步骤的bug修复","skipReasonRequired":"请提供跳过原因","elaborationRequiredHint":"完成或跳过需求澄清后才能创建方案","verifyButton":"完成细化","verifying":"确认中...","verifyFailed":"确认细化失败","verifiedQueuedHint":"已确认 — 智能体上线后将撰写方案。","category":{"functional":"功能性","nonFunctional":"非功能性","businessContext":"业务背景","technicalContext":"技术背景","userScenario":"用户场景","scope":"范围"}},"projectGroups":{"newProjectGroup":"新建项目组","projectCount":"个项目","complete":"完成","openIdeas":"个待处理想法","viewDashboard":"查看仪表盘","ungrouped":"未分组","noProjectsInGroup":"此组中暂无项目。","newGroupTitle":"新建项目组","groupName":"组名称","groupNamePlaceholder":"例如:移动应用","descriptionOptional":"描述(可选)","descriptionPlaceholder":"简要描述此分组...","createGroup":"创建分组","createFailed":"创建项目组失败","newProjectTitle":"新建项目","creatingIn":"创建到:{groupName}","projectTitle":"项目标题","projectTitlePlaceholder":"例如:项目 Alpha","projectDescriptionPlaceholder":"简要描述此项目...","createProject":"创建项目","moveTitle":"将项目移动到其他分组?","moveDescription":"将「{projectName}」从 {sourceGroupName} 移动到 {targetGroupName} 分组。","confirmMove":"确认移动","moveFailed":"移动项目失败","manageGroup":"管理分组","saveChanges":"保存更改","saving":"保存中...","cancel":"取消","deleteGroup":"删除此分组","deleteConfirmTitle":"确定要删除吗?","deleteConfirmDesc":"此操作不可撤销。请选择如何处理分组内的项目。","deleteKeepProjects":"将 {count, plural, one {# 个项目} other {# 个项目}} 移至未分组","deleteWithProjects":"永久删除 {count, plural, one {# 个项目} other {# 个项目}}","confirmDelete":"删除分组","deleting":"删除中..."},"groupDashboard":{"subtitle":"{count, plural, one {# 个项目} other {# 个项目}} \xb7 聚合仪表盘","editGroup":"编辑分组","manageProjects":"管理项目","statProjects":"项目","statTotalTasks":"总任务数","statCompletionRate":"完成率","statOpenIdeas":"待处理想法","statActiveProposals":"活跃提案","projectsInGroup":"此分组中的项目","newProject":"新建项目","projectStats":"{tasks} 个任务 \xb7 {completion}% 完成","noProjects":"此分组中暂无项目","noProjectsHint":"点击上方「新建项目」添加"},"acceptanceCriteria":{"title":"验收标准","noItems":"暂无结构化验收标准","status":{"pending":"待处理","passed":"通过","failed":"未通过","notStarted":"未开始","inProgress":"进行中"},"acceptanceStatus":{"not_started":"未开始","in_progress":"进行中","passed":"全部通过","failed":"未通过"},"required":"必需","optional":"可选","devSelfCheck":"开发自检","verification":"验证","evidence":"依据","pass":"通过","fail":"不通过","undoVerification":"撤销","devEvidence":"开发依据","verifyEvidence":"验证依据","noEvidence":"暂无依据","dismiss":"知道了","progress":"已验证 {passed}/{total}","requiredProgress":"必需项 {passed}/{required} 已通过","gateBlocked":"无法验证:{count} 项必需标准尚未通过","gateReady":"所有必需标准已通过","addCriterion":"添加标准","removeCriterion":"移除","criterionPlaceholder":"描述验收标准...","atLeastOneRequired":"至少需要一条非空的验收标准。"},"onboarding":{"skip":"暂时跳过","next":"下一步","back":"返回","steps":{"welcome":"欢迎","createAgent":"创建智能体","copyKey":"复制密钥","installGuide":"安装","testConnection":"测试","completion":"完成"},"welcome":{"title":"欢迎使用 Chorus","description":"Chorus 是一个 AI 与人类协作平台。AI 智能体提出方案,人类验证 — 通过结构化的开发生命周期。","getStarted":"开始使用","pipelineTitle":"AI 驱动开发生命周期","pipeline":{"idea":"想法","proposal":"方案","task":"任务","execute":"执行","verify":"验证","done":"完成"}},"completion":{"title":"一切就绪!","description":"您的智能体已配置完成,可以开始协作了。创建一个项目或探索设置来开始使用。","summary":"配置摘要","agentName":"智能体名称","agentRoles":"角色","agentPreset":"预设","agentPermissions":"权限","permissionsCount":"{count} 项权限","goToProjects":"前往项目","goToSettings":"前往设置"},"createAgent":{"title":"创建您的 AI 智能体","description":"设置一个具有匹配您工作流程的权限和人设的 AI 智能体。这将为智能体生成一个 API 密钥。","nameLabel":"智能体名称","namePlaceholder":"例如:my-dev-agent","personaLabel":"人设(可选)","personaPlaceholder":"描述该智能体的行为方式——语气、优先级、约束。","personaHint":"人设会追加到智能体的系统提示词中,用于塑造其行为。","submit":"创建智能体","creating":"正在创建..."},"copyKey":{"title":"复制您的 API 密钥","description":"请将此 API 密钥保存到安全的地方。您需要它来配置 AI 智能体客户端。","warning":"请立即复制此密钥。此后将无法再次查看!","copy":"复制密钥","copied":"已复制!"},"install":{"description":"选择您的 AI 智能体客户端,然后按照以下说明进行设置。","tabs":{"claudeCode":"Claude Code","codex":"Codex","opencode":"OpenCode","openClaw":"OpenClaw","other":"其他智能体"},"claudeCode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:打开 Claude Code 并运行"},"codex":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化。","step2Title":"第 2 步:运行 Codex 安装脚本","step2Tip":"脚本会自动注册 plugin marketplace 并写入 ~/.codex/config.toml 的 MCP 服务器配置。","step3Title":"第 3 步:验证连接","step3Desc":"打开 Codex,让它 check in 到 Chorus,例如输入 \\"check in to chorus\\"。"},"opencode":{"step1Title":"第 1 步:设置环境变量","step1Tip":"提示:将这些添加到 ~/.bashrc 或 ~/.zshrc,插件会在 OpenCode 启动时读取这两个变量。","step2Title":"第 2 步:启用 Chorus 插件","step2Tip":"安装脚本会幂等地把 \\"opencode-chorus\\" 加入 ~/.config/opencode/opencode.json 的 \\"plugin\\" 数组,不会修改你的 shell rc。OpenCode 首次启动时 Bun 会自动安装该插件。","step3Title":"第 3 步:验证连接","step3Desc":"打开 OpenCode,告诉 agent \\"check in to chorus\\"。连接成功后本步骤会自动跳转。","troubleshootingTitle":"故障排除","issueCache":{"title":"插件未加载","fix":"清空插件缓存:`rm -rf ~/.cache/opencode/packages/opencode-chorus@latest`,然后重启 OpenCode。"},"issueEnv":{"title":"环境变量未生效","fix":"确认启动 OpenCode 的 shell 已 export CHORUS_URL 和 CHORUS_API_KEY。如有需要,先 re-source 一下 shell rc。"},"issueCheckin":{"title":"check-in 无响应","fix":"核对 CHORUS_API_KEY 是否有错字或多余空格。如果插件仍然加载失败,尝试升级 OpenCode。"}},"openClaw":{"step1Title":"第 1 步:安装插件","step2Title":"第 2 步:编辑 ~/.openclaw/openclaw.json","step3Title":"第 3 步:重启 OpenClaw 网关","step3Desc":"重启 OpenClaw 网关进程以加载新的配置。","step4Title":"第 4 步:验证连接","step4Desc":"在 OpenClaw 聊天窗口中,输入以下命令:","troubleshootingTitle":"故障排除","troubleshootingError":"\\"Wake agent failed: HTTP 405\\"","troubleshootingFix":"此错误表示 hooks 未启用。请在 openclaw.json 配置中将 \\"hooks.enabled\\" 设置为 true,然后重启网关。"},"other":{"description":"复制以下提示词并发送给您的 AI 智能体以配置 Chorus 连接。"}},"testConnection":{"title":"测试连接","waiting":"等待智能体连接...","waitingFor":"正在监听 {name} 的签到","connected":"智能体连接成功!","checkinHint":"复制以下提示词并发送给你的智能体,以验证连接:","checkinPrompt":"请连接到 Chorus 并执行 chorus_checkin() 验证连接。"},"placeholder":{"createAgent":"此步骤将用于创建 AI 智能体。即将推出。","copyKey":"此步骤将用于复制 API 密钥。即将推出。","installGuide":"此步骤将引导您完成安装。即将推出。","testConnection":"此步骤将测试智能体连接。即将推出。"}},"ideaTracker":{"overview":"总览","overviewSubtitle":"追踪想法、提案和任务进展","tabs":{"ideas":"想法","lineage":"血缘","stats":"统计"},"badge":{"open":"待开始","researching":"调研中","answerQuestions":"回答问题","planning":"规划中","reviewProposal":"审批提案","building":"开发中","verifyWork":"验收成果","done":"已完成","closed":"已关闭"},"status":{"todo":"待处理","inProgress":"进行中","humanConductRequired":"需要指挥","done":"已完成"},"lineage":{"derivedCount":"{count} 派生","title":"派生关系","derivedFrom":"派生自","setParent":"挂父","changeParent":"更改父级","derivedIdeas":"派生想法","derive":"派生","deriveIdea":"派生新想法","noParent":"无父级","setParentTitle":"设置父想法","setParentDescription":"为「{title}」选择一个父想法。只能选择同一项目内的想法;想法不能挂在自己或自己的后代之下(会形成环)。","searchPlaceholder":"搜索想法...","detach":"脱钩(变为顶层)","cycleBlocked":"后代 \xb7 会成环","cycleWarning":"灰显的想法是当前想法的后代,选择它们会形成环,因此已被禁用。","noCandidates":"该项目内没有可选的想法","pickerTruncated":"仅显示前 200 个想法。如果没看到想要的父级,请用标题搜索缩小范围。","save":"设为父想法","saveFailed":"设置父级失败","deriveFailed":"派生想法失败"},"actions":{"newIdea":"新建想法","untitledIdea":"未命名想法","search":"搜索想法...","retry":"重试","assign":"分配","reassign":"重新分配"},"empty":{"noIdeas":"暂无想法","getStarted":"想法会经过需求细化、提案和任务执行——从创建第一个想法开始","noResults":"没有匹配的想法","groupEmpty":"此状态下暂无想法"},"newIdea":{"title":"新建想法","ideaTitle":"标题","titlePlaceholder":"你的想法是什么?","description":"描述","descriptionPlaceholder":"添加背景、目标或其他有助于说明想法的细节..."},"error":{"loadFailed":"加载想法失败","createFailed":"创建想法失败"},"loading":"加载中...","justNow":"刚刚","minutesAgo":"{minutes}分钟前","hoursAgo":"{hours}小时前","daysAgo":"{days}天前","stats":{"totalIdeas":"想法总数","totalTasks":"任务总数","totalProposals":"提案总数","totalDocuments":"文档总数","openCount":"{count} 个待处理","activeCount":"{count} 个进行中","pendingCount":"{count} 个待审核","taskPipeline":"任务流水线","totalCount":"共 {count} 个","todoCount":"待处理:{count}","inProgressCount":"进行中:{count}","toVerifyCount":"待验证:{count}","doneCount":"已完成:{count}","noTasks":"暂无任务","recentActivity":"最近活动","viewAll":"查看全部","noActivity":"暂无活动"},"panel":{"notFound":"未找到想法","loadFailed":"加载想法失败","verifyingPlaceholder":"验证进行中...","donePlaceholder":"此想法已完成。","elaborationStatus":"细化状态","elaborationRounds":"细化问答","elaborationNotStarted":"尚未开始","elaborationNotStartedDesc":"分配给智能体以开始需求细化。","elaborationWaiting":"等待智能体","elaborationWaitingDesc":"产品经理智能体将很快开始细化。","elaboration":{"pendingAnswers":"待回答","validating":"验证中","resolved":"已完成"},"noProposals":"暂无与此想法关联的提案","viewProposal":"查看完整提案","tabs":{"overview":"概览","elaboration":"需求细化","proposal":"提案","tasks":"任务","activity":"动态"},"timeline":{"ideaCreated":"创建 Idea","elaboration":"需求细化","proposal":"提案","tasksProgress":"任务进度","noElaboration":"未开始","elaborationComplete":"已完成({count} 个问题)","elaborationInProgress":"进行中","elaborationSkipped":"已跳过","noProposal":"尚未创建","proposalApproved":"已批准","proposalsApproved":"{count}/{total} 已批准","proposalPending":"待审核","proposalDraft":"草稿","proposalRejected":"已拒绝","tasksComplete":"{done}/{total} 已完成","noTasks":"暂无任务","createdBy":"由 {name} 创建","documents":"{count} 个文档","tasks":"{count} 个任务","rounds":"{count} 轮问答","moreItems":"+{count} 更多"},"taskList":{"inProgress":"进行中","toVerify":"待验证","open":"待处理","done":"已完成","noTasks":"暂无可用任务","assigned":"已分配","closed":"已关闭","summary":"{done}/{total} 任务完成","acSummary":"{passed}/{total} 验收通过","agentWorking":"{count} 个 Agent 正在工作","workersActive":"{count} 个工作者","viewKanban":"看板"},"activityTab":{"activity":"动态","comments":"评论"}}},"search":{"placeholder":"搜索任务、想法、提案、文档...","scopeGlobal":"全局","scopeGroup":"分组","scopeProject":"当前项目","filterAll":"全部","filterTasks":"任务","filterIdeas":"想法","filterProposals":"提案","filterDocuments":"文档","filterProjects":"项目","noResults":"未找到结果","resultCount":"{count} 个结果","entityType":{"task":"任务","idea":"想法","proposal":"提案","document":"文档","project":"项目","project_group":"分组"}},"agent":{"permissions":{"title":"权限","description":"从预设开始,或直接自定义权限矩阵。","presetLabel":"预设","presetAdmin":"管理员","presetPm":"产品经理","presetDev":"开发者","presetCustom":"自定义","resourceHeader":"资源","resources":{"idea":"想法","proposal":"提案","document":"文档","task":"任务","project":"项目"},"actions":{"read":"读取","write":"写入","admin":"管理"},"help":{"admin":"对所有资源拥有完整权限,包含审批 / 验收 / 重开。推荐用于管理员 Agent。","pm":"推进工作:管理想法、提案、文档、任务、项目。没有审批或验收权限。","dev":"执行工作:可读取想法、提案、文档与项目;可创建与更新任务。无审批或验收权限。","custom":"自由勾选权限位。只有在自定义模式下,才能开启「管理」列的审批 / 验收 / 关闭动作。"}}},"idea":{"reportsList":"总结报告","reportsAcrossProposals":"覆盖所有已审批提案"},"agentConnections":{"title":"智能体连接","subtitle":"在你名下、实时连接到 Chorus 的本地智能体。仅展示你自己的连接。","summary":"{online} / {total} 在线","loading":"正在加载连接...","railHeader":"连接","statusOnline":"在线","statusOffline":"离线","fieldHost":"主机","fieldUptime":"在线时长","fieldLastActive":"最近活跃","fieldStarted":"启动于","hostUnknown":"未知主机","startedUnknown":"未知","versionUnknown":"?","unknownAgent":"未命名智能体","clientClaudeCode":"Claude Code","clientOpenclaw":"OpenClaw","clientCodex":"Codex","clientUnknown":"未知客户端","uptimeMonoDays":"{days}天 {time}","mobileBack":"返回连接列表","selectPrompt":"选择一个连接以查看详情。","execTitle":"执行状态","execRunning":"正在运行","execQueued":"排队中","execInterrupted":"已打断","execInterruptedUser":"已打断","execInterruptedCrash":"已崩溃","execCrashAutoRecovers":"自动恢复","execWaiting":"等待中","execLoading":"正在加载执行状态...","execElapsedLabel":"已运行时长","execSession":"Idea:{idea}","execEmptyTitle":"暂无运行中的任务","execEmptyBody":"该连接当前没有正在处理或排队的工作。派发的工作会在 daemon 接手时显示在这里。","empty":{"title":"暂无智能体连接"},"loadErrorTitle":"无法加载连接","loadErrorBody":"无法连接到连接服务。这是加载失败,并非列表为空——你的智能体可能仍在线。正在自动重试。","execEntityUnknown":"未知资源","execConversation":"对话","entityTask":"任务","entityIdea":"想法","entityProposal":"提案","entityDocument":"文档","entityUnknown":"资源","interrupt":"打断","interrupting":"正在打断…","interruptAria":"打断此正在运行的执行","interruptConfirmTitle":"确定打断此执行?","interruptConfirmBody":"这会停止 daemon 中针对「{title}」正在运行的会话。系统会先请求智能体优雅停止,若未停止则强制结束。之后你可以在本页恢复它。","interruptConfirmAction":"打断","interruptSuccess":"已请求打断「{title}」。","interruptError":"请求打断失败,请重试。","resume":"恢复","resuming":"正在恢复…","resumeAria":"恢复这个已打断的执行","resumeSuccess":"已请求恢复「{title}」。","resumeError":"请求恢复失败,请重试。","sendInstruction":"发送指令","sendInstructionPlaceholder":"为这个会话输入一条指令…","send":"发送","instructionHint":"按 Cmd/Ctrl + Enter 发送。","instructionCounter":"{count} / {max}","instructionSent":"指令已发送。","instructionError":"指令发送失败,请重试。","instructionEmpty":"请先输入指令再发送。","instructionTooLong":"指令过长。请精简到 {max} 个字符以内。","originOnlineTag":"源端在线","originOfflineTag":"源端离线","originOffline":"该会话的源端守护进程已离线,因此为只读状态。请改为开启一个新会话。","noOnlineConnection":"该智能体没有可发送的在线连接。请先启动它的守护进程,再发送指令。","targetConversation":"会话","newConversation":"新会话","sessionIdeaLabel":"想法 {id}","sessionAdHocLabel":"会话 {id}","adHocTitle":"开启新会话","adHocBody":"选择一个在线连接并发送第一条指令。新会话会在该连接的启动目录中运行。","pickConnection":"连接","pickConnectionPlaceholder":"选择一个在线连接","startSession":"开启会话","adHocSessionStarted":"会话已开启,智能体稍后会接手。","entityConversation":"对话"},"daemonChat":{"title":"对话","subtitle":"逐回合查看智能体做了什么。可在对话内继续发送或中断。","agentSelectLabel":"智能体","agentSelectPlaceholder":"选择一个智能体","agentSessionCount":"{count, plural, other {# 个对话}}","listHeader":"对话","loadMore":"加载更多","loadEarlier":"加载更早的消息","loadingEarlier":"正在加载更早…","loading":"正在加载对话…","transcriptLoading":"正在加载记录…","mobileBack":"对话","conversationAdHoc":"对话 {id}","conversationIdea":"想法 {id}","badgeIdea":"想法","running":"运行中","runningElapsedLabel":"本次运行已用时","statusActive":"进行中","statusEnded":"已结束","statusInterrupted":"已打断","statusError":"错误","turnStatusPending":"排队中","turnStatusRunning":"运行中","turnStatusEnded":"已结束","triggerTask":"任务","triggerMention":"提及","triggerElaboration":"澄清","triggerInstruction":"指令","triggerResume":"恢复","triggerUnknown":"回合","turnLabel":"第 {seq} 回合","openTask":"打开任务","openIdea":"打开想法","roleYou":"你","roleAgent":"智能体","turnNoMessages":"该回合没有保留对话记录。","privacyNote":"对话记录由智能体的守护进程上报,可能包含本地文件路径。仅保留最近的消息。","noAgents":{"title":"暂无对话","body":"当智能体被唤醒时(因任务、提及、澄清或你发送的指令),它的对话会显示在这里。"},"noSessions":{"title":"该智能体暂无对话","body":"在下方输入框发送一条指令以开启对话。"},"newConversationButton":"新建对话","newConversationTitle":"新建对话","newConversationBody":"向 {agent} 发送第一条指令。它会在你选择的连接上开启一个新会话。","newConversationNoAgent":"先在左侧选择一个智能体,然后发送第一条指令以开启对话。","newConversationNoOnlineTitle":"没有在线连接","newConversationNoOnlineBody":"该智能体当前没有在线的守护进程可对话。请先启动它的守护进程,再在此发送指令。","replyPlaceholder":"在此对话中回复…","selectPrompt":"选择一个对话以查看其记录。","loadErrorTitle":"无法加载该对话","loadErrorBody":"无法连接到记录服务。这是加载问题,而非空对话。重新打开时会自动重试。","originOfflineNote":"该对话的来源守护进程已离线,因此为只读。历史记录仍会显示;如需发送,请在某个在线目录中继续。","continueOnlineAction":"在在线目录中继续","continueOnlineHelp":"保留本对话,并在该智能体的某个在线工作目录中继续。它会在该目录中以全新状态接续(上方历史记录将保留为只读上下文)。","continueOnlineStarted":"正在该在线目录中继续","detailsLabel":"连接详情","detailsHostUnknown":"未知主机","detailUptime":"运行时长","detailHost":"主机","detailStarted":"启动于","copySessionId":"复制 session ID","sessionIdCopied":"已复制!"},"agentPresence":{"online":"在线","onlineUnit":"{count, plural, other {智能体在线}}","loading":"正在检查智能体…","unavailable":"智能体不可用","pillAria":"在线智能体 — 打开详情","popoverTitle":"在线智能体","connectionIdle":"空闲 — 没有正在运行或排队的工作。","viewAll":"查看全部","unknownPath":"未知路径","unknownHost":"未知主机","drilldown":{"instancesCount":"{count, plural, other {# 个实例}}","hostsCount":"{count, plural, other {# 台主机}}","expandAgent":"展开 {agent} 的工作目录","collapseAgent":"收起 {agent} 的工作目录","idle":"空闲","runningFor":"运行中 \xb7 {time}","queuedCount":"{count, plural, other {# 个排队}}","offlineSince":"离线 \xb7 {time}","fieldPath":"工作目录"}},"transcriptHeader":{"cwdAriaLabel":"工作目录","hostAriaLabel":"主机"},"daemonConnectCta":{"headline":"下一步:让你的智能体保持在线","body":"运行一个常驻守护进程,让你的智能体保持在线并自动接收派发的工作。","bodyLong":"安装插件只是建立一次性连接,并不能让智能体常驻在线。在终端运行一个常驻守护进程,智能体才会保持连接并自动接收派发的工作。","loginNote":"首次使用?先用 {command} 登录一次。","copy":"复制","copied":"已复制!","learnMore":"了解如何连接智能体"},"mention":{"online":"在线","offline":"离线","activeCount":"进行中 {count}","idle":"空闲","openConversation":"打开对话","host":"主机","workingDirectory":"工作目录","badgeAria":"{name} — {status}"},"mentionInstance":{"title":"选择工作目录?","subtitle":"{name} 在 {hosts, plural, other {# 台主机}}上有 {count, plural, other {# 个在线实例}}。","confirm":"固定实例","cancel":"取消","noInstances":"没有在线实例"}}')}}]);
@@ -1,24 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[48782],{48782:(e,t,a)=>{a.d(t,{diagram:()=>$});var l=a(75859),r=a(86528),s=a(3251),i=a(53402),n=a(27211),o=a(16730),c=a(35752),d=a(88439),p=a(99062),h=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getAccDescription=o.m7,this.setAccDescription=o.EI}static{(0,c.K2)(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=o.UI,t=(0,o.zj)();return(0,n.$t)({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),0===t&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){let a=this.classes.get(e)??{id:e,styles:[],textStyles:[]},l=t.replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/§§§/g,",").split(";");l&&l.forEach(e=>{(0,s.KX)(e)&&(a?.textStyles?a.textStyles.push(e):a.textStyles=[e]),a?.styles?a.styles.push(e):a.styles=[e]}),this.classes.set(e,a)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){(0,o.IU)(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function m(e){if(!e.length)return[];let t=[],a=[];return e.forEach(e=>{let l={name:e.name,children:"Leaf"===e.type?void 0:[]};for(l.classSelector=e?.classSelector,e?.cssCompiledStyles&&(l.cssCompiledStyles=e.cssCompiledStyles),"Leaf"===e.type&&void 0!==e.value&&(l.value=e.value);a.length>0&&a[a.length-1].level>=e.level;)a.pop();if(0===a.length)t.push(l);else{let e=a[a.length-1].node;e.children?e.children.push(l):e.children=[l]}"Leaf"!==e.type&&a.push({node:l,level:e.level})}),t}(0,c.K2)(m,"buildHierarchy");var y=(0,c.K2)((e,t)=>{(0,i.S)(e,t);let a=[];for(let a of e.TreemapRows??[])"ClassDefStatement"===a.$type&&t.addClass(a.className??"",a.styleText??"");for(let l of e.TreemapRows??[]){let e=l.item;if(!e)continue;let r=l.indent?parseInt(l.indent):0,s=f(e),i=e.classSelector?t.getStylesForClass(e.classSelector):[],n=i.length>0?i:void 0,o={level:r,name:s,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:n};a.push(o)}let l=m(a),r=(0,c.K2)((e,a)=>{for(let l of e)t.addNode(l,a),l.children&&l.children.length>0&&r(l.children,a+1)},"addNodesRecursively");r(l,0)},"populate"),f=(0,c.K2)(e=>e.name?String(e.name):"","getItemName"),u={parser:{yy:void 0},parse:(0,c.K2)(async e=>{try{let t=d.qg,a=await t("treemap",e);c.Rm.debug("Treemap AST:",a);let l=u.parser?.yy;if(!(l instanceof h))throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");y(a,l)}catch(e){throw c.Rm.error("Error parsing treemap:",e),e}},"parse")},S=(0,c.K2)((e,t,a,i)=>{let n,d=i.db,h=d.getConfig(),m=h.padding??10,y=d.getDiagramTitle(),f=d.getRoot(),{themeVariables:u}=(0,o.zj)();if(!f)return;let S=30*!!y,g=(0,l.D)(t),x=h.nodeWidth?10*h.nodeWidth:960,$=h.nodeHeight?10*h.nodeHeight:500,b=$+S;g.attr("viewBox",`0 0 ${x} ${b}`),(0,o.a$)(g,b,x,h.useMaxWidth);try{let e=h.valueFormat||",";if("$0,0"===e)n=(0,c.K2)(e=>"$"+(0,p.GPZ)(",")(e),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){let t=/\.\d+/.exec(e),a=t?t[0]:"";n=(0,c.K2)(e=>"$"+(0,p.GPZ)(","+a)(e),"valueFormat")}else if(e.startsWith("$")){let t=e.substring(1);n=(0,c.K2)(e=>"$"+(0,p.GPZ)(t||"")(e),"valueFormat")}else n=(0,p.GPZ)(e)}catch(e){c.Rm.error("Error creating format function:",e),n=(0,p.GPZ)(",")}let v=(0,p.UMr)().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=(0,p.UMr)().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),w=(0,p.UMr)().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);y&&g.append("text").attr("x",x/2).attr("y",S/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(y);let L=g.append("g").attr("transform",`translate(0, ${S})`).attr("class","treemapContainer"),k=(0,p.Sk5)(f).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),T=(0,p.hkb)().size([x,$]).paddingTop(e=>e.children&&e.children.length>0?35:0).paddingInner(m).paddingLeft(e=>e.children&&e.children.length>0?10:0).paddingRight(e=>e.children&&e.children.length>0?10:0).paddingBottom(e=>e.children&&e.children.length>0?10:0).round(!0)(k),P=T.descendants().filter(e=>e.children&&e.children.length>0),M=L.selectAll(".treemapSection").data(P).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);M.append("rect").attr("width",e=>e.x1-e.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>0===e.depth?"display: none;":""),M.append("clipPath").attr("id",(e,a)=>`clip-section-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",25),M.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>v(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>C(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(0===e.depth)return"display: none;";let t=(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),M.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(e=>0===e.depth?"":e.data.name).attr("font-weight","bold").attr("style",e=>0===e.depth?"display: none;":"dominant-baseline: middle; font-size: 12px; fill:"+w(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).each(function(e){if(0===e.depth)return;let t=(0,p.Ltv)(this),a=e.data.name;t.text(a);let l=e.x1-e.x0,r=Math.max(15,!1!==h.showValues&&e.value?l-10-30-10-6:l-6-6),s=t.node();if(s.getComputedTextLength()>r){let e=a;for(;e.length>0;){if(0===(e=a.substring(0,e.length-1)).length){t.text("..."),s.getComputedTextLength()>r&&t.text("");break}if(t.text(e+"..."),s.getComputedTextLength()<=r)break}}}),!1!==h.showValues&&M.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?n(e.value):"").attr("font-style","italic").attr("style",e=>0===e.depth?"display: none;":"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+w(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:"));let z=T.leaves(),F=L.selectAll(".treemapLeafGroup").data(z).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);F.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?v(e.parent.data.name):v(e.data.name)).attr("style",e=>(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?v(e.parent.data.name):v(e.data.name)).attr("stroke-width",3),F.append("clipPath").attr("id",(e,a)=>`clip-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),F.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>"text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+w(e.data.name)+";"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.data.name).each(function(e){let t=(0,p.Ltv)(this),a=e.x1-e.x0,l=e.y1-e.y0,r=t.node(),s=a-8,i=l-8;if(s<10||i<10)return void t.style("display","none");let n=parseInt(t.style("font-size"),10);for(;r.getComputedTextLength()>s&&n>8;)n--,t.style("font-size",`${n}px`);let o=Math.max(6,Math.min(28,Math.round(.6*n))),c=n+2+o;for(;c>i&&n>8&&(!((o=Math.max(6,Math.min(28,Math.round(.6*--n))))<6)||8!==n);)t.style("font-size",`${n}px`),c=n+2+o;t.style("font-size",`${n}px`),(r.getComputedTextLength()>s||n<8||i<n)&&t.style("display","none")}),!1!==h.showValues&&F.append("text").attr("class","treemapValue").attr("x",e=>(e.x1-e.x0)/2).attr("y",function(e){return(e.y1-e.y0)/2}).attr("style",e=>"text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+w(e.data.name)+";"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.value?n(e.value):"").each(function(e){let t=(0,p.Ltv)(this),a=this.parentNode;if(!a)return void t.style("display","none");let l=(0,p.Ltv)(a).select(".treemapLabel");if(l.empty()||"none"===l.style("display"))return void t.style("display","none");let r=parseFloat(l.style("font-size")),s=Math.max(6,Math.min(28,Math.round(.6*r)));t.style("font-size",`${s}px`);let i=(e.y1-e.y0)/2+r/2+2;t.attr("y",i);let n=e.x1-e.x0,o=e.y1-e.y0;t.node().getComputedTextLength()>n-8||i+s>o-4||s<6?t.style("display","none"):t.style("display",null)});let K=h.diagramPadding??8;(0,r.P)(g,K,"flowchart",h?.useMaxWidth||!1)},"draw"),g=(0,c.K2)(function(e,t){return t.db.getClasses()},"getClasses"),x={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},$={parser:u,get db(){return new h},renderer:{draw:S,getClasses:g},styles:(0,c.K2)(({treemap:e}={})=>{let t=(0,o.P$)(),a=(0,o.zj)(),l=(0,n.$t)(t,a.themeVariables),r=(0,n.$t)(x,e),s=r.titleColor??l.titleColor,i=r.labelColor??l.textColor,c=r.valueColor??l.textColor;return`
2
- .treemapNode.section {
3
- stroke: ${r.sectionStrokeColor};
4
- stroke-width: ${r.sectionStrokeWidth};
5
- fill: ${r.sectionFillColor};
6
- }
7
- .treemapNode.leaf {
8
- stroke: ${r.leafStrokeColor};
9
- stroke-width: ${r.leafStrokeWidth};
10
- fill: ${r.leafFillColor};
11
- }
12
- .treemapLabel {
13
- fill: ${i};
14
- font-size: ${r.labelFontSize};
15
- }
16
- .treemapValue {
17
- fill: ${c};
18
- font-size: ${r.valueFontSize};
19
- }
20
- .treemapTitle {
21
- fill: ${s};
22
- font-size: ${r.titleFontSize};
23
- }
24
- `},"getStyles")}},53402:(e,t,a)=>{function l(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.d(t,{S:()=>l}),(0,a(35752).K2)(l,"populateCommonDb")},86528:(e,t,a)=>{a.d(t,{P:()=>s});var l=a(16730),r=a(35752),s=(0,r.K2)((e,t,a,s)=>{e.attr("class",a);let{width:o,height:c,x:d,y:p}=i(e,t);(0,l.a$)(e,c,o,s);let h=n(d,p,o,c,t);e.attr("viewBox",h),r.Rm.debug(`viewBox configured: ${h} with padding: ${t}`)},"setupViewPortForSVG"),i=(0,r.K2)((e,t)=>{let a=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:a.width+2*t,height:a.height+2*t,x:a.x,y:a.y}},"calculateDimensionsWithPadding"),n=(0,r.K2)((e,t,a,l,r)=>`${e-r} ${t-r} ${a} ${l}`,"createViewBox")}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[54637],{5329:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("message-circle-plus",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]])},6748:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("messages-square",[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]])},13142:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},17475:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},20578:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},21104:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},23380:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]])},24705:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("party-popper",[["path",{d:"M5.8 11.3 2 22l10.7-3.79",key:"gwxi1d"}],["path",{d:"M4 3h.01",key:"1vcuye"}],["path",{d:"M22 8h.01",key:"1mrtc2"}],["path",{d:"M15 2h.01",key:"1cjtqr"}],["path",{d:"M22 20h.01",key:"1mrys2"}],["path",{d:"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10",key:"hbicv8"}],["path",{d:"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17",key:"1i94pl"}],["path",{d:"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7",key:"1cofks"}],["path",{d:"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z",key:"4kbmks"}]])},29767:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},30028:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},32470:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("list-checks",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]])},37915:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},39180:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]])},42533:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},43057:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},44575:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]])},50153:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("wifi-off",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},51509:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder-x",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"m9.5 10.5 5 5",key:"ra9qjz"}],["path",{d:"m14.5 10.5-5 5",key:"l2rkpq"}]])},52309:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},58057:(e,t,a)=>{a.r(t),a.d(t,{Label:()=>l,Root:()=>c});var r=a(1856),d=a(93367),n=a(90508),l=r.forwardRef((e,t)=>(0,n.jsx)(d.sG.label,{...e,ref:t,onMouseDown:t=>{var a;t.target.closest("button, input, select, textarea")||(null==(a=e.onMouseDown)||a.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));l.displayName="Label";var c=l},59133:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]])},62482:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]])},62898:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},68842:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]])},69011:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},72256:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]])},79834:(e,t,a)=>{a.r(t),a.d(t,{Content:()=>E,List:()=>R,Root:()=>z,Tabs:()=>v,TabsContent:()=>C,TabsList:()=>m,TabsTrigger:()=>g,Trigger:()=>T,createTabsScope:()=>u});var r=a(1856),d=a(33328),n=a(21032),l=a(94782),c=a(19900),i=a(93367),o=a(72599),h=a(66249),s=a(40577),y=a(90508),p="Tabs",[k,u]=(0,n.A)(p,[l.RG]),f=(0,l.RG)(),[A,b]=k(p),v=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,onValueChange:d,defaultValue:n,orientation:l="horizontal",dir:c,activationMode:k="automatic",...u}=e,f=(0,o.jH)(c),[b,v]=(0,h.i)({prop:r,onChange:d,defaultProp:null!=n?n:"",caller:p});return(0,y.jsx)(A,{scope:a,baseId:(0,s.B)(),value:b,onValueChange:v,orientation:l,dir:f,activationMode:k,children:(0,y.jsx)(i.sG.div,{dir:f,"data-orientation":l,...u,ref:t})})});v.displayName=p;var x="TabsList",m=r.forwardRef((e,t)=>{let{__scopeTabs:a,loop:r=!0,...d}=e,n=b(x,a),c=f(a);return(0,y.jsx)(l.bL,{asChild:!0,...c,orientation:n.orientation,dir:n.dir,loop:r,children:(0,y.jsx)(i.sG.div,{role:"tablist","aria-orientation":n.orientation,...d,ref:t})})});m.displayName=x;var M="TabsTrigger",g=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,disabled:n=!1,...c}=e,o=b(M,a),h=f(a),s=j(o.baseId,r),p=q(o.baseId,r),k=r===o.value;return(0,y.jsx)(l.q7,{asChild:!0,...h,focusable:!n,active:k,children:(0,y.jsx)(i.sG.button,{type:"button",role:"tab","aria-selected":k,"aria-controls":p,"data-state":k?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:s,...c,ref:t,onMouseDown:(0,d.mK)(e.onMouseDown,e=>{n||0!==e.button||!1!==e.ctrlKey?e.preventDefault():o.onValueChange(r)}),onKeyDown:(0,d.mK)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&o.onValueChange(r)}),onFocus:(0,d.mK)(e.onFocus,()=>{let e="manual"!==o.activationMode;k||n||!e||o.onValueChange(r)})})})});g.displayName=M;var w="TabsContent",C=r.forwardRef((e,t)=>{let{__scopeTabs:a,value:d,forceMount:n,children:l,...o}=e,h=b(w,a),s=j(h.baseId,d),p=q(h.baseId,d),k=d===h.value,u=r.useRef(k);return r.useEffect(()=>{let e=requestAnimationFrame(()=>u.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,y.jsx)(c.C,{present:n||k,children:a=>{let{present:r}=a;return(0,y.jsx)(i.sG.div,{"data-state":k?"active":"inactive","data-orientation":h.orientation,role:"tabpanel","aria-labelledby":s,hidden:!r,id:p,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:u.current?"0s":void 0},children:r&&l})}})});function j(e,t){return"".concat(e,"-trigger-").concat(t)}function q(e,t){return"".concat(e,"-content-").concat(t)}C.displayName=w;var z=v,R=m,T=g,E=C},83553:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]])},88591:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle-pause",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]])},88853:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("send-horizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]])},93134:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("clock-3",[["path",{d:"M12 6v6h4",key:"135r8i"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},94152:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]])},94599:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]])},97964:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(66206).A)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},98861:(e,t,a)=>{a.r(t),a.d(t,{Checkbox:()=>m,CheckboxIndicator:()=>g,Indicator:()=>g,Root:()=>m,createCheckboxScope:()=>u,unstable_BubbleInput:()=>C,unstable_CheckboxBubbleInput:()=>C,unstable_CheckboxProvider:()=>b,unstable_CheckboxTrigger:()=>x,unstable_Provider:()=>b,unstable_Trigger:()=>x});var r=a(1856),d=a(34124),n=a(21032),l=a(33328),c=a(66249),i=a(72009),o=a(3705),h=a(19900),s=a(93367),y=a(90508),p="Checkbox",[k,u]=(0,n.A)(p),[f,A]=k(p);function b(e){let{__scopeCheckbox:t,checked:a,children:d,defaultChecked:n,disabled:l,form:i,name:o,onCheckedChange:h,required:s,value:k="on",internal_do_not_use_render:u}=e,[A,b]=(0,c.i)({prop:a,defaultProp:null!=n&&n,onChange:h,caller:p}),[v,x]=r.useState(null),[m,M]=r.useState(null),g=r.useRef(!1),w=!v||!!i||!!v.closest("form"),C={checked:A,disabled:l,setChecked:b,control:v,setControl:x,name:o,form:i,value:k,hasConsumerStoppedPropagationRef:g,required:s,defaultChecked:!j(n)&&n,isFormControl:w,bubbleInput:m,setBubbleInput:M};return(0,y.jsx)(f,{scope:t,...C,children:"function"==typeof u?u(C):d})}var v="CheckboxTrigger",x=r.forwardRef((e,t)=>{let{__scopeCheckbox:a,onKeyDown:n,onClick:c,...i}=e,{control:o,value:h,disabled:p,checked:k,required:u,setControl:f,setChecked:b,hasConsumerStoppedPropagationRef:x,isFormControl:m,bubbleInput:M}=A(v,a),g=(0,d.s)(t,f),w=r.useRef(k);return r.useEffect(()=>{let e=null==o?void 0:o.form;if(e){let t=()=>b(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[o,b]),(0,y.jsx)(s.sG.button,{type:"button",role:"checkbox","aria-checked":j(k)?"mixed":k,"aria-required":u,"data-state":q(k),"data-disabled":p?"":void 0,disabled:p,value:h,...i,ref:g,onKeyDown:(0,l.mK)(n,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,l.mK)(c,e=>{b(e=>!!j(e)||!e),M&&m&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})})});x.displayName=v;var m=r.forwardRef((e,t)=>{let{__scopeCheckbox:a,name:r,checked:d,defaultChecked:n,required:l,disabled:c,value:i,onCheckedChange:o,form:h,...s}=e;return(0,y.jsx)(b,{__scopeCheckbox:a,checked:d,defaultChecked:n,disabled:c,required:l,onCheckedChange:o,name:r,form:h,value:i,internal_do_not_use_render:e=>{let{isFormControl:r}=e;return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(x,{...s,ref:t,__scopeCheckbox:a}),r&&(0,y.jsx)(C,{__scopeCheckbox:a})]})}})});m.displayName=p;var M="CheckboxIndicator",g=r.forwardRef((e,t)=>{let{__scopeCheckbox:a,forceMount:r,...d}=e,n=A(M,a);return(0,y.jsx)(h.C,{present:r||j(n.checked)||!0===n.checked,children:(0,y.jsx)(s.sG.span,{"data-state":q(n.checked),"data-disabled":n.disabled?"":void 0,...d,ref:t,style:{pointerEvents:"none",...e.style}})})});g.displayName=M;var w="CheckboxBubbleInput",C=r.forwardRef((e,t)=>{let{__scopeCheckbox:a,...n}=e,{control:l,hasConsumerStoppedPropagationRef:c,checked:h,defaultChecked:p,required:k,disabled:u,name:f,value:b,form:v,bubbleInput:x,setBubbleInput:m}=A(w,a),M=(0,d.s)(t,m),g=(0,i.Z)(h),C=(0,o.X)(l);r.useEffect(()=>{if(!x)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!c.current;if(g!==h&&e){let a=new Event("click",{bubbles:t});x.indeterminate=j(h),e.call(x,!j(h)&&h),x.dispatchEvent(a)}},[x,g,h,c]);let q=r.useRef(!j(h)&&h);return(0,y.jsx)(s.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=p?p:q.current,required:k,disabled:u,name:f,value:b,form:v,...n,tabIndex:-1,ref:M,style:{...n.style,...C,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function j(e){return"indeterminate"===e}function q(e){return j(e)?"indeterminate":e?"checked":"unchecked"}C.displayName=w}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[58245],{5616:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},9160:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},17475:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},23675:(e,t,n)=>{var r=n(84675);n.o(r,"useParams")&&n.d(t,{useParams:function(){return r.useParams}}),n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}}),n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}}),n.o(r,"useSearchParams")&&n.d(t,{useSearchParams:function(){return r.useSearchParams}})},52309:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},58057:(e,t,n)=>{n.r(t),n.d(t,{Label:()=>l,Root:()=>s});var r=n(1856),o=n(93367),a=n(90508),l=r.forwardRef((e,t)=>(0,a.jsx)(o.sG.label,{...e,ref:t,onMouseDown:t=>{var n;t.target.closest("button, input, select, textarea")||(null==(n=e.onMouseDown)||n.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));l.displayName="Label";var s=l},60532:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},67103:(e,t,n)=>{n.d(t,{N:()=>g});var r=n(90508),o=n(1856),a=n(43827),l=n(66071),s=n(66506),u=n(95535),i=n(63605),c=n(8334);function h(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}class d extends o.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if((0,i.s)(t)&&e.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let e=t.offsetParent,n=(0,i.s)(e)&&e.offsetWidth||0,r=(0,i.s)(e)&&e.offsetHeight||0,o=getComputedStyle(t),a=this.props.sizeRef.current;a.height=parseFloat(o.height),a.width=parseFloat(o.width),a.top=t.offsetTop,a.left=t.offsetLeft,a.right=n-a.width-a.left,a.bottom=r-a.height-a.top}return null}componentDidUpdate(){}render(){return this.props.children}}function p(e){var t,n;let{children:a,isPresent:l,anchorX:s,anchorY:u,root:i,pop:p}=e,f=(0,o.useId)(),m=(0,o.useRef)(null),y=(0,o.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:v}=(0,o.useContext)(c.Q),k=function(...e){return o.useCallback(function(...e){return t=>{let n=!1,r=e.map(e=>{let r=h(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():h(e[t],null)}}}}(...e),e)}(m,null!=(n=null==(t=a.props)?void 0:t.ref)?n:null==a?void 0:a.ref);return(0,o.useInsertionEffect)(()=>{let{width:e,height:t,top:n,left:r,right:o,bottom:a}=y.current;if(l||!1===p||!m.current||!e||!t)return;m.current.dataset.motionPopId=f;let c=document.createElement("style");v&&(c.nonce=v);let h=null!=i?i:document.head;return h.appendChild(c),c.sheet&&c.sheet.insertRule('\n [data-motion-pop-id="'.concat(f,'"] {\n position: absolute !important;\n width: ').concat(e,"px !important;\n height: ").concat(t,"px !important;\n ").concat("left"===s?"left: ".concat(r):"right: ".concat(o),"px !important;\n ").concat("bottom"===u?"bottom: ".concat(a):"top: ".concat(n),"px !important;\n }\n ")),()=>{var e;null==(e=m.current)||e.removeAttribute("data-motion-pop-id"),h.contains(c)&&h.removeChild(c)}},[l]),(0,r.jsx)(d,{isPresent:l,childRef:m,sizeRef:y,pop:p,children:!1===p?a:o.cloneElement(a,{ref:k})})}let f=e=>{let{children:t,initial:n,isPresent:a,onExitComplete:s,custom:i,presenceAffectsLayout:c,mode:h,anchorX:d,anchorY:f,root:y}=e,v=(0,l.M)(m),k=(0,o.useId)(),g=!0,A=(0,o.useMemo)(()=>(g=!1,{id:k,initial:n,isPresent:a,custom:i,onExitComplete:e=>{for(let t of(v.set(e,!0),v.values()))if(!t)return;s&&s()},register:e=>(v.set(e,!1),()=>v.delete(e))}),[a,v,s]);return c&&g&&(A={...A}),(0,o.useMemo)(()=>{v.forEach((e,t)=>v.set(t,!1))},[a]),o.useEffect(()=>{a||v.size||!s||s()},[a]),t=(0,r.jsx)(p,{pop:"popLayout"===h,isPresent:a,anchorX:d,anchorY:f,root:y,children:t}),(0,r.jsx)(u.t.Provider,{value:A,children:t})};function m(){return new Map}var y=n(99672);let v=e=>e.key||"";function k(e){let t=[];return o.Children.forEach(e,e=>{(0,o.isValidElement)(e)&&t.push(e)}),t}let g=e=>{let{children:t,custom:n,initial:u=!0,onExitComplete:i,presenceAffectsLayout:c=!0,mode:h="sync",propagate:d=!1,anchorX:p="left",anchorY:m="top",root:g}=e,[A,M]=(0,y.xQ)(d),x=(0,o.useMemo)(()=>k(t),[t]),w=d&&!A?[]:x.map(v),P=(0,o.useRef)(!0),b=(0,o.useRef)(x),R=(0,l.M)(()=>new Map),E=(0,o.useRef)(new Set),[C,j]=(0,o.useState)(x),[S,L]=(0,o.useState)(x);(0,s.E)(()=>{P.current=!1,b.current=x;for(let e=0;e<S.length;e++){let t=v(S[e]);w.includes(t)?(R.delete(t),E.current.delete(t)):!0!==R.get(t)&&R.set(t,!1)}},[S,w.length,w.join("-")]);let z=[];if(x!==C){let e=[...x];for(let t=0;t<S.length;t++){let n=S[t],r=v(n);w.includes(r)||(e.splice(t,0,n),z.push(n))}return"wait"===h&&z.length&&(e=z),L(k(e)),j(x),null}let{forceRender:D}=(0,o.useContext)(a.L);return(0,r.jsx)(r.Fragment,{children:S.map(e=>{let t=v(e),o=(!d||!!A)&&(x===S||w.includes(t));return(0,r.jsx)(f,{isPresent:o,initial:(!P.current||!!u)&&void 0,custom:n,presenceAffectsLayout:c,mode:h,root:g,onExitComplete:o?void 0:()=>{if(E.current.has(t)||!R.has(t))return;E.current.add(t),R.set(t,!0);let e=!0;R.forEach(t=>{t||(e=!1)}),e&&(null==D||D(),L(b.current),d&&(null==M||M()),i&&i())},anchorX:p,anchorY:m,children:e},t)})})}},71388:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},78948:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},85226:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},97413:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(66206).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"}]])}}]);
@@ -1,80 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[58699],{15449:(t,e,i)=>{i.d(e,{A:()=>r});var s=i(42588),n=i(71283);let r=(t,e)=>s.A.lang.round(n.A.parse(t)[e])},58699:(t,e,i)=>{i.d(e,{diagram:()=>f});var s=i(73172),n=i(86528),r=i(44145);i(4468),i(23043),i(10449),i(29318),i(3251),i(93437);var a=i(27211),o=i(16730),c=i(35752),l=i(99062),h=i(15449),u=i(75848),d=function(){var t=(0,c.K2)(function(t,e,i,s){for(i=i||{},s=t.length;s--;i[t[s]]=e);return i},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],i=[1,10],s=[1,11],n=[1,12],r=[1,13],a=[1,23],o=[1,24],l=[1,25],h=[1,26],u=[1,27],d=[1,19],y=[1,28],p=[1,29],_=[1,20],g=[1,18],b=[1,21],m=[1,22],f=[1,36],E=[1,37],k=[1,38],T=[1,39],O=[1,40],S=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],A=[1,45],N=[1,46],R=[1,55],I=[40,48,50,51,52,70,71],$=[1,66],C=[1,64],x=[1,61],D=[1,65],v=[1,67],L=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],K=[65,66,67,68,69],w=[1,84],M=[1,83],B=[1,81],F=[1,82],Y=[6,10,42,47],P=[6,10,13,41,42,47,48,49],z=[1,92],G=[1,91],U=[1,90],Z=[19,58],j=[1,101],W=[1,100],X=[19,58,60,62],V={trace:(0,c.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:(0,c.K2)(function(t,e,i,s,n,r,a){var o=r.length-1;switch(n){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:r[o-1].push(r[o]),this.$=r[o-1];break;case 4:case 5:case 55:case 56:case 57:case 58:case 81:case 65:case 66:case 69:this.$=r[o];break;case 8:s.addEntity(r[o-4]),s.addEntity(r[o-2]),s.addRelationship(r[o-4],r[o],r[o-2],r[o-3]);break;case 9:s.addEntity(r[o-8]),s.addEntity(r[o-4]),s.addRelationship(r[o-8],r[o],r[o-4],r[o-5]),s.setClass([r[o-8]],r[o-6]),s.setClass([r[o-4]],r[o-2]);break;case 10:s.addEntity(r[o-6]),s.addEntity(r[o-2]),s.addRelationship(r[o-6],r[o],r[o-2],r[o-3]),s.setClass([r[o-6]],r[o-4]);break;case 11:s.addEntity(r[o-6]),s.addEntity(r[o-4]),s.addRelationship(r[o-6],r[o],r[o-4],r[o-5]),s.setClass([r[o-4]],r[o-2]);break;case 12:s.addEntity(r[o-3]),s.addAttributes(r[o-3],r[o-1]);break;case 13:s.addEntity(r[o-5]),s.addAttributes(r[o-5],r[o-1]),s.setClass([r[o-5]],r[o-3]);break;case 14:s.addEntity(r[o-2]);break;case 15:s.addEntity(r[o-4]),s.setClass([r[o-4]],r[o-2]);break;case 16:s.addEntity(r[o]);break;case 17:s.addEntity(r[o-2]),s.setClass([r[o-2]],r[o]);break;case 18:s.addEntity(r[o-6],r[o-4]),s.addAttributes(r[o-6],r[o-1]);break;case 19:s.addEntity(r[o-8],r[o-6]),s.addAttributes(r[o-8],r[o-1]),s.setClass([r[o-8]],r[o-3]);break;case 20:s.addEntity(r[o-5],r[o-3]);break;case 21:s.addEntity(r[o-7],r[o-5]),s.setClass([r[o-7]],r[o-2]);break;case 22:s.addEntity(r[o-3],r[o-1]);break;case 23:s.addEntity(r[o-5],r[o-3]),s.setClass([r[o-5]],r[o]);break;case 24:case 25:this.$=r[o].trim(),s.setAccTitle(this.$);break;case 26:case 27:this.$=r[o].trim(),s.setAccDescription(this.$);break;case 32:s.setDirection("TB");break;case 33:s.setDirection("BT");break;case 34:s.setDirection("RL");break;case 35:s.setDirection("LR");break;case 36:this.$=r[o-3],s.addClass(r[o-2],r[o-1]);break;case 37:case 38:case 59:case 67:case 43:this.$=[r[o]];break;case 39:case 40:this.$=r[o-2].concat([r[o]]);break;case 41:this.$=r[o-2],s.setClass(r[o-1],r[o]);break;case 42:this.$=r[o-3],s.addCssStyles(r[o-2],r[o-1]);break;case 44:case 68:r[o-2].push(r[o]),this.$=r[o-2];break;case 46:this.$=r[o-1]+r[o];break;case 54:case 79:case 80:case 70:this.$=r[o].replace(/"/g,"");break;case 60:r[o].push(r[o-1]),this.$=r[o];break;case 61:this.$={type:r[o-1],name:r[o]};break;case 62:this.$={type:r[o-2],name:r[o-1],keys:r[o]};break;case 63:this.$={type:r[o-2],name:r[o-1],comment:r[o]};break;case 64:this.$={type:r[o-3],name:r[o-2],keys:r[o-1],comment:r[o]};break;case 71:this.$={cardA:r[o],relType:r[o-1],cardB:r[o-2]};break;case 72:this.$=s.Cardinality.ZERO_OR_ONE;break;case 73:this.$=s.Cardinality.ZERO_OR_MORE;break;case 74:this.$=s.Cardinality.ONE_OR_MORE;break;case 75:this.$=s.Cardinality.ONLY_ONE;break;case 76:this.$=s.Cardinality.MD_PARENT;break;case 77:this.$=s.Identification.NON_IDENTIFYING;break;case 78:this.$=s.Identification.IDENTIFYING}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:i,24:s,26:n,28:r,29:14,30:15,31:16,32:17,33:a,34:o,35:l,36:h,37:u,40:d,43:y,44:p,48:_,50:g,51:b,52:m},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:i,24:s,26:n,28:r,29:14,30:15,31:16,32:17,33:a,34:o,35:l,36:h,37:u,40:d,43:y,44:p,48:_,50:g,51:b,52:m},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:f,66:E,67:k,68:T,69:O}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(S,[2,54]),t(S,[2,55]),t(S,[2,56]),t(S,[2,57]),t(S,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:A,41:N},{16:47,40:A,41:N},{16:48,40:A,41:N},t(e,[2,4]),{11:49,40:d,48:_,50:g,51:b,52:m},{16:50,40:A,41:N},{18:51,19:[1,52],53:53,54:54,58:R},{11:56,40:d,48:_,50:g,51:b,52:m},{64:57,70:[1,58],71:[1,59]},t(I,[2,72]),t(I,[2,73]),t(I,[2,74]),t(I,[2,75]),t(I,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:$,38:60,41:C,42:x,45:62,46:63,48:D,49:v},t(L,[2,37]),t(L,[2,38]),{16:68,40:A,41:N,42:x},{13:$,38:69,41:C,42:x,45:62,46:63,48:D,49:v},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:x,65:f,66:E,67:k,68:T,69:O}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:R},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:f,66:E,67:k,68:T,69:O},t(K,[2,77]),t(K,[2,78]),{6:w,10:M,39:80,42:B,47:F},{40:[1,85],41:[1,86]},t(Y,[2,43],{46:87,13:$,41:C,48:D,49:v}),t(P,[2,45]),t(P,[2,50]),t(P,[2,51]),t(P,[2,52]),t(P,[2,53]),t(e,[2,41],{42:x}),{6:w,10:M,39:88,42:B,47:F},{14:89,40:z,50:G,72:U},{16:93,40:A,41:N},{11:94,40:d,48:_,50:g,51:b,52:m},{18:95,19:[1,96],53:53,54:54,58:R},t(e,[2,12]),{19:[2,60]},t(Z,[2,61],{56:97,57:98,59:99,61:j,62:W}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:$,41:C,45:104,46:63,48:D,49:v},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(L,[2,39]),t(L,[2,40]),t(P,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:x},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(Z,[2,62],{57:109,60:[1,110],62:W}),t(Z,[2,63]),t(X,[2,67]),t(Z,[2,70]),t(X,[2,69]),{18:111,19:[1,112],53:53,54:54,58:R},{16:113,40:A,41:N},t(Y,[2,44],{46:87,13:$,41:C,48:D,49:v}),{14:114,40:z,50:G,72:U},{16:115,40:A,41:N},{14:116,40:z,50:G,72:U},t(e,[2,13]),t(Z,[2,64]),{59:117,61:j},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:x}),t(e,[2,11]),{13:[1,120],42:x},t(e,[2,10]),t(X,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:R},{14:123,40:z,50:G,72:U},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:(0,c.K2)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,c.K2)(function(t){var e=this,i=[0],s=[],n=[null],r=[],a=this.table,o="",l=0,h=0,u=0,d=r.slice.call(arguments,1),y=Object.create(this.lexer),p={};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(p[_]=this.yy[_]);y.setInput(t,p),p.lexer=y,p.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;r.push(g);var b=y.options&&y.options.ranges;function m(){var t;return"number"!=typeof(t=s.pop()||y.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,c.K2)(function(t){i.length=i.length-2*t,n.length=n.length-t,r.length=r.length-t},"popStack"),(0,c.K2)(m,"lex");for(var f,E,k,T,O,S,A,N,R,I={};;){if(k=i[i.length-1],this.defaultActions[k]?T=this.defaultActions[k]:(null==f&&(f=m()),T=a[k]&&a[k][f]),void 0===T||!T.length||!T[0]){var $="";for(S in R=[],a[k])this.terminals_[S]&&S>2&&R.push("'"+this.terminals_[S]+"'");$=y.showPosition?"Parse error on line "+(l+1)+":\n"+y.showPosition()+"\nExpecting "+R.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError($,{text:y.match,token:this.terminals_[f]||f,line:y.yylineno,loc:g,expected:R})}if(T[0]instanceof Array&&T.length>1)throw Error("Parse Error: multiple actions possible at state: "+k+", token: "+f);switch(T[0]){case 1:i.push(f),n.push(y.yytext),r.push(y.yylloc),i.push(T[1]),f=null,E?(f=E,E=null):(h=y.yyleng,o=y.yytext,l=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(A=this.productions_[T[1]][1],I.$=n[n.length-A],I._$={first_line:r[r.length-(A||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(A||1)].first_column,last_column:r[r.length-1].last_column},b&&(I._$.range=[r[r.length-(A||1)].range[0],r[r.length-1].range[1]]),void 0!==(O=this.performAction.apply(I,[o,h,l,p,T[1],n,r].concat(d))))return O;A&&(i=i.slice(0,-1*A*2),n=n.slice(0,-1*A),r=r.slice(0,-1*A)),i.push(this.productions_[T[1]][0]),n.push(I.$),r.push(I._$),N=a[i[i.length-2]][i[i.length-1]],i.push(N);break;case 3:return!0}}return!0},"parse")};function Q(){this.yy={}}return V.lexer={EOF:1,parseError:(0,c.K2)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,c.K2)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,c.K2)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,c.K2)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,c.K2)(function(){return this._more=!0,this},"more"),reject:(0,c.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,c.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,c.K2)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,c.K2)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,c.K2)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,c.K2)(function(t,e){var i,s,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:(0,c.K2)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,s,n=this._currentRules(),r=0;r<n.length;r++)if((i=this._input.match(this.rules[n[r]]))&&(!e||i[0].length>e[0].length)){if(e=i,s=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,c.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,c.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,c.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,c.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,c.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,c.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,c.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,c.K2)(function(t,e,i,s){switch(i){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:case 23:case 28:case 35:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:case 19:case 38:return 49;case 20:case 37:return 42;case 21:return 15;case 22:case 36:return 13;case 24:return 61;case 25:case 26:return 58;case 27:return 62;case 29:return this.popState(),19;case 30:case 77:return e.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 39:return this.begin("style"),37;case 40:return 43;case 41:case 45:case 46:case 64:return 65;case 42:case 43:case 44:case 52:case 54:case 66:return 67;case 47:case 48:case 49:case 50:case 51:case 53:case 65:return 66;case 55:case 56:case 58:case 59:case 60:case 63:return 68;case 57:return 51;case 61:return 52;case 62:return 48;case 67:return 69;case 68:case 71:case 72:case 73:return 70;case 69:case 70:return 71;case 74:return 41;case 75:return 47;case 76:return 40;case 78:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,74,75],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,76,77,78],inclusive:!0}}},(0,c.K2)(Q,"Parser"),Q.prototype=V,V.Parser=Q,new Q}();d.parser=d;var y=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setAccDescription=o.EI,this.getAccDescription=o.m7,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getConfig=(0,c.K2)(()=>(0,o.D7)().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{(0,c.K2)(this,"ErDB")}addEntity(t,e=""){return this.entities.has(t)?!this.entities.get(t)?.alias&&e&&(this.entities.get(t).alias=e,c.Rm.info(`Add alias '${e}' to entity '${t}'`)):(this.entities.set(t,{id:`entity-${t}-${this.entities.size}`,label:t,attributes:[],alias:e,shape:"erBox",look:(0,o.D7)().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),c.Rm.info("Added new entity :",t)),this.entities.get(t)}getEntity(t){return this.entities.get(t)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(t,e){let i,s=this.addEntity(t);for(i=e.length-1;i>=0;i--)e[i].keys||(e[i].keys=[]),e[i].comment||(e[i].comment=""),s.attributes.push(e[i]),c.Rm.debug("Added attribute ",e[i].name)}addRelationship(t,e,i,s){let n=this.entities.get(t),r=this.entities.get(i);if(!n||!r)return;let a={entityA:n.id,roleA:e,entityB:r.id,relSpec:s};this.relationships.push(a),c.Rm.debug("Added new relationship :",a)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(t){this.direction=t}getCompiledStyles(t){let e=[];for(let i of t){let t=this.classes.get(i);t?.styles&&(e=[...e,...t.styles??[]].map(t=>t.trim())),t?.textStyles&&(e=[...e,...t.textStyles??[]].map(t=>t.trim()))}return e}addCssStyles(t,e){for(let i of t){let t=this.entities.get(i);if(!e||!t)return;for(let i of e)t.cssStyles.push(i)}}addClass(t,e){t.forEach(t=>{let i=this.classes.get(t);void 0===i&&(i={id:t,styles:[],textStyles:[]},this.classes.set(t,i)),e&&e.forEach(function(t){if(/color/.exec(t)){let e=t.replace("fill","bgFill");i.textStyles.push(e)}i.styles.push(t)})})}setClass(t,e){for(let i of t){let t=this.entities.get(i);if(t)for(let i of e)t.cssClasses+=" "+i}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],(0,o.IU)()}getData(){let t=[],e=[],i=(0,o.D7)(),s=0;for(let e of this.entities.keys()){let i=this.entities.get(e);i&&(i.cssCompiledStyles=this.getCompiledStyles(i.cssClasses.split(" ")),i.colorIndex=s++,t.push(i))}let n=0;for(let t of this.relationships){let s={id:(0,a.rY)(t.entityA,t.entityB,{prefix:"id",counter:n++}),type:"normal",curve:"basis",start:t.entityA,end:t.entityB,label:t.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:t.relSpec.cardB.toLowerCase(),arrowTypeEnd:t.relSpec.cardA.toLowerCase(),pattern:"IDENTIFYING"==t.relSpec.relType?"solid":"dashed",look:i.look,labelType:"markdown"};e.push(s)}return{nodes:t,edges:e,other:{},config:i,direction:"TB"}}},p={};(0,c.VA)(p,{draw:()=>_});var _=(0,c.K2)(async function(t,e,i,h){c.Rm.info("REF0:"),c.Rm.info("Drawing er diagram (unified)",e);let{securityLevel:u,er:d,layout:y}=(0,o.D7)(),p=h.db.getData(),_=(0,s.A)(e,u);p.type=h.type,p.layoutAlgorithm=(0,r.q7)(y),p.config.flowchart.nodeSpacing=d?.nodeSpacing||140,p.config.flowchart.rankSpacing=d?.rankSpacing||80,p.direction=h.db.getDirection();let{config:g}=p,{look:b}=g;"neo"===b?p.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:p.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],p.diagramId=e,await (0,r.XX)(p,_),"elk"===p.layoutAlgorithm&&_.select(".edges").lower();let m=_.selectAll('[id*="-background"]');Array.from(m).length>0&&m.each(function(){let t=(0,l.Ltv)(this),e=t.attr("id").replace("-background",""),i=_.select(`#${CSS.escape(e)}`);if(!i.empty()){let e=i.attr("transform");t.attr("transform",e)}}),a._K.insertTitle(_,"erDiagramTitleText",d?.titleTopMargin??25,h.db.getDiagramTitle()),(0,n.P)(_,8,"erDiagram",d?.useMaxWidth??!0)},"draw"),g=(0,c.K2)((t,e)=>{let i=h.A,s=i(t,"r"),n=i(t,"g"),r=i(t,"b");return u.A(s,n,r,e)},"fade"),b=new Set(["redux-color","redux-dark-color"]),m=(0,c.K2)(t=>{let{theme:e,look:i,bkgColorArray:s,borderColorArray:n}=t;if(!b.has(e))return"";let r=s?.length>0,a="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)a+=`
2
-
3
- [data-look="${i}"][data-color-id="color-${e}"].node path {
4
- stroke: ${n[e]};
5
- ${r?`fill: ${s[e]};`:""}
6
- }
7
-
8
- [data-look="${i}"][data-color-id="color-${e}"].node rect {
9
- stroke: ${n[e]};
10
- ${r?`fill: ${s[e]};`:""}
11
- }
12
- `;return a},"genColor"),f={parser:d,get db(){return new y},renderer:p,styles:(0,c.K2)(t=>{let{look:e,theme:i,erEdgeLabelBackground:s,strokeWidth:n}=t;return`
13
- ${m(t)}
14
- .entityBox {
15
- fill: ${t.mainBkg};
16
- stroke: ${t.nodeBorder};
17
- }
18
-
19
- .relationshipLabelBox {
20
- fill: ${t.tertiaryColor};
21
- opacity: 0.7;
22
- background-color: ${t.tertiaryColor};
23
- rect {
24
- opacity: 0.5;
25
- }
26
- }
27
-
28
- .labelBkg {
29
- background-color: ${b.has(i)&&s?s:g(t.tertiaryColor,.5)};
30
- }
31
-
32
- .edgeLabel {
33
- background-color: ${b.has(i)&&s?s:t.edgeLabelBackground};
34
- }
35
- .edgeLabel .label rect {
36
- fill: ${b.has(i)&&s?s:t.edgeLabelBackground};
37
- }
38
- .edgeLabel .label text {
39
- fill: ${t.textColor};
40
- }
41
-
42
- .edgeLabel .label {
43
- fill: ${t.nodeBorder};
44
- font-size: 14px;
45
- }
46
-
47
- .label {
48
- font-family: ${t.fontFamily};
49
- color: ${t.nodeTextColor||t.textColor};
50
- }
51
-
52
- .edge-pattern-dashed {
53
- stroke-dasharray: 8,8;
54
- }
55
-
56
- .node rect,
57
- .node circle,
58
- .node ellipse,
59
- .node polygon
60
- {
61
- fill: ${t.mainBkg};
62
- stroke: ${t.nodeBorder};
63
- stroke-width: ${"neo"===e?n:"1px"};
64
- }
65
-
66
- .relationshipLine {
67
- stroke: ${t.lineColor};
68
- stroke-width: ${"neo"===e?n:"1px"};
69
- fill: none;
70
- }
71
-
72
- .marker {
73
- fill: none !important;
74
- stroke: ${t.lineColor} !important;
75
- stroke-width: 1;
76
- }
77
- [data-look=neo].labelBkg {
78
- background-color: ${g(t.tertiaryColor,.5)};
79
- }
80
- `},"getStyles")}},73172:(t,e,i)=>{i.d(e,{A:()=>r});var s=i(35752),n=i(99062),r=(0,s.K2)((t,e)=>{let i;return"sandbox"===e&&(i=(0,n.Ltv)("#i"+t)),("sandbox"===e?(0,n.Ltv)(i.nodes()[0].contentDocument.body):(0,n.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")},86528:(t,e,i)=>{i.d(e,{P:()=>r});var s=i(16730),n=i(35752),r=(0,n.K2)((t,e,i,r)=>{t.attr("class",i);let{width:c,height:l,x:h,y:u}=a(t,e);(0,s.a$)(t,l,c,r);let d=o(h,u,c,l,e);t.attr("viewBox",d),n.Rm.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),a=(0,n.K2)((t,e)=>{let i=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:i.width+2*e,height:i.height+2*e,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),o=(0,n.K2)((t,e,i,s,n)=>`${t-n} ${e-n} ${i} ${s}`,"createViewBox")}}]);