@mndrk/agx 2.0.26 → 2.0.32

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 (831) hide show
  1. package/README.md +4 -6
  2. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +6 -0
  4. package/cloud-runtime/standalone/.next/build-manifest.json +4 -4
  5. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  6. package/cloud-runtime/standalone/.next/required-server-files.json +4 -4
  7. package/cloud-runtime/standalone/.next/routes-manifest.json +45 -0
  8. package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +2 -2
  27. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  28. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  29. package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +2 -2
  30. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  33. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  34. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  35. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  37. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  38. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  39. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +2 -2
  41. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +2 -2
  43. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +2 -2
  45. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +4 -3
  47. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +3 -3
  49. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +7 -4
  51. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/app-paths-manifest.json +3 -0
  53. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/build-manifest.json +11 -0
  54. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/server-reference-manifest.json +4 -0
  55. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +8 -0
  56. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.map +5 -0
  57. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -0
  58. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route_client-reference-manifest.js +2 -0
  59. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/app-paths-manifest.json +3 -0
  60. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/build-manifest.json +11 -0
  61. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/server-reference-manifest.json +4 -0
  62. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +7 -0
  63. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.map +5 -0
  64. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -0
  65. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route_client-reference-manifest.js +2 -0
  66. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/app-paths-manifest.json +3 -0
  67. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/build-manifest.json +11 -0
  68. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/server-reference-manifest.json +4 -0
  69. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +8 -0
  70. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.map +5 -0
  71. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -0
  72. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route_client-reference-manifest.js +2 -0
  73. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -2
  75. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +5 -4
  77. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/history/status/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +5 -4
  81. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js +2 -2
  84. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +2 -2
  86. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +2 -2
  89. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +2 -2
  91. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +3 -3
  93. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +3 -3
  95. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +5 -4
  97. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +4 -3
  99. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +3 -3
  101. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +3 -3
  103. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +4 -4
  105. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +4 -4
  107. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +4 -4
  109. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +4 -3
  111. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +3 -3
  113. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +3 -3
  115. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +3 -3
  117. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +4 -3
  119. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js +1 -1
  121. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +3 -3
  123. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +5 -4
  125. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/reactions/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +3 -3
  128. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +5 -4
  130. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +4 -3
  132. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +4 -3
  134. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
  139. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/task-drafts/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +6 -5
  143. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +6 -5
  145. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +5 -4
  147. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +4 -3
  149. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +4 -4
  151. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +5 -5
  153. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +5 -5
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +2 -2
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +5 -5
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +4 -3
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +4 -3
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +4 -4
  165. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +5 -5
  167. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +6 -5
  169. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +4 -3
  171. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +2 -2
  173. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +2 -2
  175. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +5 -4
  177. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +4 -3
  179. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js +2 -2
  181. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +3 -3
  183. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +7 -6
  185. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  186. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +7 -6
  187. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +6 -5
  189. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  190. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +6 -5
  191. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +7 -6
  193. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  194. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +8 -6
  195. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  196. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -3
  197. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  198. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +5 -4
  199. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  200. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
  201. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +5 -4
  203. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  204. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js +2 -2
  205. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
  206. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/app-paths-manifest.json +3 -0
  207. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/build-manifest.json +11 -0
  208. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/server-reference-manifest.json +4 -0
  209. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +10 -0
  210. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.map +5 -0
  211. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -0
  212. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route_client-reference-manifest.js +2 -0
  213. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +5 -2
  214. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  215. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +5 -4
  216. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  217. package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +2 -2
  218. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  219. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  220. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  221. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  222. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  223. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  224. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  225. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  226. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  227. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +2 -2
  229. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  230. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  231. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  232. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  233. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  235. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  236. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  237. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  238. package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +2 -2
  239. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  242. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
  243. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  244. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  245. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  246. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  247. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  248. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  249. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  250. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  251. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  252. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  253. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  254. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  255. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  256. package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +2 -2
  257. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  258. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  259. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +2 -2
  260. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/app-paths-manifest.json +3 -0
  263. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +18 -0
  264. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/next-font-manifest.json +11 -0
  265. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/react-loadable-manifest.json +1 -0
  266. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/server-reference-manifest.json +4 -0
  267. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js +16 -0
  268. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.map +5 -0
  269. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -0
  270. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +2 -0
  271. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +2 -2
  272. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  273. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  274. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/app-paths-manifest.json +3 -0
  275. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +18 -0
  276. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/next-font-manifest.json +11 -0
  277. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/react-loadable-manifest.json +1 -0
  278. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/server-reference-manifest.json +4 -0
  279. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js +16 -0
  280. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.map +5 -0
  281. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -0
  282. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +2 -0
  283. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +2 -2
  284. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  285. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  286. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  287. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +3 -3
  288. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  289. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  290. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  291. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  292. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  293. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  294. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  295. package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  296. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  297. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  298. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  299. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  300. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  301. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  302. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  303. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  304. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  305. package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +2 -2
  306. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  307. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  308. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  309. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  310. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  311. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  312. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  313. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  314. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  315. package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +2 -2
  316. package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
  317. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  318. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  319. package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
  320. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
  321. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  322. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  323. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  324. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  325. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  326. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +2 -2
  327. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  328. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  329. package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +2 -2
  330. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  331. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  332. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  333. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  334. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  335. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  336. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  337. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  338. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  339. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  340. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +6 -0
  341. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__017f03c3._.js +13 -0
  342. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0925dd01._.js +46 -0
  343. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__10940c29._.js +3 -0
  344. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12afd8a3._.js +3 -0
  345. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12c7e188._.js +29 -0
  346. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__16dd1fd7._.js +13 -0
  347. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__17c2d68f._.js +52 -0
  348. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1dd062c1._.js +1 -1
  349. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20b3baea._.js +55 -0
  350. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2388b2b3._.js +3 -0
  351. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__241a8bcf._.js +1 -1
  352. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__254e942f._.js +20 -0
  353. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29ce9c60._.js +3 -0
  354. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2e596cc8._.js +4 -4
  355. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +2 -2
  356. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +14 -14
  357. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__399b2ca9._.js +3 -0
  358. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4761dc17._.js +8 -0
  359. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4b1a512c._.js +52 -0
  360. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c50f159._.js +4 -4
  361. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c8624cc._.js +3 -0
  362. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d318eb0._.js +146 -0
  363. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__507a4363._.js +4 -0
  364. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50ddd3ce._.js +3 -0
  365. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +5 -1
  366. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59b5d4e5._.js +1 -1
  367. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5ca87ba0._.js +3 -0
  368. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5d359afa._.js +46 -0
  369. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__666f8712._.js +3 -0
  370. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c187704._.js +3 -0
  371. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c26221d._.js +7 -0
  372. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6e59b27c._.js +3 -0
  373. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74b97f0a._.js +1 -1
  374. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__75bff965._.js +46 -0
  375. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +8 -8
  376. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__80655727._.js +3 -0
  377. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__86f7d27b._.js +3 -0
  378. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__94fa1edc._.js +46 -0
  379. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98535eb3._.js +3 -0
  380. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9dfaaf72._.js +52 -0
  381. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a189593a._.js +3 -0
  382. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac3c2f7f._.js +52 -0
  383. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b40c7aab._.js +1 -1
  384. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b4d05543._.js +1 -1
  385. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bfcedb7c._.js +52 -0
  386. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c08bef05._.js +3 -0
  387. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5634f17._.js +112 -0
  388. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5b8ceb7._.js +3 -0
  389. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ccfcbcd5._.js +42 -0
  390. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +3 -0
  391. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da20a0aa._.js +1 -1
  392. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__dede3dcd._.js +75 -0
  393. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e122cae2._.js +3 -0
  394. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e7dd1e._.js +25 -0
  395. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e446cb39._.js +3 -0
  396. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e6ad07c3._.js +1 -1
  397. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b70b67._.js +46 -0
  398. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f5a2358a._.js +7 -0
  399. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f5b93200._.js +3 -0
  400. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa0ebee3._.js +13 -0
  401. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcd3e3b8._.js +15 -0
  402. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fce2cdce._.js +3 -0
  403. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9c61da._.js +3 -0
  404. package/cloud-runtime/standalone/.next/server/chunks/_05fa3b89._.js +46 -0
  405. package/cloud-runtime/standalone/.next/server/chunks/_0a767dfe._.js +3 -0
  406. package/cloud-runtime/standalone/.next/server/chunks/_2f3e5ac1._.js +6 -0
  407. package/cloud-runtime/standalone/.next/server/chunks/_3e0d34cc._.js +97 -0
  408. package/cloud-runtime/standalone/.next/server/chunks/_4190f170._.js +46 -0
  409. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a104cda8._.js → _42e9c8d5._.js} +7 -7
  410. package/cloud-runtime/standalone/.next/server/chunks/_5ca51127._.js +54 -0
  411. package/cloud-runtime/standalone/.next/server/chunks/_66e1ddec._.js +57 -0
  412. package/cloud-runtime/standalone/.next/server/chunks/_6bb93816._.js +6 -0
  413. package/cloud-runtime/standalone/.next/server/chunks/_7011db4f._.js +3 -0
  414. package/cloud-runtime/standalone/.next/server/chunks/_8b9fde82._.js +97 -0
  415. package/cloud-runtime/standalone/.next/server/chunks/_95ac98db._.js +49 -0
  416. package/cloud-runtime/standalone/.next/server/chunks/_994414cd._.js +54 -0
  417. package/cloud-runtime/standalone/.next/server/chunks/_99b78daf._.js +46 -0
  418. package/cloud-runtime/standalone/.next/server/chunks/_a877d34f._.js +6 -0
  419. package/cloud-runtime/standalone/.next/server/chunks/_affbdbb0._.js +46 -0
  420. package/cloud-runtime/standalone/.next/server/chunks/_c31ca6ab._.js +3 -0
  421. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
  422. package/cloud-runtime/standalone/.next/server/chunks/_ee99a36b._.js +6 -0
  423. package/cloud-runtime/standalone/.next/server/chunks/_efc73784._.js +46 -0
  424. package/cloud-runtime/standalone/.next/server/chunks/_fba13a4a._.js +6 -0
  425. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_route_actions_033ac330.js +3 -0
  426. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_signal_route_actions_4b56f1cd.js +3 -0
  427. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_route_actions_0c8cd01c.js +3 -0
  428. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_threads_knowledge_route_actions_c139bcf7.js +3 -0
  429. package/cloud-runtime/standalone/.next/server/chunks/lib_09aac4e7._.js +57 -0
  430. package/cloud-runtime/standalone/.next/server/chunks/lib_cli-runner_ts_dfcf3fda._.js +18 -0
  431. package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
  432. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +68 -23
  433. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +74 -30
  434. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +70 -31
  435. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +87 -17
  436. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +294 -0
  437. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0f808fa3.js +3 -0
  438. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_2bdede98.js +3 -0
  439. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +50 -43
  440. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3d31fed0.js +3 -0
  441. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_57a073eb.js +3 -0
  442. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_69b6b2e1.js +3 -0
  443. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7f8022ab.js +3 -0
  444. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_84e28f38.js +3 -0
  445. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_8ec90680.js +3 -0
  446. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_a590fcd6.js +3 -0
  447. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cc6c687d.js +3 -0
  448. package/cloud-runtime/standalone/.next/server/chunks/src_graph_14067235._.js +46 -0
  449. package/cloud-runtime/standalone/.next/server/chunks/src_graph_api-route-utils_ts_b7225a0e._.js +1 -1
  450. package/cloud-runtime/standalone/.next/server/chunks/src_graph_b63e2d39._.js +46 -0
  451. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +3 -3
  452. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +1 -1
  453. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1322ced8._.js +3 -0
  454. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
  455. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6e83bf83._.js +3 -0
  456. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__783669c3._.js +3 -0
  457. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +3 -0
  458. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__9166c1d6._.js +3 -0
  459. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a0a1cb74._.js +3 -0
  460. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a8a8afdc._.js +3 -0
  461. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fca7df40._.js +3 -0
  462. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27f9c020._.js → _0061ebd8._.js} +2 -2
  463. package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +3 -0
  464. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0f4e70b1._.js +3 -0
  465. package/cloud-runtime/standalone/.next/server/chunks/ssr/_16c45024._.js +3 -0
  466. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27cb3359._.js → _5b2b8a85._.js} +2 -2
  467. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a696e9b3._.js → _68ac991e._.js} +2 -2
  468. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6de3f1de._.js +3 -0
  469. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_c838f593._.js → _6fc3736e._.js} +2 -2
  470. package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +8 -0
  471. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +3 -0
  472. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a10eb951._.js +4 -0
  473. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cb4d8a23._.js +4 -0
  474. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6a367524._.js → _ccb409c5._.js} +2 -2
  475. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +1 -1
  476. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_d021529a._.js → _fb292eed._.js} +2 -2
  477. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_4b5d7c9b._.js → _ff5799d6._.js} +2 -2
  478. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_knowledge_page_actions_1037c40a.js +3 -0
  479. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
  480. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_graph_[taskId]_page_tsx_d8b1d582._.js +1 -1
  481. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +3 -0
  482. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_welcome_page_tsx_6c79bc59._.js +3 -0
  483. package/cloud-runtime/standalone/.next/server/chunks/ssr/ce889_server_app_projects_[slug]_thread_[threadId]_page_actions_660a8857.js +3 -0
  484. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +5 -5
  485. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  486. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e70f9321._.js +3 -0
  487. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_678fa868._.js +3 -0
  488. package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +4 -0
  489. package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +2 -2
  490. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  491. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  492. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +8 -0
  493. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  494. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  495. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  496. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  497. package/cloud-runtime/standalone/.next/static/chunks/{b5bd2eb6e0c7f71a.js → 010aff7b601302de.js} +3 -3
  498. package/cloud-runtime/standalone/.next/static/chunks/0c467f54bc78a380.js +1 -0
  499. package/cloud-runtime/standalone/.next/static/chunks/1f415d0ce7ebbd08.js +8 -0
  500. package/cloud-runtime/standalone/.next/static/chunks/24a6ee21f430da93.js +1 -0
  501. package/cloud-runtime/standalone/.next/static/chunks/27129bea5b512ce8.js +1 -0
  502. package/cloud-runtime/standalone/.next/static/chunks/{e44264686aa5ecbf.js → 4200b512bdc226bc.js} +1 -1
  503. package/cloud-runtime/standalone/.next/static/chunks/463edf3533d27a56.js +1 -0
  504. package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +5 -0
  505. package/cloud-runtime/standalone/.next/static/chunks/{616d66dbec9e4b8b.js → 58025a80caa3629d.js} +1 -1
  506. package/cloud-runtime/standalone/.next/static/chunks/5cb0c885b085ea6c.js +1 -0
  507. package/cloud-runtime/standalone/.next/static/chunks/60c054bb8b2cffa6.css +1 -0
  508. package/cloud-runtime/standalone/.next/static/chunks/{45b4d0ee5c92d45b.js → 6fbe08eab578c7d3.js} +1 -1
  509. package/cloud-runtime/standalone/.next/static/chunks/7e2edf97bd6c0874.js +1 -0
  510. package/cloud-runtime/standalone/.next/static/chunks/8249f202d33d0d95.js +1 -0
  511. package/cloud-runtime/standalone/.next/static/chunks/{b4e298542d366e31.js → 87f099ea02aa419d.js} +1 -1
  512. package/cloud-runtime/standalone/.next/static/chunks/8d15ced2dc70090a.js +1 -0
  513. package/cloud-runtime/standalone/.next/static/chunks/9f8f719c4aa25e3d.js +1 -0
  514. package/cloud-runtime/standalone/.next/static/chunks/a66e1891e808a664.js +1 -0
  515. package/cloud-runtime/standalone/.next/static/chunks/{3344004561eabdf8.js → bc3cad3c821b169b.js} +1 -1
  516. package/cloud-runtime/standalone/.next/static/chunks/bc727d3d9993e9be.js +1 -0
  517. package/cloud-runtime/standalone/.next/static/chunks/cd308f61797939cd.js +6 -0
  518. package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +1 -0
  519. package/cloud-runtime/standalone/.next/static/chunks/{ee5f1457fbc593e1.js → dfff51033c303fc7.js} +1 -1
  520. package/cloud-runtime/standalone/.next/static/chunks/e62d5fa120fdf21f.js +1 -0
  521. package/cloud-runtime/standalone/.next/static/chunks/{turbopack-5b5918f610666d2d.js → turbopack-97e846241a3a64af.js} +1 -1
  522. package/cloud-runtime/standalone/README.md +3 -3
  523. package/cloud-runtime/standalone/app/api/chat/route.ts +38 -28
  524. package/cloud-runtime/standalone/app/api/chat-runs/[id]/route.ts +19 -0
  525. package/cloud-runtime/standalone/app/api/chat-runs/[id]/signal/route.ts +32 -0
  526. package/cloud-runtime/standalone/app/api/chat-runs/route.ts +37 -0
  527. package/cloud-runtime/standalone/app/api/history/route.ts +6 -0
  528. package/cloud-runtime/standalone/app/api/projects/[id]/memory/route.ts +17 -0
  529. package/cloud-runtime/standalone/app/api/providers/route.ts +9 -13
  530. package/cloud-runtime/standalone/app/api/schedules/debug/route.ts +23 -3
  531. package/cloud-runtime/standalone/app/api/schedules/poll/route.ts +5 -3
  532. package/cloud-runtime/standalone/app/api/schedules/route.ts +12 -17
  533. package/cloud-runtime/standalone/app/api/status/route.ts +6 -5
  534. package/cloud-runtime/standalone/app/api/threads/knowledge/route.ts +91 -0
  535. package/cloud-runtime/standalone/app/api/threads/route.ts +18 -1
  536. package/cloud-runtime/standalone/app/globals.css +1 -4
  537. package/cloud-runtime/standalone/app/projects/[slug]/graph/[taskId]/page.tsx +0 -21
  538. package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +608 -0
  539. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +18 -2
  540. package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +1 -455
  541. package/cloud-runtime/standalone/app/projects/[slug]/thread/[threadId]/page.tsx +14 -0
  542. package/cloud-runtime/standalone/app/welcome/page.tsx +329 -107
  543. package/cloud-runtime/standalone/components/ActionToolbar.tsx +3 -3
  544. package/cloud-runtime/standalone/components/ConfirmDialog.tsx +133 -0
  545. package/cloud-runtime/standalone/components/IconButton.tsx +3 -3
  546. package/cloud-runtime/standalone/components/ProjectModal.tsx +2 -2
  547. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +415 -76
  548. package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +149 -97
  549. package/cloud-runtime/standalone/components/chat-ui/ThreadView.tsx +73 -34
  550. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +51 -23
  551. package/cloud-runtime/standalone/hooks/useComposerHistory.ts +130 -0
  552. package/cloud-runtime/standalone/hooks/useGroupChat.ts +24 -1
  553. package/cloud-runtime/standalone/hooks/useProcessPolling.ts +69 -6
  554. package/cloud-runtime/standalone/lib/history-store.ts +532 -38
  555. package/cloud-runtime/standalone/lib/knowledge-notes.ts +251 -0
  556. package/cloud-runtime/standalone/lib/knowledge-store.ts +233 -0
  557. package/cloud-runtime/standalone/lib/memory-extractor.ts +76 -60
  558. package/cloud-runtime/standalone/lib/mesh-core/journal.ts +30 -0
  559. package/cloud-runtime/standalone/lib/mesh-core/self.ts +94 -0
  560. package/cloud-runtime/standalone/lib/orchestrator/chat-activities.ts +60 -0
  561. package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +168 -0
  562. package/cloud-runtime/standalone/lib/orchestrator/chat-types.ts +29 -0
  563. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +20 -0
  564. package/cloud-runtime/standalone/lib/provider-clis.ts +63 -0
  565. package/cloud-runtime/standalone/lib/queue/boss.ts +2 -1
  566. package/cloud-runtime/standalone/lib/repo-knowledge.ts +19 -2
  567. package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +78 -0
  568. package/cloud-runtime/standalone/lib/stream-multiplexer.ts +101 -14
  569. package/cloud-runtime/standalone/lib/task-context.ts +7 -4
  570. package/cloud-runtime/standalone/lib/thread-knowledge-runs.ts +227 -0
  571. package/cloud-runtime/standalone/lib/thread-knowledge.ts +419 -0
  572. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/README.md +2 -2
  573. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
  574. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
  575. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/package.json +11 -5
  576. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  577. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  578. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  579. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  580. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  581. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  582. package/cloud-runtime/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  583. package/cloud-runtime/standalone/node_modules/@img/{sharp-darwin-arm64 → sharp-linux-x64}/package.json +13 -7
  584. package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  585. package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  586. package/cloud-runtime/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  587. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/build/Release/better_sqlite3.node +0 -0
  588. package/cloud-runtime/standalone/package-lock.json +13 -0
  589. package/cloud-runtime/standalone/package.json +1 -0
  590. package/cloud-runtime/standalone/server.js +1 -1
  591. package/cloud-runtime/standalone/src/graph/api-schemas.ts +2 -2
  592. package/cloud-runtime/standalone/src/graph/executor.ts +9 -7
  593. package/cloud-runtime/standalone/src/graph/function-executor.ts +4 -1
  594. package/cloud-runtime/standalone/src/graph/internal-function-dispatcher.ts +174 -0
  595. package/cloud-runtime/standalone/src/graph/types.ts +3 -3
  596. package/cloud-runtime/standalone/src/graph/work-dispatcher.ts +5 -1
  597. package/cloud-runtime/standalone/tsconfig.json +3 -1
  598. package/cloud-runtime/standalone/worker/index.js +2930 -137
  599. package/cloud-runtime/standalone/worker/index.ts +8 -1
  600. package/package.json +1 -1
  601. package/cloud-runtime/standalone/.next/server/chunks/[externals]_child_process_964038fc._.js +0 -3
  602. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__03a1bf91._.js +0 -6
  603. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__065c5114._.js +0 -3
  604. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__07dce481._.js +0 -3
  605. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__09f46c85._.js +0 -46
  606. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__149bcf6d._.js +0 -115
  607. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14bad16e._.js +0 -3
  608. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14e3bf74._.js +0 -3
  609. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1632828c._.js +0 -46
  610. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__24b8ccd3._.js +0 -52
  611. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__284e1cbe._.js +0 -3
  612. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__28d6e806._.js +0 -3
  613. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2bcb75a7._.js +0 -3
  614. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32e5f341._.js +0 -4
  615. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b4a126a._.js +0 -46
  616. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c7464e8._.js +0 -46
  617. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3d82dc78._.js +0 -46
  618. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__406bdd54._.js +0 -46
  619. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__40d6458a._.js +0 -3
  620. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__47ca4946._.js +0 -3
  621. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49fb4a12._.js +0 -3
  622. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5327e395._.js +0 -46
  623. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__55d75c3a._.js +0 -7
  624. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__592e81f9._.js +0 -13
  625. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a6a194c._.js +0 -52
  626. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5af16b4f._.js +0 -3
  627. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__60ba5058._.js +0 -3
  628. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6716441c._.js +0 -3
  629. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__673aedc6._.js +0 -3
  630. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6a44c891._.js +0 -3
  631. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6b680112._.js +0 -55
  632. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7312fad4._.js +0 -46
  633. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7456196c._.js +0 -52
  634. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74d26856._.js +0 -3
  635. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__772c6fae._.js +0 -3
  636. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__787ba54b._.js +0 -3
  637. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79157eef._.js +0 -3
  638. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__82d76712._.js +0 -3
  639. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8311f060._.js +0 -6
  640. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__84e90655._.js +0 -46
  641. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__90a887dc._.js +0 -3
  642. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9345d703._.js +0 -3
  643. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98294450._.js +0 -3
  644. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__985f0d9f._.js +0 -51
  645. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9b32295e._.js +0 -3
  646. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a64d978e._.js +0 -6
  647. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__babcd1af._.js +0 -13
  648. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c16f03fb._.js +0 -13
  649. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c2767ca5._.js +0 -3
  650. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c72c6d4a._.js +0 -25
  651. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ca851b15._.js +0 -3
  652. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d25227df._.js +0 -29
  653. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e06820c3._.js +0 -6
  654. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e429a0bc._.js +0 -3
  655. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4397d43._.js +0 -7
  656. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ec8735f4._.js +0 -3
  657. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef09ab99._.js +0 -13
  658. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f366a937._.js +0 -46
  659. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fdaa8a27._.js +0 -3
  660. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fddde532._.js +0 -3
  661. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff53f445._.js +0 -3
  662. package/cloud-runtime/standalone/.next/server/chunks/_1111d342._.js +0 -101
  663. package/cloud-runtime/standalone/.next/server/chunks/_4b60ba15._.js +0 -49
  664. package/cloud-runtime/standalone/.next/server/chunks/_54252651._.js +0 -49
  665. package/cloud-runtime/standalone/.next/server/chunks/_818a89c4._.js +0 -46
  666. package/cloud-runtime/standalone/.next/server/chunks/_a4a21d4f._.js +0 -3
  667. package/cloud-runtime/standalone/.next/server/chunks/_a759d52b._.js +0 -3
  668. package/cloud-runtime/standalone/.next/server/chunks/_e6b28eae._.js +0 -46
  669. package/cloud-runtime/standalone/.next/server/chunks/_e868e7c1._.js +0 -46
  670. package/cloud-runtime/standalone/.next/server/chunks/lib_23509137._.js +0 -196
  671. package/cloud-runtime/standalone/.next/server/chunks/lib_3273d5f9._.js +0 -196
  672. package/cloud-runtime/standalone/.next/server/chunks/lib_50ba0b4c._.js +0 -63
  673. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_33963d95.js +0 -3
  674. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_56c5acb3.js +0 -3
  675. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_888b3578.js +0 -3
  676. package/cloud-runtime/standalone/.next/server/chunks/src_graph_e3bb4da8._.js +0 -46
  677. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__113d6767._.js +0 -3
  678. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6a9d3855._.js +0 -3
  679. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__942ca438._.js +0 -3
  680. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce3b51aa._.js +0 -3
  681. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1ec61dee._.js +0 -3
  682. package/cloud-runtime/standalone/.next/server/chunks/ssr/_27904584._.js +0 -3
  683. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +0 -3
  684. package/cloud-runtime/standalone/.next/server/chunks/ssr/_94effa0f._.js +0 -3
  685. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d458d1eb._.js +0 -3
  686. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fbced30b._.js +0 -3
  687. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_page_tsx_e0fabf6e._.js +0 -8
  688. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_a8f86889._.js +0 -3
  689. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_play_6595a532.js +0 -3
  690. package/cloud-runtime/standalone/.next/static/chunks/1184bf1bfdf97666.js +0 -1
  691. package/cloud-runtime/standalone/.next/static/chunks/4c01a5f19f9e775e.js +0 -8
  692. package/cloud-runtime/standalone/.next/static/chunks/5ace4b4f4475962a.js +0 -1
  693. package/cloud-runtime/standalone/.next/static/chunks/6509f7fecbf44493.js +0 -1
  694. package/cloud-runtime/standalone/.next/static/chunks/661090206d8bae9b.css +0 -1
  695. package/cloud-runtime/standalone/.next/static/chunks/6dbf5940e30fa9c7.js +0 -1
  696. package/cloud-runtime/standalone/.next/static/chunks/7e91f395ace1dd2c.js +0 -1
  697. package/cloud-runtime/standalone/.next/static/chunks/7f13efe9329d3f97.js +0 -1
  698. package/cloud-runtime/standalone/.next/static/chunks/80219bbddcf65109.js +0 -1
  699. package/cloud-runtime/standalone/.next/static/chunks/86ace6febb11ad71.js +0 -1
  700. package/cloud-runtime/standalone/.next/static/chunks/b079c677d9b39f98.js +0 -5
  701. package/cloud-runtime/standalone/.next/static/chunks/b88352740262931f.js +0 -6
  702. package/cloud-runtime/standalone/.next/static/chunks/c5609fd2abb65850.js +0 -1
  703. package/cloud-runtime/standalone/.next/static/chunks/d95cd010361834be.js +0 -1
  704. package/cloud-runtime/standalone/.next/static/chunks/f7bbf5cfcfed8ba9.js +0 -1
  705. package/cloud-runtime/standalone/coverage/clover.xml +0 -1208
  706. package/cloud-runtime/standalone/coverage/coverage-final.json +0 -29
  707. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/index.html +0 -116
  708. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/route.ts.html +0 -208
  709. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/index.html +0 -116
  710. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/route.ts.html +0 -166
  711. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/index.html +0 -116
  712. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/route.ts.html +0 -532
  713. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/index.html +0 -116
  714. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/route.ts.html +0 -178
  715. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/index.html +0 -116
  716. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/route.ts.html +0 -262
  717. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/index.html +0 -116
  718. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/route.ts.html +0 -448
  719. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/index.html +0 -116
  720. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/route.ts.html +0 -331
  721. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/index.html +0 -116
  722. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/route.ts.html +0 -505
  723. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/index.html +0 -116
  724. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/route.ts.html +0 -412
  725. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/index.html +0 -116
  726. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/route.ts.html +0 -304
  727. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/index.html +0 -116
  728. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/index.html +0 -116
  729. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/route.ts.html +0 -202
  730. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/route.ts.html +0 -373
  731. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/index.html +0 -116
  732. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/route.ts.html +0 -499
  733. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/index.html +0 -116
  734. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/route.ts.html +0 -349
  735. package/cloud-runtime/standalone/coverage/lcov-report/base.css +0 -224
  736. package/cloud-runtime/standalone/coverage/lcov-report/block-navigation.js +0 -87
  737. package/cloud-runtime/standalone/coverage/lcov-report/components/AuthProvider.tsx.html +0 -259
  738. package/cloud-runtime/standalone/coverage/lcov-report/components/ChatInterface.tsx.html +0 -1228
  739. package/cloud-runtime/standalone/coverage/lcov-report/components/KanbanBoard.tsx.html +0 -1024
  740. package/cloud-runtime/standalone/coverage/lcov-report/components/Layout.tsx.html +0 -211
  741. package/cloud-runtime/standalone/coverage/lcov-report/components/LearningsPanel.tsx.html +0 -535
  742. package/cloud-runtime/standalone/coverage/lcov-report/components/LogTimeline.tsx.html +0 -415
  743. package/cloud-runtime/standalone/coverage/lcov-report/components/SortableTaskCard.tsx.html +0 -358
  744. package/cloud-runtime/standalone/coverage/lcov-report/components/StagePills.tsx.html +0 -439
  745. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCard.tsx.html +0 -514
  746. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCardOverlay.tsx.html +0 -256
  747. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskDetail.tsx.html +0 -622
  748. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskList.tsx.html +0 -253
  749. package/cloud-runtime/standalone/coverage/lcov-report/components/index.html +0 -281
  750. package/cloud-runtime/standalone/coverage/lcov-report/favicon.png +0 -0
  751. package/cloud-runtime/standalone/coverage/lcov-report/hooks/index.html +0 -116
  752. package/cloud-runtime/standalone/coverage/lcov-report/hooks/useTasks.ts.html +0 -1042
  753. package/cloud-runtime/standalone/coverage/lcov-report/index.html +0 -341
  754. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-client.ts.html +0 -202
  755. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-server.ts.html +0 -172
  756. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth.ts.html +0 -265
  757. package/cloud-runtime/standalone/coverage/lcov-report/lib/db.ts.html +0 -1252
  758. package/cloud-runtime/standalone/coverage/lcov-report/lib/index.html +0 -131
  759. package/cloud-runtime/standalone/coverage/lcov-report/lib/orchestrator.ts.html +0 -409
  760. package/cloud-runtime/standalone/coverage/lcov-report/lib/security.ts.html +0 -1165
  761. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase-server.ts.html +0 -175
  762. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase.ts.html +0 -157
  763. package/cloud-runtime/standalone/coverage/lcov-report/prettify.css +0 -1
  764. package/cloud-runtime/standalone/coverage/lcov-report/prettify.js +0 -2
  765. package/cloud-runtime/standalone/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  766. package/cloud-runtime/standalone/coverage/lcov-report/sorter.js +0 -210
  767. package/cloud-runtime/standalone/coverage/lcov.info +0 -2386
  768. package/cloud-runtime/standalone/docs/LIMITS.md +0 -63
  769. package/cloud-runtime/standalone/docs/architecture/ADR-001-hybrid-to-full-sqlite.md +0 -345
  770. package/cloud-runtime/standalone/docs/baseline/baseline-report.json +0 -1009
  771. package/cloud-runtime/standalone/docs/baseline/critical-queries.md +0 -105
  772. package/cloud-runtime/standalone/docs/baseline/lock-metrics.json +0 -21
  773. package/cloud-runtime/standalone/docs/baseline/read-latency.json +0 -146
  774. package/cloud-runtime/standalone/docs/baseline/restore-time.json +0 -10
  775. package/cloud-runtime/standalone/docs/baseline/write-metrics.json +0 -803
  776. package/cloud-runtime/standalone/docs/decisions/sqlite-migration-adr.md +0 -327
  777. package/cloud-runtime/standalone/docs/error-code-mapping.md +0 -74
  778. package/cloud-runtime/standalone/docs/migration-plan.md +0 -120
  779. package/cloud-runtime/standalone/docs/migration-spec.md +0 -345
  780. package/cloud-runtime/standalone/docs/pg-sqlite-compatibility-matrix.md +0 -554
  781. package/cloud-runtime/standalone/docs/project-agent-migration-status.md +0 -229
  782. package/cloud-runtime/standalone/docs/runbook-shadow-read.md +0 -66
  783. package/cloud-runtime/standalone/docs/runbook.md +0 -155
  784. package/cloud-runtime/standalone/docs/specs/cli-postgres-removal.md +0 -69
  785. package/cloud-runtime/standalone/docs/specs/thread-mentions.md +0 -53
  786. package/cloud-runtime/standalone/docs/ux/GlobalChatFlow.storyboard +0 -23
  787. package/cloud-runtime/standalone/docs/ux/assistant-chat-cli.md +0 -32
  788. package/cloud-runtime/standalone/mcp/dist/constants.js +0 -66
  789. package/cloud-runtime/standalone/mcp/dist/db.js +0 -220
  790. package/cloud-runtime/standalone/mcp/dist/index.js +0 -7
  791. package/cloud-runtime/standalone/mcp/dist/security.js +0 -18
  792. package/cloud-runtime/standalone/mcp/dist/server.js +0 -240
  793. package/cloud-runtime/standalone/mcp/dist/task-context.js +0 -287
  794. package/cloud-runtime/standalone/mcp/dist/test-client.js +0 -82
  795. package/cloud-runtime/standalone/mcp/dist/tools/audit.js +0 -69
  796. package/cloud-runtime/standalone/mcp/dist/tools/learnings.js +0 -88
  797. package/cloud-runtime/standalone/mcp/dist/tools/queue.js +0 -312
  798. package/cloud-runtime/standalone/mcp/dist/tools/tasks.js +0 -244
  799. package/cloud-runtime/standalone/mcp/dist/types.js +0 -74
  800. package/cloud-runtime/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  801. package/cloud-runtime/standalone/notes/comments-context-demo.md +0 -141
  802. package/cloud-runtime/standalone/notes/comments-context-plan.md +0 -119
  803. package/cloud-runtime/standalone/notes/context-audit.md +0 -21
  804. package/cloud-runtime/standalone/notes/project-layer-plan.md +0 -30
  805. package/cloud-runtime/standalone/notes/project-layer.md +0 -123
  806. package/cloud-runtime/standalone/notes/temporal-migration-design.md +0 -199
  807. package/cloud-runtime/standalone/playwright-report/data/00d55996f37c1506b90144c85493dd85032c13e5.png +0 -0
  808. package/cloud-runtime/standalone/playwright-report/data/0b9d409e57237ae111d7ba258d3dfe64dc368456.png +0 -0
  809. package/cloud-runtime/standalone/playwright-report/data/b33d5e80a15bd1deda4415b9d318ef73f581c950.png +0 -0
  810. package/cloud-runtime/standalone/playwright-report/data/b55684161aa440d0614595e13c91338f0420abbb.md +0 -131
  811. package/cloud-runtime/standalone/playwright-report/data/b9913957ae07e7565c38ddd71215be79b1ceb017.png +0 -0
  812. package/cloud-runtime/standalone/playwright-report/data/c3538be8ebbebc9fe4a7df8f12f04483af4a0d91.png +0 -0
  813. package/cloud-runtime/standalone/playwright-report/data/fe638f64ff5e36f1c30325564565662d3f57da87.md +0 -180
  814. package/cloud-runtime/standalone/playwright-report/index.html +0 -85
  815. package/cloud-runtime/standalone/test-results/auth-Authentication-Flow-S-aff25-sion-across-page-navigation-chromium/test-failed-1.png +0 -0
  816. package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/error-context.md +0 -131
  817. package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/test-failed-1.png +0 -0
  818. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/error-context.md +0 -180
  819. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/test-failed-1.png +0 -0
  820. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/error-context.md +0 -180
  821. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/test-failed-1.png +0 -0
  822. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/error-context.md +0 -180
  823. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/test-failed-1.png +0 -0
  824. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-Display-shows-task-count-per-column-chromium/test-failed-1.png +0 -0
  825. package/cloud-runtime/standalone/test-results/kanban-Task-Lifecycle-can-advance-task-through-all-stages-chromium/test-failed-1.png +0 -0
  826. package/cloud-runtime/standalone/tsconfig.tsbuildinfo +0 -1
  827. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → i_9nSHyb52FGkCbRgv7EJ}/_buildManifest.js +0 -0
  828. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → i_9nSHyb52FGkCbRgv7EJ}/_clientMiddlewareManifest.json +0 -0
  829. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → i_9nSHyb52FGkCbRgv7EJ}/_ssgManifest.js +0 -0
  830. /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/index.js +0 -0
  831. /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/versions.json +0 -0
@@ -1,6 +1,7 @@
1
1
  import { NextRequest } from "next/server";
2
- import { listRootMessages, getWorkspaceNames, updateMessageStatus, getMessageThread, getProjectThreadIds } from "@/lib/history-store";
2
+ import { listRootMessages, getWorkspaceNames, updateMessageStatus, getMessageThread, getProjectThreadIds, loadHistory } from "@/lib/history-store";
3
3
  import type { ThreadStatus } from "@/lib/storage";
4
+ import { extractKnowledgeFromThreadTransition } from "@/lib/thread-knowledge";
4
5
 
5
6
  export const runtime = "nodejs";
6
7
  export const dynamic = "force-dynamic";
@@ -112,8 +113,24 @@ export async function PATCH(request: NextRequest) {
112
113
  return Response.json({ error: "Thread not found" }, { status: 404 });
113
114
  }
114
115
 
116
+ const history = await loadHistory(thread.threadId);
117
+ const root = history.find((message) => message.id === rootMessageId);
118
+ const previousStatus = root?.threadStatus ?? "active";
119
+
115
120
  await updateMessageStatus(thread.threadId, rootMessageId, status, outcomeNote ?? null);
116
121
 
122
+ if (previousStatus !== status) {
123
+ extractKnowledgeFromThreadTransition({
124
+ threadId: thread.threadId,
125
+ rootMessageId,
126
+ fromStatus: previousStatus,
127
+ toStatus: status,
128
+ outcomeNote: outcomeNote ?? null,
129
+ }).catch((error) => {
130
+ console.warn("[threads/PATCH] Thread knowledge extraction failed:", error);
131
+ });
132
+ }
133
+
117
134
  return Response.json({ ok: true, rootMessageId, status, outcomeNote: outcomeNote ?? null });
118
135
  } catch (error) {
119
136
  console.error("Error updating thread status:", error);
@@ -387,7 +387,7 @@ select:focus-visible {
387
387
  Card Styles
388
388
  ======================================== */
389
389
  .surface-card {
390
- @apply bg-white border border-gray-200 hover:bg-gray-50 hover:border-gray-300 hover:shadow-sm dark:shadow-none dark:bg-gray-900/40 dark:border-gray-800 rounded-2xl dark:hover:bg-gray-900/60 dark:hover:border-gray-700 transition-all duration-200;
390
+ @apply relative bg-[var(--app-shell-surface)] border border-[var(--app-shell-border)] hover:bg-[var(--app-shell-subtle)] hover:border-[var(--app-shell-border-strong)] rounded-2xl transition-all duration-200;
391
391
  }
392
392
 
393
393
  .card {
@@ -2752,6 +2752,3 @@ select:focus-visible {
2752
2752
  /* ========================================
2753
2753
  Surface Card (Prototype Style)
2754
2754
  ======================================== */
2755
- .surface-card {
2756
- @apply relative bg-white border border-gray-200 hover:bg-gray-50 hover:border-gray-300 shadow-sm dark:shadow-none dark:bg-gray-900/40 dark:border-gray-800 rounded-2xl dark:hover:bg-gray-900/60 dark:hover:border-gray-700 transition-all duration-200;
2757
- }
@@ -162,27 +162,6 @@ export default function FullscreenGraphPage({ params }: { params: Promise<PagePa
162
162
  </div>
163
163
  <p className="text-sm text-[var(--muted-foreground)]">No execution graph exists for this task.</p>
164
164
  <div className="mt-4 flex gap-2 justify-center">
165
- <button
166
- onClick={async () => {
167
- try {
168
- const res = await fetch(`/api/tasks/${taskId}/graph`, {
169
- method: "POST",
170
- headers: { "Content-Type": "application/json" },
171
- body: JSON.stringify({ migration: true }),
172
- });
173
- if (!res.ok) {
174
- const data = await res.json().catch(() => ({}));
175
- throw new Error(data?.error || `Migration failed (${res.status})`);
176
- }
177
- await handleRefetch();
178
- } catch (err) {
179
- console.error("Failed to migrate task to v2:", err);
180
- }
181
- }}
182
- className="btn btn-primary"
183
- >
184
- Migrate to v2
185
- </button>
186
165
  <button
187
166
  onClick={() => router.push(`/projects/${slug}/tasks/${taskId}`)}
188
167
  className="btn btn-secondary"
@@ -0,0 +1,608 @@
1
+ "use client";
2
+
3
+ import { useState, useEffect, use } from "react";
4
+ import { Markdown } from "@/components/chat-ui/Markdown";
5
+ import {
6
+ BrainCircuit,
7
+ FileText,
8
+ FolderGit2,
9
+ MessageSquare,
10
+ Plus,
11
+ Search,
12
+ Trash2,
13
+ } from "lucide-react";
14
+ import { useProjects } from "@/hooks/useProjects";
15
+ import { useProjectMemory, useProjectSkills } from "@/hooks/useProjectResources";
16
+
17
+ type KnowledgeTab = "project" | "repos";
18
+
19
+ type SystemNote = {
20
+ id: string;
21
+ content: string;
22
+ created_at?: string;
23
+ updated_at?: string;
24
+ source?: string;
25
+ };
26
+
27
+ export default function ProjectKnowledgePage({ params }: { params: Promise<{ slug: string }> }) {
28
+ const { slug } = use(params);
29
+
30
+ const { projects } = useProjects();
31
+ const currentProject = projects.find((project) => project.slug === slug);
32
+ const projectId = currentProject?.id ?? null;
33
+
34
+ const { skills: projectSkills, addSkill, removeSkill } = useProjectSkills(projectId);
35
+ const { memory: projectMemory, addMemory, deleteMemory } = useProjectMemory(projectId);
36
+
37
+ const [activeTab, setActiveTab] = useState<KnowledgeTab>("project");
38
+ const [searchQuery, setSearchQuery] = useState("");
39
+ const [showAddReference, setShowAddReference] = useState(false);
40
+ const [newKnowledgeFile, setNewKnowledgeFile] = useState("");
41
+ const [newKnowledgeCondition, setNewKnowledgeCondition] = useState("");
42
+ const [newKnowledgeNote, setNewKnowledgeNote] = useState("");
43
+ const [projectSystemNote, setProjectSystemNote] = useState<SystemNote | null>(null);
44
+ const [repoDrafts, setRepoDrafts] = useState<Record<string, string>>({});
45
+ const [repoSystemNotes, setRepoSystemNotes] = useState<Record<string, SystemNote | null>>({});
46
+
47
+ useEffect(() => {
48
+ if (!currentProject?.repos) return;
49
+ setRepoDrafts((prev) => {
50
+ const next: Record<string, string> = {};
51
+ for (const repo of currentProject.repos) {
52
+ next[repo.id] = prev[repo.id] ?? repo.notes ?? "";
53
+ }
54
+ return next;
55
+ });
56
+ }, [currentProject?.repos]);
57
+
58
+ useEffect(() => {
59
+ let cancelled = false;
60
+ async function loadHumanRepoKnowledge() {
61
+ const repos = currentProject?.repos ?? [];
62
+ if (repos.length === 0) return;
63
+ try {
64
+ const entries = await Promise.all(
65
+ repos.map(async (repo) => {
66
+ const res = await fetch(`/api/repos/${repo.id}/knowledge?producer=human`);
67
+ const data = res.ok ? await res.json() : { knowledge: [] };
68
+ const text = (data.knowledge ?? [])
69
+ .map((entry: { content?: string }) => String(entry.content ?? "").trim())
70
+ .filter(Boolean)
71
+ .join("\n\n");
72
+ return [repo.id, text] as const;
73
+ })
74
+ );
75
+ if (!cancelled) {
76
+ setRepoDrafts((prev) => {
77
+ const next = { ...prev };
78
+ for (const [repoId, text] of entries) {
79
+ if (text) next[repoId] = text;
80
+ }
81
+ return next;
82
+ });
83
+ }
84
+ } catch {
85
+ // Keep repo.notes fallback
86
+ }
87
+ }
88
+ void loadHumanRepoKnowledge();
89
+ return () => {
90
+ cancelled = true;
91
+ };
92
+ }, [currentProject?.repos]);
93
+
94
+ useEffect(() => {
95
+ let cancelled = false;
96
+ async function loadProjectSystemNote() {
97
+ if (!projectId) {
98
+ setProjectSystemNote(null);
99
+ return;
100
+ }
101
+ try {
102
+ const res = await fetch(`/api/projects/${projectId}/memory?producer=system`);
103
+ const data = res.ok ? await res.json() : { memory: [] };
104
+ if (!cancelled) {
105
+ setProjectSystemNote((data.memory ?? [])[0] ?? null);
106
+ }
107
+ } catch {
108
+ if (!cancelled) setProjectSystemNote(null);
109
+ }
110
+ }
111
+ void loadProjectSystemNote();
112
+ return () => {
113
+ cancelled = true;
114
+ };
115
+ }, [projectId]);
116
+
117
+ useEffect(() => {
118
+ let cancelled = false;
119
+ async function loadRepoSystemNotes() {
120
+ const repos = currentProject?.repos ?? [];
121
+ if (repos.length === 0) {
122
+ setRepoSystemNotes({});
123
+ return;
124
+ }
125
+ try {
126
+ const entries = await Promise.all(
127
+ repos.map(async (repo) => {
128
+ const res = await fetch(`/api/repos/${repo.id}/knowledge?producer=system`);
129
+ const data = res.ok ? await res.json() : { knowledge: [] };
130
+ return [repo.id, (data.knowledge ?? [])[0] ?? null] as const;
131
+ })
132
+ );
133
+ if (!cancelled) {
134
+ setRepoSystemNotes(Object.fromEntries(entries));
135
+ }
136
+ } catch {
137
+ if (!cancelled) setRepoSystemNotes({});
138
+ }
139
+ }
140
+ void loadRepoSystemNotes();
141
+ return () => {
142
+ cancelled = true;
143
+ };
144
+ }, [currentProject?.repos]);
145
+
146
+ const filteredSkills = projectSkills.filter(
147
+ (skill) =>
148
+ !searchQuery ||
149
+ skill.file.toLowerCase().includes(searchQuery.toLowerCase()) ||
150
+ (skill.condition ?? "").toLowerCase().includes(searchQuery.toLowerCase())
151
+ );
152
+ const filteredMemory = projectMemory.filter(
153
+ (memory) => !searchQuery || memory.content.toLowerCase().includes(searchQuery.toLowerCase())
154
+ );
155
+ const projectNoteMatches =
156
+ !searchQuery || projectSystemNote?.content.toLowerCase().includes(searchQuery.toLowerCase());
157
+ const filteredRepos = (currentProject?.repos ?? []).filter((repo) => {
158
+ if (!searchQuery) return true;
159
+ const query = searchQuery.toLowerCase();
160
+ const humanDraft = (repoDrafts[repo.id] ?? "").toLowerCase();
161
+ const systemNote = (repoSystemNotes[repo.id]?.content ?? "").toLowerCase();
162
+ return (
163
+ repo.name.toLowerCase().includes(query) ||
164
+ (repo.path ?? "").toLowerCase().includes(query) ||
165
+ humanDraft.includes(query) ||
166
+ systemNote.includes(query)
167
+ );
168
+ });
169
+
170
+ if (!currentProject) {
171
+ return (
172
+ <div className="flex h-full items-center justify-center">
173
+ <p className="text-sm text-[var(--muted-foreground)]">Loading...</p>
174
+ </div>
175
+ );
176
+ }
177
+
178
+ return (
179
+ <div className="flex h-full flex-col overflow-hidden">
180
+ <div className="flex-shrink-0 border-b border-[var(--border)] bg-[var(--card-bg)] px-3 py-2 backdrop-blur-md sm:h-14 sm:px-6 sm:py-0">
181
+ <div className="flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4">
182
+ <div className="flex items-center gap-2 text-sm">
183
+ <span className="font-semibold text-[var(--foreground)]">{currentProject.name}</span>
184
+ <span className="text-[var(--muted-foreground)]">/</span>
185
+ <span className="text-[var(--muted-foreground)]">Knowledge</span>
186
+ </div>
187
+ <div className="relative w-full sm:max-w-xs">
188
+ <Search className="absolute left-3 top-1/2 -translate-y-1/2 text-[var(--app-shell-soft-text)]" size={14} />
189
+ <input
190
+ type="text"
191
+ placeholder="Search notes..."
192
+ value={searchQuery}
193
+ onChange={(event) => setSearchQuery(event.target.value)}
194
+ className="w-full rounded-full border border-[var(--border)] bg-[var(--secondary)] py-1.5 pl-9 pr-4 text-xs focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:border-[var(--primary)]"
195
+ />
196
+ </div>
197
+ </div>
198
+ </div>
199
+
200
+ <div className="flex-shrink-0 px-3 pb-2 pt-4 sm:px-6">
201
+ <div className="flex w-fit gap-1 rounded-xl border border-[var(--border)] bg-[var(--secondary)] p-1">
202
+ <TabButton
203
+ active={activeTab === "project"}
204
+ onClick={() => setActiveTab("project")}
205
+ icon={<BrainCircuit size={14} />}
206
+ label="Project"
207
+ />
208
+ <TabButton
209
+ active={activeTab === "repos"}
210
+ onClick={() => setActiveTab("repos")}
211
+ icon={<FolderGit2 size={14} />}
212
+ label="Repositories"
213
+ />
214
+ </div>
215
+ </div>
216
+
217
+ <div className="flex-1 overflow-y-auto px-3 pb-8 sm:px-6">
218
+ {activeTab === "project" ? (
219
+ <div className="mt-2 grid grid-cols-12 gap-4 sm:gap-6">
220
+ <div className="col-span-12 lg:col-span-4 space-y-4">
221
+ <div className="rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] p-5 shadow-[var(--shadow-sm)]">
222
+ <h3 className="mb-4 text-[10px] font-black uppercase tracking-[0.2em] text-[var(--app-shell-soft-text)]">
223
+ Overview
224
+ </h3>
225
+ <div className="grid grid-cols-2 gap-3">
226
+ <StatCard label="References" value={filteredSkills.length} sub="File-backed" />
227
+ <StatCard label="Notes" value={filteredMemory.length} sub="Human-authored" />
228
+ </div>
229
+ <div className="mt-3">
230
+ <StatCard label="System Note" value={projectSystemNote?.content ? 1 : 0} sub="Living doc" />
231
+ </div>
232
+ </div>
233
+ </div>
234
+
235
+ <div className="col-span-12 lg:col-span-8 space-y-4">
236
+ <section className="rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] p-5 shadow-[var(--shadow-sm)]">
237
+ <div className="mb-4">
238
+ <h2 className="flex items-center gap-2 text-sm font-semibold text-[var(--foreground)]">
239
+ <BrainCircuit size={16} className="text-[var(--primary)]" />
240
+ Living Project Note
241
+ </h2>
242
+ <p className="mt-1 text-xs text-[var(--muted-foreground)]">
243
+ Auto-maintained project knowledge. It updates in place instead of creating review candidates.
244
+ </p>
245
+ </div>
246
+ <SystemNoteCard
247
+ content={projectNoteMatches ? projectSystemNote?.content ?? "" : ""}
248
+ emptyLabel={searchQuery ? "No matching project note content." : "No project note yet."}
249
+ updatedAt={projectSystemNote?.updated_at ?? projectSystemNote?.created_at}
250
+ summary={projectSystemNote?.source}
251
+ />
252
+ </section>
253
+
254
+ <section className="rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] p-5 shadow-[var(--shadow-sm)]">
255
+ <div className="mb-4">
256
+ <h2 className="flex items-center gap-2 text-sm font-semibold text-[var(--foreground)]">
257
+ <FileText size={16} className="text-[var(--primary)]" />
258
+ Human-Authored References
259
+ </h2>
260
+ <p className="mt-1 text-xs text-[var(--muted-foreground)]">
261
+ File-backed project knowledge for project-specific instructions.
262
+ </p>
263
+ </div>
264
+
265
+ {filteredSkills.length > 0 && (
266
+ <div className="mb-4 grid grid-cols-1 gap-2 md:grid-cols-2">
267
+ {filteredSkills.map((skill) => (
268
+ <div
269
+ key={skill.id}
270
+ className="group flex items-start gap-3 rounded-xl border border-[var(--border)] bg-[var(--secondary)] p-3"
271
+ >
272
+ <div className="flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg bg-[var(--primary-muted)]">
273
+ <FileText size={14} className="text-[var(--primary)]" />
274
+ </div>
275
+ <div className="min-w-0 flex-1">
276
+ <div className="truncate break-all font-mono text-xs text-[var(--secondary-foreground)]">
277
+ {skill.file}
278
+ </div>
279
+ {skill.condition && (
280
+ <div className="mt-0.5 text-[11px] text-[var(--muted-foreground)]">{skill.condition}</div>
281
+ )}
282
+ </div>
283
+ <button
284
+ type="button"
285
+ onClick={() => void removeSkill(skill.id)}
286
+ className="rounded-lg p-1.5 text-[var(--app-shell-soft-text)] opacity-0 transition-all group-hover:opacity-100 hover:bg-[var(--card-bg)] hover:text-red-500"
287
+ aria-label="Remove reference"
288
+ >
289
+ <Trash2 className="h-3.5 w-3.5" />
290
+ </button>
291
+ </div>
292
+ ))}
293
+ </div>
294
+ )}
295
+
296
+ {showAddReference ? (
297
+ <div className="space-y-2 rounded-xl border border-[var(--border)] bg-[var(--secondary)] p-3">
298
+ <input
299
+ type="text"
300
+ value={newKnowledgeFile}
301
+ onChange={(event) => setNewKnowledgeFile(event.target.value)}
302
+ placeholder="path/to/project-knowledge.md"
303
+ className="w-full rounded-lg border border-[var(--border)] bg-[var(--card-bg)] px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:border-[var(--primary)]"
304
+ autoFocus
305
+ />
306
+ <input
307
+ type="text"
308
+ value={newKnowledgeCondition}
309
+ onChange={(event) => setNewKnowledgeCondition(event.target.value)}
310
+ placeholder="Optional condition"
311
+ className="w-full rounded-lg border border-[var(--border)] bg-[var(--card-bg)] px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:border-[var(--primary)]"
312
+ />
313
+ <div className="flex items-center justify-end gap-2">
314
+ <button
315
+ type="button"
316
+ onClick={() => {
317
+ setShowAddReference(false);
318
+ setNewKnowledgeFile("");
319
+ setNewKnowledgeCondition("");
320
+ }}
321
+ className="px-3 py-1.5 text-xs text-[var(--muted-foreground)]"
322
+ >
323
+ Cancel
324
+ </button>
325
+ <button
326
+ type="button"
327
+ onClick={async () => {
328
+ const file = newKnowledgeFile.trim();
329
+ if (!file) return;
330
+ await addSkill(file, newKnowledgeCondition.trim() || undefined);
331
+ setNewKnowledgeFile("");
332
+ setNewKnowledgeCondition("");
333
+ setShowAddReference(false);
334
+ }}
335
+ className="inline-flex items-center gap-1.5 rounded-lg bg-[var(--primary)] px-3 py-1.5 text-xs font-medium text-[var(--primary-foreground)]"
336
+ >
337
+ <Plus className="h-3.5 w-3.5" />
338
+ Add
339
+ </button>
340
+ </div>
341
+ </div>
342
+ ) : (
343
+ <button
344
+ type="button"
345
+ onClick={() => setShowAddReference(true)}
346
+ className="group flex w-full items-center justify-center gap-2 rounded-xl border-2 border-dashed border-[var(--border)] py-3 text-sm text-[var(--muted-foreground)] transition-all hover:bg-[var(--secondary)] hover:text-[var(--foreground)]"
347
+ >
348
+ <Plus size={16} className="transition-transform group-hover:scale-110" />
349
+ Add Reference
350
+ </button>
351
+ )}
352
+ </section>
353
+
354
+ <section className="rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] p-5 shadow-[var(--shadow-sm)]">
355
+ <div className="mb-4">
356
+ <h2 className="flex items-center gap-2 text-sm font-semibold text-[var(--foreground)]">
357
+ <MessageSquare size={16} className="text-[var(--primary)]" />
358
+ Project Notes
359
+ </h2>
360
+ <p className="mt-1 text-xs text-[var(--muted-foreground)]">
361
+ Human-authored coordination notes.
362
+ </p>
363
+ </div>
364
+
365
+ {filteredMemory.length > 0 && (
366
+ <div className="mb-4 space-y-2">
367
+ {filteredMemory.map((memory) => (
368
+ <NoteCard
369
+ key={memory.id}
370
+ content={memory.content}
371
+ source={memory.source || "project"}
372
+ time={new Date(memory.created_at).toLocaleString()}
373
+ onDelete={() => void deleteMemory(memory.id)}
374
+ />
375
+ ))}
376
+ </div>
377
+ )}
378
+
379
+ <div className="relative">
380
+ <textarea
381
+ value={newKnowledgeNote}
382
+ onChange={(event) => setNewKnowledgeNote(event.target.value)}
383
+ placeholder="Add a new project note..."
384
+ rows={3}
385
+ className="w-full resize-none rounded-xl border border-[var(--border)] bg-[var(--secondary)] px-4 py-3 text-sm focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:border-[var(--primary)]"
386
+ />
387
+ {newKnowledgeNote.trim() && (
388
+ <button
389
+ type="button"
390
+ onClick={async () => {
391
+ const content = newKnowledgeNote.trim();
392
+ if (!content) return;
393
+ await addMemory(content, "human-authored");
394
+ setNewKnowledgeNote("");
395
+ }}
396
+ className="absolute bottom-3 right-3 rounded-lg bg-[var(--primary)] px-3 py-1.5 text-xs font-medium text-[var(--primary-foreground)]"
397
+ >
398
+ Save Note
399
+ </button>
400
+ )}
401
+ </div>
402
+ </section>
403
+ </div>
404
+ </div>
405
+ ) : (
406
+ <div className="mt-2 space-y-4">
407
+ {filteredRepos.length === 0 ? (
408
+ <div className="rounded-2xl border border-dashed border-[var(--border)] px-6 py-12 text-center">
409
+ <FolderGit2 size={32} className="mx-auto mb-3 text-[var(--app-shell-soft-text)]" />
410
+ <p className="text-sm text-[var(--muted-foreground)]">
411
+ {currentProject.repos.length === 0 ? "This project has no repos attached yet." : "No matching repositories."}
412
+ </p>
413
+ </div>
414
+ ) : (
415
+ <div className="grid grid-cols-1 gap-4 xl:grid-cols-2">
416
+ {filteredRepos.map((repo) => (
417
+ <RepoCard
418
+ key={repo.id}
419
+ repo={repo}
420
+ draft={repoDrafts[repo.id] ?? ""}
421
+ systemNote={repoSystemNotes[repo.id] ?? null}
422
+ onDraftChange={(value) => setRepoDrafts((prev) => ({ ...prev, [repo.id]: value }))}
423
+ onSave={async () => {
424
+ await fetch(`/api/repos/${repo.id}/knowledge`, {
425
+ method: "PUT",
426
+ headers: { "Content-Type": "application/json" },
427
+ body: JSON.stringify({
428
+ producer: "human",
429
+ content: repoDrafts[repo.id] ?? "",
430
+ }),
431
+ }).then(async (res) => {
432
+ if (!res.ok) {
433
+ const body = await res.json().catch(() => ({}));
434
+ throw new Error(body.error || "Failed to save");
435
+ }
436
+ });
437
+ }}
438
+ />
439
+ ))}
440
+ </div>
441
+ )}
442
+ </div>
443
+ )}
444
+ </div>
445
+ </div>
446
+ );
447
+ }
448
+
449
+ function TabButton({
450
+ active,
451
+ onClick,
452
+ icon,
453
+ label,
454
+ }: {
455
+ active: boolean;
456
+ onClick: () => void;
457
+ icon: React.ReactNode;
458
+ label: string;
459
+ }) {
460
+ return (
461
+ <button
462
+ onClick={onClick}
463
+ className={`flex items-center gap-2 rounded-lg px-4 py-1.5 text-xs font-semibold transition-all ${
464
+ active
465
+ ? "bg-[var(--card-bg)] text-[var(--foreground)] shadow-[var(--shadow-sm)] ring-1 ring-[var(--border)]"
466
+ : "text-[var(--muted-foreground)] hover:text-[var(--foreground)]"
467
+ }`}
468
+ >
469
+ {icon}
470
+ {label}
471
+ </button>
472
+ );
473
+ }
474
+
475
+ function StatCard({ label, value, sub }: { label: string; value: number; sub: string }) {
476
+ return (
477
+ <div className="flex flex-col rounded-xl border border-[var(--border)] bg-[var(--secondary)] p-4">
478
+ <span className="text-[10px] font-black uppercase tracking-[0.2em] text-[var(--app-shell-soft-text)]">
479
+ {label}
480
+ </span>
481
+ <span className="mt-1 text-2xl font-bold text-[var(--foreground)]">{value}</span>
482
+ <span className="mt-1 text-[10px] text-[var(--app-shell-soft-text)]">{sub}</span>
483
+ </div>
484
+ );
485
+ }
486
+
487
+ function SystemNoteCard({
488
+ content,
489
+ emptyLabel,
490
+ updatedAt,
491
+ summary,
492
+ }: {
493
+ content: string;
494
+ emptyLabel: string;
495
+ updatedAt?: string;
496
+ summary?: string;
497
+ }) {
498
+ if (!content.trim()) {
499
+ return (
500
+ <div className="rounded-xl border border-dashed border-[var(--border)] px-4 py-6 text-sm text-[var(--muted-foreground)]">
501
+ {emptyLabel}
502
+ </div>
503
+ );
504
+ }
505
+
506
+ return (
507
+ <div className="rounded-xl border border-[var(--border)] bg-[var(--secondary)] p-4">
508
+ <div className="mb-3 flex flex-wrap items-center gap-2 text-[11px] text-[var(--app-shell-soft-text)]">
509
+ {updatedAt ? <span>Updated {new Date(updatedAt).toLocaleString()}</span> : null}
510
+ {summary ? <span>{summary}</span> : null}
511
+ </div>
512
+ <div className="text-sm leading-relaxed text-[var(--secondary-foreground)]">
513
+ <Markdown content={content} />
514
+ </div>
515
+ </div>
516
+ );
517
+ }
518
+
519
+ function NoteCard({
520
+ content,
521
+ source,
522
+ time,
523
+ onDelete,
524
+ }: {
525
+ content: string;
526
+ source: string;
527
+ time: string;
528
+ onDelete: () => void;
529
+ }) {
530
+ return (
531
+ <div className="group rounded-xl border border-[var(--border)] bg-[var(--secondary)] p-3">
532
+ <div className="mb-1.5 flex items-center justify-between">
533
+ <div className="flex items-center gap-2">
534
+ <span className="text-[11px] font-semibold text-[var(--foreground)]">{source}</span>
535
+ <span className="text-[10px] text-[var(--app-shell-soft-text)]">{time}</span>
536
+ </div>
537
+ <button
538
+ type="button"
539
+ onClick={onDelete}
540
+ className="rounded p-1 text-[var(--app-shell-soft-text)] opacity-0 transition-all group-hover:opacity-100 hover:text-red-500"
541
+ >
542
+ <Trash2 size={12} />
543
+ </button>
544
+ </div>
545
+ <p className="text-sm leading-relaxed text-[var(--secondary-foreground)]">{content}</p>
546
+ </div>
547
+ );
548
+ }
549
+
550
+ function RepoCard({
551
+ repo,
552
+ draft,
553
+ systemNote,
554
+ onDraftChange,
555
+ onSave,
556
+ }: {
557
+ repo: { id: string; name: string; path?: string; notes?: string };
558
+ draft: string;
559
+ systemNote: SystemNote | null;
560
+ onDraftChange: (value: string) => void;
561
+ onSave: () => Promise<void>;
562
+ }) {
563
+ return (
564
+ <div className="group flex flex-col rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] p-5 shadow-[var(--shadow-sm)] transition-colors hover:border-[var(--card-hover-border)]">
565
+ <div className="mb-3 flex items-start justify-between">
566
+ <div className="flex items-center gap-3">
567
+ <div className="flex h-9 w-9 items-center justify-center rounded-xl bg-[var(--secondary)] text-[var(--muted-foreground)]">
568
+ <FolderGit2 size={20} />
569
+ </div>
570
+ <div>
571
+ <h3 className="text-sm font-semibold text-[var(--foreground)]">{repo.name}</h3>
572
+ <p className="text-[11px] text-[var(--muted-foreground)]">{repo.path || "No path set"}</p>
573
+ </div>
574
+ </div>
575
+ <button
576
+ type="button"
577
+ onClick={onSave}
578
+ className="rounded-lg border border-[var(--border)] bg-[var(--secondary)] px-3 py-1.5 text-xs font-medium"
579
+ >
580
+ Save
581
+ </button>
582
+ </div>
583
+
584
+ <div className="mb-3">
585
+ <p className="mb-2 text-[10px] font-black uppercase tracking-[0.16em] text-[var(--app-shell-soft-text)]">
586
+ Living Repo Note
587
+ </p>
588
+ <SystemNoteCard
589
+ content={systemNote?.content ?? ""}
590
+ emptyLabel="No repo note yet."
591
+ updatedAt={systemNote?.updated_at ?? systemNote?.created_at}
592
+ summary={systemNote?.source}
593
+ />
594
+ </div>
595
+
596
+ <p className="mb-2 text-[10px] font-black uppercase tracking-[0.16em] text-[var(--app-shell-soft-text)]">
597
+ Human Notes
598
+ </p>
599
+ <textarea
600
+ value={draft}
601
+ onChange={(event) => onDraftChange(event.target.value)}
602
+ rows={4}
603
+ placeholder="Architecture facts, repo conventions, commands..."
604
+ className="w-full resize-none rounded-xl border border-[var(--border)] bg-[var(--secondary)] px-3 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:border-[var(--primary)]"
605
+ />
606
+ </div>
607
+ );
608
+ }