@tablestore/tablestore-agent-cli 0.2.1 → 0.2.4

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 (342) hide show
  1. package/dist/commands/kb/create.d.ts.map +1 -1
  2. package/dist/commands/kb/create.js +9 -0
  3. package/dist/commands/kb/create.js.map +1 -1
  4. package/dist/commands/kb/retrieve.d.ts.map +1 -1
  5. package/dist/commands/kb/retrieve.js +40 -3
  6. package/dist/commands/kb/retrieve.js.map +1 -1
  7. package/dist/dashboard-runtime/dashboard/.next/BUILD_ID +1 -1
  8. package/dist/dashboard-runtime/dashboard/.next/build-manifest.json +5 -5
  9. package/dist/dashboard-runtime/dashboard/.next/prerender-manifest.json +3 -3
  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.nft.json +1 -1
  12. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  13. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page/build-manifest.json +2 -2
  14. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js.nft.json +1 -1
  15. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page_client-reference-manifest.js +1 -1
  16. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page/build-manifest.json +2 -2
  17. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js.nft.json +1 -1
  18. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page_client-reference-manifest.js +1 -1
  19. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page/build-manifest.json +2 -2
  20. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js.nft.json +1 -1
  21. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page_client-reference-manifest.js +1 -1
  22. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page/build-manifest.json +2 -2
  23. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js.nft.json +1 -1
  24. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page_client-reference-manifest.js +1 -1
  25. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page/build-manifest.json +2 -2
  26. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js.nft.json +1 -1
  27. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page_client-reference-manifest.js +1 -1
  28. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page/build-manifest.json +2 -2
  29. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js.nft.json +1 -1
  30. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page_client-reference-manifest.js +1 -1
  31. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page/build-manifest.json +2 -2
  32. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js.nft.json +1 -1
  33. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page_client-reference-manifest.js +1 -1
  34. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page/build-manifest.json +2 -2
  35. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js.nft.json +1 -1
  36. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page_client-reference-manifest.js +1 -1
  37. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page/build-manifest.json +2 -2
  38. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js.nft.json +1 -1
  39. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page_client-reference-manifest.js +1 -1
  40. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page/build-manifest.json +2 -2
  41. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
  42. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
  43. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page/build-manifest.json +2 -2
  44. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js.nft.json +1 -1
  45. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page_client-reference-manifest.js +1 -1
  46. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page/build-manifest.json +2 -2
  47. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js.nft.json +1 -1
  48. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page_client-reference-manifest.js +1 -1
  49. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page/build-manifest.json +2 -2
  50. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js.nft.json +1 -1
  51. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page_client-reference-manifest.js +1 -1
  52. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page/build-manifest.json +2 -2
  53. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js.nft.json +1 -1
  54. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page_client-reference-manifest.js +1 -1
  55. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page/build-manifest.json +2 -2
  56. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js.nft.json +1 -1
  57. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page_client-reference-manifest.js +1 -1
  58. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page/build-manifest.json +2 -2
  59. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js.nft.json +1 -1
  60. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page_client-reference-manifest.js +1 -1
  61. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page/build-manifest.json +2 -2
  62. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js.nft.json +1 -1
  63. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page_client-reference-manifest.js +1 -1
  64. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page/build-manifest.json +2 -2
  65. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
  66. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
  67. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page/build-manifest.json +2 -2
  68. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  69. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  70. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error/page/build-manifest.json +2 -2
  71. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.html +1 -1
  72. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.rsc +1 -1
  73. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  74. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  75. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  76. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  77. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  78. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page/build-manifest.json +2 -2
  79. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  80. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
  81. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +14 -14
  82. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  83. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
  84. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  85. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  86. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  87. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  88. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js.nft.json +1 -1
  89. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
  90. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
  91. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
  92. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
  93. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
  94. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
  95. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
  96. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
  97. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
  98. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
  99. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
  100. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
  101. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
  102. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
  103. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
  104. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
  105. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
  106. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
  107. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -1
  108. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
  109. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
  110. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
  111. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
  112. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
  113. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
  114. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
  115. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js.nft.json +1 -1
  116. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -1
  117. package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
  118. package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +14 -14
  119. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  120. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_full.segment.rsc +14 -14
  121. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_head.segment.rsc +3 -3
  122. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_index.segment.rsc +10 -10
  123. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  124. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page/build-manifest.json +2 -2
  125. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  126. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
  127. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +17 -17
  128. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +17 -17
  129. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_head.segment.rsc +3 -3
  130. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_index.segment.rsc +10 -10
  131. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  132. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  133. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding.segment.rsc +4 -4
  134. package/dist/dashboard-runtime/dashboard/.next/server/app/page/build-manifest.json +2 -2
  135. package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  136. package/dist/dashboard-runtime/dashboard/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0n~ec7s.js +9 -6
  137. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__02p1x3t._.js +1 -1
  138. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0fglxiw._.js +1 -1
  139. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0lvi0g-._.js +2 -2
  140. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0q8vcw8._.js +1 -1
  141. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0b1r_app_(dashboard)_knowledge-base_[name]_documents_documents-client_tsx_0g2uxmt._.js +2 -2
  142. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0e95_src_app_(dashboard)_knowledge-base_[name]_settings_settings-client_tsx_13312zk._.js +1 -1
  143. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__08faq-z._.js +3 -0
  144. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0c94d.y._.js +3 -0
  145. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0jb9ccl._.js +1 -1
  146. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{[root-of-the-server]__13ylf4x._.js → [root-of-the-server]__0lgg04c._.js} +2 -2
  147. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__10rkv6z._.js +1 -1
  148. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01-2v37._.js +1 -1
  149. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01ag-vl._.js +3 -0
  150. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_09yzbcp._.js +1 -1
  151. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0atzifq._.js +3 -0
  152. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f4u0.1._.js +1 -1
  153. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0gbt~hy._.js +1 -1
  154. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0gl7kh7._.js +3 -0
  155. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0j-q~ro._.js +1 -1
  156. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jghj2_._.js +1 -1
  157. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jlyg05._.js +3 -0
  158. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0n4gd_6._.js +1 -1
  159. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0l~-9i0._.js → _0tdjkbc._.js} +2 -2
  160. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tej2s.._.js +1 -1
  161. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_10u~-xc._.js +3 -0
  162. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12r9c8h._.js +1 -1
  163. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0.glq39._.js +3 -0
  164. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_00ofp7q._.js +1 -1
  165. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_05.qn9h._.js +3 -0
  166. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_065m1.j._.js +1 -1
  167. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0xf3ffa._.js +1 -1
  168. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0y49vhd._.js +1 -1
  169. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_10dsqx~._.js +1 -1
  170. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_knowledge-base_create_page_tsx_0916~g-._.js +1 -1
  171. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_settings_page_tsx_0y26.xu._.js +1 -1
  172. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_units_page_tsx_0.6xnei._.js +1 -1
  173. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ls1exu._.js +1 -1
  174. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ugdjlb._.js +1 -1
  175. package/dist/dashboard-runtime/dashboard/.next/server/middleware-build-manifest.js +5 -5
  176. package/dist/dashboard-runtime/dashboard/.next/server/pages/404.html +1 -1
  177. package/dist/dashboard-runtime/dashboard/.next/server/pages/500.html +1 -1
  178. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.js +1 -1
  179. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.json +1 -1
  180. package/dist/dashboard-runtime/dashboard/.next/static/chunks/00wmf85833643.js +1 -0
  181. package/dist/dashboard-runtime/dashboard/.next/static/chunks/02tj1_rhgobzv.js +1 -0
  182. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0mea2ylxe.umh.js → 02zf3qddfaw~u.js} +1 -1
  183. package/dist/dashboard-runtime/dashboard/.next/static/chunks/039i70t10axdd.css +1 -0
  184. package/dist/dashboard-runtime/dashboard/.next/static/chunks/04bfame9rk.3d.js +5 -0
  185. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07rwb_uq9qcx4.js +1 -0
  186. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07ygw8215kyvc.js +1 -0
  187. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0b5hr027rat4w.js +138 -0
  188. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0__g1ogrdh412.js → 0bkm-5yza5~d2.js} +1 -1
  189. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0lrw.bnws62y9.js → 0d7d.b.v9noym.js} +1 -1
  190. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0cto67_iw~p9z.js → 0fdofp-3kkc4g.js} +1 -1
  191. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0i8hdbek9j-fu.js +1 -0
  192. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ioivx4pbmayb.js +1 -0
  193. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0j-v5f_oscvfu.js +1 -0
  194. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0lp2g_27uyhuz.js → 0je7fmsrz2vok.js} +1 -1
  195. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jukioxtp1mn3.js +138 -0
  196. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0klidr2i6cd.g.js +1 -0
  197. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0k~bkh1586r2i.js +1 -0
  198. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0nakvv2p1kjnf.js +1 -0
  199. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0t5vdnq4s.2yv.js +1 -0
  200. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0un~rqes29pcr.js +1 -0
  201. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v.u57bsjppd_.js +1 -0
  202. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0fagnytrt.3oe.js → 0veza1g0elxa7.js} +1 -1
  203. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x3w~yxvm1xsq.js +4 -0
  204. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x5gol39unrgb.js +1 -0
  205. package/dist/dashboard-runtime/dashboard/.next/static/chunks/12s59v_sk0q-z.js +1 -0
  206. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{06uuhz24tvdt..js → 14~eqof4660i3.js} +1 -1
  207. package/dist/dashboard-runtime/dashboard/.next/static/chunks/16y3764x-fh1n.js +1 -0
  208. package/dist/dashboard-runtime/dashboard/.next/static/chunks/17mcnyr~1j7ih.js +1 -0
  209. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{turbopack-0w.hw6u8qra5z.js → turbopack-0~gu0g2v-1f11.js} +1 -1
  210. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/chat/page.tsx +5 -0
  211. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/documents/documents-client.tsx +4 -1
  212. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/layout-client.tsx +62 -26
  213. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/messages/page.tsx +8 -4
  214. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/page.tsx +6 -2
  215. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/request-detail-dialog.tsx +9 -9
  216. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/requests-table.tsx +2 -2
  217. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/search/page.tsx +5 -1
  218. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/settings/page.tsx +56 -17
  219. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/units/page.tsx +11 -7
  220. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/create/page.tsx +1 -1
  221. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/page.tsx +1 -1
  222. package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.ts +67 -0
  223. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/memory-helpers.ts +45 -0
  224. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/route.ts +334 -16
  225. package/dist/dashboard-runtime/dashboard/src/app/api/v1/logs/client/route.ts +13 -0
  226. package/dist/dashboard-runtime/dashboard/src/app/api/v1/oss/list/route.ts +1 -0
  227. package/dist/dashboard-runtime/dashboard/src/app/globals.css +23 -0
  228. package/dist/dashboard-runtime/dashboard/src/components/chat/chat-config-context.tsx +116 -19
  229. package/dist/dashboard-runtime/dashboard/src/components/chat/chat-mount-config.tsx +5 -0
  230. package/dist/dashboard-runtime/dashboard/src/components/chat/memory-bind-section.tsx +372 -0
  231. package/dist/dashboard-runtime/dashboard/src/components/chat/mount-retrieval-dialog.tsx +360 -0
  232. package/dist/dashboard-runtime/dashboard/src/components/chat/mount-row.tsx +49 -5
  233. package/dist/dashboard-runtime/dashboard/src/components/chat/unified-retrieval-section.tsx +61 -26
  234. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-chunks-dialog.tsx +72 -20
  235. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-detail-panel.tsx +578 -76
  236. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-upload-dialog.tsx +9 -81
  237. package/dist/dashboard-runtime/dashboard/src/components/documents/oss-browser.tsx +42 -26
  238. package/dist/dashboard-runtime/dashboard/src/components/instance/connect-instance-form.tsx +5 -0
  239. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/embedding-config-form.tsx +16 -2
  240. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-card.tsx +37 -24
  241. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-create-form.tsx +173 -86
  242. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-settings-form.tsx +319 -280
  243. package/dist/dashboard-runtime/dashboard/src/components/layout/detail-sidebar.tsx +47 -18
  244. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-instance-card.tsx +2 -2
  245. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-add-dialog.tsx +2 -2
  246. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-create-form.tsx +84 -56
  247. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-edit-dialog.tsx +2 -2
  248. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-messages-table.tsx +3 -3
  249. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-requests-table.tsx +12 -12
  250. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-scope-bar.tsx +20 -11
  251. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-form.tsx +7 -7
  252. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-results.tsx +6 -6
  253. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-settings-form.tsx +90 -21
  254. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-card.tsx +1 -1
  255. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-list.tsx +1 -1
  256. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-detail-panel.tsx +4 -4
  257. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-table.tsx +2 -2
  258. package/dist/dashboard-runtime/dashboard/src/components/qa/qa-message.tsx +216 -5
  259. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-form.tsx +241 -24
  260. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-rerank-fields.tsx +1 -0
  261. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-result-card.tsx +52 -4
  262. package/dist/dashboard-runtime/dashboard/src/components/shared/metadata-field-input.tsx +54 -0
  263. package/dist/dashboard-runtime/dashboard/src/components/shared/status-badge.tsx +10 -5
  264. package/dist/dashboard-runtime/dashboard/src/components/ui/nav-tab-bar.tsx +1 -1
  265. package/dist/dashboard-runtime/dashboard/src/hooks/use-chat-history.ts +60 -5
  266. package/dist/dashboard-runtime/dashboard/src/hooks/use-document.ts +29 -0
  267. package/dist/dashboard-runtime/dashboard/src/hooks/use-oss-list.ts +7 -5
  268. package/dist/dashboard-runtime/dashboard/src/hooks/use-qa-chat.ts +65 -11
  269. package/dist/dashboard-runtime/dashboard/src/hooks/use-update-document.ts +15 -0
  270. package/dist/dashboard-runtime/dashboard/src/lib/api-error-toast.ts +62 -0
  271. package/dist/dashboard-runtime/dashboard/src/lib/constants.ts +8 -0
  272. package/dist/dashboard-runtime/dashboard/src/lib/metadata-form.ts +88 -0
  273. package/dist/dashboard-runtime/dashboard/src/lib/query-keys.ts +14 -0
  274. package/dist/dashboard-runtime/dashboard/src/lib/server/api-helpers.ts +18 -5
  275. package/dist/dashboard-runtime/dashboard/src/lib/server/llm-client.ts +19 -1
  276. package/dist/dashboard-runtime/dashboard/src/lib/server/oss-client.ts +45 -16
  277. package/dist/dashboard-runtime/dashboard/src/schemas/knowledge-base.ts +6 -0
  278. package/dist/dashboard-runtime/dashboard/src/schemas/llm-chat.ts +20 -0
  279. package/dist/dashboard-runtime/dashboard/src/schemas/retrieval.ts +46 -27
  280. package/dist/dashboard-runtime/dashboard/src/services/api-client.ts +31 -2
  281. package/dist/dashboard-runtime/dashboard/src/services/documents.ts +36 -3
  282. package/dist/dashboard-runtime/dashboard/src/types/knowledge-base.ts +10 -0
  283. package/dist/dashboard-runtime/dashboard/src/types/llm-chat.ts +33 -0
  284. package/dist/dashboard-runtime/dashboard/src/types/retrieval.ts +9 -4
  285. package/dist/dashboard-runtime/dashboard/tailwind.config.ts +4 -0
  286. package/dist/dashboard-runtime/dashboard/vitest.config.mjs +5 -2
  287. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts +1 -0
  288. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts.map +1 -1
  289. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js +4 -0
  290. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js.map +1 -1
  291. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  292. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/logging.js +1 -1
  293. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  294. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts +21 -5
  295. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
  296. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts +1 -0
  297. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts.map +1 -1
  298. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js +4 -0
  299. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js.map +1 -1
  300. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  301. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/logging.js +1 -1
  302. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  303. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts +21 -5
  304. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
  305. package/dist/utils/read-image-input.d.ts +47 -0
  306. package/dist/utils/read-image-input.d.ts.map +1 -0
  307. package/dist/utils/read-image-input.js +89 -0
  308. package/dist/utils/read-image-input.js.map +1 -0
  309. package/package.json +2 -2
  310. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0aqzu8w._.js +0 -3
  311. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0hozzu6._.js +0 -3
  312. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0kd7szs._.js +0 -3
  313. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tr8-3u._.js +0 -3
  314. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xzh5yw._.js +0 -3
  315. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12~3vfk._.js +0 -3
  316. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13_lb.o._.js +0 -3
  317. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0ejgygh._.js +0 -3
  318. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_ui_0-tuf-h._.js +0 -3
  319. package/dist/dashboard-runtime/dashboard/.next/static/chunks/00tz~p479bdgl.js +0 -1
  320. package/dist/dashboard-runtime/dashboard/.next/static/chunks/02i9olo-312mq.js +0 -138
  321. package/dist/dashboard-runtime/dashboard/.next/static/chunks/062k9jbtd9.lv.js +0 -1
  322. package/dist/dashboard-runtime/dashboard/.next/static/chunks/069zf4m5f.se2.js +0 -1
  323. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07cp19da_kfld.js +0 -5
  324. package/dist/dashboard-runtime/dashboard/.next/static/chunks/086esp1n941jl.js +0 -138
  325. package/dist/dashboard-runtime/dashboard/.next/static/chunks/09uxq~55qug8c.js +0 -1
  326. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0d29.l~3ip181.js +0 -1
  327. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ewpzgu_qf0wf.js +0 -4
  328. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jc31diex030o.js +0 -1
  329. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0k79upjc40aky.css +0 -1
  330. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0snnsfosp3~gq.js +0 -1
  331. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0t0yqi68~eil6.js +0 -1
  332. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0th7u6qvdy3x2.js +0 -1
  333. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0tmwptel_4y0o.js +0 -1
  334. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u6_s-0w8.yr..js +0 -1
  335. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u9wtl06_b72x.js +0 -1
  336. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v9d5wl9nsva3.js +0 -1
  337. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~kfzxrhgbkaz.js +0 -1
  338. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14.dp0-y_mhjo.js +0 -1
  339. package/dist/dashboard-runtime/dashboard/.next/static/chunks/15bzqpm440jvz.js +0 -1
  340. /package/dist/dashboard-runtime/dashboard/.next/static/{doYIl-pd6Sqax3bfUgN3q → EIbKHHti0Z1ephKfJzCKH}/_buildManifest.js +0 -0
  341. /package/dist/dashboard-runtime/dashboard/.next/static/{doYIl-pd6Sqax3bfUgN3q → EIbKHHti0Z1ephKfJzCKH}/_clientMiddlewareManifest.js +0 -0
  342. /package/dist/dashboard-runtime/dashboard/.next/static/{doYIl-pd6Sqax3bfUgN3q → EIbKHHti0Z1ephKfJzCKH}/_ssgManifest.js +0 -0
@@ -111,6 +111,10 @@ interface DetailSidebarHeaderProps
111
111
  typeLabel?: React.ReactNode;
112
112
  description?: React.ReactNode;
113
113
  actions?: React.ReactNode;
114
+ /** Status pills (multimodal / subspace / etc.) rendered as their own
115
+ * row directly below the icon — kept separate from `name` so they
116
+ * get their own line and don't crowd the title row. */
117
+ pills?: React.ReactNode;
114
118
  /** Tags / chips / dates / extra info. Wrapped in a flex container with
115
119
  * small text already applied. */
116
120
  extra?: React.ReactNode;
@@ -123,21 +127,53 @@ export function DetailSidebarHeader({
123
127
  typeLabel,
124
128
  description,
125
129
  actions,
130
+ pills,
126
131
  extra,
127
132
  }: DetailSidebarHeaderProps) {
128
133
  const { toggle } = useDetailSidebarCollapsed();
129
134
  return (
130
135
  <header className="flex flex-col gap-2 border-b border-[hsl(var(--border-light))] px-4 pb-4 pt-4">
131
- <div className="flex items-start justify-between gap-2">
132
- <div className={detailIconAccent({ accent })}>{icon}</div>
136
+ {/*
137
+ Identity row: accent icon on the left, the name + optional type
138
+ label in the middle (truncates with ellipsis when too long), and
139
+ consumer actions plus the built-in "collapse sidebar" button on
140
+ the right. Status pills sit on their own row underneath so they
141
+ can wrap freely without squeezing the title.
142
+ */}
143
+ <div className="flex items-center gap-3">
144
+ <div className={cn(detailIconAccent({ accent }), "shrink-0")}>
145
+ {icon}
146
+ </div>
147
+ <div className="min-w-0 flex-1 space-y-0.5">
148
+ {typeof name === "string" ? (
149
+ <TooltipProvider delayDuration={200}>
150
+ <Tooltip>
151
+ <TooltipTrigger asChild>
152
+ <div className="truncate text-sm font-semibold leading-tight text-[hsl(var(--foreground))]">
153
+ {name}
154
+ </div>
155
+ </TooltipTrigger>
156
+ <TooltipContent side="bottom" sideOffset={4}>
157
+ {name}
158
+ </TooltipContent>
159
+ </Tooltip>
160
+ </TooltipProvider>
161
+ ) : (
162
+ <div className="truncate text-sm font-semibold leading-tight text-[hsl(var(--foreground))]">
163
+ {name}
164
+ </div>
165
+ )}
166
+ {typeLabel ? (
167
+ <div className="truncate text-[11px] font-semibold uppercase tracking-wider text-[hsl(var(--muted-foreground))]">
168
+ {typeLabel}
169
+ </div>
170
+ ) : null}
171
+ </div>
133
172
  {/*
134
- Right-side controls: any consumer-supplied actions (delete, etc.)
135
- plus a built-in "collapse sidebar" button. The collapse button is
136
- baked in so every detail page gets it for free; it sits to the
137
- right of consumer actions so it always lands at the far edge —
138
- the visual anchor users learn to reach for.
173
+ Right-side controls: consumer actions (delete, etc.) plus a
174
+ built-in "collapse sidebar" button anchored at the far edge.
139
175
  */}
140
- <div className="-mt-1 -mr-1 flex items-center gap-0.5">
176
+ <div className="-mr-1 flex shrink-0 items-center gap-0.5">
141
177
  {actions}
142
178
  <TooltipProvider delayDuration={200}>
143
179
  <Tooltip>
@@ -158,16 +194,9 @@ export function DetailSidebarHeader({
158
194
  </TooltipProvider>
159
195
  </div>
160
196
  </div>
161
- <div className="space-y-0.5">
162
- <div className="text-sm font-semibold leading-tight text-[hsl(var(--foreground))]">
163
- {name}
164
- </div>
165
- {typeLabel ? (
166
- <div className="text-[11px] font-semibold uppercase tracking-wider text-[hsl(var(--muted-foreground))]">
167
- {typeLabel}
168
- </div>
169
- ) : null}
170
- </div>
197
+ {pills ? (
198
+ <div className="flex flex-wrap gap-2">{pills}</div>
199
+ ) : null}
171
200
  {description ? (
172
201
  <p className="line-clamp-3 text-[13px] leading-snug text-[hsl(var(--muted-foreground))]">
173
202
  {description}
@@ -60,7 +60,7 @@ export function SidebarInstanceCard({ collapsed }: SidebarInstanceCardProps) {
60
60
  <DropdownMenuTrigger asChild>
61
61
  <button
62
62
  type="button"
63
- aria-label={activeName ? `当前实例:${activeName}` : "选择项目"}
63
+ aria-label={activeName ? `当前项目:${activeName}` : "选择项目"}
64
64
  title={activeName ?? "选择项目"}
65
65
  disabled={isLoading}
66
66
  className={cn(
@@ -103,7 +103,7 @@ export function SidebarInstanceCard({ collapsed }: SidebarInstanceCardProps) {
103
103
  >
104
104
  <div className="flex flex-1 flex-col overflow-hidden">
105
105
  <span className="text-[11px] uppercase tracking-wider text-[hsl(var(--muted-foreground))]">
106
- 当前实例
106
+ 当前项目
107
107
  </span>
108
108
  <span className="truncate text-sm font-semibold text-[hsl(var(--foreground))]">
109
109
  {activeName ?? "未选择"}
@@ -67,7 +67,7 @@ export function MemoryAddDialog({
67
67
  </DialogHeader>
68
68
  <div className="space-y-4">
69
69
  <div className="space-y-2">
70
- <Label>Text</Label>
70
+ <Label>记忆文本</Label>
71
71
  <Textarea
72
72
  value={text}
73
73
  onChange={(event) => setText(event.target.value)}
@@ -76,7 +76,7 @@ export function MemoryAddDialog({
76
76
  />
77
77
  </div>
78
78
  <div className="space-y-2">
79
- <Label>Metadata JSON(可选)</Label>
79
+ <Label>元数据(JSON,可选)</Label>
80
80
  <Textarea
81
81
  value={metadataJson}
82
82
  onChange={(event) => setMetadataJson(event.target.value)}
@@ -1,40 +1,50 @@
1
1
  'use client';
2
2
 
3
3
  import { useRouter } from "next/navigation";
4
- import { useState } from "react";
4
+ import { useForm } from "react-hook-form";
5
+ import { zodResolver } from "@hookform/resolvers/zod";
6
+ import { z } from "zod";
5
7
  import { toast } from "sonner";
6
8
  import { Button } from "@/components/ui/button";
7
9
  import { Input } from "@/components/ui/input";
8
- import { Label } from "@/components/ui/label";
9
10
  import { Textarea } from "@/components/ui/textarea";
11
+ import {
12
+ Form,
13
+ FormControl,
14
+ FormDescription,
15
+ FormField,
16
+ FormItem,
17
+ FormLabel,
18
+ FormMessage,
19
+ } from "@/components/ui/form";
10
20
  import { useCreateMemoryStore } from "@/hooks/use-create-memory-store";
11
21
 
22
+ const createMemoryStoreSchema = z.object({
23
+ memoryStoreName: z
24
+ .string()
25
+ .trim()
26
+ .min(1, "名称不能为空")
27
+ .max(32, "名称不能超过 32 个字符")
28
+ .regex(/^[a-zA-Z0-9_]+$/, "只能包含字母、数字和下划线"),
29
+ description: z.string().trim().max(256, "描述不超过 256 字").optional(),
30
+ });
31
+
32
+ type CreateMemoryStoreInput = z.infer<typeof createMemoryStoreSchema>;
33
+
12
34
  export function MemoryCreateForm() {
13
35
  const router = useRouter();
14
36
  const createStore = useCreateMemoryStore();
15
- const [memoryStoreName, setMemoryStoreName] = useState("");
16
- const [description, setDescription] = useState("");
17
37
 
18
- async function handleSubmit(event: React.FormEvent<HTMLFormElement>) {
19
- event.preventDefault();
20
- const trimmedName = memoryStoreName.trim();
21
- if (!trimmedName) {
22
- toast.error("记忆库名称不能为空");
23
- return;
24
- }
25
- if (trimmedName.length > 32) {
26
- toast.error("记忆库名称不能超过 32 个字符");
27
- return;
28
- }
29
- if (!/^[a-zA-Z0-9_]+$/.test(trimmedName)) {
30
- toast.error("记忆库名称只能包含字母、数字和下划线");
31
- return;
32
- }
38
+ const form = useForm<CreateMemoryStoreInput>({
39
+ resolver: zodResolver(createMemoryStoreSchema),
40
+ defaultValues: { memoryStoreName: "", description: "" },
41
+ });
33
42
 
43
+ async function onSubmit(values: CreateMemoryStoreInput) {
34
44
  try {
35
45
  await createStore.mutateAsync({
36
- memoryStoreName: trimmedName,
37
- description: description.trim() || undefined,
46
+ memoryStoreName: values.memoryStoreName,
47
+ description: values.description?.length ? values.description : undefined,
38
48
  });
39
49
  toast.success("记忆库创建成功");
40
50
  router.push("/memory");
@@ -44,45 +54,63 @@ export function MemoryCreateForm() {
44
54
  }
45
55
 
46
56
  return (
47
- <form onSubmit={handleSubmit} className="space-y-6">
48
- <section className="space-y-4">
49
- <h3 className="text-lg font-semibold">基本信息</h3>
57
+ <Form {...form}>
58
+ <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
59
+ <section className="space-y-4">
60
+ <h3 className="text-lg font-semibold">基本信息</h3>
50
61
 
51
- <div className="space-y-2">
52
- <Label htmlFor="memory-store-name">
53
- 名称 <span className="text-[hsl(var(--destructive))]">*</span>
54
- </Label>
55
- <Input
56
- id="memory-store-name"
57
- value={memoryStoreName}
58
- onChange={(event) => setMemoryStoreName(event.target.value)}
59
- placeholder="my_memory_store"
62
+ <FormField
63
+ control={form.control}
64
+ name="memoryStoreName"
65
+ render={({ field }) => (
66
+ <FormItem>
67
+ <FormLabel>
68
+ 名称 <span className="text-[hsl(var(--destructive))]">*</span>
69
+ </FormLabel>
70
+ <FormControl>
71
+ <Input placeholder="my_memory_store" {...field} />
72
+ </FormControl>
73
+ <FormDescription>
74
+ 用于 memory CLI 的 --store 参数和控制台路由。仅支持字母、数字和下划线,最多 32 个字符。
75
+ </FormDescription>
76
+ <FormMessage />
77
+ </FormItem>
78
+ )}
60
79
  />
61
- <p className="text-xs text-muted-foreground">
62
- 用于 memory CLI 的 --store 参数和控制台路由。仅支持字母、数字和下划线,最多 32 个字符。
63
- </p>
64
- </div>
65
80
 
66
- <div className="space-y-2">
67
- <Label htmlFor="memory-store-description">描述</Label>
68
- <Textarea
69
- id="memory-store-description"
70
- value={description}
71
- onChange={(event) => setDescription(event.target.value)}
72
- placeholder="描述这个记忆库的用途..."
73
- rows={4}
81
+ <FormField
82
+ control={form.control}
83
+ name="description"
84
+ render={({ field }) => (
85
+ <FormItem>
86
+ <FormLabel>描述</FormLabel>
87
+ <FormControl>
88
+ <Textarea
89
+ placeholder="描述这个记忆库的用途..."
90
+ className="resize-none"
91
+ rows={4}
92
+ {...field}
93
+ />
94
+ </FormControl>
95
+ <FormMessage />
96
+ </FormItem>
97
+ )}
74
98
  />
75
- </div>
76
- </section>
99
+ </section>
77
100
 
78
- <div className="flex justify-end gap-3">
79
- <Button type="button" variant="outline" onClick={() => router.push("/memory")}>
80
- 取消
81
- </Button>
82
- <Button type="submit" disabled={createStore.isPending}>
83
- {createStore.isPending ? "创建中..." : "创建记忆库"}
84
- </Button>
85
- </div>
86
- </form>
101
+ <div className="flex justify-end gap-3 border-t border-[hsl(var(--border-light))] pt-4">
102
+ <Button
103
+ type="button"
104
+ variant="outline"
105
+ onClick={() => router.push("/memory")}
106
+ >
107
+ 取消
108
+ </Button>
109
+ <Button type="submit" disabled={createStore.isPending}>
110
+ {createStore.isPending ? "创建中..." : "创建记忆库"}
111
+ </Button>
112
+ </div>
113
+ </form>
114
+ </Form>
87
115
  );
88
116
  }
@@ -70,11 +70,11 @@ export function MemoryEditDialog({
70
70
  </DialogHeader>
71
71
  <form key={unitKey} onSubmit={handleSubmit} className="space-y-4">
72
72
  <div className="space-y-2">
73
- <Label>Text</Label>
73
+ <Label>记忆文本</Label>
74
74
  <Textarea name="text" defaultValue={unit?.text ?? ""} rows={5} />
75
75
  </div>
76
76
  <div className="space-y-2">
77
- <Label>Metadata JSON</Label>
77
+ <Label>元数据(JSON)</Label>
78
78
  <Textarea
79
79
  name="metadata"
80
80
  defaultValue={unit?.metadata ? JSON.stringify(unit.metadata, null, 2) : ""}
@@ -76,7 +76,7 @@ export function MemoryMessagesTable({ messages }: MemoryMessagesTableProps) {
76
76
  if (!messages.length) {
77
77
  return (
78
78
  <div className="rounded-lg border border-dashed py-12 text-center text-sm text-muted-foreground">
79
- 当前 scope 下暂无消息记录
79
+ 当前范围下暂无消息记录
80
80
  </div>
81
81
  );
82
82
  }
@@ -88,9 +88,9 @@ export function MemoryMessagesTable({ messages }: MemoryMessagesTableProps) {
88
88
  <TableRow>
89
89
  <TableHead className="w-[180px]">时间</TableHead>
90
90
  <TableHead className="w-[120px]">角色</TableHead>
91
- <TableHead className="w-[140px]">Speaker</TableHead>
91
+ <TableHead className="w-[140px]">说话人</TableHead>
92
92
  <TableHead>内容</TableHead>
93
- <TableHead className="w-[260px]">Metadata</TableHead>
93
+ <TableHead className="w-[260px]">元数据</TableHead>
94
94
  </TableRow>
95
95
  </TableHeader>
96
96
  <TableBody>
@@ -72,15 +72,15 @@ function RequestDetailDialog({ request, open, onOpenChange }: {
72
72
  </DialogHeader>
73
73
  <div className="grid gap-4 sm:grid-cols-2">
74
74
  <div className="space-y-1">
75
- <p className="text-xs text-muted-foreground">Operation</p>
75
+ <p className="text-xs text-muted-foreground">操作</p>
76
76
  <p className="text-sm font-medium">{request.operation ?? "-"}</p>
77
77
  </div>
78
78
  <div className="space-y-1">
79
- <p className="text-xs text-muted-foreground">Request ID</p>
79
+ <p className="text-xs text-muted-foreground">请求 ID</p>
80
80
  <p className="text-sm font-mono">{request.requestId ?? "-"}</p>
81
81
  </div>
82
82
  <div className="space-y-1">
83
- <p className="text-xs text-muted-foreground">Target ID</p>
83
+ <p className="text-xs text-muted-foreground">目标 ID</p>
84
84
  <p className="text-sm font-medium">{request.targetId ?? "-"}</p>
85
85
  </div>
86
86
  <div className="space-y-1">
@@ -96,18 +96,18 @@ function RequestDetailDialog({ request, open, onOpenChange }: {
96
96
  <p className="text-sm font-medium">{formatTimestamp(request.createdAt)}</p>
97
97
  </div>
98
98
  <div className="space-y-1">
99
- <p className="text-xs text-muted-foreground">Ingest 状态</p>
99
+ <p className="text-xs text-muted-foreground">入库状态</p>
100
100
  <p className="text-sm font-medium">{request.ingestStatus ?? "-"}</p>
101
101
  </div>
102
102
  <div className="space-y-1 sm:col-span-2">
103
- <p className="text-xs text-muted-foreground">Scope</p>
103
+ <p className="text-xs text-muted-foreground">范围</p>
104
104
  <p className="text-sm font-medium">{scopeLabel(request.scope)}</p>
105
105
  {request.scope && (
106
106
  <div className="mt-2 grid grid-cols-2 gap-x-4 gap-y-1 text-xs text-muted-foreground">
107
- <span>App ID:</span><span className="font-mono">{request.scope.appId ?? "-"}</span>
108
- <span>Tenant ID:</span><span className="font-mono">{request.scope.tenantId ?? "-"}</span>
109
- <span>Agent ID:</span><span className="font-mono">{request.scope.agentId ?? "-"}</span>
110
- <span>Run ID:</span><span className="font-mono">{request.scope.runId ?? "-"}</span>
107
+ <span>应用:</span><span className="font-mono">{request.scope.appId ?? "-"}</span>
108
+ <span>租户:</span><span className="font-mono">{request.scope.tenantId ?? "-"}</span>
109
+ <span>智能体:</span><span className="font-mono">{request.scope.agentId ?? "-"}</span>
110
+ <span>会话:</span><span className="font-mono">{request.scope.runId ?? "-"}</span>
111
111
  </div>
112
112
  )}
113
113
  </div>
@@ -173,7 +173,7 @@ export function MemoryRequestsTable({ requests }: MemoryRequestsTableProps) {
173
173
  if (!requests.length) {
174
174
  return (
175
175
  <div className="rounded-lg border border-dashed py-12 text-center text-sm text-muted-foreground">
176
- 当前 scope 下暂无请求审计记录
176
+ 当前范围下暂无请求审计记录
177
177
  </div>
178
178
  );
179
179
  }
@@ -185,8 +185,8 @@ export function MemoryRequestsTable({ requests }: MemoryRequestsTableProps) {
185
185
  <TableHeader>
186
186
  <TableRow>
187
187
  <TableHead className="w-[160px]">时间</TableHead>
188
- <TableHead className="w-[120px]">Operation</TableHead>
189
- <TableHead className="w-[160px]">Request ID</TableHead>
188
+ <TableHead className="w-[120px]">操作</TableHead>
189
+ <TableHead className="w-[160px]">请求 ID</TableHead>
190
190
  <TableHead className="w-[80px]">响应码</TableHead>
191
191
  <TableHead className="w-[80px]">耗时</TableHead>
192
192
  <TableHead className="w-[80px]">操作</TableHead>
@@ -19,10 +19,10 @@ import { describeMemoryStore, listMemoryUnits } from "@/services/memory";
19
19
  import type { MemoryScope } from "@/types/memory";
20
20
 
21
21
  const FIELDS: Array<{ key: keyof MemoryScope; label: string; placeholder: string }> = [
22
- { key: "appId", label: "App", placeholder: "app-001" },
23
- { key: "tenantId", label: "Tenant", placeholder: "tenant-001" },
24
- { key: "agentId", label: "Agent", placeholder: "agent-001" },
25
- { key: "runId", label: "Run", placeholder: "run-001" },
22
+ { key: "appId", label: "应用", placeholder: "app-001" },
23
+ { key: "tenantId", label: "租户", placeholder: "tenant-001" },
24
+ { key: "agentId", label: "智能体", placeholder: "agent-001" },
25
+ { key: "runId", label: "会话", placeholder: "run-001" },
26
26
  ];
27
27
 
28
28
  function isWildcardScope(scope: MemoryScope): boolean {
@@ -47,7 +47,11 @@ export function MemoryScopeBar() {
47
47
  const router = useRouter();
48
48
  const pathname = usePathname();
49
49
  const searchParams = useSearchParams();
50
- const currentScope = useMemo(() => buildMemoryScope(searchParams), [searchParams.toString()]);
50
+ const searchParamsString = searchParams.toString();
51
+ const currentScope = useMemo(
52
+ () => buildMemoryScope(new URLSearchParams(searchParamsString)),
53
+ [searchParamsString],
54
+ );
51
55
  const [expanded, setExpanded] = useState(false);
52
56
  const [draft, setDraft] = useState<MemoryScope>(currentScope);
53
57
  const [error, setError] = useState<string | null>(null);
@@ -90,15 +94,20 @@ export function MemoryScopeBar() {
90
94
  // Default to wildcard on memory detail pages
91
95
  useEffect(() => {
92
96
  if (!storeName || pathname.includes("/create")) return;
93
-
94
- const appId = searchParams.get("appId");
97
+
98
+ // 基于 searchParamsString 重建以避免 closure 捕获 searchParams 引用。
99
+ const sp = new URLSearchParams(searchParamsString);
100
+ const appId = sp.get("appId");
95
101
  if (!appId) {
96
102
  const params = new URLSearchParams({ appId: "*", tenantId: "*", agentId: "*", runId: "*" });
97
103
  router.replace(`${pathname}?${params.toString()}`);
98
104
  }
99
- }, [searchParams.toString(), pathname, router, storeName]);
105
+ }, [searchParamsString, pathname, router, storeName]);
100
106
 
101
- // Sync draft when URL changes
107
+ // Sync draft when URL changes.
108
+ // currentScope 来自 useMemo,仅当 searchParamsString 变化才会更新引用。
109
+ // setDraft 内部已经对 4 个字段做了相等性比较再返回 prev 以避免无效重渲染;
110
+ // setError(null) 在 error 已是 null 时也会被 React 自动跳过。
102
111
  useEffect(() => {
103
112
  setDraft(prev => {
104
113
  // Only update if values actually changed
@@ -113,7 +122,7 @@ export function MemoryScopeBar() {
113
122
  return currentScope;
114
123
  });
115
124
  setError(null);
116
- }, [currentScope.appId, currentScope.tenantId, currentScope.agentId, currentScope.runId]);
125
+ }, [currentScope]);
117
126
 
118
127
  const presetLabel = firstUnitScope
119
128
  ? `${firstUnitScope.appId ?? "-"}/${firstUnitScope.tenantId ?? "-"}/${firstUnitScope.agentId ?? "-"}/${firstUnitScope.runId ?? "-"}`
@@ -127,7 +136,7 @@ export function MemoryScopeBar() {
127
136
  runId: (draft.runId ?? "").trim() || undefined,
128
137
  };
129
138
  if (!trimmed.appId || trimmed.appId === "appId") {
130
- setError("App 是必填项");
139
+ setError("应用 是必填项");
131
140
  return;
132
141
  }
133
142
  setError(null);
@@ -36,15 +36,15 @@ export function MemorySearchForm({ scope, isLoading, onSubmit }: MemorySearchFor
36
36
  event.preventDefault();
37
37
  setError(null);
38
38
  if (!searchable) {
39
- setError("请先在 Scope 栏中设置 appId 和 tenantId 的具体值");
39
+ setError("请先在范围栏中设置「应用」和「租户」的具体值");
40
40
  return;
41
41
  }
42
42
  if (!query.trim()) {
43
- setError("请输入搜索 query");
43
+ setError("请输入检索内容");
44
44
  return;
45
45
  }
46
46
  if (topK < 0 || topK > 50) {
47
- setError("topK 必须在 0 到 50 之间");
47
+ setError("Top K 必须在 0 到 50 之间");
48
48
  return;
49
49
  }
50
50
 
@@ -71,7 +71,7 @@ export function MemorySearchForm({ scope, isLoading, onSubmit }: MemorySearchFor
71
71
  </div>
72
72
 
73
73
  <div className="space-y-2">
74
- <Label>Query</Label>
74
+ <Label>检索内容</Label>
75
75
  <Textarea
76
76
  value={query}
77
77
  onChange={(event) => setQuery(event.target.value)}
@@ -95,13 +95,13 @@ export function MemorySearchForm({ scope, isLoading, onSubmit }: MemorySearchFor
95
95
  <div className="flex items-end pb-1">
96
96
  <label className="flex items-center gap-2 text-sm">
97
97
  <Checkbox checked={enableRerank} onCheckedChange={(checked) => setEnableRerank(checked === true)} />
98
- 启用 Rerank
98
+ 启用重排序
99
99
  </label>
100
100
  </div>
101
101
  </div>
102
102
 
103
103
  <div className="space-y-2">
104
- <Label>Metadata Filter JSON</Label>
104
+ <Label>元数据过滤(JSON)</Label>
105
105
  <Textarea
106
106
  value={metadataJson}
107
107
  onChange={(event) => setMetadataJson(event.target.value)}
@@ -116,7 +116,7 @@ export function MemorySearchForm({ scope, isLoading, onSubmit }: MemorySearchFor
116
116
  {isLoading ? "搜索中..." : "搜索"}
117
117
  </Button>
118
118
  {!searchable && (
119
- <p className="text-xs text-muted-foreground">请先在 Scope 栏中设置 appId 和 tenantId 的具体值。</p>
119
+ <p className="text-xs text-muted-foreground">请先在范围栏中设置「应用」和「租户」的具体值。</p>
120
120
  )}
121
121
  </form>
122
122
  );
@@ -35,7 +35,7 @@ export function MemorySearchResults({ results, elapsedMs }: MemorySearchResultsP
35
35
  <EmptyState
36
36
  icon={Brain}
37
37
  title="尚未搜索"
38
- description="填写左侧查询条件后,可以验证当前 scope 下的记忆检索效果"
38
+ description="填写左侧查询条件后,可以验证当前范围下的记忆检索效果"
39
39
  />
40
40
  );
41
41
  }
@@ -65,17 +65,17 @@ export function MemorySearchResults({ results, elapsedMs }: MemorySearchResultsP
65
65
  <CardContent className="space-y-3 p-4">
66
66
  <div className="flex flex-wrap items-center gap-2">
67
67
  {hit.score !== undefined && (
68
- <Badge variant="secondary">score {hit.score.toFixed(4)}</Badge>
68
+ <Badge variant="secondary">相似度 {hit.score.toFixed(4)}</Badge>
69
69
  )}
70
70
  {hit.source && <Badge variant="outline">{hit.source}</Badge>}
71
71
  {hit.unit.unit_type && <Badge variant="outline">{hit.unit.unit_type}</Badge>}
72
72
  </div>
73
73
  <p className="whitespace-pre-wrap text-sm">{hit.unit.text}</p>
74
74
  <div className="grid gap-2 text-xs text-muted-foreground sm:grid-cols-2">
75
- <span>ID: {hit.unit.id ?? hit.unit.memoryId ?? "-"}</span>
76
- <span>Scope: {formatScope(hit.unit.scope)}</span>
77
- <span>Created: {formatTimestamp(hit.unit.created_at)}</span>
78
- <span>Version: {hit.unit.version ?? "-"}</span>
75
+ <span>ID{hit.unit.id ?? hit.unit.memoryId ?? "-"}</span>
76
+ <span>范围:{formatScope(hit.unit.scope)}</span>
77
+ <span>创建时间:{formatTimestamp(hit.unit.created_at)}</span>
78
+ <span>版本:{hit.unit.version ?? "-"}</span>
79
79
  </div>
80
80
  </CardContent>
81
81
  </Card>