@tablestore/tablestore-agent-cli 0.1.7 → 0.1.9

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 (621) hide show
  1. package/dist/commands/dashboard.d.ts.map +1 -1
  2. package/dist/commands/dashboard.js +173 -4
  3. package/dist/commands/dashboard.js.map +1 -1
  4. package/dist/dashboard-runtime/dashboard/.next/BUILD_ID +1 -1
  5. package/dist/dashboard-runtime/dashboard/.next/app-path-routes-manifest.json +2 -0
  6. package/dist/dashboard-runtime/dashboard/.next/build-manifest.json +5 -5
  7. package/dist/dashboard-runtime/dashboard/.next/prerender-manifest.json +3 -3
  8. package/dist/dashboard-runtime/dashboard/.next/required-server-files.json +2 -0
  9. package/dist/dashboard-runtime/dashboard/.next/routes-manifest.json +12 -0
  10. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page/build-manifest.json +2 -2
  11. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js +2 -2
  12. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  13. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  14. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page/build-manifest.json +2 -2
  15. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js +2 -2
  16. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js.nft.json +1 -1
  17. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page_client-reference-manifest.js +1 -1
  18. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page/build-manifest.json +2 -2
  19. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js +2 -2
  20. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js.nft.json +1 -1
  21. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page_client-reference-manifest.js +1 -1
  22. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page/build-manifest.json +2 -2
  23. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js +2 -2
  24. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js.nft.json +1 -1
  25. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page_client-reference-manifest.js +1 -1
  26. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page/build-manifest.json +2 -2
  27. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js +2 -2
  28. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js.nft.json +1 -1
  29. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page_client-reference-manifest.js +1 -1
  30. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page/build-manifest.json +2 -2
  31. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js +2 -2
  32. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js.nft.json +1 -1
  33. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page_client-reference-manifest.js +1 -1
  34. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page/build-manifest.json +2 -2
  35. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js +2 -2
  36. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js.nft.json +1 -1
  37. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page_client-reference-manifest.js +1 -1
  38. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page/build-manifest.json +2 -2
  39. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js +2 -2
  40. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js.nft.json +1 -1
  41. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page_client-reference-manifest.js +1 -1
  42. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page/build-manifest.json +2 -2
  43. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js +2 -2
  44. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js.nft.json +1 -1
  45. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page_client-reference-manifest.js +1 -1
  46. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page/build-manifest.json +2 -2
  47. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js +2 -2
  48. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js.nft.json +1 -1
  49. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page_client-reference-manifest.js +1 -1
  50. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page/build-manifest.json +2 -2
  51. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js +2 -2
  52. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
  53. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
  54. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page/build-manifest.json +2 -2
  55. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js +2 -2
  56. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js.nft.json +1 -1
  57. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page_client-reference-manifest.js +1 -1
  58. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page/build-manifest.json +2 -2
  59. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js +2 -2
  60. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js.nft.json +1 -1
  61. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page_client-reference-manifest.js +1 -1
  62. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page/build-manifest.json +2 -2
  63. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js +2 -2
  64. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js.nft.json +1 -1
  65. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page_client-reference-manifest.js +1 -1
  66. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page/build-manifest.json +2 -2
  67. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js +2 -2
  68. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js.nft.json +1 -1
  69. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page_client-reference-manifest.js +1 -1
  70. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page/build-manifest.json +2 -2
  71. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js +2 -2
  72. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js.nft.json +1 -1
  73. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page_client-reference-manifest.js +1 -1
  74. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page/build-manifest.json +2 -2
  75. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js +2 -2
  76. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js.nft.json +1 -1
  77. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page_client-reference-manifest.js +1 -1
  78. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page/build-manifest.json +2 -2
  79. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js +2 -2
  80. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js.nft.json +1 -1
  81. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page_client-reference-manifest.js +1 -1
  82. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page/build-manifest.json +2 -2
  83. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js +2 -2
  84. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
  85. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
  86. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page/build-manifest.json +2 -2
  87. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js +2 -2
  88. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  89. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  90. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error/page/build-manifest.json +2 -2
  91. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.html +1 -1
  92. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.rsc +1 -1
  93. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  94. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  95. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  96. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  97. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  98. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page/build-manifest.json +2 -2
  99. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page.js +1 -1
  100. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -1
  101. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  102. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
  103. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +20 -19
  104. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +20 -19
  105. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
  106. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +10 -9
  107. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  108. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  109. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  110. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js +2 -2
  111. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js.nft.json +1 -1
  112. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js +2 -2
  113. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
  114. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js +2 -2
  115. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
  116. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js +2 -2
  117. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
  118. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js +2 -2
  119. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
  120. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js +2 -2
  121. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
  122. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js +2 -2
  123. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
  124. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js +2 -2
  125. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
  126. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js +2 -2
  127. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
  128. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js +2 -2
  129. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
  130. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js +2 -2
  131. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
  132. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js +2 -2
  133. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
  134. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js +2 -2
  135. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
  136. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js +2 -2
  137. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
  138. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js +2 -2
  139. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
  140. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js +2 -2
  141. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
  142. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js +2 -2
  143. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
  144. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js +2 -2
  145. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
  146. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js +2 -2
  147. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
  148. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route/app-paths-manifest.json +3 -0
  149. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route/build-manifest.json +9 -0
  150. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route/server-reference-manifest.json +4 -0
  151. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js +6 -0
  152. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.map +5 -0
  153. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -0
  154. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route_client-reference-manifest.js +3 -0
  155. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js +2 -2
  156. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
  157. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js +2 -2
  158. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
  159. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js +2 -2
  160. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
  161. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js +2 -2
  162. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
  163. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js +2 -2
  164. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
  165. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js +2 -2
  166. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
  167. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js +2 -2
  168. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
  169. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route/app-paths-manifest.json +3 -0
  170. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route/build-manifest.json +9 -0
  171. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route/server-reference-manifest.json +4 -0
  172. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js +6 -0
  173. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.map +5 -0
  174. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -0
  175. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route_client-reference-manifest.js +3 -0
  176. package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
  177. package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +19 -18
  178. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  179. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_full.segment.rsc +19 -18
  180. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_head.segment.rsc +3 -3
  181. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_index.segment.rsc +10 -9
  182. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  183. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page/build-manifest.json +2 -2
  184. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page.js +1 -1
  185. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page.js.nft.json +1 -1
  186. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  187. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
  188. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +23 -22
  189. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +23 -22
  190. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_head.segment.rsc +3 -3
  191. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_index.segment.rsc +10 -9
  192. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  193. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  194. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding.segment.rsc +4 -4
  195. package/dist/dashboard-runtime/dashboard/.next/server/app/page/build-manifest.json +2 -2
  196. package/dist/dashboard-runtime/dashboard/.next/server/app/page.js +1 -1
  197. package/dist/dashboard-runtime/dashboard/.next/server/app/page.js.nft.json +1 -1
  198. package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  199. package/dist/dashboard-runtime/dashboard/.next/server/app-paths-manifest.json +2 -0
  200. package/dist/dashboard-runtime/dashboard/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0n~ec7s.js +6 -6
  201. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.gylau._.js +3 -0
  202. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.hvkwy._.js +3 -0
  203. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.qtdn4._.js +3 -0
  204. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__02p1x3t._.js +3 -0
  205. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04dd04u._.js +3 -0
  206. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04ujbw-._.js +3 -0
  207. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04zbudf._.js +3 -0
  208. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__05eryp~._.js +3 -0
  209. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__06fva9g._.js +3 -0
  210. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0byveuc._.js +3 -0
  211. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cee_lo._.js +3 -0
  212. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cyd2qb._.js +3 -0
  213. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ecs-9r._.js +3 -0
  214. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ejcow5._.js +3 -0
  215. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0fglxiw._.js +3 -0
  216. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0i1_p1s._.js +3 -0
  217. package/dist/dashboard-runtime/dashboard/.next/server/chunks/{[root-of-the-server]__0f990w9._.js → [root-of-the-server]__0lvi0g-._.js} +14 -12
  218. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0no9qm0._.js +3 -0
  219. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0q9fgt6._.js +3 -0
  220. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0rx9hon._.js +3 -0
  221. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0w_ig2a._.js +3 -0
  222. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0zmo~nd._.js +3 -0
  223. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__11s_zx6._.js +3 -0
  224. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__11wq90l._.js +3 -0
  225. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__126srko._.js +3 -0
  226. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12e1t6o._.js +3 -0
  227. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12ylr4n._.js +3 -0
  228. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13g_f9w._.js +3 -0
  229. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13~-fxp._.js +3 -0
  230. package/dist/dashboard-runtime/dashboard/.next/server/chunks/dashboard__next-internal_server_app_api_v1_logs_client_route_actions_0tnhyc7.js +3 -0
  231. package/dist/dashboard-runtime/dashboard/.next/server/chunks/dashboard__next-internal_server_app_api_v1_runtime_context_route_actions_0d9d6g_.js +3 -0
  232. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0b1r_app_(dashboard)_knowledge-base_[name]_documents_documents-client_tsx_0g2uxmt._.js +2 -2
  233. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0e95_src_app_(dashboard)_knowledge-base_[name]_settings_settings-client_tsx_13312zk._.js +1 -1
  234. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0p91_next_dist_shared_lib_deployment-id_0uu7yq4.js +3 -0
  235. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[externals]__0tqph4u._.js +3 -0
  236. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0_r24-c._.js +3 -0
  237. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0aqzu8w._.js +3 -0
  238. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0jb9ccl._.js +3 -0
  239. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__10rkv6z._.js +3 -0
  240. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__11yei-s._.js +3 -0
  241. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0hm68~i._.js → _0303qx7._.js} +2 -2
  242. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_03cxnik._.js +3 -0
  243. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_04f2u4t._.js +3 -0
  244. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_06l.12l._.js +1 -1
  245. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_09eom0_._.js +3 -0
  246. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_09yzbcp._.js +1 -1
  247. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0dqi8bq._.js +3 -0
  248. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0e9y.xc._.js +1 -1
  249. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f9u8i2._.js +3 -0
  250. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0i8py_a._.js +3 -0
  251. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jlt.cx._.js +3 -0
  252. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0n5uozy._.js +3 -0
  253. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0o32d.y._.js +3 -0
  254. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0o665bf._.js +1 -1
  255. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0suxzcc._.js +3 -0
  256. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tej2s.._.js +1 -1
  257. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tyxwr3._.js +3 -0
  258. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0u9md36._.js +1 -1
  259. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0c7wecm._.js → _0v4jb2q._.js} +2 -2
  260. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0zn.ayc._.js +3 -0
  261. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13l7w34._.js +1 -1
  262. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_065m1.j._.js +1 -1
  263. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0suis9l._.js +3 -3
  264. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0y49vhd._.js +1 -1
  265. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_10dsqx~._.js +1 -1
  266. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_knowledge-base_[name]_layout-client_tsx_05momc5._.js +1 -1
  267. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_knowledge-base_create_page_tsx_0916~g-._.js +1 -1
  268. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_settings_page_tsx_0y26.xu._.js +1 -1
  269. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_units_page_tsx_0.6xnei._.js +1 -1
  270. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_error_tsx_01x7ppm._.js +1 -1
  271. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_providers_runtime-context-provider_tsx_0wmj66z._.js +3 -0
  272. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_00arje5._.js +3 -0
  273. package/dist/dashboard-runtime/dashboard/.next/server/functions-config-manifest.json +28 -1
  274. package/dist/dashboard-runtime/dashboard/.next/server/middleware-build-manifest.js +5 -5
  275. package/dist/dashboard-runtime/dashboard/.next/server/pages/404.html +1 -1
  276. package/dist/dashboard-runtime/dashboard/.next/server/pages/500.html +1 -1
  277. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.js +1 -1
  278. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.json +1 -1
  279. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0osozgwmk692r.js → 0-etecbti5x22.js} +1 -1
  280. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-xqk6wfme5fu.js +1 -0
  281. package/dist/dashboard-runtime/dashboard/.next/static/chunks/031-scv-8sah9.js +1 -0
  282. package/dist/dashboard-runtime/dashboard/.next/static/chunks/034uozc1ki09_.js +1 -0
  283. package/dist/dashboard-runtime/dashboard/.next/static/chunks/05ow1qzcjz3pz.js +1 -0
  284. package/dist/dashboard-runtime/dashboard/.next/static/chunks/087x52iesmpfe.js +1 -0
  285. package/dist/dashboard-runtime/dashboard/.next/static/chunks/08an3157he_ad.js +1 -0
  286. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0aak.679si-3m.js +1 -0
  287. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ai8f~-9ig.gz.js +138 -0
  288. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0c5tcbhzpwen7.js +1 -0
  289. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0dheju1t18upn.js +1 -0
  290. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{07q4gw5gnh3.d.js → 0fagnytrt.3oe.js} +2 -2
  291. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ffr1_o~ss8r8.js +1 -0
  292. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{123yjh849.vzp.js → 0gjljpk5qgdmz.js} +1 -1
  293. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0h38qfpz-dmiu.js +1 -0
  294. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0l1fmyhvp-k49.js +1 -0
  295. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pcp6pjjz7o49.js +1 -0
  296. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pdq-gljpy7gd.js +1 -0
  297. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0q6-s11w9.sgo.js +1 -0
  298. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rnm58mg0whfk.js +1 -0
  299. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rxp5ykl1_lyb.js +4 -0
  300. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0th7u6qvdy3x2.js +1 -0
  301. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v_~favugkv_a.js +1 -0
  302. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x3ysmon_~xsv.js +1 -0
  303. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x7sjde5wit~i.js +1 -0
  304. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0yzz97.2e6if6.js +138 -0
  305. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~alekqkiwwaq.js +1 -0
  306. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~e2n9bhosscr.js +1 -0
  307. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~i4llb9-utpp.css +1 -0
  308. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~kfzxrhgbkaz.js +1 -0
  309. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~n-y9cstar6b.js +5 -0
  310. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14z_j1qzycpe1.js +1 -0
  311. package/dist/dashboard-runtime/dashboard/.next/static/chunks/154aheeo3m6bg.js +1 -0
  312. package/dist/dashboard-runtime/dashboard/.next/static/chunks/17k4h5zgalxqj.js +1 -0
  313. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{turbopack-0jhqjurvu9x3y.js → turbopack-0ybyy.9-.w~ub.js} +1 -1
  314. package/dist/dashboard-runtime/dashboard/components.json +20 -0
  315. package/dist/dashboard-runtime/dashboard/instrumentation-node.ts +14 -0
  316. package/dist/dashboard-runtime/dashboard/instrumentation.ts +18 -0
  317. package/dist/dashboard-runtime/dashboard/next.config.ts +56 -0
  318. package/dist/dashboard-runtime/dashboard/postcss.config.mjs +8 -0
  319. package/dist/dashboard-runtime/dashboard/server.js +1 -1
  320. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/chat/error.tsx +44 -0
  321. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/chat/loading.tsx +29 -0
  322. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/chat/page.tsx +372 -0
  323. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/error.tsx +69 -0
  324. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/documents/documents-client.tsx +22 -11
  325. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/qa/page.tsx +28 -2
  326. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/layout.tsx +75 -0
  327. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/loading.tsx +26 -0
  328. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/layout.tsx +62 -0
  329. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/messages/_helpers.ts +109 -0
  330. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/messages/page.tsx +309 -0
  331. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/page.tsx +26 -0
  332. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/_helpers.ts +234 -0
  333. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/page.tsx +323 -0
  334. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/search/page.tsx +49 -0
  335. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/settings/page.tsx +71 -0
  336. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/units/page.tsx +277 -0
  337. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/create/page.tsx +30 -0
  338. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/error.tsx +44 -0
  339. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/loading.tsx +26 -0
  340. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/page.tsx +27 -0
  341. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/projects/error.tsx +43 -0
  342. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/projects/loading.tsx +25 -0
  343. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/projects/page.tsx +174 -0
  344. package/dist/dashboard-runtime/dashboard/src/app/api/v1/auth/status/route.ts +53 -0
  345. package/dist/dashboard-runtime/dashboard/src/app/api/v1/auth/token/route.ts +113 -0
  346. package/dist/dashboard-runtime/dashboard/src/app/api/v1/instances/[name]/route.ts +196 -0
  347. package/dist/dashboard-runtime/dashboard/src/app/api/v1/instances/[name]/token/route.ts +80 -0
  348. package/dist/dashboard-runtime/dashboard/src/app/api/v1/instances/[name]/use/route.ts +91 -0
  349. package/dist/dashboard-runtime/dashboard/src/app/api/v1/instances/route.ts +274 -0
  350. package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/chunks/route.ts +3 -0
  351. package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.ts +3 -0
  352. package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.ts +3 -0
  353. package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/documents/route.ts +3 -0
  354. package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/documents/upload/route.ts +3 -0
  355. package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/retrieve/route.ts +3 -0
  356. package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/route.ts +3 -0
  357. package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/route.ts +3 -0
  358. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/route.ts +455 -0
  359. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/providers/[id]/models/route.ts +46 -0
  360. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/providers/[id]/route.ts +83 -0
  361. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/providers/[id]/test/route.ts +40 -0
  362. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/providers/route.ts +70 -0
  363. package/dist/dashboard-runtime/dashboard/src/app/api/v1/logs/client/route.ts +70 -0
  364. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/_scope.ts +84 -0
  365. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/messages/route.ts +64 -0
  366. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/requests/route.ts +65 -0
  367. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/route.ts +78 -0
  368. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/search/route.ts +49 -0
  369. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/units/[memoryId]/route.ts +126 -0
  370. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/units/route.ts +85 -0
  371. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/route.ts +60 -0
  372. package/dist/dashboard-runtime/dashboard/src/app/api/v1/runtime/context/route.ts +26 -0
  373. package/dist/dashboard-runtime/dashboard/src/app/error.tsx +84 -0
  374. package/dist/dashboard-runtime/dashboard/src/app/globals.css +262 -0
  375. package/dist/dashboard-runtime/dashboard/src/app/layout.tsx +38 -0
  376. package/dist/dashboard-runtime/dashboard/src/app/onboarding/error.tsx +54 -0
  377. package/dist/dashboard-runtime/dashboard/src/app/onboarding/layout.tsx +18 -0
  378. package/dist/dashboard-runtime/dashboard/src/app/onboarding/page.tsx +62 -0
  379. package/dist/dashboard-runtime/dashboard/src/app/page.tsx +10 -0
  380. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-chunks-dialog.tsx +13 -4
  381. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-upload-dialog.tsx +436 -94
  382. package/dist/dashboard-runtime/dashboard/src/components/instance/connect-instance-form.tsx +10 -2
  383. package/dist/dashboard-runtime/dashboard/src/components/instance/edit-instance-dialog.tsx +6 -2
  384. package/dist/dashboard-runtime/dashboard/src/components/instance/project-card.tsx +195 -0
  385. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-card.tsx +8 -5
  386. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-header.tsx +18 -10
  387. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-list.tsx +6 -1
  388. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar.tsx +90 -0
  389. package/dist/dashboard-runtime/dashboard/src/components/logging/client-error-reporter.tsx +59 -0
  390. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-header.tsx +8 -12
  391. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-list.tsx +6 -1
  392. package/dist/dashboard-runtime/dashboard/src/components/qa/markdown.tsx +77 -0
  393. package/dist/dashboard-runtime/dashboard/src/components/qa/qa-chat-panel.tsx +45 -4
  394. package/dist/dashboard-runtime/dashboard/src/components/qa/qa-message.tsx +636 -36
  395. package/dist/dashboard-runtime/dashboard/src/components/shared/confirm-dialog.tsx +8 -1
  396. package/dist/dashboard-runtime/dashboard/src/components/shared/error-state.tsx +54 -0
  397. package/dist/dashboard-runtime/dashboard/src/components/shared/refresh-button.tsx +102 -86
  398. package/dist/dashboard-runtime/dashboard/src/components/ui/badge.tsx +36 -0
  399. package/dist/dashboard-runtime/dashboard/src/components/ui/button.tsx +57 -0
  400. package/dist/dashboard-runtime/dashboard/src/components/ui/card.tsx +97 -0
  401. package/dist/dashboard-runtime/dashboard/src/components/ui/checkbox.tsx +28 -0
  402. package/dist/dashboard-runtime/dashboard/src/components/ui/collapsible.tsx +11 -0
  403. package/dist/dashboard-runtime/dashboard/src/components/ui/command.tsx +153 -0
  404. package/dist/dashboard-runtime/dashboard/src/components/ui/dialog.tsx +127 -0
  405. package/dist/dashboard-runtime/dashboard/src/components/ui/form.tsx +178 -0
  406. package/dist/dashboard-runtime/dashboard/src/components/ui/input.tsx +22 -0
  407. package/dist/dashboard-runtime/dashboard/src/components/ui/label.tsx +24 -0
  408. package/dist/dashboard-runtime/dashboard/src/components/ui/popover.tsx +34 -0
  409. package/dist/dashboard-runtime/dashboard/src/components/ui/select.tsx +162 -0
  410. package/dist/dashboard-runtime/dashboard/src/components/ui/separator.tsx +31 -0
  411. package/dist/dashboard-runtime/dashboard/src/components/ui/sheet.tsx +129 -0
  412. package/dist/dashboard-runtime/dashboard/src/components/ui/skeleton.tsx +49 -0
  413. package/dist/dashboard-runtime/dashboard/src/components/ui/slider.tsx +28 -0
  414. package/dist/dashboard-runtime/dashboard/src/components/ui/sonner.tsx +29 -0
  415. package/dist/dashboard-runtime/dashboard/src/components/ui/switch.tsx +66 -0
  416. package/dist/dashboard-runtime/dashboard/src/components/ui/table.tsx +120 -0
  417. package/dist/dashboard-runtime/dashboard/src/components/ui/tabs.tsx +69 -0
  418. package/dist/dashboard-runtime/dashboard/src/components/ui/textarea.tsx +22 -0
  419. package/dist/dashboard-runtime/dashboard/src/components/ui/tooltip.tsx +30 -0
  420. package/dist/dashboard-runtime/dashboard/src/config/navigation.ts +39 -0
  421. package/dist/dashboard-runtime/dashboard/src/hooks/use-active-instance.ts +20 -0
  422. package/dist/dashboard-runtime/dashboard/src/hooks/use-add-memory.ts +3 -4
  423. package/dist/dashboard-runtime/dashboard/src/hooks/use-chat-history.ts +212 -99
  424. package/dist/dashboard-runtime/dashboard/src/hooks/use-create-kb.ts +2 -1
  425. package/dist/dashboard-runtime/dashboard/src/hooks/use-create-llm-provider.ts +2 -3
  426. package/dist/dashboard-runtime/dashboard/src/hooks/use-create-memory-store.ts +2 -1
  427. package/dist/dashboard-runtime/dashboard/src/hooks/use-delete-documents.ts +10 -5
  428. package/dist/dashboard-runtime/dashboard/src/hooks/use-delete-kb.ts +2 -1
  429. package/dist/dashboard-runtime/dashboard/src/hooks/use-delete-llm-provider.ts +2 -3
  430. package/dist/dashboard-runtime/dashboard/src/hooks/use-delete-memory-store.ts +2 -1
  431. package/dist/dashboard-runtime/dashboard/src/hooks/use-delete-memory-unit.ts +3 -3
  432. package/dist/dashboard-runtime/dashboard/src/hooks/use-documents.ts +7 -5
  433. package/dist/dashboard-runtime/dashboard/src/hooks/use-instances.ts +38 -19
  434. package/dist/dashboard-runtime/dashboard/src/hooks/use-knowledge-base.ts +5 -2
  435. package/dist/dashboard-runtime/dashboard/src/hooks/use-knowledge-bases.ts +5 -1
  436. package/dist/dashboard-runtime/dashboard/src/hooks/use-llm-provider-models.ts +5 -2
  437. package/dist/dashboard-runtime/dashboard/src/hooks/use-llm-provider.ts +5 -2
  438. package/dist/dashboard-runtime/dashboard/src/hooks/use-llm-providers.ts +5 -1
  439. package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-messages.ts +12 -6
  440. package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-requests.ts +12 -2
  441. package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-store.ts +5 -2
  442. package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-stores.ts +5 -1
  443. package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-unit.ts +16 -2
  444. package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-units.ts +11 -2
  445. package/dist/dashboard-runtime/dashboard/src/hooks/use-qa-chat.ts +263 -58
  446. package/dist/dashboard-runtime/dashboard/src/hooks/use-update-kb.ts +3 -5
  447. package/dist/dashboard-runtime/dashboard/src/hooks/use-update-llm-provider.ts +2 -4
  448. package/dist/dashboard-runtime/dashboard/src/hooks/use-update-memory-store.ts +3 -5
  449. package/dist/dashboard-runtime/dashboard/src/hooks/use-update-memory-unit.ts +3 -2
  450. package/dist/dashboard-runtime/dashboard/src/hooks/use-upload-documents.ts +26 -7
  451. package/dist/dashboard-runtime/dashboard/src/lib/chat-message-ops.ts +76 -0
  452. package/dist/dashboard-runtime/dashboard/src/lib/constants.ts +22 -0
  453. package/dist/dashboard-runtime/dashboard/src/lib/dev-flags.ts +24 -0
  454. package/dist/dashboard-runtime/dashboard/src/lib/fonts.ts +9 -0
  455. package/dist/dashboard-runtime/dashboard/src/lib/memory.ts +69 -0
  456. package/dist/dashboard-runtime/dashboard/src/lib/normalize-oss-endpoint.ts +28 -0
  457. package/dist/dashboard-runtime/dashboard/src/lib/query-keys.ts +147 -0
  458. package/dist/dashboard-runtime/dashboard/src/lib/server/api-helpers.ts +193 -9
  459. package/dist/dashboard-runtime/dashboard/src/lib/server/chat-project-context.ts +17 -0
  460. package/dist/dashboard-runtime/dashboard/src/lib/server/runtime-context.ts +108 -0
  461. package/dist/dashboard-runtime/dashboard/src/lib/server/sdk-client.ts +250 -22
  462. package/dist/dashboard-runtime/dashboard/src/lib/utils.ts +15 -0
  463. package/dist/dashboard-runtime/dashboard/src/providers/query-provider.tsx +4 -1
  464. package/dist/dashboard-runtime/dashboard/src/providers/runtime-context-provider.tsx +237 -0
  465. package/dist/dashboard-runtime/dashboard/src/schemas/common.ts +8 -0
  466. package/dist/dashboard-runtime/dashboard/src/schemas/document.ts +28 -0
  467. package/dist/dashboard-runtime/dashboard/src/schemas/instance.ts +107 -0
  468. package/dist/dashboard-runtime/dashboard/src/schemas/llm-chat.ts +1 -0
  469. package/dist/dashboard-runtime/dashboard/src/schemas/retrieval.ts +28 -0
  470. package/dist/dashboard-runtime/dashboard/src/services/api-client.ts +138 -33
  471. package/dist/dashboard-runtime/dashboard/src/services/auth.ts +18 -0
  472. package/dist/dashboard-runtime/dashboard/src/services/chunks.ts +49 -0
  473. package/dist/dashboard-runtime/dashboard/src/services/documents.ts +208 -0
  474. package/dist/dashboard-runtime/dashboard/src/services/instances.ts +71 -0
  475. package/dist/dashboard-runtime/dashboard/src/services/memory.ts +158 -0
  476. package/dist/dashboard-runtime/dashboard/src/services/retrieval.ts +16 -0
  477. package/dist/dashboard-runtime/dashboard/src/services/runtime-context.ts +8 -0
  478. package/dist/dashboard-runtime/dashboard/src/types/api.ts +18 -0
  479. package/dist/dashboard-runtime/dashboard/src/types/instance.ts +68 -0
  480. package/dist/dashboard-runtime/dashboard/src/types/llm-chat.ts +21 -0
  481. package/dist/dashboard-runtime/dashboard/src/types/memory.ts +106 -0
  482. package/dist/dashboard-runtime/dashboard/src/types/retrieval.ts +43 -0
  483. package/dist/dashboard-runtime/dashboard/src/types/runtime-context.ts +12 -0
  484. package/dist/dashboard-runtime/dashboard/tailwind.config.ts +92 -0
  485. package/dist/dashboard-runtime/dashboard/tsconfig.json +43 -0
  486. package/dist/dashboard-runtime/dashboard/vitest.config.mjs +12 -0
  487. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts +1 -0
  488. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts.map +1 -1
  489. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js +64 -20
  490. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js.map +1 -1
  491. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts +1 -0
  492. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts.map +1 -1
  493. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js +62 -18
  494. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js.map +1 -1
  495. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  496. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/config.d.ts +1 -0
  497. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/config.d.ts.map +1 -1
  498. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/config.js +19 -0
  499. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/config.js.map +1 -1
  500. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/constants.d.ts.map +1 -1
  501. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/constants.js +4 -2
  502. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/constants.js.map +1 -1
  503. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/index.d.ts +1 -0
  504. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/index.d.ts.map +1 -1
  505. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/index.js +1 -0
  506. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/index.js.map +1 -1
  507. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/logging.d.ts +78 -0
  508. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/logging.d.ts.map +1 -0
  509. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/logging.js +398 -0
  510. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/logging.js.map +1 -0
  511. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  512. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts +1 -0
  513. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts.map +1 -1
  514. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js +64 -20
  515. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js.map +1 -1
  516. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts +1 -0
  517. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts.map +1 -1
  518. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js +62 -18
  519. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js.map +1 -1
  520. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  521. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/config.d.ts +1 -0
  522. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/config.d.ts.map +1 -1
  523. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/config.js +19 -0
  524. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/config.js.map +1 -1
  525. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/constants.d.ts.map +1 -1
  526. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/constants.js +4 -2
  527. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/constants.js.map +1 -1
  528. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/index.d.ts +1 -0
  529. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/index.d.ts.map +1 -1
  530. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/index.js +1 -0
  531. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/index.js.map +1 -1
  532. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/logging.d.ts +78 -0
  533. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/logging.d.ts.map +1 -0
  534. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/logging.js +398 -0
  535. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/logging.js.map +1 -0
  536. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  537. package/package.json +1 -1
  538. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__03742bf._.js +0 -3
  539. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__037l_3-._.js +0 -3
  540. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__05pd96o._.js +0 -3
  541. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__07jfil8._.js +0 -38
  542. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__089jtfp._.js +0 -3
  543. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__08w-nm2._.js +0 -3
  544. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0_o02fk._.js +0 -3
  545. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0b50n21._.js +0 -3
  546. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0bfezi5._.js +0 -3
  547. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0btp1y7._.js +0 -3
  548. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0fqdh7c._.js +0 -3
  549. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0g9--xh._.js +0 -3
  550. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0gqr7to._.js +0 -3
  551. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0h71~~8._.js +0 -3
  552. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0l1bgu.._.js +0 -3
  553. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0lcurm3._.js +0 -3
  554. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0n3pam7._.js +0 -3
  555. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0nkghp7._.js +0 -3
  556. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0r4amj5._.js +0 -3
  557. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0td5dey._.js +0 -3
  558. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0tsud8x._.js +0 -3
  559. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0wl_vik._.js +0 -3
  560. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0x7~7nk._.js +0 -3
  561. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0xvok7r._.js +0 -3
  562. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0~tse9o._.js +0 -3
  563. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12lk-nv._.js +0 -3
  564. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12sqoa8._.js +0 -3
  565. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0e.4_sonner_dist_index_mjs_0u2em8w._.js +0 -3
  566. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/12df_@tanstack_react-query_build_modern_0em_ajy._.js +0 -3
  567. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[externals]__0wijiwt._.js +0 -3
  568. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0i0y9.r._.js +0 -3
  569. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0nwf4e.._.js +0 -3
  570. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0r_6wpx._.js +0 -3
  571. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0y8rrcu._.js +0 -3
  572. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0-dlo4s._.js +0 -3
  573. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_00f15bk._.js +0 -3
  574. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_02e0c00._.js +0 -3
  575. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0476v7r._.js +0 -3
  576. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ct0n55._.js +0 -3
  577. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0doczxg._.js +0 -3
  578. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fg6iap._.js +0 -3
  579. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0mzxmfh._.js +0 -3
  580. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0naqa6h._.js +0 -3
  581. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ti~om_._.js +0 -3
  582. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0~s~e-0._.js +0 -3
  583. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_11fig8y._.js +0 -3
  584. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_00o55he._.js +0 -3
  585. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0qzg4vh._.js +0 -3
  586. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-mr2-dyb-szq.js +0 -1
  587. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0003a8l0skc88.js +0 -1
  588. package/dist/dashboard-runtime/dashboard/.next/static/chunks/00m4164p4ip7m.js +0 -1
  589. package/dist/dashboard-runtime/dashboard/.next/static/chunks/02b1c4t1dy1ri.js +0 -1
  590. package/dist/dashboard-runtime/dashboard/.next/static/chunks/055_bo6_3nt-s.js +0 -1
  591. package/dist/dashboard-runtime/dashboard/.next/static/chunks/06v~rjrrn4ugo.js +0 -1
  592. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07l4dodn5t6l4.js +0 -4
  593. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07v08gtfpo2yk.js +0 -1
  594. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07xvdo2w9s4~p.js +0 -1
  595. package/dist/dashboard-runtime/dashboard/.next/static/chunks/09qsmnfvk8dm3.js +0 -1
  596. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0a5ass8u78k90.js +0 -1
  597. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0gkonvtvjhg-p.js +0 -1
  598. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0hpoawl1bb10g.js +0 -1
  599. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0i5aqiffpm9jr.js +0 -1
  600. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jeb9kxtd_jq..js +0 -1
  601. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0j~63ld9lbb25.js +0 -1
  602. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0l6znnjqw.4yw.js +0 -1
  603. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0m2p301.a174k.js +0 -1
  604. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0o-c2g8y5pw-c.js +0 -1
  605. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0o0i2ke2jbdvq.js +0 -138
  606. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rywhgbu_16tm.js +0 -5
  607. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0r~6kt_pkm4di.js +0 -1
  608. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0s3mvx9_dr13c.js +0 -1
  609. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u2lo2lzizxy_.js +0 -1
  610. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v.hno.6q74nn.css +0 -1
  611. package/dist/dashboard-runtime/dashboard/.next/static/chunks/100.ax5hitxko.js +0 -1
  612. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14-39g6hwhcgn.js +0 -1
  613. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14ti2gx~1fiub.js +0 -1
  614. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14vqmdm7sosj2.js +0 -1
  615. package/dist/dashboard-runtime/dashboard/.next/static/chunks/17h~onnkksf44.js +0 -138
  616. package/dist/dashboard-runtime/dashboard/.next/static/chunks/17nx_vdk_qemm.js +0 -1
  617. package/dist/dashboard-runtime/dashboard/.next/static/chunks/1864_5-9a61tw.js +0 -1
  618. package/dist/dashboard-runtime/dashboard/.next/static/chunks/186jubvt5xyuj.js +0 -1
  619. /package/dist/dashboard-runtime/dashboard/.next/static/{wWmSSYUu4w4mIF1R_7UoM → nPPow7lCVx1fYDGH2XCxQ}/_buildManifest.js +0 -0
  620. /package/dist/dashboard-runtime/dashboard/.next/static/{wWmSSYUu4w4mIF1R_7UoM → nPPow7lCVx1fYDGH2XCxQ}/_clientMiddlewareManifest.js +0 -0
  621. /package/dist/dashboard-runtime/dashboard/.next/static/{wWmSSYUu4w4mIF1R_7UoM → nPPow7lCVx1fYDGH2XCxQ}/_ssgManifest.js +0 -0
@@ -1,13 +1,30 @@
1
1
  "use client";
2
2
 
3
- import { memo, useState } from "react";
4
- import { AlertCircle, BookOpen, Brain, ChevronDown, Search } from "lucide-react";
3
+ import { memo, useCallback, useEffect, useState } from "react";
4
+ import {
5
+ AlertCircle,
6
+ AlertTriangle,
7
+ BookOpen,
8
+ Brain,
9
+ ChevronDown,
10
+ Copy,
11
+ Pencil,
12
+ RotateCcw,
13
+ Search,
14
+ Send,
15
+ Trash2,
16
+ } from "lucide-react";
17
+ import { toast } from "sonner";
5
18
 
19
+ import { Button } from "@/components/ui/button";
20
+ import { Checkbox } from "@/components/ui/checkbox";
6
21
  import {
7
22
  Collapsible,
8
23
  CollapsibleContent,
9
24
  CollapsibleTrigger,
10
25
  } from "@/components/ui/collapsible";
26
+ import { Textarea } from "@/components/ui/textarea";
27
+ import { ConfirmDialog } from "@/components/shared/confirm-dialog";
11
28
  import { cn } from "@/lib/utils";
12
29
  import type {
13
30
  ChatMessage,
@@ -19,48 +36,467 @@ import { Markdown } from "./markdown";
19
36
 
20
37
  interface QaMessageProps {
21
38
  message: ChatMessage;
39
+ /** Whether ANY turn in the session is currently streaming. All action
40
+ * buttons disable during streaming to avoid racing the message list
41
+ * against in-flight SSE flushes. */
42
+ busy: boolean;
43
+ onDelete(id: string, opts?: { withNextAssistant?: boolean }): void;
44
+ onResend(userId: string): void;
45
+ onRegenerate(assistantId: string): void;
46
+ onEditSave(userId: string, nextContent: string): void;
22
47
  }
23
48
 
24
- function QaMessageImpl({ message }: QaMessageProps) {
49
+ function QaMessageImpl({
50
+ message,
51
+ busy,
52
+ onDelete,
53
+ onResend,
54
+ onRegenerate,
55
+ onEditSave,
56
+ }: QaMessageProps) {
25
57
  if (message.role === "user") {
26
- return <UserBubble content={message.content} />;
58
+ return (
59
+ <UserBubble
60
+ message={message}
61
+ busy={busy}
62
+ onDelete={onDelete}
63
+ onResend={onResend}
64
+ onEditSave={onEditSave}
65
+ />
66
+ );
27
67
  }
28
- return <AssistantBlock message={message} />;
68
+ return (
69
+ <AssistantBlock
70
+ message={message}
71
+ busy={busy}
72
+ onDelete={onDelete}
73
+ onRegenerate={onRegenerate}
74
+ />
75
+ );
29
76
  }
30
77
 
31
78
  /**
32
79
  * Memoised so that streaming a delta to message N does not re-render
33
80
  * messages 0..N-1. Reference equality on the message object is enough
34
81
  * because useQaChat replaces the touched message via map() and keeps
35
- * untouched ones identical.
82
+ * untouched ones identical. The action callbacks are stable from the
83
+ * parent (chat hook returns stable refs), so we only diff on the message
84
+ * + busy flag.
36
85
  */
37
86
  export const QaMessage = memo(
38
87
  QaMessageImpl,
39
- (prev, next) => prev.message === next.message,
88
+ (prev, next) => prev.message === next.message && prev.busy === next.busy,
40
89
  );
41
90
  QaMessage.displayName = "QaMessage";
42
91
 
43
- function UserBubble({ content }: { content: string }) {
92
+ // ---------------------------------------------------------------------------
93
+ // Hover-revealed action row + tiny button — shared by both bubble variants.
94
+ // ---------------------------------------------------------------------------
95
+
96
+ type MessageActionsProps = {
97
+ align: "left" | "right";
98
+ /** Disable all buttons (e.g. while another turn is streaming). */
99
+ disabled: boolean;
100
+ onCopy: () => void;
101
+ onDelete: () => void;
102
+ /** User-bubble specific. Falsy → button not rendered. */
103
+ onEdit?: () => void;
104
+ onResend?: () => void;
105
+ /** Assistant-bubble specific. */
106
+ onRegenerate?: () => void;
107
+ };
108
+
109
+ /**
110
+ * Hover-revealed icon row beneath a chat bubble. Default state is invisible
111
+ * (`opacity-0`) so the message list reads cleanly at rest; hover/focus on the
112
+ * parent bubble (controlled via `group-hover:` / `group-focus-within:`)
113
+ * fades the row in within 150ms — the ChatGPT/Claude convention. Mobile:
114
+ * parents add `data-touched="true"` after first tap to keep the row visible.
115
+ */
116
+ function MessageActions({
117
+ align,
118
+ disabled,
119
+ onCopy,
120
+ onDelete,
121
+ onEdit,
122
+ onResend,
123
+ onRegenerate,
124
+ }: MessageActionsProps) {
125
+ return (
126
+ <div
127
+ className={cn(
128
+ "mt-1 flex items-center gap-0.5 opacity-0 transition-opacity duration-150",
129
+ "group-hover:opacity-100 group-focus-within:opacity-100",
130
+ "group-data-[touched=true]:opacity-100",
131
+ align === "right" ? "justify-end" : "justify-start",
132
+ )}
133
+ >
134
+ <ActionButton title="复制" disabled={disabled} onClick={onCopy}>
135
+ <Copy className="h-3.5 w-3.5" />
136
+ </ActionButton>
137
+ {onEdit && (
138
+ <ActionButton title="编辑" disabled={disabled} onClick={onEdit}>
139
+ <Pencil className="h-3.5 w-3.5" />
140
+ </ActionButton>
141
+ )}
142
+ {onResend && (
143
+ <ActionButton title="重新发送" disabled={disabled} onClick={onResend}>
144
+ <Send className="h-3.5 w-3.5" />
145
+ </ActionButton>
146
+ )}
147
+ {onRegenerate && (
148
+ <ActionButton
149
+ title="重新生成"
150
+ disabled={disabled}
151
+ onClick={onRegenerate}
152
+ >
153
+ <RotateCcw className="h-3.5 w-3.5" />
154
+ </ActionButton>
155
+ )}
156
+ <ActionButton
157
+ title="删除"
158
+ disabled={disabled}
159
+ onClick={onDelete}
160
+ destructive
161
+ >
162
+ <Trash2 className="h-3.5 w-3.5" />
163
+ </ActionButton>
164
+ </div>
165
+ );
166
+ }
167
+
168
+ function ActionButton({
169
+ title,
170
+ disabled,
171
+ destructive,
172
+ onClick,
173
+ children,
174
+ }: {
175
+ title: string;
176
+ disabled: boolean;
177
+ destructive?: boolean;
178
+ onClick: () => void;
179
+ children: React.ReactNode;
180
+ }) {
181
+ return (
182
+ <Button
183
+ type="button"
184
+ variant="ghost"
185
+ size="icon"
186
+ title={title}
187
+ aria-label={title}
188
+ disabled={disabled}
189
+ onClick={onClick}
190
+ className={cn(
191
+ "h-7 w-7 text-muted-foreground hover:text-foreground",
192
+ destructive && "hover:text-[hsl(var(--destructive))] hover:bg-[hsl(var(--destructive))]/10",
193
+ )}
194
+ >
195
+ {children}
196
+ </Button>
197
+ );
198
+ }
199
+
200
+ // ---------------------------------------------------------------------------
201
+ // In-message warning chips for non-fatal mid-flow failures (rewriter died,
202
+ // some KBs returned errors). Static — these are passive notices, not
203
+ // in-progress state, so no shimmer/pulse to compete with the brand-tinted
204
+ // thinking pill.
205
+ // ---------------------------------------------------------------------------
206
+
207
+ type TurnNoticesProps = {
208
+ rewriteFailed?: boolean;
209
+ rewriteError?: string;
210
+ failedKbCount?: number;
211
+ failedKbDetails?: Array<{ name: string; reason: string }>;
212
+ };
213
+
214
+ function TurnNotices({
215
+ rewriteFailed,
216
+ rewriteError,
217
+ failedKbCount,
218
+ failedKbDetails,
219
+ }: TurnNoticesProps) {
220
+ const hasRewrite = !!rewriteFailed;
221
+ const hasRetrieval = (failedKbCount ?? 0) > 0;
222
+ if (!hasRewrite && !hasRetrieval) return null;
223
+
44
224
  return (
45
- <div className="flex justify-end">
46
- <div className="max-w-[85%] rounded-2xl rounded-tr-sm bg-[hsl(var(--muted)/0.7)] px-4 py-2.5 text-sm leading-relaxed text-foreground whitespace-pre-wrap">
47
- {content}
225
+ <div className="space-y-1.5">
226
+ {hasRewrite && (
227
+ <NoticeChip
228
+ label="意图重写失败 · 已回退到原问题"
229
+ detail={rewriteError ?? "rewriter 返回空结果或抛错"}
230
+ />
231
+ )}
232
+ {hasRetrieval && failedKbDetails && (
233
+ <NoticeChip
234
+ label={`${failedKbCount} 个知识库检索失败`}
235
+ detail={failedKbDetails
236
+ .map((d) => `• ${d.name}: ${d.reason}`)
237
+ .join("\n")}
238
+ />
239
+ )}
240
+ </div>
241
+ );
242
+ }
243
+
244
+ function NoticeChip({ label, detail }: { label: string; detail: string }) {
245
+ const [open, setOpen] = useState(false);
246
+ return (
247
+ <div className="rounded-md border border-amber-500/30 bg-amber-500/5">
248
+ <button
249
+ type="button"
250
+ onClick={() => setOpen((v) => !v)}
251
+ className={cn(
252
+ "flex w-full items-center gap-1.5 px-2 py-1 text-xs",
253
+ "text-amber-700 hover:bg-amber-500/10 dark:text-amber-300",
254
+ )}
255
+ >
256
+ <AlertTriangle className="h-3.5 w-3.5 shrink-0" />
257
+ <span className="flex-1 text-left">{label}</span>
258
+ <ChevronDown
259
+ className={cn(
260
+ "h-3 w-3 opacity-60 transition-transform duration-150",
261
+ open && "rotate-180",
262
+ )}
263
+ />
264
+ </button>
265
+ {open && (
266
+ <pre className="border-t border-amber-500/20 px-2 py-1.5 text-[11px] leading-relaxed text-amber-700/80 dark:text-amber-300/80 whitespace-pre-wrap font-mono">
267
+ {detail}
268
+ </pre>
269
+ )}
270
+ </div>
271
+ );
272
+ }
273
+
274
+ // ---------------------------------------------------------------------------
275
+ // User bubble — copy / edit / resend / delete.
276
+ // ---------------------------------------------------------------------------
277
+
278
+ function UserBubble({
279
+ message,
280
+ busy,
281
+ onDelete,
282
+ onResend,
283
+ onEditSave,
284
+ }: {
285
+ message: ChatMessage;
286
+ busy: boolean;
287
+ onDelete: QaMessageProps["onDelete"];
288
+ onResend: QaMessageProps["onResend"];
289
+ onEditSave: QaMessageProps["onEditSave"];
290
+ }) {
291
+ const [touched, setTouched] = useState(false);
292
+ const [editing, setEditing] = useState(false);
293
+ const [draft, setDraft] = useState(message.content);
294
+ const [confirmDeleteOpen, setConfirmDeleteOpen] = useState(false);
295
+ const [confirmResendOpen, setConfirmResendOpen] = useState(false);
296
+ const [withNextAssistant, setWithNextAssistant] = useState(true);
297
+
298
+ const handleCopy = useCallback(() => {
299
+ void navigator.clipboard.writeText(message.content);
300
+ toast.success("已复制");
301
+ }, [message.content]);
302
+
303
+ const handleSaveEdit = useCallback(() => {
304
+ const trimmed = draft.trim();
305
+ if (!trimmed || trimmed === message.content) {
306
+ setEditing(false);
307
+ setDraft(message.content);
308
+ return;
309
+ }
310
+ setEditing(false);
311
+ onEditSave(message.id, trimmed);
312
+ }, [draft, message.content, message.id, onEditSave]);
313
+
314
+ const handleCancelEdit = useCallback(() => {
315
+ setDraft(message.content);
316
+ setEditing(false);
317
+ }, [message.content]);
318
+
319
+ const handleEditKeyDown = useCallback(
320
+ (e: React.KeyboardEvent<HTMLTextAreaElement>) => {
321
+ if (e.key === "Escape") {
322
+ e.preventDefault();
323
+ handleCancelEdit();
324
+ } else if (e.key === "Enter" && (e.metaKey || e.ctrlKey)) {
325
+ e.preventDefault();
326
+ handleSaveEdit();
327
+ }
328
+ },
329
+ [handleSaveEdit, handleCancelEdit],
330
+ );
331
+
332
+ return (
333
+ <div
334
+ className="group flex justify-end"
335
+ data-touched={touched ? "true" : undefined}
336
+ onClickCapture={() => setTouched(true)}
337
+ >
338
+ <div className="flex max-w-[85%] flex-col items-end">
339
+ {editing ? (
340
+ <div className="w-full max-w-2xl rounded-2xl border border-[hsl(var(--primary))] bg-[hsl(var(--background))] p-2">
341
+ <Textarea
342
+ autoFocus
343
+ value={draft}
344
+ onChange={(e) => setDraft(e.target.value)}
345
+ onKeyDown={handleEditKeyDown}
346
+ className="min-h-[80px] resize-y border-0 p-2 text-sm shadow-none focus-visible:ring-0"
347
+ />
348
+ <div className="mt-1 flex justify-end gap-2">
349
+ <Button
350
+ type="button"
351
+ variant="ghost"
352
+ size="sm"
353
+ onClick={handleCancelEdit}
354
+ >
355
+ 取消
356
+ </Button>
357
+ <Button
358
+ type="button"
359
+ size="sm"
360
+ disabled={!draft.trim() || draft.trim() === message.content}
361
+ onClick={handleSaveEdit}
362
+ >
363
+ 保存并重发
364
+ </Button>
365
+ </div>
366
+ </div>
367
+ ) : (
368
+ <div className="rounded-2xl rounded-tr-sm bg-[hsl(var(--muted)/0.7)] px-4 py-2.5 text-sm leading-relaxed text-foreground whitespace-pre-wrap">
369
+ {message.content}
370
+ </div>
371
+ )}
372
+ {!editing && (
373
+ <MessageActions
374
+ align="right"
375
+ disabled={busy}
376
+ onCopy={handleCopy}
377
+ onEdit={() => {
378
+ setDraft(message.content);
379
+ setEditing(true);
380
+ }}
381
+ onResend={() => setConfirmResendOpen(true)}
382
+ onDelete={() => setConfirmDeleteOpen(true)}
383
+ />
384
+ )}
48
385
  </div>
386
+
387
+ <ConfirmDialog
388
+ open={confirmDeleteOpen}
389
+ onOpenChange={setConfirmDeleteOpen}
390
+ title="删除此消息?"
391
+ description="该操作不可撤销。"
392
+ confirmText="删除"
393
+ variant="danger"
394
+ onConfirm={() => {
395
+ onDelete(message.id, { withNextAssistant });
396
+ setConfirmDeleteOpen(false);
397
+ }}
398
+ >
399
+ <label className="flex items-center gap-2 text-sm text-foreground">
400
+ <Checkbox
401
+ checked={withNextAssistant}
402
+ onCheckedChange={(v) => setWithNextAssistant(v === true)}
403
+ />
404
+ 同时删除下方的 AI 回复
405
+ </label>
406
+ </ConfirmDialog>
407
+
408
+ <ConfirmDialog
409
+ open={confirmResendOpen}
410
+ onOpenChange={setConfirmResendOpen}
411
+ title="重新发送此消息?"
412
+ description="将丢弃下方所有消息并重新生成回答。"
413
+ confirmText="重新发送"
414
+ onConfirm={() => {
415
+ setConfirmResendOpen(false);
416
+ onResend(message.id);
417
+ }}
418
+ />
49
419
  </div>
50
420
  );
51
421
  }
52
422
 
53
- function AssistantBlock({ message }: { message: ChatMessage }) {
423
+ function AssistantBlock({
424
+ message,
425
+ busy,
426
+ onDelete,
427
+ onRegenerate,
428
+ }: {
429
+ message: ChatMessage;
430
+ busy: boolean;
431
+ onDelete: QaMessageProps["onDelete"];
432
+ onRegenerate: QaMessageProps["onRegenerate"];
433
+ }) {
434
+ const [touched, setTouched] = useState(false);
435
+ const [confirmDeleteOpen, setConfirmDeleteOpen] = useState(false);
436
+ const [confirmRegenOpen, setConfirmRegenOpen] = useState(false);
437
+
54
438
  const isStreaming = message.status === "streaming";
55
439
  const hasError = message.status === "error";
440
+ const hasReasoningText = (message.reasoning?.length ?? 0) > 0;
441
+ const hasContent = (message.content?.length ?? 0) > 0;
442
+
443
+ // Render the pill the moment a turn is in flight, **before** any reasoning
444
+ // chunk arrives. The server's RAG path runs query rewriting (~1-3s LLM
445
+ // call) and retrieval (~0.5-2s) before opening the upstream model stream,
446
+ // so `reasoning.delta` can be 2-5s away from the user's send. Without
447
+ // this early-render the assistant area sits blank during the entire
448
+ // pre-stream gap and the latency reads as a UI bug.
449
+ //
450
+ // For non-reasoning models the pill stays visible until the first
451
+ // `content.delta` arrives — `hasContent` flipping true makes both branches
452
+ // false (no reasoning text, content present) and the pill cleanly hands
453
+ // off to the streaming text below.
454
+ const showReasoningPill = hasReasoningText || (isStreaming && !hasContent);
455
+
456
+ // Stage of the pre-reasoning phase, derived from server events that arrive
457
+ // before the model's first token. Lets the label move through「检索意图
458
+ // 提取 → 正在检索知识库 → 正在思考 → 深度思考中」instead of sitting on
459
+ // a single generic word for the multiple seconds the server spends
460
+ // rewriting and retrieving.
461
+ const intentExtracting = !!message.usingRag && !message.retrievalQuery;
462
+ const retrievalInFlight =
463
+ !!message.retrievalQuery && !message.retrievedChunks;
464
+
465
+ // Aggregate per-KB retrieval errors so the TurnNotices chip can surface
466
+ // them without forcing the user to expand the chunks panel.
467
+ const failedKbDetails = (message.retrievalGroups ?? [])
468
+ .filter((g) => g.error)
469
+ .map((g) => ({ name: g.knowledgeBaseName, reason: g.error ?? "" }));
470
+
471
+ const handleCopy = useCallback(() => {
472
+ void navigator.clipboard.writeText(message.content);
473
+ toast.success("已复制");
474
+ }, [message.content]);
56
475
 
57
476
  return (
58
- <div className="space-y-3 text-sm leading-relaxed">
59
- {/* Reasoning collapsible (only present on reasoning-capable models). */}
60
- {message.reasoning ? (
61
- <ReasoningBlock reasoning={message.reasoning} streaming={isStreaming} />
477
+ <div
478
+ className="group space-y-3 text-sm leading-relaxed"
479
+ data-touched={touched ? "true" : undefined}
480
+ onClickCapture={() => setTouched(true)}
481
+ >
482
+ {showReasoningPill ? (
483
+ <ReasoningBlock
484
+ reasoning={message.reasoning ?? ""}
485
+ streaming={isStreaming}
486
+ startedAt={message.reasoningStartedAt}
487
+ completedAt={message.reasoningCompletedAt}
488
+ intentExtracting={intentExtracting}
489
+ retrievalInFlight={retrievalInFlight}
490
+ />
62
491
  ) : null}
63
492
 
493
+ <TurnNotices
494
+ rewriteFailed={message.queryRewriteFailed}
495
+ rewriteError={message.queryRewriteError}
496
+ failedKbCount={failedKbDetails.length}
497
+ failedKbDetails={failedKbDetails}
498
+ />
499
+
64
500
  {/* Rewritten retrieval query — only shown when it differs from the
65
501
  raw user input, so first-turn questions stay clean. */}
66
502
  {message.retrievalQueryRewritten && message.retrievalQuery ? (
@@ -97,54 +533,218 @@ function AssistantBlock({ message }: { message: ChatMessage }) {
97
533
  ) : null}
98
534
  </div>
99
535
  )}
536
+
537
+ {/* Hover-revealed action row. Hidden during streaming so users can't
538
+ trigger destructive ops while SSE is mid-flush. */}
539
+ <MessageActions
540
+ align="left"
541
+ disabled={busy || isStreaming}
542
+ onCopy={handleCopy}
543
+ onRegenerate={() => setConfirmRegenOpen(true)}
544
+ onDelete={() => setConfirmDeleteOpen(true)}
545
+ />
546
+
547
+ <ConfirmDialog
548
+ open={confirmDeleteOpen}
549
+ onOpenChange={setConfirmDeleteOpen}
550
+ title="删除此回复?"
551
+ description="该操作不可撤销。"
552
+ confirmText="删除"
553
+ variant="danger"
554
+ onConfirm={() => {
555
+ onDelete(message.id);
556
+ setConfirmDeleteOpen(false);
557
+ }}
558
+ />
559
+
560
+ <ConfirmDialog
561
+ open={confirmRegenOpen}
562
+ onOpenChange={setConfirmRegenOpen}
563
+ title="重新生成此回复?"
564
+ description="将丢弃下方所有消息并重新生成。"
565
+ confirmText="重新生成"
566
+ onConfirm={() => {
567
+ setConfirmRegenOpen(false);
568
+ onRegenerate(message.id);
569
+ }}
570
+ />
100
571
  </div>
101
572
  );
102
573
  }
103
574
 
575
+ /**
576
+ * Live-ticking elapsed-seconds counter. Returns null while `start` is
577
+ * undefined (reasoning hasn't begun); freezes when `end` is set so the
578
+ * "thought for X seconds" indicator stops climbing the moment the model
579
+ * moves on. Tick cadence is 250ms — fine enough to feel live, coarse
580
+ * enough that React doesn't burn frames re-rendering a string.
581
+ */
582
+ function useElapsedMs(start?: number, end?: number): number | null {
583
+ const [now, setNow] = useState<number>(() => Date.now());
584
+ useEffect(() => {
585
+ if (!start || end) return;
586
+ const id = window.setInterval(() => setNow(Date.now()), 250);
587
+ return () => window.clearInterval(id);
588
+ }, [start, end]);
589
+ if (!start) return null;
590
+ return Math.max(0, (end ?? now) - start);
591
+ }
592
+
593
+ /** Format elapsed milliseconds for the thinking pill. While the model is
594
+ * still working the format is `mm:ss` (live counter feel); after settle it
595
+ * becomes the friendlier "X 秒" / "X 分 Y 秒" reading conversational
596
+ * agents like DeepSeek and Doubao have made the de-facto Chinese standard. */
597
+ function formatElapsed(ms: number, settled: boolean): string {
598
+ const totalSec = Math.floor(ms / 1000);
599
+ const m = Math.floor(totalSec / 60);
600
+ const s = totalSec % 60;
601
+ if (settled) {
602
+ if (m === 0) return `用时 ${s} 秒`;
603
+ return `用时 ${m} 分 ${s} 秒`;
604
+ }
605
+ return `${m}:${String(s).padStart(2, "0")}`;
606
+ }
607
+
104
608
  function ReasoningBlock({
105
609
  reasoning,
106
610
  streaming,
611
+ startedAt,
612
+ completedAt,
613
+ intentExtracting,
614
+ retrievalInFlight,
107
615
  }: {
108
616
  reasoning: string;
109
617
  streaming: boolean;
618
+ startedAt?: number;
619
+ completedAt?: number;
620
+ intentExtracting?: boolean;
621
+ retrievalInFlight?: boolean;
110
622
  }) {
111
623
  // Collapse by default; let the user opt in explicitly. Avoids the
112
624
  // distracting auto-expand while the model is still producing tokens.
113
625
  const [open, setOpen] = useState(false);
114
626
 
627
+ // Elapsed counter is anchored to the first reasoning chunk, NOT the send
628
+ // time — measuring "thought for N seconds" should exclude server-side
629
+ // pre-thinking work (query rewrite, retrieval). When startedAt is
630
+ // undefined the hook returns null, which we render as no time chip.
631
+ const elapsedMs = useElapsedMs(startedAt, completedAt);
632
+ const settled = !streaming || Boolean(completedAt);
633
+ const elapsedLabel =
634
+ elapsedMs != null ? formatElapsed(elapsedMs, settled) : null;
635
+ const active = streaming && !completedAt;
636
+ const hasReasoningText = reasoning.length > 0;
637
+
638
+ // Active label escalates as more state lands. The pre-reasoning labels are
639
+ // important: without them, RAG turns sit on a single label for several
640
+ // seconds before any model token arrives, which reads as a hang.
641
+ //
642
+ // Order matters — the most specific (and earliest-firing) state wins:
643
+ // intent → server is running the rewriter LLM (RAG turns only)
644
+ // retrieve → KB queries are in-flight
645
+ // thinking → retrieval done, model preparing first token
646
+ // deep → reasoning tokens are streaming
647
+ let activeLabel = "正在思考";
648
+ if (hasReasoningText) {
649
+ activeLabel = "深度思考中";
650
+ } else if (retrievalInFlight) {
651
+ activeLabel = "正在检索知识库";
652
+ } else if (intentExtracting) {
653
+ activeLabel = "检索意图提取";
654
+ }
655
+
115
656
  return (
116
657
  <Collapsible open={open} onOpenChange={setOpen}>
117
658
  <CollapsibleTrigger asChild>
118
659
  <button
119
660
  type="button"
661
+ // A pill with no body to expand should not pretend to be expandable
662
+ // — disable the trigger and drop the chevron until reasoning text
663
+ // actually exists.
664
+ disabled={!hasReasoningText}
120
665
  className={cn(
121
- "inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium",
122
- "text-muted-foreground transition-colors hover:bg-[hsl(var(--accent))] hover:text-foreground",
666
+ // Pill chrome: rounded-full with proportional padding, sitting on
667
+ // a soft tinted backdrop. The active state turns the backdrop
668
+ // primary-tinted with a hairline ring so the badge clearly reads
669
+ // as "live", matching the convention popularised by Claude and
670
+ // DeepSeek for in-progress reasoning.
671
+ "group inline-flex items-center gap-2 rounded-full pl-1.5 pr-2.5 py-1 text-xs font-medium transition-all duration-200",
672
+ active
673
+ ? "bg-[hsl(var(--primary)/0.08)] text-[hsl(var(--primary))] ring-1 ring-[hsl(var(--primary)/0.25)] shadow-[0_0_0_4px_hsl(var(--primary)/0.06)]"
674
+ : "bg-[hsl(var(--muted)/0.6)] text-muted-foreground hover:bg-[hsl(var(--accent))] hover:text-foreground",
675
+ // Don't show the disabled cursor on the no-content active pill —
676
+ // it correctly conveys "this isn't clickable yet" without making
677
+ // the live indicator feel broken.
678
+ !hasReasoningText && "cursor-default",
123
679
  )}
680
+ aria-live={active ? "polite" : "off"}
124
681
  >
125
- <Brain className="h-3.5 w-3.5" />
126
- {streaming ? (
127
- // Claude-style shimmer: a gradient sweeps across the text to
128
- // convey "thinking in progress" without being distracting.
129
- <span className="animate-text-shimmer bg-[linear-gradient(90deg,hsl(var(--muted-foreground))_0%,hsl(var(--foreground))_50%,hsl(var(--muted-foreground))_100%)] bg-[length:200%_100%] bg-clip-text text-transparent">
130
- 深度思考中
682
+ {/*
683
+ Brain avatar with an aurora halo. The halo is a separate blurred
684
+ element behind the icon so its scale-and-fade animation can run
685
+ independently of the icon's own breathing pulse — composing two
686
+ transforms on the same element would force them to share a
687
+ transform property.
688
+ */}
689
+ <span className="relative inline-flex h-5 w-5 items-center justify-center">
690
+ {active && (
691
+ <span
692
+ aria-hidden
693
+ className="absolute inset-0 rounded-full bg-[hsl(var(--primary))] opacity-40 blur-[6px] animate-thinking-aurora"
694
+ />
695
+ )}
696
+ <Brain
697
+ className={cn(
698
+ "relative h-3.5 w-3.5",
699
+ active && "animate-thinking-icon text-[hsl(var(--primary))]",
700
+ )}
701
+ />
702
+ </span>
703
+
704
+ {active ? (
705
+ // Brand-tinted shimmer band sweeping through neutral text. Much
706
+ // higher contrast than the previous muted→foreground gradient,
707
+ // so the motion actually reads at a glance. The label text still
708
+ // stays legible because the gradient stops keep the bookends
709
+ // saturated rather than transparent.
710
+ <span className="animate-text-shimmer bg-[linear-gradient(90deg,hsl(var(--primary)/0.55)_0%,hsl(var(--primary))_50%,hsl(var(--primary)/0.55)_100%)] bg-[length:200%_100%] bg-clip-text text-transparent">
711
+ {activeLabel}
131
712
  </span>
132
713
  ) : (
133
- "深度思考"
714
+ <span>已深度思考</span>
715
+ )}
716
+
717
+ {elapsedLabel && (
718
+ <span
719
+ className={cn(
720
+ "tabular-nums text-[11px]",
721
+ active
722
+ ? "text-[hsl(var(--primary)/0.75)]"
723
+ : "text-muted-foreground/80",
724
+ )}
725
+ >
726
+ · {elapsedLabel}
727
+ </span>
728
+ )}
729
+
730
+ {hasReasoningText && (
731
+ <ChevronDown
732
+ className={cn(
733
+ "h-3 w-3 opacity-60 transition-transform duration-200",
734
+ open && "rotate-180",
735
+ active && "text-[hsl(var(--primary))]",
736
+ )}
737
+ />
134
738
  )}
135
- <ChevronDown
136
- className={cn(
137
- "h-3 w-3 transition-transform duration-200",
138
- open && "rotate-180",
139
- )}
140
- />
141
739
  </button>
142
740
  </CollapsibleTrigger>
143
- <CollapsibleContent>
144
- <div className="mt-2 border-l-2 border-[hsl(var(--border))] pl-3 text-xs leading-relaxed text-muted-foreground whitespace-pre-wrap">
145
- {reasoning}
146
- </div>
147
- </CollapsibleContent>
741
+ {hasReasoningText && (
742
+ <CollapsibleContent>
743
+ <div className="mt-2 border-l-2 border-[hsl(var(--border))] pl-3 text-xs leading-relaxed text-muted-foreground whitespace-pre-wrap">
744
+ {reasoning}
745
+ </div>
746
+ </CollapsibleContent>
747
+ )}
148
748
  </Collapsible>
149
749
  );
150
750
  }