@chorus-aidlc/chorus 0.14.0 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +425 -412
  3. package/.next/standalone/.next/app-path-routes-manifest.json +43 -42
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +39 -39
  6. package/.next/standalone/.next/routes-manifest.json +8 -0
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +2 -2
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +1 -1
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +2 -2
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  41. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  42. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  45. package/.next/standalone/.next/server/app/admin/companies/new.rsc +1 -1
  46. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  48. package/.next/standalone/.next/server/app/admin/companies.rsc +1 -1
  49. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/admin.html +2 -2
  51. package/.next/standalone/.next/server/app/admin.rsc +1 -1
  52. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route.js +1 -1
  59. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/comments/route.js +1 -1
  72. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/daemon/execution-state/route.js +1 -1
  75. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/daemon/executions/route.js +1 -1
  77. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route.js +1 -1
  79. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
  81. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
  83. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/daemon/transcript/route.js +1 -1
  85. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route.js +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route.js +1 -1
  93. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route.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.js +1 -1
  97. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route.js +1 -1
  100. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/events/notifications/route.js +1 -1
  102. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  104. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route.js +1 -1
  109. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
  111. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route.js +1 -1
  113. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
  115. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
  117. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js +1 -0
  119. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route.js.nft.json +1 -0
  120. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -0
  121. package/.next/standalone/.next/server/app/api/ideas/conversational/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/mcp/route.js +4 -4
  124. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/me/assignments/route.js +1 -1
  126. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/mentionables/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route.js +1 -1
  130. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route.js +1 -1
  132. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/notifications/preferences/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/notifications/read-all/route.js +1 -1
  136. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  138. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/notifications/unread-count/route.js +1 -1
  140. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
  146. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
  150. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
  152. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route.js +1 -1
  157. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  159. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
  161. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
  163. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  169. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  170. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  172. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  173. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route.js +1 -1
  175. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  176. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
  179. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
  181. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
  183. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  184. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
  185. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
  187. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/index.html +2 -2
  189. package/.next/standalone/.next/server/app/index.rsc +1 -1
  190. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  192. package/.next/standalone/.next/server/app/login/admin.rsc +1 -1
  193. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  194. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  195. package/.next/standalone/.next/server/app/login/callback.rsc +1 -1
  196. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  197. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  199. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +1 -1
  200. package/.next/standalone/.next/server/app/login.html +2 -2
  201. package/.next/standalone/.next/server/app/login.rsc +1 -1
  202. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  203. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  204. package/.next/standalone/.next/server/app/onboarding.rsc +2 -2
  205. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  206. package/.next/standalone/.next/server/app/projects.html +2 -2
  207. package/.next/standalone/.next/server/app/projects.rsc +3 -3
  208. package/.next/standalone/.next/server/app/settings.html +2 -2
  209. package/.next/standalone/.next/server/app/settings.rsc +3 -3
  210. package/.next/standalone/.next/server/app-paths-manifest.json +43 -42
  211. package/.next/standalone/.next/server/chunks/1114.js +1 -1
  212. package/.next/standalone/.next/server/chunks/1173.js +1 -1
  213. package/.next/standalone/.next/server/chunks/1286.js +3 -2
  214. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  215. package/.next/standalone/.next/server/chunks/2382.js +1 -1
  216. package/.next/standalone/.next/server/chunks/2463.js +1 -0
  217. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  218. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  219. package/.next/standalone/.next/server/chunks/3219.js +1 -1
  220. package/.next/standalone/.next/server/chunks/3419.js +1 -1
  221. package/.next/standalone/.next/server/chunks/4827.js +1 -1
  222. package/.next/standalone/.next/server/chunks/{1343.js → 5201.js} +2 -2
  223. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  224. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  225. package/.next/standalone/.next/server/chunks/{8577.js → 6506.js} +3 -3
  226. package/.next/standalone/.next/server/chunks/{7131.js → 6515.js} +2 -2
  227. package/.next/standalone/.next/server/chunks/7364.js +1 -1
  228. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  229. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  230. package/.next/standalone/.next/server/chunks/7762.js +1 -1
  231. package/.next/standalone/.next/server/chunks/8062.js +1 -0
  232. package/.next/standalone/.next/server/chunks/8204.js +1 -0
  233. package/.next/standalone/.next/server/chunks/920.js +1 -1
  234. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  235. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  236. package/.next/standalone/.next/server/chunks/951.js +1 -0
  237. package/.next/standalone/.next/server/chunks/9979.js +1 -0
  238. package/.next/standalone/.next/server/instrumentation.js +1 -1
  239. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  240. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  241. package/.next/standalone/.next/server/pages/404.html +2 -2
  242. package/.next/standalone/.next/server/pages/500.html +1 -1
  243. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  245. package/.next/standalone/.next/static/chunks/11595.7784dfe509c100a4.js +1 -0
  246. package/.next/standalone/.next/static/chunks/21188-43211c9e40bf0d63.js +10 -0
  247. package/.next/standalone/.next/static/chunks/24537-ef5b301140cf3a58.js +1 -0
  248. package/.next/standalone/.next/static/chunks/27030-3ae1d0e29245b23e.js +1 -0
  249. package/.next/standalone/.next/static/chunks/28680-dff79c4467712199.js +1 -0
  250. package/.next/standalone/.next/static/chunks/32331-87ae9bc7517c7947.js +1 -0
  251. package/.next/standalone/.next/static/chunks/33456.3bd7ba05bd39259b.js +1 -0
  252. package/.next/standalone/.next/static/chunks/38526-7ffc4b7351c15bc4.js +1 -0
  253. package/.next/standalone/.next/static/chunks/4860.4803e40814d50dd0.js +1 -0
  254. package/.next/standalone/.next/static/chunks/51603-7fa00971493ae223.js +1 -0
  255. package/.next/standalone/.next/static/chunks/78917-c0a9a11fe437a752.js +1 -0
  256. package/.next/standalone/.next/static/chunks/84169-5beb288902aea242.js +1 -0
  257. package/.next/standalone/.next/static/chunks/84219-09970ab1b85c61f0.js +1 -0
  258. package/.next/standalone/.next/static/chunks/86155-c9b7c2c08d3fa80e.js +1 -0
  259. package/.next/standalone/.next/static/chunks/99373.0457580c532530bc.js +1 -0
  260. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-55ce87d16bc689f3.js +1 -0
  261. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-e5202e9b7669576c.js +1 -0
  262. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-d9323dc8b6c974f7.js +1 -0
  263. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-c231207c3674aa54.js +1 -0
  264. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-2b13a2224c3b6d6d.js → page-20054b1cec8ed1d2.js} +1 -1
  265. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-c83c5d1b4599e737.js +1 -0
  266. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-7948aa8db4813091.js +1 -0
  267. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/{page-d37d5adabc60a16c.js → page-278d30ee1dd7e315.js} +1 -1
  268. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/{page-8212e69e806cab35.js → page-5a22db5f8504e61d.js} +1 -1
  269. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-47a17dbadfbc75ad.js +1 -0
  270. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-7fbf5bc58d3dd5b0.js +1 -0
  271. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-55ce87d16bc689f3.js +1 -0
  272. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-55ce87d16bc689f3.js +1 -0
  273. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-55ce87d16bc689f3.js +1 -0
  274. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-55ce87d16bc689f3.js +1 -0
  275. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-55ce87d16bc689f3.js +1 -0
  276. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-55ce87d16bc689f3.js +1 -0
  277. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-55ce87d16bc689f3.js +1 -0
  278. package/.next/standalone/.next/static/chunks/app/api/agents/route-55ce87d16bc689f3.js +1 -0
  279. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-55ce87d16bc689f3.js +1 -0
  280. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-55ce87d16bc689f3.js +1 -0
  281. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-55ce87d16bc689f3.js +1 -0
  282. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-55ce87d16bc689f3.js +1 -0
  283. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-55ce87d16bc689f3.js +1 -0
  284. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-55ce87d16bc689f3.js +1 -0
  285. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-55ce87d16bc689f3.js +1 -0
  286. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-55ce87d16bc689f3.js +1 -0
  287. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-55ce87d16bc689f3.js +1 -0
  288. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-55ce87d16bc689f3.js +1 -0
  289. package/.next/standalone/.next/static/chunks/app/api/comments/route-55ce87d16bc689f3.js +1 -0
  290. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-55ce87d16bc689f3.js +1 -0
  291. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-55ce87d16bc689f3.js +1 -0
  292. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-55ce87d16bc689f3.js +1 -0
  293. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-55ce87d16bc689f3.js +1 -0
  294. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-55ce87d16bc689f3.js +1 -0
  295. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-55ce87d16bc689f3.js +1 -0
  296. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-55ce87d16bc689f3.js +1 -0
  297. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-55ce87d16bc689f3.js +1 -0
  298. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-55ce87d16bc689f3.js +1 -0
  299. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-55ce87d16bc689f3.js +1 -0
  300. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-55ce87d16bc689f3.js +1 -0
  301. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-55ce87d16bc689f3.js +1 -0
  302. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-55ce87d16bc689f3.js +1 -0
  303. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-55ce87d16bc689f3.js +1 -0
  304. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-55ce87d16bc689f3.js +1 -0
  305. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-55ce87d16bc689f3.js +1 -0
  306. package/.next/standalone/.next/static/chunks/app/api/events/route-55ce87d16bc689f3.js +1 -0
  307. package/.next/standalone/.next/static/chunks/app/api/health/route-55ce87d16bc689f3.js +1 -0
  308. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-55ce87d16bc689f3.js +1 -0
  309. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-55ce87d16bc689f3.js +1 -0
  310. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-55ce87d16bc689f3.js +1 -0
  311. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-55ce87d16bc689f3.js +1 -0
  312. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-55ce87d16bc689f3.js +1 -0
  313. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-55ce87d16bc689f3.js +1 -0
  314. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/wake-preview/route-55ce87d16bc689f3.js +1 -0
  315. package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-55ce87d16bc689f3.js +1 -0
  316. package/.next/standalone/.next/static/chunks/app/api/mcp/route-55ce87d16bc689f3.js +1 -0
  317. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-55ce87d16bc689f3.js +1 -0
  318. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-55ce87d16bc689f3.js +1 -0
  319. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-55ce87d16bc689f3.js +1 -0
  320. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-55ce87d16bc689f3.js +1 -0
  321. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-55ce87d16bc689f3.js +1 -0
  322. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-55ce87d16bc689f3.js +1 -0
  323. package/.next/standalone/.next/static/chunks/app/api/notifications/route-55ce87d16bc689f3.js +1 -0
  324. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-55ce87d16bc689f3.js +1 -0
  325. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-55ce87d16bc689f3.js +1 -0
  326. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-55ce87d16bc689f3.js +1 -0
  327. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-55ce87d16bc689f3.js +1 -0
  328. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-55ce87d16bc689f3.js +1 -0
  329. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-55ce87d16bc689f3.js +1 -0
  330. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-55ce87d16bc689f3.js +1 -0
  331. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-55ce87d16bc689f3.js +1 -0
  332. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-55ce87d16bc689f3.js +1 -0
  333. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-55ce87d16bc689f3.js +1 -0
  334. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-55ce87d16bc689f3.js +1 -0
  335. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-55ce87d16bc689f3.js +1 -0
  336. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-55ce87d16bc689f3.js +1 -0
  337. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-55ce87d16bc689f3.js +1 -0
  338. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-55ce87d16bc689f3.js +1 -0
  339. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-55ce87d16bc689f3.js +1 -0
  340. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-55ce87d16bc689f3.js +1 -0
  341. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-55ce87d16bc689f3.js +1 -0
  342. package/.next/standalone/.next/static/chunks/app/api/projects/route-55ce87d16bc689f3.js +1 -0
  343. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-55ce87d16bc689f3.js +1 -0
  344. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-55ce87d16bc689f3.js +1 -0
  345. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-55ce87d16bc689f3.js +1 -0
  346. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-55ce87d16bc689f3.js +1 -0
  347. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-55ce87d16bc689f3.js +1 -0
  348. package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-55ce87d16bc689f3.js +1 -0
  349. package/.next/standalone/.next/static/chunks/app/api/references/route-55ce87d16bc689f3.js +1 -0
  350. package/.next/standalone/.next/static/chunks/app/api/search/route-55ce87d16bc689f3.js +1 -0
  351. package/.next/standalone/.next/static/chunks/app/api/session/route-55ce87d16bc689f3.js +1 -0
  352. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-55ce87d16bc689f3.js +1 -0
  353. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-55ce87d16bc689f3.js +1 -0
  354. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-55ce87d16bc689f3.js +1 -0
  355. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-55ce87d16bc689f3.js +1 -0
  356. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-55ce87d16bc689f3.js +1 -0
  357. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-55ce87d16bc689f3.js +1 -0
  358. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-55ce87d16bc689f3.js +1 -0
  359. package/.next/standalone/.next/static/chunks/app/onboarding/page-ece3f647133d446e.js +1 -0
  360. package/.next/standalone/.next/static/chunks/{webpack-9dda6192665a5c8d.js → webpack-96be8d6bd0d3d25f.js} +1 -1
  361. package/.next/standalone/package.json +1 -1
  362. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  363. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  364. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +7 -1
  365. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  366. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +32 -1
  367. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  368. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  369. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  370. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  371. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
  372. package/.next/standalone/public/install-kiro.sh +350 -0
  373. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-code-reviewer.json +10 -0
  374. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-proposal-reviewer.json +10 -0
  375. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-task-reviewer.json +10 -0
  376. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus.json +50 -0
  377. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus.md +62 -0
  378. package/.next/standalone/public/kiro-plugin/.kiro/settings/mcp.json +12 -0
  379. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +158 -0
  380. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +421 -0
  381. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +332 -0
  382. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +434 -0
  383. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +386 -0
  384. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +193 -0
  385. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +360 -0
  386. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +547 -0
  387. package/.next/standalone/public/kiro-plugin/.kiro/steering/chorus.md +391 -0
  388. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +392 -0
  389. package/.next/standalone/public/kiro-plugin/bin/on-agent-spawn.sh +81 -0
  390. package/.next/standalone/public/kiro-plugin/bin/on-post-submit-for-verify.sh +68 -0
  391. package/.next/standalone/public/kiro-plugin/bin/on-post-submit-proposal.sh +76 -0
  392. package/.next/standalone/public/kiro-plugin/bin/on-post-verify-task.sh +119 -0
  393. package/.next/standalone/public/kiro-plugin/bin/on-stop.sh +45 -0
  394. package/.next/standalone/public/kiro-plugin/bin/test-syntax.sh +108 -0
  395. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
  396. package/.next/standalone/public/skill/chorus/SKILL.md +7 -1
  397. package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +1 -1
  398. package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
  399. package/.next/standalone/public/skill/idea-chorus/SKILL.md +32 -1
  400. package/.next/standalone/public/skill/package.json +1 -1
  401. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
  402. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +1 -1
  403. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  404. package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
  405. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +1 -1
  406. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +1 -1
  407. package/README.ja.md +4 -1
  408. package/README.ko.md +4 -1
  409. package/README.md +4 -1
  410. package/README.zh.md +4 -1
  411. package/chorus.mjs +4 -0
  412. package/cli/client-args.mjs +19 -8
  413. package/cli/codex-session-map.mjs +9 -79
  414. package/cli/daemon-agent.mjs +12 -7
  415. package/cli/daemon-config.mjs +2 -2
  416. package/cli/daemon-install-config.mjs +213 -0
  417. package/cli/daemon-service.mjs +12 -7
  418. package/cli/daemon.mjs +68 -9
  419. package/cli/kiro-session-map.mjs +49 -0
  420. package/cli/kiro-spawner.mjs +409 -0
  421. package/cli/kiro-transcript.mjs +262 -0
  422. package/cli/prompts.mjs +19 -2
  423. package/cli/session-map.mjs +126 -0
  424. package/cli/spawner-select.mjs +7 -1
  425. package/cli/waker.mjs +18 -3
  426. package/package.json +1 -1
  427. package/prisma/migrations/20260714091007_add_daemon_execution_direct_idea/migration.sql +2 -0
  428. package/prisma/schema.prisma +8 -0
  429. package/.next/standalone/.next/server/chunks/1388.js +0 -1
  430. package/.next/standalone/.next/server/chunks/3373.js +0 -1
  431. package/.next/standalone/.next/server/chunks/5011.js +0 -1
  432. package/.next/standalone/.next/server/chunks/5891.js +0 -1
  433. package/.next/standalone/.next/static/chunks/11595.c932231a36943893.js +0 -1
  434. package/.next/standalone/.next/static/chunks/20081-a2bf5c9f24d5d589.js +0 -1
  435. package/.next/standalone/.next/static/chunks/24537-7988a894f20f8dae.js +0 -1
  436. package/.next/standalone/.next/static/chunks/2709-8f25369aeb5701a4.js +0 -1
  437. package/.next/standalone/.next/static/chunks/33456.f1c7b6bd0a6a65e4.js +0 -1
  438. package/.next/standalone/.next/static/chunks/4860.9313590c6c8c8f56.js +0 -1
  439. package/.next/standalone/.next/static/chunks/55963-b2804d30cfbbe669.js +0 -1
  440. package/.next/standalone/.next/static/chunks/56608-92ab6704b364eb17.js +0 -1
  441. package/.next/standalone/.next/static/chunks/75252-29e0e25cb5a94f7f.js +0 -10
  442. package/.next/standalone/.next/static/chunks/80350-0d34e756f4aebdfc.js +0 -1
  443. package/.next/standalone/.next/static/chunks/84169-affac07755ace386.js +0 -1
  444. package/.next/standalone/.next/static/chunks/9178-182934f9127eed4e.js +0 -1
  445. package/.next/standalone/.next/static/chunks/96752-ad15cc38599f12e2.js +0 -1
  446. package/.next/standalone/.next/static/chunks/99373.9756d8f45fee79a7.js +0 -1
  447. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-9cc7c62013897acb.js +0 -1
  448. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-21571e747883b956.js +0 -1
  449. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-f763dec99ba41f1c.js +0 -1
  450. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-f13281a5806b6b4b.js +0 -1
  451. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-6c577e521c61f718.js +0 -1
  452. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-078f21255acdf752.js +0 -1
  453. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/page-85665683f67eebc7.js +0 -1
  454. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-2ab18a236a0c7f7b.js +0 -1
  455. package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-9cc7c62013897acb.js +0 -1
  456. package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-9cc7c62013897acb.js +0 -1
  457. package/.next/standalone/.next/static/chunks/app/api/admin/login/route-9cc7c62013897acb.js +0 -1
  458. package/.next/standalone/.next/static/chunks/app/api/admin/session/route-9cc7c62013897acb.js +0 -1
  459. package/.next/standalone/.next/static/chunks/app/api/agent-connections/route-9cc7c62013897acb.js +0 -1
  460. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-9cc7c62013897acb.js +0 -1
  461. package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-9cc7c62013897acb.js +0 -1
  462. package/.next/standalone/.next/static/chunks/app/api/agents/route-9cc7c62013897acb.js +0 -1
  463. package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-9cc7c62013897acb.js +0 -1
  464. package/.next/standalone/.next/static/chunks/app/api/api-keys/route-9cc7c62013897acb.js +0 -1
  465. package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-9cc7c62013897acb.js +0 -1
  466. package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-9cc7c62013897acb.js +0 -1
  467. package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-9cc7c62013897acb.js +0 -1
  468. package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-9cc7c62013897acb.js +0 -1
  469. package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-9cc7c62013897acb.js +0 -1
  470. package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-9cc7c62013897acb.js +0 -1
  471. package/.next/standalone/.next/static/chunks/app/api/auth/me/route-9cc7c62013897acb.js +0 -1
  472. package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-9cc7c62013897acb.js +0 -1
  473. package/.next/standalone/.next/static/chunks/app/api/comments/route-9cc7c62013897acb.js +0 -1
  474. package/.next/standalone/.next/static/chunks/app/api/daemon/control/route-9cc7c62013897acb.js +0 -1
  475. package/.next/standalone/.next/static/chunks/app/api/daemon/execution-state/route-9cc7c62013897acb.js +0 -1
  476. package/.next/standalone/.next/static/chunks/app/api/daemon/executions/route-9cc7c62013897acb.js +0 -1
  477. package/.next/standalone/.next/static/chunks/app/api/daemon/pending-turns/route-9cc7c62013897acb.js +0 -1
  478. package/.next/standalone/.next/static/chunks/app/api/daemon/report-interrupt/route-9cc7c62013897acb.js +0 -1
  479. package/.next/standalone/.next/static/chunks/app/api/daemon/resume/route-9cc7c62013897acb.js +0 -1
  480. package/.next/standalone/.next/static/chunks/app/api/daemon/transcript/route-9cc7c62013897acb.js +0 -1
  481. package/.next/standalone/.next/static/chunks/app/api/daemon/turn-advance/route-9cc7c62013897acb.js +0 -1
  482. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/instruction/route-9cc7c62013897acb.js +0 -1
  483. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/repoint/route-9cc7c62013897acb.js +0 -1
  484. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/[sessionUuid]/route-9cc7c62013897acb.js +0 -1
  485. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/ad-hoc/route-9cc7c62013897acb.js +0 -1
  486. package/.next/standalone/.next/static/chunks/app/api/daemon-sessions/route-9cc7c62013897acb.js +0 -1
  487. package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-9cc7c62013897acb.js +0 -1
  488. package/.next/standalone/.next/static/chunks/app/api/entities/[type]/[uuid]/root-idea/route-9cc7c62013897acb.js +0 -1
  489. package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-9cc7c62013897acb.js +0 -1
  490. package/.next/standalone/.next/static/chunks/app/api/events/route-9cc7c62013897acb.js +0 -1
  491. package/.next/standalone/.next/static/chunks/app/api/health/route-9cc7c62013897acb.js +0 -1
  492. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-9cc7c62013897acb.js +0 -1
  493. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/preview/route-9cc7c62013897acb.js +0 -1
  494. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-9cc7c62013897acb.js +0 -1
  495. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/parent/route-9cc7c62013897acb.js +0 -1
  496. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-9cc7c62013897acb.js +0 -1
  497. package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-9cc7c62013897acb.js +0 -1
  498. package/.next/standalone/.next/static/chunks/app/api/ideas/conversational/route-9cc7c62013897acb.js +0 -1
  499. package/.next/standalone/.next/static/chunks/app/api/mcp/route-9cc7c62013897acb.js +0 -1
  500. package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-9cc7c62013897acb.js +0 -1
  501. package/.next/standalone/.next/static/chunks/app/api/mentionables/route-9cc7c62013897acb.js +0 -1
  502. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-9cc7c62013897acb.js +0 -1
  503. package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-9cc7c62013897acb.js +0 -1
  504. package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-9cc7c62013897acb.js +0 -1
  505. package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-9cc7c62013897acb.js +0 -1
  506. package/.next/standalone/.next/static/chunks/app/api/notifications/route-9cc7c62013897acb.js +0 -1
  507. package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-9cc7c62013897acb.js +0 -1
  508. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-9cc7c62013897acb.js +0 -1
  509. package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-9cc7c62013897acb.js +0 -1
  510. package/.next/standalone/.next/static/chunks/app/api/project-groups/route-9cc7c62013897acb.js +0 -1
  511. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-9cc7c62013897acb.js +0 -1
  512. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-9cc7c62013897acb.js +0 -1
  513. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-9cc7c62013897acb.js +0 -1
  514. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-9cc7c62013897acb.js +0 -1
  515. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-9cc7c62013897acb.js +0 -1
  516. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-9cc7c62013897acb.js +0 -1
  517. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-9cc7c62013897acb.js +0 -1
  518. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-9cc7c62013897acb.js +0 -1
  519. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-9cc7c62013897acb.js +0 -1
  520. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/resource-graph/route-9cc7c62013897acb.js +0 -1
  521. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-9cc7c62013897acb.js +0 -1
  522. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-9cc7c62013897acb.js +0 -1
  523. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-9cc7c62013897acb.js +0 -1
  524. package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-9cc7c62013897acb.js +0 -1
  525. package/.next/standalone/.next/static/chunks/app/api/projects/route-9cc7c62013897acb.js +0 -1
  526. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-9cc7c62013897acb.js +0 -1
  527. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-9cc7c62013897acb.js +0 -1
  528. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-9cc7c62013897acb.js +0 -1
  529. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-9cc7c62013897acb.js +0 -1
  530. package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-9cc7c62013897acb.js +0 -1
  531. package/.next/standalone/.next/static/chunks/app/api/references/[uuid]/route-9cc7c62013897acb.js +0 -1
  532. package/.next/standalone/.next/static/chunks/app/api/references/route-9cc7c62013897acb.js +0 -1
  533. package/.next/standalone/.next/static/chunks/app/api/search/route-9cc7c62013897acb.js +0 -1
  534. package/.next/standalone/.next/static/chunks/app/api/session/route-9cc7c62013897acb.js +0 -1
  535. package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-9cc7c62013897acb.js +0 -1
  536. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-9cc7c62013897acb.js +0 -1
  537. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-9cc7c62013897acb.js +0 -1
  538. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-9cc7c62013897acb.js +0 -1
  539. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-9cc7c62013897acb.js +0 -1
  540. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-9cc7c62013897acb.js +0 -1
  541. package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-9cc7c62013897acb.js +0 -1
  542. package/.next/standalone/.next/static/chunks/app/onboarding/page-455d693daccb65df.js +0 -1
  543. /package/.next/standalone/.next/static/{sOwBl2wYTfQ3B0DrB18aB → C9o43aSSZ0ebgki6mQ0-b}/_buildManifest.js +0 -0
  544. /package/.next/standalone/.next/static/{sOwBl2wYTfQ3B0DrB18aB → C9o43aSSZ0ebgki6mQ0-b}/_ssgManifest.js +0 -0
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/env bash
2
+ # on-post-verify-task.sh — Kiro `postToolUse` hook matched to
3
+ # @chorus/chorus_admin_verify_task.
4
+ #
5
+ # Kiro contract: postToolUse delivers {tool_name, tool_input,
6
+ # tool_response, ...} on STDIN; on exit 0 the hook's STDOUT is added to
7
+ # the agent's context as PLAIN TEXT (no additionalContext JSON envelope).
8
+ #
9
+ # Behavior (design D5 — code-review gateway): when the just-verified task
10
+ # is the LAST task of an idea-rooted proposal, emit a nudge to spawn the
11
+ # read-only `chorus-code-reviewer` subagent for the idea's AGGREGATE code
12
+ # change (the whole feature across all its tasks). Ported from the
13
+ # code-review branch of CC's on-post-verify-task.sh; the CC OpenSpec-archive
14
+ # and completion-report branches are out of scope for this hook per D5.
15
+ #
16
+ # Silent exit 0 (no nudge) when: no parseable taskUuid, the task has no
17
+ # proposal (Quick Task), the proposal is not idea-rooted, tasks remain
18
+ # non-terminal, or Chorus is unreachable.
19
+ #
20
+ # Bash 3.2 compatible (CLAUDE.md pitfall #10). All JSON is parsed with
21
+ # `printf '%s' "$VAR" | jq ...` (echo corrupts multi-line JSON on \n).
22
+
23
+ set -euo pipefail
24
+
25
+ # Config toggle — default enabled (Kiro analog of CC's ENABLECODEREVIEWER).
26
+ if [ "${CHORUS_ENABLE_CODE_REVIEWER:-true}" != "true" ]; then
27
+ exit 0
28
+ fi
29
+
30
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
31
+ API="${SCRIPT_DIR}/chorus-api.sh"
32
+
33
+ # jq is required to resolve the proposal/task graph; without it we cannot
34
+ # safely decide "last task of the idea", so degrade to a silent no-op.
35
+ if ! command -v jq >/dev/null 2>&1; then
36
+ exit 0
37
+ fi
38
+
39
+ # Read the event JSON from STDIN.
40
+ EVENT=""
41
+ if [ ! -t 0 ]; then
42
+ EVENT=$(cat)
43
+ fi
44
+ if [ -z "$EVENT" ]; then
45
+ exit 0
46
+ fi
47
+
48
+ # Extract taskUuid from tool_input; no UUID -> silent exit 0 (no broken nudge).
49
+ TASK_UUID=$(printf '%s' "$EVENT" | jq -r '.tool_input.taskUuid // empty' 2>/dev/null) || true
50
+ if [ -z "$TASK_UUID" ]; then
51
+ exit 0
52
+ fi
53
+
54
+ # Resolve the verified task -> proposalUuid + project.uuid. If the lookup
55
+ # fails or there is no proposal (Quick Task), the gateway can't fire.
56
+ TASK_JSON=$("$API" mcp-tool chorus_get_task "$(printf '{"taskUuid":"%s"}' "$TASK_UUID")" 2>/dev/null) || exit 0
57
+ if [ -z "$TASK_JSON" ]; then
58
+ exit 0
59
+ fi
60
+
61
+ PROPOSAL_UUID=$(printf '%s' "$TASK_JSON" | jq -r '.proposalUuid // empty' 2>/dev/null) || true
62
+ PROJECT_UUID=$(printf '%s' "$TASK_JSON" | jq -r '.project.uuid // empty' 2>/dev/null) || true
63
+ if [ -z "$PROPOSAL_UUID" ] || [ -z "$PROJECT_UUID" ]; then
64
+ exit 0
65
+ fi
66
+
67
+ # Fetch the proposal — need inputType (idea-rooted only) + the idea UUID.
68
+ PROPOSAL_JSON=$("$API" mcp-tool chorus_get_proposal "$(printf '{"proposalUuid":"%s"}' "$PROPOSAL_UUID")" 2>/dev/null) || exit 0
69
+ if [ -z "$PROPOSAL_JSON" ]; then
70
+ exit 0
71
+ fi
72
+
73
+ INPUT_TYPE=$(printf '%s' "$PROPOSAL_JSON" | jq -r '.inputType // empty' 2>/dev/null) || true
74
+ if [ "$INPUT_TYPE" != "idea" ]; then
75
+ exit 0
76
+ fi
77
+
78
+ IDEA_UUID=$(printf '%s' "$PROPOSAL_JSON" | jq -r '(.inputUuids // [])[0] // empty' 2>/dev/null) || true
79
+ if [ -z "$IDEA_UUID" ]; then
80
+ exit 0
81
+ fi
82
+
83
+ # All tasks of this proposal must be terminal (done/closed). pageSize=200
84
+ # with a total>returned guard so a wide proposal can't fool the gate by
85
+ # fitting only terminal tasks on page 1.
86
+ TASKS_JSON=$("$API" mcp-tool chorus_list_tasks "$(printf '{"projectUuid":"%s","proposalUuids":["%s"],"pageSize":200}' "$PROJECT_UUID" "$PROPOSAL_UUID")" 2>/dev/null) || exit 0
87
+ if [ -z "$TASKS_JSON" ]; then
88
+ exit 0
89
+ fi
90
+
91
+ TASKS_TOTAL=$(printf '%s' "$TASKS_JSON" | jq -r '.total // 0' 2>/dev/null) || exit 0
92
+ TASKS_RETURNED=$(printf '%s' "$TASKS_JSON" | jq -r '(.tasks // []) | length' 2>/dev/null) || exit 0
93
+ if [ -n "$TASKS_TOTAL" ] && [ -n "$TASKS_RETURNED" ] && [ "$TASKS_TOTAL" -gt "$TASKS_RETURNED" ]; then
94
+ exit 0
95
+ fi
96
+ # Defensive: a zero-task proposal can't be "complete" in a meaningful way.
97
+ if [ -z "$TASKS_RETURNED" ] || [ "$TASKS_RETURNED" -eq 0 ]; then
98
+ exit 0
99
+ fi
100
+
101
+ NON_TERMINAL_COUNT=$(printf '%s' "$TASKS_JSON" | jq -r '[(.tasks // [])[] | select(.status != "done" and .status != "closed")] | length' 2>/dev/null) || exit 0
102
+ if [ "$NON_TERMINAL_COUNT" != "0" ]; then
103
+ exit 0
104
+ fi
105
+
106
+ # Last task of an idea-rooted proposal verified -> emit the gateway nudge.
107
+ printf '%s\n' "[Chorus Plugin — Code-Review Gateway]
108
+ All tasks of idea-rooted proposal ${PROPOSAL_UUID} are now verified. This is the final ship-time gateway for idea ${IDEA_UUID}.
109
+
110
+ ACTION REQUESTED: spawn the read-only \`chorus-code-reviewer\` subagent for this idea — an independent review of the idea's AGGREGATE code change (the whole feature across all its tasks), not a single task. It is auto-selected by its description; you can also invoke it as /chorus-code-reviewer.
111
+
112
+ 1. Spawn the code-reviewer synchronously, passing ideaUuid=\"${IDEA_UUID}\" and the review round number (read prior code-review VERDICT comments on the idea to determine it). It reviews cross-task integration, architecture/convention consistency, security, regression/performance, feature-level test coverage, and overall soundness, then posts ONE VERDICT comment on the idea.
113
+ 2. Read its VERDICT on the idea (chorus_get_comments targetType=\"idea\").
114
+ 3. VERDICT: PASS / PASS WITH NOTES — the feature may ship.
115
+ 4. VERDICT: FAIL — create new fix tasks on this approved proposal (chorus_create_tasks) targeting the BLOCKERs; do NOT reopen old tasks. When the fix tasks are done, re-run the code-reviewer (next round).
116
+
117
+ Run this code-review gateway BEFORE writing any idea-completion report — the report must not be written while a FAIL verdict is outstanding."
118
+
119
+ exit 0
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env bash
2
+ # on-stop.sh — Kiro `stop` hook for the `chorus` main agent.
3
+ #
4
+ # Kiro contract (kiro.dev/docs/cli/hooks): the stop event delivers
5
+ # {hook_event_name, cwd, session_id, assistant_response} on STDIN. Kiro
6
+ # parses the hook's STDOUT as JSON ONLY to look for
7
+ # {"decision":"block","reason":"..."} — which would PREVENT the turn from
8
+ # stopping. Any other output (or none) lets the turn stop normally.
9
+ #
10
+ # This hook is a best-effort session heartbeat/checkout: it NEVER emits a
11
+ # block decision and NEVER fails the turn, even if Chorus is unreachable.
12
+ # It prints nothing to STDOUT so the turn always stops cleanly.
13
+ #
14
+ # Bash 3.2 compatible (CLAUDE.md pitfall #10).
15
+
16
+ # Deliberately NOT `set -e`: a stop hook must never turn a Chorus outage
17
+ # into a failed turn. Every Chorus call below is guarded with `|| true`.
18
+ set -uo pipefail
19
+
20
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
21
+ API="${SCRIPT_DIR}/chorus-api.sh"
22
+
23
+ # Drain STDIN if present (assistant_response etc. — not needed here).
24
+ if [ ! -t 0 ]; then
25
+ cat >/dev/null 2>&1 || true
26
+ fi
27
+
28
+ # Nothing to do if Chorus isn't configured.
29
+ if [ -z "${CHORUS_URL:-}" ] || [ -z "${CHORUS_API_KEY:-}" ]; then
30
+ exit 0
31
+ fi
32
+
33
+ # Best-effort: if a Chorus session was cached (swarm-mode flow), send a
34
+ # final heartbeat and check out of any task it holds. All calls are
35
+ # fire-and-forget; failures are swallowed so the turn always stops.
36
+ MAIN_SESSION=$("$API" state-get "main_session_uuid" 2>/dev/null) || true
37
+ if [ -n "${MAIN_SESSION:-}" ]; then
38
+ "$API" mcp-tool "chorus_session_heartbeat" \
39
+ "$(printf '{"sessionUuid":"%s"}' "$MAIN_SESSION")" >/dev/null 2>&1 || true
40
+ "$API" mcp-tool "chorus_session_checkout_task" \
41
+ "$(printf '{"sessionUuid":"%s"}' "$MAIN_SESSION")" >/dev/null 2>&1 || true
42
+ fi
43
+
44
+ # Print nothing (no block decision) -> the turn stops normally.
45
+ exit 0
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/env bash
2
+ # Test all Kiro-plugin hook scripts for compatibility with the current bash
3
+ # version. Runs each script with a mock Kiro hook event on STDIN and mock
4
+ # env to catch runtime errors (e.g. ${VAR,,} bad substitution on Bash 3.2).
5
+ #
6
+ # Mirrors public/chorus-plugin/bin/test-syntax.sh, adapted to Kiro's hook
7
+ # event JSON shape (kiro.dev/docs/cli/hooks): agentSpawn/stop carry base
8
+ # fields only; postToolUse carries tool_name + tool_input + tool_response.
9
+ #
10
+ # Usage:
11
+ # /bin/bash public/kiro-plugin/bin/test-syntax.sh # test with macOS system bash 3.2
12
+ # bash public/kiro-plugin/bin/test-syntax.sh # test with default bash
13
+
14
+ set -euo pipefail
15
+
16
+ DIR="$(cd "$(dirname "$0")" && pwd)"
17
+ PASS=0
18
+ FAIL=0
19
+ FAILED=""
20
+
21
+ echo "Using: $BASH ($("$BASH" --version | head -1))"
22
+ echo ""
23
+
24
+ # Mock env so scripts don't exit early on env guards. Use a bogus URL —
25
+ # scripts will fail on actual API calls but that's fine; we only care about
26
+ # bash syntax/substitution errors before the API call.
27
+ export CHORUS_URL="http://localhost:0"
28
+ export CHORUS_API_KEY="cho_test"
29
+ export CLAUDE_PROJECT_DIR="/tmp/kiro-test-$$"
30
+ mkdir -p "$CLAUDE_PROJECT_DIR"
31
+
32
+ cleanup() { rm -rf "$CLAUDE_PROJECT_DIR"; }
33
+ trap cleanup EXIT
34
+
35
+ # First-class syntax parse (`bash -n`) for every *.sh in the dir, including
36
+ # chorus-api.sh which is a library (never executed standalone here).
37
+ echo "--- bash -n parse check (all *.sh) ---"
38
+ for f in "$DIR"/*.sh; do
39
+ base=$(basename "$f")
40
+ if "$BASH" -n "$f" 2>/tmp/kiro-parse-err-$$; then
41
+ printf " PARSE OK %s\n" "$base"
42
+ else
43
+ printf " PARSE FAIL %s\n" "$base"
44
+ sed 's/^/ /' /tmp/kiro-parse-err-$$
45
+ FAIL=$((FAIL + 1))
46
+ FAILED="$FAILED $base(parse)"
47
+ fi
48
+ rm -f /tmp/kiro-parse-err-$$
49
+ done
50
+ echo ""
51
+
52
+ # Run each hook with a mock Kiro event; grep stderr for bash version issues.
53
+ run_test() {
54
+ local name="$1"
55
+ local input="$2"
56
+ local script="$DIR/$name"
57
+ local err_file="/tmp/kiro-test-err-$$"
58
+
59
+ if printf '%s' "$input" | "$BASH" "$script" >"$err_file" 2>&1; then
60
+ printf " PASS %s\n" "$name"
61
+ PASS=$((PASS + 1))
62
+ else
63
+ if grep -qi "bad substitution\|syntax error\|unexpected token" "$err_file"; then
64
+ printf " FAIL %s (bash compatibility error)\n" "$name"
65
+ sed 's/^/ /' "$err_file"
66
+ FAIL=$((FAIL + 1))
67
+ FAILED="$FAILED $name"
68
+ else
69
+ # Non-zero exit from an API/curl failure is expected — not a bash issue.
70
+ printf " PASS %s (exited non-zero but no bash error)\n" "$name"
71
+ PASS=$((PASS + 1))
72
+ fi
73
+ fi
74
+ rm -f "$err_file"
75
+ }
76
+
77
+ echo "--- runtime smoke tests (mock Kiro events) ---"
78
+
79
+ # agentSpawn — base fields only.
80
+ run_test "on-agent-spawn.sh" '{"hook_event_name":"agentSpawn","cwd":"/tmp","session_id":"sess-1"}'
81
+
82
+ # stop — base fields + assistant_response.
83
+ run_test "on-stop.sh" '{"hook_event_name":"stop","cwd":"/tmp","session_id":"sess-1","assistant_response":"done"}'
84
+
85
+ # postToolUse — tool_name + tool_input + tool_response (happy path).
86
+ run_test "on-post-submit-proposal.sh" '{"hook_event_name":"postToolUse","tool_name":"@chorus/chorus_pm_submit_proposal","tool_input":{"proposalUuid":"prop-uuid"},"tool_response":{"success":true,"result":["{\"uuid\":\"prop-uuid\",\"title\":\"Test proposal\"}"]},"title":"Test proposal"}'
87
+ run_test "on-post-submit-for-verify.sh" '{"hook_event_name":"postToolUse","tool_name":"@chorus/chorus_submit_for_verify","tool_input":{"taskUuid":"task-uuid"},"tool_response":{"success":true,"result":["ok"]}}'
88
+ run_test "on-post-verify-task.sh" '{"hook_event_name":"postToolUse","tool_name":"@chorus/chorus_admin_verify_task","tool_input":{"taskUuid":"task-uuid"},"tool_response":{"success":true,"result":["ok"]}}'
89
+
90
+ # postToolUse — no parseable UUID (must exit 0 with no broken nudge).
91
+ run_test "on-post-submit-proposal.sh" '{"hook_event_name":"postToolUse","tool_name":"@chorus/chorus_pm_submit_proposal","tool_input":{}}'
92
+ run_test "on-post-submit-for-verify.sh" '{"hook_event_name":"postToolUse","tool_name":"@chorus/chorus_submit_for_verify","tool_input":{}}'
93
+ run_test "on-post-verify-task.sh" '{"hook_event_name":"postToolUse","tool_name":"@chorus/chorus_admin_verify_task","tool_input":{}}'
94
+
95
+ # Empty STDIN edge case (all hooks must survive).
96
+ run_test "on-agent-spawn.sh" ''
97
+ run_test "on-stop.sh" ''
98
+ run_test "on-post-submit-proposal.sh" ''
99
+ run_test "on-post-submit-for-verify.sh" ''
100
+ run_test "on-post-verify-task.sh" ''
101
+
102
+ echo ""
103
+ echo "Results: $PASS passed, $FAIL failed"
104
+
105
+ if [ "$FAIL" -gt 0 ]; then
106
+ echo "Failed:$FAILED"
107
+ exit 1
108
+ fi
@@ -4,7 +4,7 @@ description: Optional divergent-then-convergent dialogue for fuzzy ideas. Invoke
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.14.1"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus AI Agent collaboration platform — overview, common tools,
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.14.1"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -198,6 +198,12 @@ Results can be filtered by project(s) using optional HTTP headers in your MCP co
198
198
 
199
199
  A **report** is a short idea-completion summary persisted as a `type="report"` Document at end-of-Idea, authored via `chorus_create_report` (gated on `document:write`). The tool's description carries the section template — read it there. The `yolo` skill writes one mandatorily; the `develop` skill offers it advisorily on last-task verify.
200
200
 
201
+ ### References
202
+
203
+ A **reference** is a first-class external-evidence link (`docs` / `repo` / `issue_pr` / `paper_blog`) attached to an idea / proposal / task via `chorus_add_reference`, or inline at creation via the `references[]` param on `chorus_pm_create_idea` / `chorus_pm_create_proposal` / `chorus_create_tasks`. References read back inline through the `chorus_get_*` tools.
204
+
205
+ **Make it a reflex:** the moment you come across an external link that is evidence for what you're working on — a precedent issue/PR, a reference implementation, official docs, a paper/blog — attach it, and **prefer attaching inline at creation time** rather than after the fact. See the `idea-chorus` skill (`<BASE_URL>/skill/idea-chorus/SKILL.md`), Step 4.4, for the type-selection criteria and a worked example.
206
+
201
207
  ### Proposals
202
208
 
203
209
  | Tool | Purpose |
@@ -4,7 +4,7 @@ description: Read-only adversarial Chorus code-review gateway — independently
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.14.1"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus Development workflow — claim tasks, report work, self-chec
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.14.1"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus Idea workflow — claim ideas, run elaboration rounds, and p
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.14.1"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -115,6 +115,37 @@ Before elaborating, understand the full picture:
115
115
  chorus_get_comments({ targetType: "idea", targetUuid: "<idea-uuid>" })
116
116
  ```
117
117
 
118
+ ### Step 4.4: Attach External References
119
+
120
+ **Make attaching external references a reflex, not an afterthought.** While gathering context you will often surface external links that are *evidence* for this Idea — a precedent issue or PR, a reference implementation, official documentation, a paper or blog post. The moment you see one, attach it as a reference artifact. References are read back inline by `chorus_get_idea` / `chorus_get_proposal` / `chorus_get_task`, so they carry the "why" forward to whoever picks up the proposal or task next.
121
+
122
+ **Prefer attaching at creation time** via the inline `references[]` param on `chorus_pm_create_idea` (and later `chorus_pm_create_proposal` / `chorus_create_tasks`) rather than a post-hoc `chorus_add_reference`. Attaching at create means the evidence is present from the first read; use `chorus_add_reference` only when the link surfaces after the entity already exists.
123
+
124
+ **Pick the `type` that fits the link:**
125
+
126
+ | `type` | Use for |
127
+ |--------|---------|
128
+ | `docs` | Official documentation — framework / API / library reference |
129
+ | `repo` | A reference implementation or source repository |
130
+ | `issue_pr` | An issue or pull-request thread — precedent, prior art, the delivering PR |
131
+ | `paper_blog` | A paper or blog post — background or design rationale |
132
+
133
+ **Example** — a new localization Idea, attaching the precedent PR and the framework docs inline at creation:
134
+
135
+ ```
136
+ chorus_pm_create_idea({
137
+ projectUuid: "<project-uuid>",
138
+ title: "Add Portuguese (pt) locale",
139
+ content: "...",
140
+ references: [
141
+ { type: "issue_pr", url: "https://github.com/org/repo/pull/411",
142
+ title: "PR #411 — prior locale work (precedent to mirror)" },
143
+ { type: "docs", url: "https://next-intl.dev/docs/routing",
144
+ title: "next-intl routing docs (locale registration)" }
145
+ ]
146
+ })
147
+ ```
148
+
118
149
  ### Step 4.5: Brainstorm Mode (Optional Prelude)
119
150
 
120
151
  If the Idea is fuzzy and you'd struggle to enumerate concrete multi-choice questions, offer the user a brainstorm prelude before structured elaboration. Use your IDE's interactive prompt mechanism if available, or present options as text — the same convention used elsewhere in this skill. Two choices: `"Already clear, run structured elaboration"` and `"Brainstorm first to explore directions"`.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chorus-skill",
3
- "version": "0.11.0",
3
+ "version": "0.14.1",
4
4
  "description": "Chorus AI Agent collaboration platform skill. Supports PM, Developer, and Admin roles via MCP tools for the Idea-Proposal-Task workflow.",
5
5
  "author": "chorus",
6
6
  "license": "AGPL-3.0",
@@ -4,7 +4,7 @@ description: Chorus Proposal workflow — create proposals with document and tas
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.14.1"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Read-only adversarial Chorus proposal reviewer — audits PRD/task
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.14.1"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Quick Task workflow — skip Idea→Proposal, create tasks directly
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.14.1"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus Review workflow — approve/reject proposals, verify tasks,
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.14.1"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Read-only adversarial Chorus task reviewer — independently verifi
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.14.1"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Full-auto AI-DLC pipeline — drive a single prompt from Idea throu
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.14.1"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
package/README.ja.md CHANGED
@@ -36,6 +36,8 @@ Idea ──> Proposal ──> [Document + Task DAG] ──> Execute ──> Veri
36
36
 
37
37
  ## 最近の更新
38
38
 
39
+ **[v0.14.1](https://chorus-ai.dev/blog/chorus-v0.14.1-release/)** — Amazon Kiro CLI が 4 つ目の接続方法になりました(Kiro CLI v2):ワンコマンドの `install-kiro.sh` プラグインと `--agent kiro` デーモンバックエンド、加えていくつかのデーモン修正。
40
+
39
41
  **[v0.14.0](https://chorus-ai.dev/blog/chorus-v0.14.0-release/)** — アプリ全体のダークモード(ライト / ダーク / システム)。参考資料をあらゆる着想・提案・課題に添付でき、インラインでも MCP 経由でも読み取れます。韓国語と日本語を追加(韓国語はコミュニティによる貢献)。グループ化のための**テーマ**着想、デーモンの「開発を開始」/「Yolo」ボタン、対話式の着想入力、クラッシュからの再開、`chorus daemon install`。
40
42
 
41
43
  **[v0.13.0](https://chorus-ai.dev/blog/chorus-v0.13.0-release/)** — プロジェクトごとのリソースマインドマップ:新しい Graph ビューが、各プロジェクトの着想・提案・文書・課題を、プロジェクト自身の構造から生成した 1 本の折りたたみ可能なツリーにつなぎます。各カードには現在のステータスが表示され(着想には、着想トラッカーが使う派生パイプラインステータスが表示されます)、タイトル検索はヒットした各ノードまでの経路を自動展開してハイライト/減光し、前後ナビゲーションを備えます。同じズーム/パン対応のキャンバスが、デスクトップとモバイルの両方で描画されます(ピンチ + ダブルタップ)。
@@ -384,7 +386,7 @@ PGlite はポート 5433 で組み込み PostgreSQL を実行します。デー
384
386
 
385
387
  ### AI エージェントを接続する
386
388
 
387
- 最も手早い方法は、アプリ内のセットアップウィザードです:Web UI を開き、**Settings → Setup Guide → Open setup guide** に進み、お使いのクライアント(Claude Code、Codex、OpenCode、OpenClaw、その他のエージェント)向けのステップバイステップの手順に従ってください。ウィザードが API キーを作成し、正確なコマンドを表示して、接続の確認まで案内します。
389
+ 最も手早い方法は、アプリ内のセットアップウィザードです:Web UI を開き、**Settings → Setup Guide → Open setup guide** に進み、お使いのクライアント(Claude Code、Codex、Kiro、OpenCode、OpenClaw、その他のエージェント)向けのステップバイステップの手順に従ってください。ウィザードが API キーを作成し、正確なコマンドを表示して、接続の確認まで案内します。
388
390
 
389
391
  詳細なドキュメントを読みたい場合は:
390
392
 
@@ -392,6 +394,7 @@ PGlite はポート 5433 で組み込み PostgreSQL を実行します。デー
392
394
  |--------|-------|
393
395
  | Claude Code | [CONNECT_CLAUDE_CODE.md](docs/CONNECT_CLAUDE_CODE.md) |
394
396
  | Codex CLI | [CONNECT_CODEX.md](docs/CONNECT_CODEX.md) |
397
+ | Kiro CLI | [CONNECT_KIRO.md](docs/CONNECT_KIRO.md) |
395
398
  | OpenCode † | [CONNECT_OPENCODE.md](docs/CONNECT_OPENCODE.md) |
396
399
  | その他の MCP エージェント(Cursor、Continue、自作など) | [CONNECT_OTHER_AGENTS.md](docs/CONNECT_OTHER_AGENTS.md) |
397
400
 
package/README.ko.md CHANGED
@@ -36,6 +36,8 @@ Idea ──> Proposal ──> [Document + Task DAG] ──> Execute ──> Veri
36
36
 
37
37
  ## 최근 업데이트
38
38
 
39
+ **[v0.14.1](https://chorus-ai.dev/blog/chorus-v0.14.1-release/)** — Amazon Kiro CLI가 네 번째 연결 방식이 되었습니다(Kiro CLI v2): 명령 한 줄로 설치하는 `install-kiro.sh` 플러그인과 `--agent kiro` 데몬 백엔드, 여기에 몇 가지 데몬 수정.
40
+
39
41
  **[v0.14.0](https://chorus-ai.dev/blog/chorus-v0.14.0-release/)** — 앱 전체 다크 모드(라이트 / 다크 / 시스템). 참고 자료를 어떤 아이디어·제안·작업에도 첨부할 수 있고, 인라인으로도 MCP를 통해서도 읽을 수 있습니다. 한국어와 일본어 추가(한국어는 커뮤니티 기여). 그룹화를 위한 **테마** 아이디어, 그리고 데몬의 개발 시작 / Yolo 버튼, 대화식 아이디어 입력, 크래시 복구, `chorus daemon install`.
40
42
 
41
43
  **[v0.13.0](https://chorus-ai.dev/blog/chorus-v0.13.0-release/)** — 프로젝트별 리소스 마인드맵: 새로운 Graph 뷰가 각 프로젝트의 아이디어·제안·문서·작업을 프로젝트 자체 구조에서 생성한 하나의 접을 수 있는 트리로 엮습니다. 모든 카드에 현재 상태가 표시되며(아이디어는 아이디어 트래커가 사용하는 파생 파이프라인 상태를 보여줍니다), 제목 검색은 모든 일치 항목까지의 경로를 자동으로 펼쳐 하이라이트/디밍하고 이전/다음 탐색을 제공합니다. 동일한 줌/팬 캔버스가 데스크톱과 모바일 모두에서 렌더링됩니다(핀치 + 더블탭).
@@ -384,7 +386,7 @@ PGlite는 포트 5433에서 내장 PostgreSQL을 실행합니다. 데이터는 `
384
386
 
385
387
  ### AI 에이전트 연결하기
386
388
 
387
- 가장 빠른 방법은 앱 내 설정 마법사입니다: Web UI를 열고 **Settings → Setup Guide → Open setup guide**로 이동한 뒤, 사용하는 클라이언트(Claude Code, Codex, OpenCode, OpenClaw, 또는 그 밖의 에이전트)에 맞는 단계별 안내를 따르세요. 마법사가 API 키를 만들어 주고, 정확한 명령을 보여주며, 연결 확인까지 안내합니다.
389
+ 가장 빠른 방법은 앱 내 설정 마법사입니다: Web UI를 열고 **Settings → Setup Guide → Open setup guide**로 이동한 뒤, 사용하는 클라이언트(Claude Code, Codex, Kiro, OpenCode, OpenClaw, 또는 그 밖의 에이전트)에 맞는 단계별 안내를 따르세요. 마법사가 API 키를 만들어 주고, 정확한 명령을 보여주며, 연결 확인까지 안내합니다.
388
390
 
389
391
  전체 문서를 읽고 싶다면:
390
392
 
@@ -392,6 +394,7 @@ PGlite는 포트 5433에서 내장 PostgreSQL을 실행합니다. 데이터는 `
392
394
  |--------|-------|
393
395
  | Claude Code | [CONNECT_CLAUDE_CODE.md](docs/CONNECT_CLAUDE_CODE.md) |
394
396
  | Codex CLI | [CONNECT_CODEX.md](docs/CONNECT_CODEX.md) |
397
+ | Kiro CLI | [CONNECT_KIRO.md](docs/CONNECT_KIRO.md) |
395
398
  | OpenCode † | [CONNECT_OPENCODE.md](docs/CONNECT_OPENCODE.md) |
396
399
  | 그 밖의 MCP 에이전트(Cursor, Continue, 커스텀 등) | [CONNECT_OTHER_AGENTS.md](docs/CONNECT_OTHER_AGENTS.md) |
397
400
 
package/README.md CHANGED
@@ -36,6 +36,8 @@ The labels under each stage are the **permissions** an actor needs at that stage
36
36
 
37
37
  ## What's New
38
38
 
39
+ **[v0.14.1](https://chorus-ai.dev/blog/chorus-v0.14.1-release/)** — Amazon Kiro CLI is the fourth way to connect (Kiro CLI v2): a one-command `install-kiro.sh` plugin and a `--agent kiro` daemon backend, plus daemon fixes.
40
+
39
41
  **[v0.14.0](https://chorus-ai.dev/blog/chorus-v0.14.0-release/)** — Dark mode across the app (light / dark / system). Reference artifacts: attach docs, repos, issues, and articles to any idea, proposal, or task, readable inline and over MCP. Korean and Japanese locales (Korean contributed by the community). **Theme** ideas for grouping, plus daemon Start Development / Yolo buttons, conversational idea entry, crash-resume, and `chorus daemon install`.
40
42
 
41
43
  **[v0.13.0](https://chorus-ai.dev/blog/chorus-v0.13.0-release/)** — Per-project resource mind-map: a new Graph view wires each project's Ideas, Proposals, Documents, and Tasks into one collapsible tree, generated from the project's own structure. Every card carries its current status (ideas show the derived pipeline status the idea tracker uses), a title search auto-expands the path to every match with highlight/dim and prev/next navigation, and the same zoom/pan canvas renders on desktop and mobile (pinch + double-tap).
@@ -384,7 +386,7 @@ The interactive installer provisions VPC, Aurora Serverless v2, ElastiCache Serv
384
386
 
385
387
  ### Connect AI Agents
386
388
 
387
- The fastest path is the in-app setup wizard: open the Web UI, go to **Settings → Setup Guide → Open setup guide**, and follow the step-by-step instructions for your client (Claude Code, Codex, OpenCode, OpenClaw, or other agents). The wizard creates the API key for you, shows the exact commands, and walks through verifying the connection.
389
+ The fastest path is the in-app setup wizard: open the Web UI, go to **Settings → Setup Guide → Open setup guide**, and follow the step-by-step instructions for your client (Claude Code, Codex, Kiro, OpenCode, OpenClaw, or other agents). The wizard creates the API key for you, shows the exact commands, and walks through verifying the connection.
388
390
 
389
391
  If you'd rather read the full docs:
390
392
 
@@ -392,6 +394,7 @@ If you'd rather read the full docs:
392
394
  |--------|-------|
393
395
  | Claude Code | [CONNECT_CLAUDE_CODE.md](docs/CONNECT_CLAUDE_CODE.md) |
394
396
  | Codex CLI | [CONNECT_CODEX.md](docs/CONNECT_CODEX.md) |
397
+ | Kiro CLI | [CONNECT_KIRO.md](docs/CONNECT_KIRO.md) |
395
398
  | OpenCode † | [CONNECT_OPENCODE.md](docs/CONNECT_OPENCODE.md) |
396
399
  | Other MCP agents (Cursor, Continue, custom, …) | [CONNECT_OTHER_AGENTS.md](docs/CONNECT_OTHER_AGENTS.md) |
397
400
 
package/README.zh.md CHANGED
@@ -27,6 +27,8 @@ Idea ──> Proposal ──> [Document + Task DAG] ──> Execute ──> Veri
27
27
 
28
28
  ## 最近更新
29
29
 
30
+ **[v0.14.1](https://chorus-ai.dev/zh/blog/chorus-v0.14.1-release/)** — Amazon Kiro CLI 成为第四种接入方式(Kiro CLI v2):一条命令的 `install-kiro.sh` 插件,以及 `--agent kiro` 的 daemon 后端,另有若干 daemon 修复。
31
+
30
32
  **[v0.14.0](https://chorus-ai.dev/zh/blog/chorus-v0.14.0-release/)** — 全应用深色模式(浅色 / 深色 / 跟随系统)。参考资料可挂到任意想法、提案或任务上,行内可读,也能通过 MCP 读写。新增韩语和日语(韩语由社区贡献)。用于归类的**主题**想法,以及 daemon 的「开始开发」/「Yolo」按钮、对话式建想法、崩溃恢复与 `chorus daemon install`。
31
33
 
32
34
  **[v0.13.0](https://chorus-ai.dev/zh/blog/chorus-v0.13.0-release/)** — 项目资源思维导图:新增 Graph 视图,把每个项目的想法、提案、文档、任务连成一棵可折叠的树,从项目自身结构自动生成。每张卡片都标着当前状态(想法用想法列表那套派生状态),标题搜索会自动展开命中节点的上游并高亮/调暗、配上下切换定位,同一张可缩放可拖动的图在桌面与手机上通用(捏合 + 双击缩放)。
@@ -375,7 +377,7 @@ PGlite 在端口 5433 运行嵌入式 PostgreSQL。数据存储在 `.pglite/`,
375
377
 
376
378
  ### 连接 AI Agent
377
379
 
378
- 最快的方式是用应用内的 setup 向导:打开 Web UI,进入 **Settings → Setup Guide → 打开设置向导**,按照向导给出的分步指引接入自己的客户端(Claude Code、Codex、OpenCode、OpenClaw 或其他 agent)。向导会帮你创建 API Key、展示完整命令,并引导你验证连接。
380
+ 最快的方式是用应用内的 setup 向导:打开 Web UI,进入 **Settings → Setup Guide → 打开设置向导**,按照向导给出的分步指引接入自己的客户端(Claude Code、Codex、Kiro、OpenCode、OpenClaw 或其他 agent)。向导会帮你创建 API Key、展示完整命令,并引导你验证连接。
379
381
 
380
382
  如果偏好文档:
381
383
 
@@ -383,6 +385,7 @@ PGlite 在端口 5433 运行嵌入式 PostgreSQL。数据存储在 `.pglite/`,
383
385
  |--------|---------|
384
386
  | Claude Code | [CONNECT_CLAUDE_CODE.zh.md](docs/CONNECT_CLAUDE_CODE.zh.md) |
385
387
  | Codex CLI | [CONNECT_CODEX.zh.md](docs/CONNECT_CODEX.zh.md) |
388
+ | Kiro CLI | [CONNECT_KIRO.md](docs/CONNECT_KIRO.md) |
386
389
  | OpenCode † | [CONNECT_OPENCODE.zh.md](docs/CONNECT_OPENCODE.zh.md) |
387
390
  | 其他 MCP agent(Cursor / Continue / 自研等) | [CONNECT_OTHER_AGENTS.zh.md](docs/CONNECT_OTHER_AGENTS.zh.md) |
388
391
 
package/chorus.mjs CHANGED
@@ -181,6 +181,10 @@ DAEMON / LOGIN (client mode)
181
181
  --sigint-timeout <ms> Grace window after SIGINT before a forceful kill (env: CHORUS_DAEMON_SIGINT_TIMEOUT)
182
182
  when an interrupt is received (default: 10000).
183
183
  Also configurable via ~/.chorus/daemon.json sigintTimeoutMs.
184
+ -y, --yes Non-interactive 'chorus daemon install': skip all install
185
+ prompts (credentials are still resolved, persisted, and
186
+ validated; install aborts if none resolve). A non-TTY
187
+ install behaves as if --yes were passed.
184
188
 
185
189
  Credential resolution order: flags > CHORUS_URL/CHORUS_API_KEY env >
186
190
  ~/.chorus/daemon.json (from 'chorus login') > Claude Code plugin config.
@@ -13,10 +13,11 @@
13
13
  */
14
14
  export const DAEMON_ACTIONS = new Set(["stop", "status", "restart", "logs", "install", "uninstall"]);
15
15
 
16
- /** Known agent backends. Only `claude-code` is implemented; the rest reserve
17
- * the extension point (see daemon-agent-selection). Exported for the resolver
18
- * the --agent task wires in; parsing here does not validate the value. */
19
- export const KNOWN_AGENTS = new Set(["claude-code"]);
16
+ /** Known agent backends, kept in sync with the authoritative list in
17
+ * daemon-agent.mjs (`claude-code`, `codex`, `kiro` — all implemented). This copy
18
+ * is informational only: parsing here does not validate the value (the resolver
19
+ * in daemon-agent.mjs is the single source of truth for validation). */
20
+ export const KNOWN_AGENTS = new Set(["claude-code", "codex", "kiro"]);
20
21
 
21
22
  /**
22
23
  * Parse the client-subcommand flags out of an arg list. Recognizes the
@@ -38,7 +39,7 @@ export const KNOWN_AGENTS = new Set(["claude-code"]);
38
39
  * @returns {{
39
40
  * url?: string, apiKey?: string, yolo?: boolean, sigintTimeout?: string,
40
41
  * agent?: string, chorusOnly?: boolean, verbose?: boolean, detach?: boolean,
41
- * cwd?: string[], force?: boolean, help?: boolean,
42
+ * cwd?: string[], force?: boolean, yes?: boolean, help?: boolean,
42
43
  * }}
43
44
  */
44
45
  export function parseClientFlags(argv) {
@@ -63,6 +64,7 @@ export function parseClientFlags(argv) {
63
64
  else if (a === "--verbose") out.verbose = true;
64
65
  else if (a === "-d" || a === "--detach") out.detach = true;
65
66
  else if (a === "--force") out.force = true;
67
+ else if (a === "--yes" || a === "-y") out.yes = true;
66
68
  else if (a === "--help" || a === "-h") out.help = true;
67
69
  }
68
70
  return out;
@@ -117,7 +119,7 @@ OPTIONS
117
119
  --url <url> Remote Chorus server URL (env: CHORUS_URL)
118
120
  --api-key <cho_...> Agent API key (env: CHORUS_API_KEY)
119
121
  --agent <type> Local agent backend to wake (env: CHORUS_AGENT)
120
- (claude-code | codex; default: claude-code)
122
+ (claude-code | codex | kiro; default: claude-code)
121
123
  --yolo Full autonomy for the woken agent (env: CHORUS_YOLO=1)
122
124
  (--dangerously-skip-permissions: Bash, file writes, any
123
125
  command). This is the DEFAULT permission mode.
@@ -130,6 +132,10 @@ OPTIONS
130
132
  local paths at once. Default: the directory it was launched
131
133
  from. (Also configurable as "cwds":[…] in ~/.chorus/daemon.json.)
132
134
  -d, --detach Run detached in the background (pidfile + logfile)
135
+ -y, --yes Non-interactive install: skip all 'chorus daemon
136
+ install' prompts (credentials still resolved, persisted,
137
+ and validated; install aborts if none resolve). A non-TTY
138
+ install behaves as if --yes were passed.
133
139
  --verbose More detailed per-wake logging
134
140
  --sigint-timeout <ms> Grace window after SIGINT before a forceful kill
135
141
  (env: CHORUS_DAEMON_SIGINT_TIMEOUT; default 10000)
@@ -147,8 +153,13 @@ SERVICE (install)
147
153
  starts at login, restarts on failure, and 'systemctl --user stop' shuts it
148
154
  down gracefully. Do NOT hand-write a Type=forking unit around 'chorus daemon
149
155
  -d' — the daemon self-daemonizes, which systemd cannot track and which loops
150
- on restart. The install captures the --cwd / --agent / --chorus-only flags you
151
- pass. On macOS/Windows install prints a correct template you install manually.
156
+ on restart. Before writing the unit, install resolves + persists + validates
157
+ your credentials into ~/.chorus/daemon.json (so the clean boot environment can
158
+ authenticate) and configures the served working directories there too (prompting
159
+ interactively for one or more when none are set — pass -y/--yes or run non-TTY to
160
+ skip prompts). The unit captures --agent / --chorus-only but NOT --cwd (cwds live
161
+ in daemon.json). On macOS/Windows install prints a correct template you install
162
+ manually.
152
163
 
153
164
  EXAMPLES
154
165
  chorus daemon # Foreground, default yolo (TTY confirms once)