@tablestore/tablestore-agent-cli 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/dist/dashboard-runtime/dashboard/.next/BUILD_ID +1 -1
  2. package/dist/dashboard-runtime/dashboard/.next/build-manifest.json +3 -3
  3. package/dist/dashboard-runtime/dashboard/.next/prerender-manifest.json +3 -3
  4. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js +1 -1
  5. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  6. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  7. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js +1 -1
  8. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js.nft.json +1 -1
  9. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page_client-reference-manifest.js +1 -1
  10. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js +1 -1
  11. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js.nft.json +1 -1
  12. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page_client-reference-manifest.js +1 -1
  13. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js +1 -1
  14. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js.nft.json +1 -1
  15. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page_client-reference-manifest.js +1 -1
  16. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js +1 -1
  17. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js.nft.json +1 -1
  18. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page_client-reference-manifest.js +1 -1
  19. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js +1 -1
  20. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js.nft.json +1 -1
  21. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page_client-reference-manifest.js +1 -1
  22. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js +1 -1
  23. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js.nft.json +1 -1
  24. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page_client-reference-manifest.js +1 -1
  25. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js +1 -1
  26. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js.nft.json +1 -1
  27. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page_client-reference-manifest.js +1 -1
  28. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js +1 -1
  29. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js.nft.json +1 -1
  30. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page_client-reference-manifest.js +1 -1
  31. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js +2 -2
  32. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js.nft.json +1 -1
  33. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page_client-reference-manifest.js +1 -1
  34. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js +1 -1
  35. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
  36. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
  37. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js +1 -1
  38. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js.nft.json +1 -1
  39. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page_client-reference-manifest.js +1 -1
  40. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js +1 -1
  41. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js.nft.json +1 -1
  42. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page_client-reference-manifest.js +1 -1
  43. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page/react-loadable-manifest.json +1 -1
  44. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js +1 -1
  45. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js.nft.json +1 -1
  46. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page_client-reference-manifest.js +1 -1
  47. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js +1 -1
  48. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js.nft.json +1 -1
  49. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page_client-reference-manifest.js +1 -1
  50. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js +1 -1
  51. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js.nft.json +1 -1
  52. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page_client-reference-manifest.js +1 -1
  53. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js +1 -1
  54. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js.nft.json +1 -1
  55. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page_client-reference-manifest.js +1 -1
  56. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js +1 -1
  57. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js.nft.json +1 -1
  58. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page_client-reference-manifest.js +1 -1
  59. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js +1 -1
  60. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
  61. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
  62. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js +1 -1
  63. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  64. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  65. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.html +1 -1
  66. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.rsc +1 -1
  67. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  68. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  69. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  70. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  71. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  72. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  73. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
  74. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +3 -3
  75. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  76. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  77. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  78. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  79. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  80. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  81. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js.nft.json +1 -1
  82. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
  83. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
  84. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
  85. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
  86. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
  87. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
  88. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
  89. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
  90. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
  91. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
  92. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
  93. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
  94. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
  95. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
  96. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
  97. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
  98. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
  99. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
  100. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -1
  101. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
  102. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
  103. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
  104. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
  105. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
  106. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
  107. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
  108. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -1
  109. package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
  110. package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +3 -3
  111. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  112. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_full.segment.rsc +3 -3
  113. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  114. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_index.segment.rsc +3 -3
  115. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  116. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page.js.nft.json +1 -1
  117. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  118. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
  119. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +5 -5
  120. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +5 -5
  121. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
  122. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_index.segment.rsc +3 -3
  123. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  124. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +2 -2
  125. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding.segment.rsc +2 -2
  126. package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  127. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0b1r_app_(dashboard)_knowledge-base_[name]_documents_documents-client_tsx_0g2uxmt._.js +2 -2
  128. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0aqzu8w._.js +1 -1
  129. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0id.4_g._.js +3 -0
  130. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0jb9ccl._.js +1 -1
  131. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0jhpb-b._.js +3 -0
  132. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0p7j-9i._.js +3 -0
  133. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0.1szyw._.js +3 -0
  134. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01-2v37._.js +3 -0
  135. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0251rsp._.js +7 -0
  136. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_038vjn1._.js +3 -0
  137. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_04f2u4t._.js +1 -1
  138. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_06tznmj._.js +3 -0
  139. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_09y~hs8._.js +3 -0
  140. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0_ow0x1._.js +3 -0
  141. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ddbh97._.js +1 -1
  142. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f4u0.1._.js +3 -0
  143. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fj8l5g._.js +3 -0
  144. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0hnw-ok._.js +3 -0
  145. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0j-q~ro._.js +3 -0
  146. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jghj2_._.js +3 -0
  147. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0l~-9i0._.js +3 -0
  148. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0mtqe24._.js +3 -0
  149. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0n4gd_6._.js +3 -0
  150. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0o665bf._.js +1 -1
  151. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0q748rf._.js +1 -1
  152. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0t373jc._.js +3 -0
  153. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0u4elhp._.js +3 -0
  154. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0vtm7dh._.js +3 -0
  155. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xdioxg._.js +3 -0
  156. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12guzbo._.js +3 -0
  157. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12r9c8h._.js +3 -0
  158. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_00ofp7q._.js +3 -0
  159. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_065m1.j._.js +1 -1
  160. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0ejgygh._.js +1 -1
  161. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0jns2ew._.js +3 -0
  162. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0o9jhcn._.js +9 -0
  163. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0xf3ffa._.js +3 -0
  164. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_error_tsx_01x7ppm._.js +1 -1
  165. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ls1exu._.js +3 -0
  166. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ugdjlb._.js +3 -0
  167. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_shared_relative-time_tsx_0b7s9rc._.js +1 -1
  168. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_ui_dropdown-menu_tsx_0c~d-fd._.js +1 -1
  169. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_ui_select_tsx_0ys.i47._.js +1 -1
  170. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0ld4qfm._.js +3 -0
  171. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_125b4co._.js +3 -0
  172. package/dist/dashboard-runtime/dashboard/.next/server/middleware-build-manifest.js +3 -3
  173. package/dist/dashboard-runtime/dashboard/.next/server/pages/404.html +1 -1
  174. package/dist/dashboard-runtime/dashboard/.next/server/pages/500.html +1 -1
  175. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.js +1 -1
  176. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.json +1 -1
  177. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-2yqm.ft6yzy.js +1 -0
  178. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-ov0wxgu5b65.js +1 -0
  179. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0.2e8ciiogw04.js +1 -0
  180. package/dist/dashboard-runtime/dashboard/.next/static/chunks/00-qnlax_4630.js +1 -0
  181. package/dist/dashboard-runtime/dashboard/.next/static/chunks/03zdsc.dicedw.js +1 -0
  182. package/dist/dashboard-runtime/dashboard/.next/static/chunks/069zf4m5f.se2.js +1 -0
  183. package/dist/dashboard-runtime/dashboard/.next/static/chunks/08e9vvmr~0bqr.js +1 -0
  184. package/dist/dashboard-runtime/dashboard/.next/static/chunks/08i99xsvs8o5s.js +1 -0
  185. package/dist/dashboard-runtime/dashboard/.next/static/chunks/08tdws.ontiw1.js +1 -0
  186. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0azwigiwuhh08.css +1 -0
  187. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0b54rtt1-cxht.js +1 -0
  188. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{154aheeo3m6bg.js → 0bpginsuceywq.js} +1 -1
  189. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0ai8f~-9ig.gz.js → 0cdo38.8y_jr2.js} +5 -5
  190. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0cto67_iw~p9z.js +1 -0
  191. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0cy.fvgx7dgqx.js +4 -0
  192. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0fa.nak91jfo-.js +1 -0
  193. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0fv6q06wgazh_.js +1 -0
  194. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0g9y74cipd10n.js +1 -0
  195. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ga6neugwmh.1.js +5 -0
  196. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0h77.bqx5ltem.js +1 -0
  197. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ix_suxk3spjj.js +1 -0
  198. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0k-x6_7dhqb~c.js +1 -0
  199. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0lrw.bnws62y9.js +1 -0
  200. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0mea2ylxe.umh.js +1 -0
  201. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0yzz97.2e6if6.js → 0n42fh.zwyk35.js} +5 -5
  202. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0dqag6qsw7xv8.js → 0px2r0l_3kp2t.js} +1 -1
  203. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0q6lk_p74rti7.js +1 -0
  204. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0t0yqi68~eil6.js +1 -0
  205. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0td9nhfbpbmyt.js +1 -0
  206. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u39cc6mmeqb3.js +1 -0
  207. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u6_s-0w8.yr..js +1 -0
  208. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0uay29z9qqouw.js +1 -0
  209. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v0e.nl_9fjba.js +1 -0
  210. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0wd0_x8u.jzur.js +1 -0
  211. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0wf-nssu2qd_2.js +1 -0
  212. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x7pw1zo7nxno.js +1 -0
  213. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{05_578ka0ga8d.js → 12pz6ag1s~te_.js} +1 -1
  214. package/dist/dashboard-runtime/dashboard/.next/static/chunks/15bzqpm440jvz.js +1 -0
  215. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/chat/page.tsx +39 -38
  216. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/error.tsx +1 -1
  217. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/documents/documents-client.tsx +0 -1
  218. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/layout-client.tsx +191 -40
  219. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/qa/page.tsx +18 -19
  220. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/retrieval/retrieval-client.tsx +8 -7
  221. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/layout.tsx +3 -10
  222. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/layout.tsx +128 -22
  223. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/search/page.tsx +15 -8
  224. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/projects/page.tsx +1 -1
  225. package/dist/dashboard-runtime/dashboard/src/app/error.tsx +1 -1
  226. package/dist/dashboard-runtime/dashboard/src/app/globals.css +115 -95
  227. package/dist/dashboard-runtime/dashboard/src/app/not-found.tsx +1 -1
  228. package/dist/dashboard-runtime/dashboard/src/app/onboarding/page.tsx +2 -2
  229. package/dist/dashboard-runtime/dashboard/src/components/chat/add-mount-row.tsx +48 -39
  230. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-chunks-dialog.tsx +49 -25
  231. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-columns.tsx +57 -46
  232. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-table.tsx +2 -4
  233. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-toolbar.tsx +1 -1
  234. package/dist/dashboard-runtime/dashboard/src/components/layout/detail-sidebar.tsx +331 -0
  235. package/dist/dashboard-runtime/dashboard/src/components/layout/help-link.tsx +58 -0
  236. package/dist/dashboard-runtime/dashboard/src/components/layout/page-header.tsx +130 -11
  237. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-instance-card.tsx +203 -0
  238. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-item.tsx +14 -11
  239. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-mobile.tsx +37 -29
  240. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-usage-stats.tsx +26 -0
  241. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar.tsx +94 -46
  242. package/dist/dashboard-runtime/dashboard/src/components/layout/theme-toggle.tsx +161 -41
  243. package/dist/dashboard-runtime/dashboard/src/components/memory/requests-histogram-chart.tsx +2 -2
  244. package/dist/dashboard-runtime/dashboard/src/components/qa/qa-chat-panel.tsx +1 -1
  245. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-form.tsx +100 -17
  246. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-rerank-fields.tsx +60 -23
  247. package/dist/dashboard-runtime/dashboard/src/components/shared/empty-state.tsx +1 -1
  248. package/dist/dashboard-runtime/dashboard/src/components/shared/error-state.tsx +1 -1
  249. package/dist/dashboard-runtime/dashboard/src/components/shared/llm-model-selector.tsx +160 -70
  250. package/dist/dashboard-runtime/dashboard/src/components/shared/relative-time.tsx +30 -6
  251. package/dist/dashboard-runtime/dashboard/src/components/ui/badge.tsx +16 -5
  252. package/dist/dashboard-runtime/dashboard/src/components/ui/button.tsx +9 -8
  253. package/dist/dashboard-runtime/dashboard/src/components/ui/card.tsx +14 -8
  254. package/dist/dashboard-runtime/dashboard/src/components/ui/chat-bubble.tsx +60 -0
  255. package/dist/dashboard-runtime/dashboard/src/components/ui/command.tsx +1 -1
  256. package/dist/dashboard-runtime/dashboard/src/components/ui/data-card.tsx +57 -0
  257. package/dist/dashboard-runtime/dashboard/src/components/ui/detail-section.tsx +40 -0
  258. package/dist/dashboard-runtime/dashboard/src/components/ui/dialog.tsx +7 -7
  259. package/dist/dashboard-runtime/dashboard/src/components/ui/dropdown-menu.tsx +6 -6
  260. package/dist/dashboard-runtime/dashboard/src/components/ui/empty-state.tsx +42 -0
  261. package/dist/dashboard-runtime/dashboard/src/components/ui/filter-pill.tsx +90 -0
  262. package/dist/dashboard-runtime/dashboard/src/components/ui/form.tsx +3 -3
  263. package/dist/dashboard-runtime/dashboard/src/components/ui/input.tsx +5 -1
  264. package/dist/dashboard-runtime/dashboard/src/components/ui/item-card.tsx +88 -0
  265. package/dist/dashboard-runtime/dashboard/src/components/ui/label.tsx +1 -1
  266. package/dist/dashboard-runtime/dashboard/src/components/ui/memory-row.tsx +63 -0
  267. package/dist/dashboard-runtime/dashboard/src/components/ui/mini-stat.tsx +48 -0
  268. package/dist/dashboard-runtime/dashboard/src/components/ui/nav-tab-bar.tsx +60 -0
  269. package/dist/dashboard-runtime/dashboard/src/components/ui/playground-shell.tsx +69 -0
  270. package/dist/dashboard-runtime/dashboard/src/components/ui/popover.tsx +1 -1
  271. package/dist/dashboard-runtime/dashboard/src/components/ui/result-row.tsx +37 -0
  272. package/dist/dashboard-runtime/dashboard/src/components/ui/scope-tag.tsx +30 -0
  273. package/dist/dashboard-runtime/dashboard/src/components/ui/select.tsx +6 -5
  274. package/dist/dashboard-runtime/dashboard/src/components/ui/sheet.tsx +4 -4
  275. package/dist/dashboard-runtime/dashboard/src/components/ui/sonner.tsx +1 -1
  276. package/dist/dashboard-runtime/dashboard/src/components/ui/stat-card.tsx +58 -0
  277. package/dist/dashboard-runtime/dashboard/src/components/ui/table.tsx +13 -6
  278. package/dist/dashboard-runtime/dashboard/src/components/ui/textarea.tsx +4 -1
  279. package/dist/dashboard-runtime/dashboard/src/components/ui/tooltip.tsx +1 -1
  280. package/dist/dashboard-runtime/dashboard/src/components/ui/usage-card.tsx +43 -0
  281. package/dist/dashboard-runtime/dashboard/src/config/navigation.ts +50 -9
  282. package/dist/dashboard-runtime/dashboard/tailwind.config.ts +47 -12
  283. package/package.json +1 -1
  284. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0-kiaf5._.js +0 -3
  285. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0_r24-c._.js +0 -3
  286. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__11yei-s._.js +0 -3
  287. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0303qx7._.js +0 -3
  288. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_06l.12l._.js +0 -3
  289. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_09eom0_._.js +0 -3
  290. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0cd.__9._.js +0 -7
  291. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0dqi8bq._.js +0 -3
  292. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0e9y.xc._.js +0 -3
  293. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f9u8i2._.js +0 -3
  294. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fbjpet._.js +0 -3
  295. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0i8py_a._.js +0 -3
  296. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jlt.cx._.js +0 -3
  297. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0n5uozy._.js +0 -3
  298. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0o32d.y._.js +0 -3
  299. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0suxzcc._.js +0 -3
  300. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tyxwr3._.js +0 -3
  301. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0u9md36._.js +0 -3
  302. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0v4jb2q._.js +0 -3
  303. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0vzw0pw._.js +0 -3
  304. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0z0rlpq._.js +0 -3
  305. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0zn.ayc._.js +0 -3
  306. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13l7w34._.js +0 -3
  307. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0o4a.29._.js +0 -3
  308. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0suis9l._.js +0 -9
  309. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_10mc58z._.js +0 -3
  310. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_knowledge-base_[name]_layout-client_tsx_05momc5._.js +0 -3
  311. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_retrieval_02c2uck._.js +0 -3
  312. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0qdd37m._.js +0 -3
  313. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_11mc1z9._.js +0 -3
  314. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-etecbti5x22.js +0 -1
  315. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-xqk6wfme5fu.js +0 -1
  316. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0.yj.t1hbwkg4.js +0 -1
  317. package/dist/dashboard-runtime/dashboard/.next/static/chunks/031-scv-8sah9.js +0 -1
  318. package/dist/dashboard-runtime/dashboard/.next/static/chunks/05ow1qzcjz3pz.js +0 -1
  319. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07iqor2nl~iqc.js +0 -1
  320. package/dist/dashboard-runtime/dashboard/.next/static/chunks/087x52iesmpfe.js +0 -1
  321. package/dist/dashboard-runtime/dashboard/.next/static/chunks/08an3157he_ad.js +0 -1
  322. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0aak.679si-3m.js +0 -1
  323. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0c5tcbhzpwen7.js +0 -1
  324. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0dheju1t18upn.js +0 -1
  325. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ffr1_o~ss8r8.js +0 -1
  326. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0h38qfpz-dmiu.js +0 -1
  327. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0l1fmyhvp-k49.js +0 -1
  328. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pcp6pjjz7o49.js +0 -1
  329. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pdq-gljpy7gd.js +0 -1
  330. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0q6-s11w9.sgo.js +0 -1
  331. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rnm58mg0whfk.js +0 -1
  332. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rxp5ykl1_lyb.js +0 -4
  333. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0sg6z8.ci0l2b.js +0 -1
  334. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v_~favugkv_a.js +0 -1
  335. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x3ysmon_~xsv.js +0 -1
  336. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x7sjde5wit~i.js +0 -1
  337. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~alekqkiwwaq.js +0 -1
  338. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~e2n9bhosscr.js +0 -1
  339. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~i4llb9-utpp.css +0 -1
  340. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~n-y9cstar6b.js +0 -5
  341. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14z_j1qzycpe1.js +0 -1
  342. package/dist/dashboard-runtime/dashboard/.next/static/chunks/17k4h5zgalxqj.js +0 -1
  343. package/dist/dashboard-runtime/dashboard/.next/static/chunks/17m1wc_o0.5iz.js +0 -1
  344. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-header.tsx +0 -91
  345. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-tab-nav.tsx +0 -62
  346. package/dist/dashboard-runtime/dashboard/src/components/layout/breadcrumb-bar.tsx +0 -115
  347. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-header.tsx +0 -46
  348. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-tab-nav.tsx +0 -54
  349. /package/dist/dashboard-runtime/dashboard/.next/static/{nPPow7lCVx1fYDGH2XCxQ → uYteIiFtKdPhUhmILps5X}/_buildManifest.js +0 -0
  350. /package/dist/dashboard-runtime/dashboard/.next/static/{nPPow7lCVx1fYDGH2XCxQ → uYteIiFtKdPhUhmILps5X}/_clientMiddlewareManifest.js +0 -0
  351. /package/dist/dashboard-runtime/dashboard/.next/static/{nPPow7lCVx1fYDGH2XCxQ → uYteIiFtKdPhUhmILps5X}/_ssgManifest.js +0 -0
@@ -1,11 +1,22 @@
1
1
  "use client";
2
2
 
3
3
  import Link from "next/link";
4
- import { ChevronLeft, ChevronRight, Database } from "lucide-react";
5
- import { sidebarNav, sidebarResources } from "@/config/navigation";
4
+ import { ChevronLeft, ChevronRight, Zap } from "lucide-react";
5
+
6
+ import { sidebarGroups } from "@/config/navigation";
6
7
  import { useSidebarCollapsed } from "@/hooks/use-sidebar-collapsed";
7
8
  import { cn } from "@/lib/utils";
9
+ import {
10
+ Tooltip,
11
+ TooltipContent,
12
+ TooltipProvider,
13
+ TooltipTrigger,
14
+ } from "@/components/ui/tooltip";
8
15
  import { SidebarItem } from "./sidebar-item";
16
+ import { SidebarInstanceCard } from "./sidebar-instance-card";
17
+ import { SidebarUsageStats } from "./sidebar-usage-stats";
18
+ import { HelpLink } from "./help-link";
19
+ import { ThemeToggle } from "./theme-toggle";
9
20
 
10
21
  export function Sidebar() {
11
22
  const { collapsed, toggle } = useSidebarCollapsed();
@@ -19,71 +30,108 @@ export function Sidebar() {
19
30
  width,
20
31
  )}
21
32
  >
22
- {/* Logo */}
33
+ {/* Brand */}
23
34
  <Link
24
35
  href="/"
25
36
  className={cn(
26
- "flex h-16 items-center gap-2 border-b border-[hsl(var(--sidebar-border))] px-4 transition-opacity hover:opacity-80",
27
- collapsed && "justify-center px-0",
37
+ "flex h-14 shrink-0 items-center gap-2.5 border-b border-[hsl(var(--sidebar-border))] transition-opacity hover:opacity-80",
38
+ collapsed ? "justify-center px-0" : "px-4",
28
39
  )}
29
40
  >
30
- <span className="flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary text-primary-foreground shadow-sm">
31
- <Database className="h-4 w-4" />
41
+ <span className="flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] shadow-sm">
42
+ <Zap className="h-4 w-4" />
32
43
  </span>
33
44
  {!collapsed && (
34
- <span className="font-display text-[15px] font-semibold tracking-tight text-foreground">
45
+ <span className="text-[15px] font-semibold tracking-tight text-[hsl(var(--foreground))]">
35
46
  Agent Storage
36
47
  </span>
37
48
  )}
38
49
  </Link>
39
50
 
40
- {/* Main navigation */}
41
- <nav className={cn("flex-1 overflow-y-auto px-3 py-4", collapsed && "px-2")}>
42
- <div className="space-y-1">
43
- {sidebarNav.map((item) => (
44
- <SidebarItem key={item.title} item={item} collapsed={collapsed} />
45
- ))}
46
- </div>
51
+ {/* Instance switcher card */}
52
+ <SidebarInstanceCard collapsed={collapsed} />
47
53
 
48
- {sidebarResources.length > 0 && (
49
- <>
50
- <div
51
- className={cn(
52
- "mt-6 mb-2 px-3 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/70",
53
- collapsed && "px-0 text-center",
54
- )}
55
- >
56
- {collapsed ? "···" : "资源"}
57
- </div>
58
- <div className="space-y-1">
59
- {sidebarResources.map((item) => (
60
- <SidebarItem key={item.title} item={item} collapsed={collapsed} />
54
+ {/* Grouped navigation */}
55
+ <nav
56
+ className={cn(
57
+ "flex-1 overflow-y-auto py-3",
58
+ collapsed ? "px-2" : "px-3",
59
+ )}
60
+ >
61
+ {sidebarGroups.map((group, groupIndex) => (
62
+ <div
63
+ key={group.title}
64
+ className={cn(groupIndex > 0 && (collapsed ? "mt-3" : "mt-4"))}
65
+ >
66
+ {!collapsed && (
67
+ <div className="mb-1.5 px-3 text-[11px] font-semibold uppercase tracking-wider text-[hsl(var(--muted-foreground))]">
68
+ {group.title}
69
+ </div>
70
+ )}
71
+ <div className={cn(collapsed ? "space-y-1" : "space-y-0.5")}>
72
+ {group.items.map((item) => (
73
+ <SidebarItem
74
+ key={item.title}
75
+ item={item}
76
+ collapsed={collapsed}
77
+ />
61
78
  ))}
62
79
  </div>
63
- </>
64
- )}
80
+ </div>
81
+ ))}
65
82
  </nav>
66
83
 
67
- {/* Footer: collapse toggle */}
68
- <div className="border-t border-[hsl(var(--sidebar-border))] p-3">
69
- <button
70
- type="button"
71
- onClick={toggle}
72
- aria-label={collapsed ? "展开侧边栏" : "收起侧边栏"}
84
+ {/* Footer: usage card + help + theme toggle + collapse */}
85
+ <div
86
+ className={cn(
87
+ "shrink-0 border-t border-[hsl(var(--sidebar-border))]",
88
+ collapsed ? "px-2 py-2" : "p-3",
89
+ )}
90
+ >
91
+ {!collapsed && (
92
+ <div className="mb-2">
93
+ <SidebarUsageStats />
94
+ </div>
95
+ )}
96
+ <div
73
97
  className={cn(
74
- "flex h-9 w-full items-center gap-2 rounded-lg px-3 text-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
75
- collapsed && "justify-center px-0",
98
+ "flex items-center",
99
+ collapsed ? "flex-col gap-1" : "justify-between gap-1",
76
100
  )}
77
101
  >
102
+ <HelpLink collapsed={collapsed} />
103
+ <ThemeToggle collapsed={collapsed} />
78
104
  {collapsed ? (
79
- <ChevronRight className="h-4 w-4" />
80
- ) : (
81
- <>
82
- <ChevronLeft className="h-4 w-4" />
83
- <span>收起</span>
84
- </>
85
- )}
86
- </button>
105
+ <TooltipProvider delayDuration={200}>
106
+ <Tooltip>
107
+ <TooltipTrigger asChild>
108
+ <button
109
+ type="button"
110
+ onClick={toggle}
111
+ aria-label="展开侧边栏"
112
+ className="flex h-8 w-8 items-center justify-center rounded-md text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]"
113
+ >
114
+ <ChevronRight className="h-4 w-4" />
115
+ </button>
116
+ </TooltipTrigger>
117
+ <TooltipContent side="right" sideOffset={8}>
118
+ 展开侧边栏
119
+ </TooltipContent>
120
+ </Tooltip>
121
+ </TooltipProvider>
122
+ ) : null}
123
+ </div>
124
+ {!collapsed && (
125
+ <button
126
+ type="button"
127
+ onClick={toggle}
128
+ aria-label="收起侧边栏"
129
+ className="mt-2 flex h-8 w-full items-center gap-2 rounded-md px-3 text-xs text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]"
130
+ >
131
+ <ChevronLeft className="h-3.5 w-3.5" />
132
+ <span>收起</span>
133
+ </button>
134
+ )}
87
135
  </div>
88
136
  </aside>
89
137
  );
@@ -1,63 +1,183 @@
1
1
  "use client";
2
2
 
3
3
  import { useEffect, useState } from "react";
4
- import { Moon, Sun } from "lucide-react";
4
+ import { Moon, Monitor, Sun } from "lucide-react";
5
5
  import { useTheme } from "@/providers/theme-provider";
6
6
  import { cn } from "@/lib/utils";
7
+ import {
8
+ Tooltip,
9
+ TooltipContent,
10
+ TooltipProvider,
11
+ TooltipTrigger,
12
+ } from "@/components/ui/tooltip";
13
+
14
+ type ThemeMode = "light" | "system" | "dark";
15
+
16
+ const MODES: ThemeMode[] = ["light", "system", "dark"];
17
+ const ICONS: Record<ThemeMode, React.ComponentType<{ className?: string }>> = {
18
+ light: Sun,
19
+ system: Monitor,
20
+ dark: Moon,
21
+ };
22
+ const LABELS: Record<ThemeMode, string> = {
23
+ light: "浅色",
24
+ system: "自动",
25
+ dark: "深色",
26
+ };
27
+
28
+ interface ThemeToggleProps {
29
+ /** When true, render the compact icon-only variant suitable for a
30
+ * collapsed sidebar (32×32 button cycling through modes). */
31
+ collapsed?: boolean;
32
+ }
7
33
 
8
34
  /**
9
- * iOS-style light/dark switch. The thumb carries the icon of the currently
10
- * active mode (sun = light, moon = dark) and slides between the two ends.
11
- * Initial state follows the OS preference; once the user toggles it the
12
- * choice is persisted by next-themes and overrides the system setting.
35
+ * Three-state theme switcher (light / system / dark) inspired by the
36
+ * segmented-control patterns used by Vercel, Linear, and GitHub. Exposes
37
+ * the "system" option explicitly so users can opt into following their
38
+ * OS preference instead of being forced to pick a manual override.
39
+ *
40
+ * Layout adapts to available space:
41
+ * - Expanded sidebar: full 3-button segmented track with icons +
42
+ * animated active thumb. Inset shadow on the track gives the
43
+ * recessed "well" look used by iOS / macOS toggle groups.
44
+ * - Collapsed sidebar: single icon button showing the *current* mode
45
+ * (resolves system → light/dark visually). Click cycles through
46
+ * light → system → dark; tooltip previews the next state so the
47
+ * compact UI is still discoverable.
13
48
  */
14
- export function ThemeToggle() {
15
- const { setTheme, resolvedTheme } = useTheme();
49
+ export function ThemeToggle({ collapsed }: ThemeToggleProps) {
50
+ const { theme, setTheme, resolvedTheme } = useTheme();
16
51
  const [mounted, setMounted] = useState(false);
17
52
 
18
53
  useEffect(() => setMounted(true), []);
19
54
 
20
- // Reserve the same footprint during SSR to avoid layout shift and the
21
- // classic next-themes hydration warning.
55
+ // Reserve identical footprint during SSR to avoid layout shift / hydration
56
+ // warnings from next-themes.
22
57
  if (!mounted) {
23
- return <div className="h-6 w-11" aria-hidden />;
58
+ return collapsed ? (
59
+ <div className="h-8 w-8" aria-hidden />
60
+ ) : (
61
+ <div className="h-8 w-[108px]" aria-hidden />
62
+ );
24
63
  }
25
64
 
26
- const isDark = resolvedTheme === "dark";
65
+ const current: ThemeMode = (theme as ThemeMode) ?? "system";
66
+
67
+ if (collapsed) {
68
+ // Collapsed: cycle through modes on click.
69
+ const nextIndex = (MODES.indexOf(current) + 1) % MODES.length;
70
+ const nextMode = MODES[nextIndex];
71
+ // Pick the icon to display: for `system`, show whichever the OS
72
+ // currently resolves to so the button always reflects the *visible*
73
+ // theme, not the abstract preference.
74
+ const displayMode: "light" | "dark" =
75
+ current === "system"
76
+ ? resolvedTheme === "dark"
77
+ ? "dark"
78
+ : "light"
79
+ : current;
80
+ const Icon = ICONS[displayMode];
81
+
82
+ return (
83
+ <TooltipProvider delayDuration={200}>
84
+ <Tooltip>
85
+ <TooltipTrigger asChild>
86
+ <button
87
+ type="button"
88
+ aria-label={`切换到 ${LABELS[nextMode]} 主题`}
89
+ data-mode={current}
90
+ onClick={() => setTheme(nextMode)}
91
+ className={cn(
92
+ "relative flex h-8 w-8 items-center justify-center rounded-md text-[hsl(var(--muted-foreground))] transition-colors",
93
+ "hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",
94
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--primary)/0.3)]",
95
+ )}
96
+ >
97
+ {/* Icon morph: rotate + scale + opacity cross-fade between
98
+ light and dark glyphs so the button itself becomes the
99
+ affordance, not a text label. The `system` state inherits
100
+ whichever glyph the OS resolves to. */}
101
+ <Sun
102
+ className={cn(
103
+ "absolute h-[18px] w-[18px] transition-all duration-300 ease-[cubic-bezier(0.34,1.56,0.64,1)]",
104
+ displayMode === "light"
105
+ ? "rotate-0 scale-100 opacity-100"
106
+ : "-rotate-90 scale-50 opacity-0",
107
+ )}
108
+ />
109
+ <Moon
110
+ className={cn(
111
+ "absolute h-[18px] w-[18px] transition-all duration-300 ease-[cubic-bezier(0.34,1.56,0.64,1)]",
112
+ displayMode === "dark"
113
+ ? "rotate-0 scale-100 opacity-100"
114
+ : "rotate-90 scale-50 opacity-0",
115
+ )}
116
+ />
117
+ {/* Tiny `system` indicator badge: a 6px monitor pip in the
118
+ bottom-right corner when current === "system" so users
119
+ can tell apart "explicitly light" from "system→light". */}
120
+ {current === "system" && (
121
+ <span
122
+ aria-hidden
123
+ className="absolute bottom-0.5 right-0.5 flex h-2.5 w-2.5 items-center justify-center rounded-full bg-[hsl(var(--card))] text-[hsl(var(--primary))] ring-1 ring-[hsl(var(--border))]"
124
+ >
125
+ <Monitor className="h-1.5 w-1.5" strokeWidth={3} />
126
+ </span>
127
+ )}
128
+ <Icon aria-hidden className="hidden" />
129
+ </button>
130
+ </TooltipTrigger>
131
+ <TooltipContent side="right" sideOffset={8}>
132
+ 主题:{LABELS[current]} · 点击切换至 {LABELS[nextMode]}
133
+ </TooltipContent>
134
+ </Tooltip>
135
+ </TooltipProvider>
136
+ );
137
+ }
27
138
 
139
+ // Expanded: full 3-button segmented control.
28
140
  return (
29
- <button
30
- type="button"
31
- role="switch"
32
- aria-checked={isDark}
33
- aria-label={isDark ? "切换到亮色模式" : "切换到暗色模式"}
34
- title={isDark ? "切换到亮色模式" : "切换到暗色模式"}
35
- data-state={isDark ? "checked" : "unchecked"}
36
- onClick={() => setTheme(isDark ? "light" : "dark")}
141
+ <div
142
+ role="radiogroup"
143
+ aria-label="主题"
37
144
  className={cn(
38
- "peer relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full transition-colors duration-200",
39
- "shadow-[inset_0_0_0_1px_rgba(0,0,0,0.04),inset_0_1px_2px_rgba(0,0,0,0.06)]",
40
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
41
- isDark
42
- ? "bg-slate-700 hover:bg-slate-600"
43
- : "bg-sky-200 hover:bg-sky-300",
145
+ "inline-flex items-center gap-0.5 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--secondary))] p-0.5",
146
+ "shadow-[inset_0_1px_2px_rgba(15,23,42,0.04)]",
44
147
  )}
45
148
  >
46
- <span
47
- aria-hidden
48
- className={cn(
49
- "pointer-events-none flex h-5 w-5 items-center justify-center rounded-full bg-white transition-transform duration-200",
50
- "shadow-[0_1px_2px_rgba(0,0,0,0.1),0_2px_6px_rgba(0,0,0,0.15)] ring-1 ring-black/5",
51
- "ease-[cubic-bezier(0.34,1.56,0.64,1)]",
52
- isDark ? "translate-x-5" : "translate-x-0.5",
53
- )}
54
- >
55
- {isDark ? (
56
- <Moon className="h-3 w-3 text-slate-700" />
57
- ) : (
58
- <Sun className="h-3 w-3 text-amber-500" />
59
- )}
60
- </span>
61
- </button>
149
+ {MODES.map((mode) => {
150
+ const Icon = ICONS[mode];
151
+ const active = current === mode;
152
+ return (
153
+ <TooltipProvider key={mode} delayDuration={300}>
154
+ <Tooltip>
155
+ <TooltipTrigger asChild>
156
+ <button
157
+ type="button"
158
+ role="radio"
159
+ aria-checked={active}
160
+ aria-label={LABELS[mode]}
161
+ data-state={active ? "on" : "off"}
162
+ onClick={() => setTheme(mode)}
163
+ className={cn(
164
+ "relative flex h-7 w-7 items-center justify-center rounded transition-all duration-200",
165
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--primary)/0.3)]",
166
+ active
167
+ ? "bg-[hsl(var(--card))] text-[hsl(var(--primary))] shadow-sm"
168
+ : "text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))]",
169
+ )}
170
+ >
171
+ <Icon className="h-3.5 w-3.5" />
172
+ </button>
173
+ </TooltipTrigger>
174
+ <TooltipContent side="top" sideOffset={6}>
175
+ {LABELS[mode]}
176
+ </TooltipContent>
177
+ </Tooltip>
178
+ </TooltipProvider>
179
+ );
180
+ })}
181
+ </div>
62
182
  );
63
183
  }
@@ -67,8 +67,8 @@ export default function RequestsHistogramChart({
67
67
  background: "var(--popover)",
68
68
  }}
69
69
  />
70
- <Bar dataKey="success" stackId="status" fill="#10b981" />
71
- <Bar dataKey="error" stackId="status" fill="#ef4444" />
70
+ <Bar dataKey="success" stackId="status" fill="hsl(var(--success))" />
71
+ <Bar dataKey="error" stackId="status" fill="hsl(var(--danger))" />
72
72
  </BarChart>
73
73
  </ResponsiveContainer>
74
74
  );
@@ -117,7 +117,7 @@ export function QaChatPanel({
117
117
  };
118
118
 
119
119
  return (
120
- <div className="flex h-full flex-col rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--surface))]">
120
+ <div className="flex h-full min-h-0 flex-1 flex-col bg-[hsl(var(--card))]">
121
121
  <div
122
122
  ref={scrollRef}
123
123
  // role=log + aria-live=polite tells screen readers that new chunks
@@ -3,7 +3,8 @@
3
3
  import { useRef, useState } from "react";
4
4
  import { useForm } from "react-hook-form";
5
5
  import { zodResolver } from "@hookform/resolvers/zod";
6
- import { Search, ChevronDown, ChevronRight } from "lucide-react";
6
+ import { Check, Code2, Copy, Search } from "lucide-react";
7
+ import { toast } from "sonner";
7
8
  import { Button } from "@/components/ui/button";
8
9
  import { Input } from "@/components/ui/input";
9
10
  import {
@@ -14,6 +15,17 @@ import {
14
15
  FormLabel,
15
16
  FormMessage,
16
17
  } from "@/components/ui/form";
18
+ import {
19
+ Popover,
20
+ PopoverContent,
21
+ PopoverTrigger,
22
+ } from "@/components/ui/popover";
23
+ import {
24
+ Tooltip,
25
+ TooltipContent,
26
+ TooltipProvider,
27
+ TooltipTrigger,
28
+ } from "@/components/ui/tooltip";
17
29
  import { type FilterBuilderHandle } from "./filter-builder";
18
30
  import { RetrievalParamsFields } from "./retrieval-params-fields";
19
31
  import { assembleRetrievalConfiguration } from "./assemble-retrieval-configuration";
@@ -99,24 +111,92 @@ export function retrievalDefaultsFromKB(
99
111
  };
100
112
  }
101
113
 
102
- function RequestPreviewPanel({ buildRequestJson }: { buildRequestJson: () => Record<string, unknown> }) {
114
+ /**
115
+ * Compact "developer tool" affordance for the retrieval form: an icon
116
+ * button at the form's top-right corner that opens a popover preview of
117
+ * the assembled request body. The user can hover for a tooltip, click to
118
+ * see the JSON, and copy it to the clipboard from the popover header.
119
+ *
120
+ * Replaces the previous inline collapsible panel that ate vertical
121
+ * space in the form column even when collapsed and read like a primary
122
+ * affordance instead of a secondary inspection helper.
123
+ */
124
+ function RequestPreviewButton({
125
+ buildRequestJson,
126
+ }: {
127
+ buildRequestJson: () => Record<string, unknown>;
128
+ }) {
103
129
  const [open, setOpen] = useState(false);
130
+ const [copied, setCopied] = useState(false);
131
+ // Snapshot the current form values whenever the popover opens so the
132
+ // displayed JSON does not flicker as the user clicks around inside it.
133
+ const json = open ? JSON.stringify(buildRequestJson(), null, 2) : "";
134
+
135
+ const handleCopy = async () => {
136
+ try {
137
+ await navigator.clipboard.writeText(json);
138
+ setCopied(true);
139
+ toast.success("已复制请求体");
140
+ setTimeout(() => setCopied(false), 1500);
141
+ } catch {
142
+ toast.error("复制失败,请手动选择");
143
+ }
144
+ };
145
+
104
146
  return (
105
- <div className="border border-[hsl(var(--border))] rounded-md overflow-hidden">
106
- <button
107
- type="button"
108
- className="flex w-full items-center gap-1 px-3 py-2 text-xs text-[hsl(var(--muted-foreground))] hover:bg-[hsl(var(--accent))]"
109
- onClick={() => setOpen((prev) => !prev)}
147
+ <Popover open={open} onOpenChange={setOpen}>
148
+ <TooltipProvider delayDuration={200}>
149
+ <Tooltip>
150
+ <TooltipTrigger asChild>
151
+ <PopoverTrigger asChild>
152
+ <Button
153
+ type="button"
154
+ variant="ghost"
155
+ size="icon"
156
+ className="h-7 w-7 text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))]"
157
+ aria-label="查看请求体"
158
+ >
159
+ <Code2 className="h-3.5 w-3.5" />
160
+ </Button>
161
+ </PopoverTrigger>
162
+ </TooltipTrigger>
163
+ <TooltipContent side="left">
164
+ 查看 / 复制请求体 JSON
165
+ </TooltipContent>
166
+ </Tooltip>
167
+ </TooltipProvider>
168
+ <PopoverContent
169
+ align="end"
170
+ sideOffset={6}
171
+ className="w-[420px] max-w-[90vw] p-0"
110
172
  >
111
- {open ? <ChevronDown className="h-3 w-3" /> : <ChevronRight className="h-3 w-3" />}
112
- 请求预览
113
- </button>
114
- {open && (
115
- <pre className="px-3 pb-3 text-xs overflow-auto max-h-60 text-[hsl(var(--foreground))]">
116
- {JSON.stringify(buildRequestJson(), null, 2)}
173
+ <div className="flex items-center justify-between border-b border-[hsl(var(--border-light))] px-3 py-2">
174
+ <span className="text-xs font-semibold text-[hsl(var(--foreground))]">
175
+ 请求体(实时预览)
176
+ </span>
177
+ <Button
178
+ type="button"
179
+ variant="ghost"
180
+ size="sm"
181
+ className="h-6 gap-1 px-2 text-xs"
182
+ onClick={handleCopy}
183
+ >
184
+ {copied ? (
185
+ <>
186
+ <Check className="h-3 w-3" /> 已复制
187
+ </>
188
+ ) : (
189
+ <>
190
+ <Copy className="h-3 w-3" /> 复制
191
+ </>
192
+ )}
193
+ </Button>
194
+ </div>
195
+ <pre className="max-h-80 overflow-auto px-3 py-2 font-mono text-[11px] leading-snug text-[hsl(var(--foreground))]">
196
+ {json}
117
197
  </pre>
118
- )}
119
- </div>
198
+ </PopoverContent>
199
+ </Popover>
120
200
  );
121
201
  }
122
202
 
@@ -153,6 +233,11 @@ export function RetrievalForm({
153
233
  onSubmit={form.handleSubmit(handleSubmit)}
154
234
  className="space-y-5"
155
235
  >
236
+ <div className="flex items-center justify-between gap-2">
237
+ <h3 className="text-base font-semibold">检索测试</h3>
238
+ <RequestPreviewButton buildRequestJson={buildRequestJson} />
239
+ </div>
240
+
156
241
  <FormField
157
242
  control={form.control}
158
243
  name="query"
@@ -181,8 +266,6 @@ export function RetrievalForm({
181
266
  filterRef={filterRef}
182
267
  />
183
268
 
184
- <RequestPreviewPanel buildRequestJson={buildRequestJson} />
185
-
186
269
  <Button type="submit" disabled={isLoading} className="w-full">
187
270
  <Search className="mr-2 h-4 w-4" />
188
271
  {isLoading ? "检索中..." : "执行检索"}