@tablestore/tablestore-agent-cli 0.2.3 → 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 (266) 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 +3 -3
  9. package/dist/dashboard-runtime/dashboard/.next/prerender-manifest.json +3 -3
  10. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  11. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  12. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js.nft.json +1 -1
  13. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page_client-reference-manifest.js +1 -1
  14. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js.nft.json +1 -1
  15. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page_client-reference-manifest.js +1 -1
  16. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js.nft.json +1 -1
  17. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page_client-reference-manifest.js +1 -1
  18. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js.nft.json +1 -1
  19. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page_client-reference-manifest.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.nft.json +1 -1
  23. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page_client-reference-manifest.js +1 -1
  24. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js.nft.json +1 -1
  25. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page_client-reference-manifest.js +1 -1
  26. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js.nft.json +1 -1
  27. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page_client-reference-manifest.js +1 -1
  28. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js.nft.json +1 -1
  29. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page_client-reference-manifest.js +1 -1
  30. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
  31. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
  32. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js.nft.json +1 -1
  33. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page_client-reference-manifest.js +1 -1
  34. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js.nft.json +1 -1
  35. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page_client-reference-manifest.js +1 -1
  36. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js.nft.json +1 -1
  37. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page_client-reference-manifest.js +1 -1
  38. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js.nft.json +1 -1
  39. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page_client-reference-manifest.js +1 -1
  40. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js.nft.json +1 -1
  41. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page_client-reference-manifest.js +1 -1
  42. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js.nft.json +1 -1
  43. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page_client-reference-manifest.js +1 -1
  44. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js.nft.json +1 -1
  45. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page_client-reference-manifest.js +1 -1
  46. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
  47. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
  48. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  49. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  50. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.html +1 -1
  51. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.rsc +1 -1
  52. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  53. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  54. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  55. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  56. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  57. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  58. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
  59. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +2 -2
  60. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  61. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  62. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  63. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  64. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  65. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  66. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js.nft.json +1 -1
  67. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
  68. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
  69. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
  70. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
  71. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
  72. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
  73. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
  74. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
  75. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
  76. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
  77. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
  78. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
  79. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
  80. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
  81. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
  82. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
  83. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
  84. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
  85. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -1
  86. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
  87. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
  88. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
  89. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
  90. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
  91. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
  92. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
  93. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js.nft.json +1 -1
  94. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -1
  95. package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
  96. package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +2 -2
  97. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  98. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_full.segment.rsc +2 -2
  99. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  100. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_index.segment.rsc +2 -2
  101. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  102. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  103. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
  104. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +3 -3
  105. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +3 -3
  106. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
  107. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_index.segment.rsc +2 -2
  108. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  109. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +2 -2
  110. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding.segment.rsc +1 -1
  111. package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  112. package/dist/dashboard-runtime/dashboard/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0n~ec7s.js +6 -6
  113. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0b1r_app_(dashboard)_knowledge-base_[name]_documents_documents-client_tsx_0g2uxmt._.js +2 -2
  114. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0e95_src_app_(dashboard)_knowledge-base_[name]_settings_settings-client_tsx_13312zk._.js +1 -1
  115. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__08faq-z._.js +1 -1
  116. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0c94d.y._.js +3 -0
  117. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0jb9ccl._.js +1 -1
  118. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{[root-of-the-server]__00uh_im._.js → [root-of-the-server]__0lgg04c._.js} +1 -1
  119. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01-2v37._.js +1 -1
  120. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01ag-vl._.js +3 -0
  121. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0atzifq._.js +3 -0
  122. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f4u0.1._.js +1 -1
  123. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0gbt~hy._.js +1 -1
  124. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0gl7kh7._.js +1 -1
  125. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0j-q~ro._.js +1 -1
  126. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jghj2_._.js +1 -1
  127. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jlyg05._.js +3 -0
  128. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0n4gd_6._.js +1 -1
  129. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0l~-9i0._.js → _0tdjkbc._.js} +2 -2
  130. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tej2s.._.js +1 -1
  131. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_10u~-xc._.js +3 -0
  132. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12r9c8h._.js +1 -1
  133. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0.glq39._.js +3 -0
  134. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_00ofp7q._.js +1 -1
  135. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_05.qn9h._.js +3 -0
  136. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_065m1.j._.js +1 -1
  137. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0xf3ffa._.js +1 -1
  138. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0y49vhd._.js +1 -1
  139. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_10dsqx~._.js +1 -1
  140. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_knowledge-base_create_page_tsx_0916~g-._.js +1 -1
  141. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_units_page_tsx_0.6xnei._.js +1 -1
  142. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ls1exu._.js +1 -1
  143. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ugdjlb._.js +1 -1
  144. package/dist/dashboard-runtime/dashboard/.next/server/middleware-build-manifest.js +3 -3
  145. package/dist/dashboard-runtime/dashboard/.next/server/pages/404.html +1 -1
  146. package/dist/dashboard-runtime/dashboard/.next/server/pages/500.html +1 -1
  147. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.js +1 -1
  148. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.json +1 -1
  149. package/dist/dashboard-runtime/dashboard/.next/static/chunks/00wmf85833643.js +1 -0
  150. package/dist/dashboard-runtime/dashboard/.next/static/chunks/02tj1_rhgobzv.js +1 -0
  151. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0mea2ylxe.umh.js → 02zf3qddfaw~u.js} +1 -1
  152. package/dist/dashboard-runtime/dashboard/.next/static/chunks/039i70t10axdd.css +1 -0
  153. package/dist/dashboard-runtime/dashboard/.next/static/chunks/04bfame9rk.3d.js +5 -0
  154. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07ygw8215kyvc.js +1 -0
  155. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0b5hr027rat4w.js +138 -0
  156. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0__g1ogrdh412.js → 0bkm-5yza5~d2.js} +1 -1
  157. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0lrw.bnws62y9.js → 0d7d.b.v9noym.js} +1 -1
  158. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0cto67_iw~p9z.js → 0fdofp-3kkc4g.js} +1 -1
  159. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{18d_i28~jrf91.js → 0i8hdbek9j-fu.js} +1 -1
  160. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ioivx4pbmayb.js +1 -0
  161. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0lp2g_27uyhuz.js → 0je7fmsrz2vok.js} +1 -1
  162. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jukioxtp1mn3.js +138 -0
  163. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0klidr2i6cd.g.js +1 -0
  164. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0k~bkh1586r2i.js +1 -0
  165. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0nakvv2p1kjnf.js +1 -0
  166. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0un~rqes29pcr.js +1 -0
  167. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v.u57bsjppd_.js +1 -0
  168. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x3w~yxvm1xsq.js +4 -0
  169. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x5gol39unrgb.js +1 -0
  170. package/dist/dashboard-runtime/dashboard/.next/static/chunks/12s59v_sk0q-z.js +1 -0
  171. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{06uuhz24tvdt..js → 14~eqof4660i3.js} +1 -1
  172. package/dist/dashboard-runtime/dashboard/.next/static/chunks/16y3764x-fh1n.js +1 -0
  173. package/dist/dashboard-runtime/dashboard/.next/static/chunks/17mcnyr~1j7ih.js +1 -0
  174. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/documents/documents-client.tsx +1 -1
  175. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/layout-client.tsx +62 -26
  176. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/messages/page.tsx +8 -4
  177. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/page.tsx +6 -2
  178. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/request-detail-dialog.tsx +9 -9
  179. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/requests-table.tsx +2 -2
  180. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/search/page.tsx +5 -1
  181. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/units/page.tsx +11 -7
  182. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/create/page.tsx +1 -1
  183. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/page.tsx +1 -1
  184. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/route.ts +124 -13
  185. package/dist/dashboard-runtime/dashboard/src/app/globals.css +23 -0
  186. package/dist/dashboard-runtime/dashboard/src/components/chat/chat-config-context.tsx +39 -17
  187. package/dist/dashboard-runtime/dashboard/src/components/chat/chat-mount-config.tsx +1 -0
  188. package/dist/dashboard-runtime/dashboard/src/components/chat/memory-bind-section.tsx +15 -15
  189. package/dist/dashboard-runtime/dashboard/src/components/chat/mount-retrieval-dialog.tsx +360 -0
  190. package/dist/dashboard-runtime/dashboard/src/components/chat/mount-row.tsx +49 -5
  191. package/dist/dashboard-runtime/dashboard/src/components/chat/unified-retrieval-section.tsx +61 -26
  192. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-chunks-dialog.tsx +72 -20
  193. package/dist/dashboard-runtime/dashboard/src/components/instance/connect-instance-form.tsx +5 -0
  194. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/embedding-config-form.tsx +16 -2
  195. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-card.tsx +37 -24
  196. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-create-form.tsx +173 -86
  197. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-settings-form.tsx +319 -280
  198. package/dist/dashboard-runtime/dashboard/src/components/layout/detail-sidebar.tsx +47 -18
  199. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-instance-card.tsx +2 -2
  200. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-add-dialog.tsx +2 -2
  201. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-edit-dialog.tsx +2 -2
  202. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-messages-table.tsx +3 -3
  203. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-requests-table.tsx +12 -12
  204. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-scope-bar.tsx +20 -11
  205. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-form.tsx +7 -7
  206. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-results.tsx +6 -6
  207. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-card.tsx +1 -1
  208. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-list.tsx +1 -1
  209. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-detail-panel.tsx +4 -4
  210. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-table.tsx +2 -2
  211. package/dist/dashboard-runtime/dashboard/src/components/qa/qa-message.tsx +104 -7
  212. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-form.tsx +241 -24
  213. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-rerank-fields.tsx +1 -0
  214. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-result-card.tsx +52 -4
  215. package/dist/dashboard-runtime/dashboard/src/components/shared/status-badge.tsx +10 -5
  216. package/dist/dashboard-runtime/dashboard/src/components/ui/nav-tab-bar.tsx +1 -1
  217. package/dist/dashboard-runtime/dashboard/src/hooks/use-chat-history.ts +9 -5
  218. package/dist/dashboard-runtime/dashboard/src/lib/constants.ts +8 -0
  219. package/dist/dashboard-runtime/dashboard/src/lib/server/llm-client.ts +19 -1
  220. package/dist/dashboard-runtime/dashboard/src/schemas/knowledge-base.ts +6 -0
  221. package/dist/dashboard-runtime/dashboard/src/schemas/retrieval.ts +46 -27
  222. package/dist/dashboard-runtime/dashboard/src/types/knowledge-base.ts +10 -0
  223. package/dist/dashboard-runtime/dashboard/src/types/retrieval.ts +9 -4
  224. package/dist/dashboard-runtime/dashboard/tailwind.config.ts +4 -0
  225. package/dist/dashboard-runtime/dashboard/vitest.config.mjs +5 -2
  226. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  227. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  228. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts +21 -5
  229. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
  230. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  231. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  232. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts +21 -5
  233. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
  234. package/dist/utils/read-image-input.d.ts +47 -0
  235. package/dist/utils/read-image-input.d.ts.map +1 -0
  236. package/dist/utils/read-image-input.js +89 -0
  237. package/dist/utils/read-image-input.js.map +1 -0
  238. package/package.json +2 -2
  239. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0hozzu6._.js +0 -3
  240. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tr8-3u._.js +0 -3
  241. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0uu1sjh._.js +0 -3
  242. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0vasoy6._.js +0 -3
  243. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12~3vfk._.js +0 -3
  244. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13_lb.o._.js +0 -3
  245. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0ejgygh._.js +0 -3
  246. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_ui_0-tuf-h._.js +0 -3
  247. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0535h0pr4~.-1.js +0 -1
  248. package/dist/dashboard-runtime/dashboard/.next/static/chunks/062k9jbtd9.lv.js +0 -1
  249. package/dist/dashboard-runtime/dashboard/.next/static/chunks/06aj_c5rwvkut.js +0 -4
  250. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07t_2t_-s9aq_.js +0 -5
  251. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0bs_w1~xt92db.js +0 -138
  252. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0d29.l~3ip181.js +0 -1
  253. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0gjg-rd.ybcga.js +0 -1
  254. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jc31diex030o.js +0 -1
  255. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0m6zpy2h1p2vp.js +0 -138
  256. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rm8~7jovs879.css +0 -1
  257. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0t0yqi68~eil6.js +0 -1
  258. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0th7u6qvdy3x2.js +0 -1
  259. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0tmwptel_4y0o.js +0 -1
  260. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u6_s-0w8.yr..js +0 -1
  261. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v9d5wl9nsva3.js +0 -1
  262. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14.dp0-y_mhjo.js +0 -1
  263. package/dist/dashboard-runtime/dashboard/.next/static/chunks/15bzqpm440jvz.js +0 -1
  264. /package/dist/dashboard-runtime/dashboard/.next/static/{Vhp9IA5UJNqZzEyFxakjw → EIbKHHti0Z1ephKfJzCKH}/_buildManifest.js +0 -0
  265. /package/dist/dashboard-runtime/dashboard/.next/static/{Vhp9IA5UJNqZzEyFxakjw → EIbKHHti0Z1ephKfJzCKH}/_clientMiddlewareManifest.js +0 -0
  266. /package/dist/dashboard-runtime/dashboard/.next/static/{Vhp9IA5UJNqZzEyFxakjw → EIbKHHti0Z1ephKfJzCKH}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31211,e=>{"use strict";var t=e.i(44501),a=e.i(17635),r=e.i(76490);e.s(["Skeleton",0,function({className:e,delay:a,style:s,...n}){return(0,t.jsx)("div",{className:(0,r.cn)("animate-pulse rounded-md bg-primary/10",e),style:{animationDelay:a?`${a}ms`:void 0,...s},...n})},"SkeletonGroup",0,function({children:e,stagger:r=80,className:s,...n}){let l=a.Children.toArray(e);return(0,t.jsx)("div",{className:s,...n,children:l.map((e,t)=>{if(!a.isValidElement(e))return e;let s=e.props.delay??0;return a.cloneElement(e,{delay:s+t*r})})})}])},10414,e=>{"use strict";var t=e.i(44501),a=e.i(17635),r=e.i(76490);let s=a.forwardRef(({className:e,...a},s)=>(0,t.jsx)("div",{ref:s,className:(0,r.cn)("rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] text-[hsl(var(--card-foreground))] shadow-sm",e),...a}));s.displayName="Card",a.forwardRef(({className:e,...a},s)=>(0,t.jsx)("div",{ref:s,className:(0,r.cn)("flex flex-col space-y-1 px-5 pt-5 pb-3 border-b border-[hsl(var(--border-light))]",e),...a})).displayName="CardHeader",a.forwardRef(({className:e,...a},s)=>(0,t.jsx)("div",{ref:s,className:(0,r.cn)("text-base font-semibold leading-tight",e),...a})).displayName="CardTitle",a.forwardRef(({className:e,...a},s)=>(0,t.jsx)("div",{ref:s,className:(0,r.cn)("text-sm text-[hsl(var(--muted-foreground))]",e),...a})).displayName="CardDescription";let n=a.forwardRef(({className:e,...a},s)=>(0,t.jsx)("div",{ref:s,className:(0,r.cn)("px-5 py-4",e),...a}));n.displayName="CardContent",a.forwardRef(({className:e,...a},s)=>(0,t.jsx)("div",{ref:s,className:(0,r.cn)("flex items-center px-5 py-3 border-t border-[hsl(var(--border-light))]",e),...a})).displayName="CardFooter";let l=a.forwardRef(({className:e,...a},s)=>(0,t.jsx)("div",{ref:s,className:(0,r.cn)("rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] text-[hsl(var(--card-foreground))] shadow-sm","transition-[transform,box-shadow,border-color] duration-200 ease-[cubic-bezier(0.34,1.56,0.64,1)]","hover:border-[hsl(var(--primary))] hover:shadow-primary-soft",e),...a}));l.displayName="CardInteractive",e.s(["Card",0,s,"CardContent",0,n,"CardInteractive",0,l])},81015,e=>{"use strict";e.s(["buildMemoryScope",0,function(e){return{appId:e.get("appId")??"",tenantId:e.get("tenantId")||void 0,agentId:e.get("agentId")||void 0,runId:e.get("runId")||void 0}},"formatScope",0,function(e){return e?[e.appId,e.tenantId,e.agentId,e.runId].filter(Boolean).join(" / "):"-"},"hasPreciseScope",0,function(e){return!!e.appId&&"*"!==e.appId&&!!e.tenantId&&"*"!==e.tenantId&&!!e.agentId&&"*"!==e.agentId&&!!e.runId&&"*"!==e.runId},"hasSearchableScope",0,function(e){return!!e.appId&&"*"!==e.appId&&!!e.tenantId&&"*"!==e.tenantId},"hasWildcardScope",0,function(e){return Object.values(e).some(e=>"*"===e)},"parseJsonObject",0,function(e){if(!e.trim())return;let t=JSON.parse(e);if(!t||"object"!=typeof t||Array.isArray(t))throw Error("JSON must be an object");return t},"scopeToSearchParams",0,function(e){let t=new URLSearchParams;return t.set("appId",e.appId),e.tenantId&&t.set("tenantId",e.tenantId),e.agentId&&t.set("agentId",e.agentId),e.runId&&t.set("runId",e.runId),t}])},67530,e=>{"use strict";let t=(0,e.i(86620).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Settings",0,t],67530)},53552,e=>{"use strict";let t=(0,e.i(86620).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],53552)},7663,e=>{"use strict";var t=e.i(44501),a=e.i(70978),r=e.i(65581),s=e.i(53552),n=e.i(86620);let l=(0,n.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]),i=(0,n.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var d=e.i(94237),c=e.i(76490),o=e.i(83389),u=e.i(17635);let h="detail-sidebar.collapsed",m="detail-sidebar-collapsed-change",x=null;function p(){if(null!==x)return x;try{x="1"===window.localStorage.getItem(h)}catch{x=!1}return x}function f(e){let t=t=>{x=!!t.detail,e()},a=t=>{t.key===h&&(x="1"===t.newValue,e())};return window.addEventListener(m,t),window.addEventListener("storage",a),()=>{window.removeEventListener(m,t),window.removeEventListener("storage",a)}}function v(){return p()}function g(){return!1}function b(){let e=(0,u.useSyncExternalStore)(f,v,g),t=(0,u.useCallback)(e=>{x=e;try{window.localStorage.setItem(h,e?"1":"0")}catch{}window.dispatchEvent(new CustomEvent(m,{detail:e}))},[]),a=(0,u.useCallback)(()=>{t(!p())},[t]);return{collapsed:e,setCollapsed:t,toggle:a}}var j=e.i(12122);function y(){let{toggle:e}=b();return(0,t.jsx)(j.TooltipProvider,{delayDuration:200,children:(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"展开侧边栏",onClick:e,className:"hidden md:flex absolute left-3 top-3 z-10 h-8 w-8 items-center justify-center rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] text-[hsl(var(--muted-foreground))] shadow-sm transition-colors hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--foreground))]",children:(0,t.jsx)(i,{className:"h-4 w-4"})})}),(0,t.jsx)(j.TooltipContent,{side:"right",sideOffset:6,children:"展开侧边栏"})]})})}let I=(0,d.cva)("flex h-9 w-9 items-center justify-center rounded-lg [&>svg]:h-[18px] [&>svg]:w-[18px]",{variants:{accent:{primary:"bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]",success:"bg-[hsl(var(--success-soft))] text-[hsl(var(--success))]",warning:"bg-[hsl(var(--warning-soft))] text-[hsl(var(--warning))]",danger:"bg-[hsl(var(--danger-soft))] text-[hsl(var(--danger))]",purple:"bg-[hsl(var(--purple-soft))] text-[hsl(var(--purple))]"}},defaultVariants:{accent:"primary"}});function w({children:e,className:a}){let{collapsed:r}=(0,o.useSidebarCollapsed)();return(0,t.jsx)("div",{className:(0,c.cn)("fixed inset-0 z-30 flex items-stretch overflow-hidden bg-[hsl(var(--background))] transition-[left] duration-200 ease-out","max-md:top-14",r?"md:left-16":"md:left-[220px]",a),children:e})}function N({className:e,children:a}){return(0,t.jsx)("div",{className:(0,c.cn)("-mx-7 -my-5 flex h-[calc(100%+2.5rem)] overflow-hidden max-md:-mx-4 max-md:my-0 max-md:h-full",e),children:a})}e.s(["AppShellLayout",0,w,"DetailLayout",0,function({sidebar:e,children:a}){let{collapsed:r}=b();return(0,t.jsxs)(w,{children:[e,(0,t.jsxs)("div",{className:"relative min-w-0 flex-1",children:[r?(0,t.jsx)(y,{}):null,(0,t.jsx)("div",{className:"absolute inset-0 overflow-y-auto px-7 py-5 max-md:px-4",children:a})]})]})},"DetailSidebar",0,function({className:e,children:a}){let{collapsed:r}=b();return r?null:(0,t.jsx)("aside",{className:(0,c.cn)("hidden h-full w-[220px] shrink-0 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))] overflow-hidden md:flex",e),children:a})},"DetailSidebarBack",0,function({href:e,label:r="返回列表"}){return(0,t.jsx)("div",{className:"border-t border-[hsl(var(--border-light))] p-3",children:(0,t.jsxs)(a.default,{href:e,className:"flex h-8 items-center justify-center gap-1.5 rounded-md text-[13px] font-medium text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--primary))]",children:[(0,t.jsx)(s.ArrowLeft,{className:"h-3.5 w-3.5"}),r]})})},"DetailSidebarHeader",0,function({icon:e,accent:a,name:r,typeLabel:s,description:n,actions:i,extra:d}){let{toggle:c}=b();return(0,t.jsxs)("header",{className:"flex flex-col gap-2 border-b border-[hsl(var(--border-light))] px-4 pb-4 pt-4",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsx)("div",{className:I({accent:a}),children:e}),(0,t.jsxs)("div",{className:"-mt-1 -mr-1 flex items-center gap-0.5",children:[i,(0,t.jsx)(j.TooltipProvider,{delayDuration:200,children:(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"收起侧边栏",onClick:c,className:"flex h-7 w-7 items-center justify-center rounded-md text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",children:(0,t.jsx)(l,{className:"h-4 w-4"})})}),(0,t.jsx)(j.TooltipContent,{side:"bottom",sideOffset:6,children:"收起侧边栏"})]})})]})]}),(0,t.jsxs)("div",{className:"space-y-0.5",children:[(0,t.jsx)("div",{className:"text-sm font-semibold leading-tight text-[hsl(var(--foreground))]",children:r}),s?(0,t.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-[hsl(var(--muted-foreground))]",children:s}):null]}),n?(0,t.jsx)("p",{className:"line-clamp-3 text-[13px] leading-snug text-[hsl(var(--muted-foreground))]",children:n}):null,d?(0,t.jsx)("div",{className:"flex flex-col gap-1.5 text-[11px] text-[hsl(var(--subtle))]",children:d}):null]})},"DetailSidebarMenu",0,function({items:e,className:s}){let n=(0,r.usePathname)()??"";return(0,t.jsx)("nav",{className:(0,c.cn)("flex-1 overflow-y-auto px-2 py-2",s),children:(0,t.jsx)("ul",{className:"space-y-0.5",children:e.map(e=>{let r=e.href.split("?")[0],s=n===r||n.startsWith(`${r}/`);return(0,t.jsx)("li",{children:(0,t.jsxs)(a.default,{href:e.href,className:(0,c.cn)("flex h-8 items-center gap-2 rounded-md px-3 text-[13px] font-medium transition-colors duration-150",s?"bg-[hsl(var(--sidebar-active-bg))] text-[hsl(var(--sidebar-active-fg))]":"text-[hsl(var(--sidebar-text))] hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]"),children:[e.icon?(0,t.jsx)("span",{className:"[&>svg]:h-4 [&>svg]:w-4",children:e.icon}):null,(0,t.jsx)("span",{className:"flex-1 truncate",children:e.label}),e.endAdornment?(0,t.jsx)("span",{className:"ml-auto text-[11px]",children:e.endAdornment}):null]})},e.href)})})})},"WorkbenchLayout",0,function({aside:e,children:a,asideWidth:r=360}){return(0,t.jsxs)(N,{className:"flex-col lg:flex-row",children:[(0,t.jsx)("aside",{style:{"--workbench-aside-w":`${r}px`},className:(0,c.cn)("shrink-0 overflow-y-auto border-b border-[hsl(var(--border))] bg-[hsl(var(--card))] px-6 py-5 max-md:px-4","lg:w-[var(--workbench-aside-w)] lg:border-b-0 lg:border-r"),children:e}),(0,t.jsx)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:a})]})}],7663)},30363,e=>{"use strict";let t=(0,e.i(86620).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],30363)},96416,e=>{"use strict";let t=(0,e.i(86620).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",0,t],96416)},12251,e=>{"use strict";var t=e.i(44501),a=e.i(17635),r=e.i(33253),s=e.i(42595),n=e.i(23888);e.s(["ConfirmDialog",0,function({open:e,onOpenChange:l,title:i,description:d,confirmText:c="确认",cancelText:o="取消",variant:u="default",onConfirm:h,confirmInput:m,children:x}){let[p,f]=(0,a.useState)(""),v=void 0!==m&&""!==m,g=v&&p!==m,b=(0,a.useCallback)(()=>{g||(h(),f(""))},[g,h]),j=(0,a.useCallback)(e=>{e||f(""),l(e)},[l]);return(0,t.jsx)(r.Dialog,{open:e,onOpenChange:j,children:(0,t.jsxs)(r.DialogContent,{className:"sm:max-w-120",children:[(0,t.jsxs)(r.DialogHeader,{children:[(0,t.jsx)(r.DialogTitle,{children:i}),(0,t.jsx)(r.DialogDescription,{className:"break-all",children:d})]}),v&&(0,t.jsxs)("div",{className:"py-2",children:[(0,t.jsxs)("p",{className:"mb-2 text-sm text-muted-foreground",children:["请输入 ",(0,t.jsx)("strong",{children:m})," 以确认操作"]}),(0,t.jsx)(n.Input,{value:p,onChange:e=>f(e.target.value),placeholder:m,autoFocus:!0})]}),x&&(0,t.jsx)("div",{className:"py-1",children:x}),(0,t.jsxs)(r.DialogFooter,{children:[(0,t.jsx)(s.Button,{variant:"outline",onClick:()=>j(!1),children:o}),(0,t.jsx)(s.Button,{variant:"danger"===u?"destructive":"default",onClick:b,disabled:g,children:c})]})]})})}])},83823,e=>{"use strict";let t=(0,e.i(86620).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],83823)},90399,e=>{"use strict";let t=(0,e.i(86620).default)("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);e.s(["MoreVertical",0,t],90399)},65958,e=>{"use strict";var t=e.i(43876),a=e.i(64204),r=e.i(47570),s=e.i(7166);e.s(["useMemoryStore",0,function(e){let{context:n,ready:l}=(0,s.useRuntimeContext)();return(0,t.useQuery)({queryKey:r.queryKeys.memoryStore(n.dataScopeKey,e),queryFn:()=>(0,a.describeMemoryStore)(e),enabled:l&&!!e})}])},70821,e=>{"use strict";var t=e.i(44501),a=e.i(65581),r=e.i(87014),s=e.i(12251),n=e.i(37500),l=e.i(12984),i=e.i(64204),d=e.i(47570);e.s(["MemoryDeleteDialog",0,function({memoryStoreName:e,open:c,onOpenChange:o,redirectToList:u=!1}){let h,m=(0,a.useRouter)(),x=(h=(0,l.useQueryClient)(),(0,n.useMutation)({mutationFn:e=>(0,i.deleteMemoryStore)(e),onSuccess:()=>{(0,d.invalidateMemoryQueries)(h)}}));async function p(){if(e)try{await x.mutateAsync(e),r.toast.success("记忆库已删除"),o(!1),u&&m.push("/memory")}catch(e){r.toast.error(e instanceof Error?e.message:"删除记忆库失败")}}return(0,t.jsx)(s.ConfirmDialog,{open:c,onOpenChange:o,title:"删除记忆库",description:`确定要删除记忆库 "${e??""}" 吗?此操作不可撤销。`,confirmInput:e??void 0,confirmText:"删除",variant:"danger",onConfirm:p})}],70821)},27111,e=>{"use strict";var t=e.i(44501),a=e.i(65581),r=e.i(17635),s=e.i(18722),n=e.i(77163);let l=(0,e.i(86620).default)("file-clock",[["path",{d:"M16 22h2a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v2.85",key:"ryk6xj"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 14v2.2l1.6 1",key:"6m4bie"}],["circle",{cx:"8",cy:"16",r:"6",key:"10v15b"}]]);var i=e.i(37769),d=e.i(90399),c=e.i(96416),o=e.i(67530),u=e.i(30363),h=e.i(31211),m=e.i(1709),x=e.i(7663),p=e.i(65958),f=e.i(70821),v=e.i(20268),g=e.i(90055),b=e.i(83823),j=e.i(67225),y=e.i(42595),I=e.i(10414),w=e.i(23888),N=e.i(66476),S=e.i(66473),k=e.i(81015),C=e.i(64204);let M=[{key:"appId",label:"App",placeholder:"app-001"},{key:"tenantId",label:"Tenant",placeholder:"tenant-001"},{key:"agentId",label:"Agent",placeholder:"agent-001"},{key:"runId",label:"Run",placeholder:"run-001"}];function D(){let e=(0,a.useRouter)(),s=(0,a.usePathname)(),n=(0,a.useSearchParams)(),l=(0,r.useMemo)(()=>(0,k.buildMemoryScope)(n),[n.toString()]),[i,d]=(0,r.useState)(!1),[c,o]=(0,r.useState)(l),[u,h]=(0,r.useState)(null),[m,x]=(0,r.useState)(null),[p,f]=(0,r.useState)(!1),D=(0,r.useRef)(!1),T=s.split("/").filter(Boolean)[1],R=(0,k.hasWildcardScope)(l);(0,r.useEffect)(()=>{T&&!D.current&&(D.current=!0,e());async function e(){try{await (0,C.describeMemoryStore)(T);let e=await (0,C.listMemoryUnits)(T,{appId:"*"},{limit:1});e.items?.length>0&&e.items[0].scope?x(e.items[0].scope):x({appId:"__default__",tenantId:"__default__",agentId:"__default__",runId:"__default__"})}catch{}finally{f(!0)}}},[T]),(0,r.useEffect)(()=>{if(!(!T||s.includes("/create"))&&!n.get("appId")){let t=new URLSearchParams({appId:"*",tenantId:"*",agentId:"*",runId:"*"});e.replace(`${s}?${t.toString()}`)}},[n.toString(),s,e,T]),(0,r.useEffect)(()=>{o(e=>e.appId===l.appId&&e.tenantId===l.tenantId&&e.agentId===l.agentId&&e.runId===l.runId?e:l),h(null)},[l.appId,l.tenantId,l.agentId,l.runId]);let $=m?`${m.appId??"-"}/${m.tenantId??"-"}/${m.agentId??"-"}/${m.runId??"-"}`:p?"暂无数据":"加载中...",L=(c.appId??"")==="*"&&(c.tenantId??"")==="*"&&(c.agentId??"")==="*"&&(c.runId??"")==="*",A=!!m&&(c.appId??"")===(m.appId??"")&&(c.tenantId??"")===(m.tenantId??"")&&(c.agentId??"")===(m.agentId??"")&&(c.runId??"")===(m.runId??"");return(0,t.jsx)(I.Card,{className:"border-dashed",children:(0,t.jsxs)(I.CardContent,{className:"p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,t.jsx)(j.Settings2,{className:"h-4 w-4 text-muted-foreground"}),M.map(({key:e,label:a})=>(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:a}),(0,t.jsx)("span",{className:"rounded-md bg-[hsl(var(--muted))] px-2.5 py-1 text-xs font-mono text-[hsl(var(--foreground))]",children:l[e]??"—"})]},e))]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[R&&(0,t.jsx)("span",{className:"rounded-md bg-amber-50 px-2 py-1 text-xs text-amber-700 dark:bg-amber-950 dark:text-amber-300",children:"只读"}),(0,t.jsxs)(y.Button,{variant:"outline",size:"sm",onClick:()=>d(!i),children:[i?(0,t.jsx)(g.ChevronUp,{className:"mr-1 h-3.5 w-3.5"}):(0,t.jsx)(v.ChevronDown,{className:"mr-1 h-3.5 w-3.5"}),"修改"]})]})]}),i&&(0,t.jsxs)("div",{className:"mt-4 space-y-4 border-t pt-4",children:[(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(N.Label,{className:"text-xs",children:"快速预设"}),(0,t.jsxs)(S.Select,{value:L?"wildcard":A?"precise":"custom",onValueChange:function(e){"wildcard"===e?o({appId:"*",tenantId:"*",agentId:"*",runId:"*"}):"precise"===e&&m&&o({...m})},children:[(0,t.jsx)(S.SelectTrigger,{className:"h-8 text-sm",children:(0,t.jsx)(S.SelectValue,{})}),(0,t.jsxs)(S.SelectContent,{children:[(0,t.jsx)(S.SelectItem,{value:"wildcard",children:"全部数据(*/*/*/*)"}),(0,t.jsxs)(S.SelectItem,{value:"precise",disabled:!m,children:["精确范围(",$,")"]})]})]})]}),(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:M.map(({key:e,label:a,placeholder:r})=>(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)(N.Label,{htmlFor:`scope-${e}`,className:"text-xs",children:[a,"appId"===e&&(0,t.jsx)("span",{className:"ml-0.5 text-[hsl(var(--destructive))]",children:"*"})]}),(0,t.jsx)(w.Input,{id:`scope-${e}`,value:c[e]??"",placeholder:r,onChange:t=>{var a;return a=t.target.value,void("appId"===e?o(e=>({...e,appId:a})):o(t=>({...t,[e]:a||void 0})))},className:"h-8 text-sm"})]},e))}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[u&&(0,t.jsx)("p",{className:"text-xs text-[hsl(var(--destructive))]",children:u}),!u&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"写操作需精确 scope,读/搜索支持通配符 *。"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(y.Button,{variant:"outline",size:"sm",onClick:function(){o({appId:"*",tenantId:"*",agentId:"*",runId:"*"}),h(null),e.replace(`${s}?appId=*&tenantId=*&agentId=*&runId=*`)},children:[(0,t.jsx)(b.RotateCcw,{className:"mr-1 h-3 w-3"}),"重置"]}),(0,t.jsx)(y.Button,{size:"sm",onClick:function(){let t={appId:(c.appId??"").trim()||"appId",tenantId:(c.tenantId??"").trim()||void 0,agentId:(c.agentId??"").trim()||void 0,runId:(c.runId??"").trim()||void 0};if(!t.appId||"appId"===t.appId)return void h("App 是必填项");h(null);let a=(0,k.scopeToSearchParams)(t);e.replace(`${s}?${a.toString()}`),d(!1)},children:"应用"})]})]})]})]})})}let T=[{label:"长期记忆",segment:"units",icon:(0,t.jsx)(n.Database,{className:"h-4 w-4"})},{label:"记忆检索",segment:"search",icon:(0,t.jsx)(c.Search,{className:"h-4 w-4"})},{label:"短期记忆",segment:"messages",icon:(0,t.jsx)(i.MessageSquare,{className:"h-4 w-4"})},{label:"请求审计",segment:"requests",icon:(0,t.jsx)(l,{className:"h-4 w-4"})},{label:"设置",segment:"settings",icon:(0,t.jsx)(o.Settings,{className:"h-4 w-4"})}];function R(){return(0,t.jsxs)(x.DetailSidebar,{children:[(0,t.jsxs)("div",{className:"space-y-3 px-4 pt-4 pb-4 border-b border-[hsl(var(--border-light))]",children:[(0,t.jsx)(h.Skeleton,{className:"h-9 w-9 rounded-lg"}),(0,t.jsx)(h.Skeleton,{className:"h-4 w-3/4"}),(0,t.jsx)(h.Skeleton,{className:"h-3 w-1/2"})]}),(0,t.jsxs)("div",{className:"space-y-1 px-2 py-2",children:[(0,t.jsx)(h.Skeleton,{className:"h-8 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-8 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-8 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-8 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-8 w-full"})]})]})}e.s(["default",0,function({children:e}){let n=decodeURIComponent((0,a.useParams)().store),l=(0,a.useSearchParams)(),{data:i,isLoading:c}=(0,p.useMemoryStore)(n),[o,v]=(0,r.useState)(!1),g=l.toString()?`?${l.toString()}`:"",b=`/memory/${encodeURIComponent(n)}`,j=T.map(e=>({href:`${b}/${e.segment}${g}`,label:e.label,icon:e.icon}));return c?(0,t.jsx)(x.DetailLayout,{sidebar:(0,t.jsx)(R,{}),children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(h.Skeleton,{className:"h-10 w-64"}),(0,t.jsx)(h.Skeleton,{className:"h-28 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-64 w-full"})]})}):i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.DetailLayout,{sidebar:(0,t.jsxs)(x.DetailSidebar,{children:[(0,t.jsx)(x.DetailSidebarHeader,{icon:(0,t.jsx)(s.Brain,{}),accent:"purple",name:i.memoryStoreName,typeLabel:"记忆库 · MEMORY STORE",description:i.description,actions:(0,t.jsxs)(m.DropdownMenu,{children:[(0,t.jsx)(m.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"更多操作",className:"flex h-7 w-7 items-center justify-center rounded-md text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",children:(0,t.jsx)(d.MoreVertical,{className:"h-4 w-4"})})}),(0,t.jsx)(m.DropdownMenuContent,{align:"end",children:(0,t.jsxs)(m.DropdownMenuItem,{onSelect:e=>{e.preventDefault(),v(!0)},className:"text-[hsl(var(--destructive))] focus:bg-[hsl(var(--danger-soft))] focus:text-[hsl(var(--destructive))] hover:bg-[hsl(var(--danger-soft))] hover:text-[hsl(var(--destructive))]",children:[(0,t.jsx)(u.Trash2,{className:"h-3.5 w-3.5"}),"删除记忆库"]})})]})}),(0,t.jsx)(x.DetailSidebarMenu,{items:j}),(0,t.jsx)(x.DetailSidebarBack,{href:"/memory",label:"返回列表"})]}),children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(D,{}),(0,t.jsx)("div",{children:e})]})}),(0,t.jsx)(f.MemoryDeleteDialog,{memoryStoreName:n,open:o,onOpenChange:v,redirectToList:!0})]}):(0,t.jsx)(x.DetailLayout,{sidebar:(0,t.jsx)(R,{}),children:(0,t.jsx)("div",{className:"flex items-center justify-center py-20 text-muted-foreground",children:"记忆库不存在或已被删除"})})}],27111)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2447,e=>{"use strict";var t=e.i(44501),r=e.i(17635),s=e.i(67225),a=e.i(42595),n=e.i(7663),o=e.i(21122);let l=(0,e.i(86620).default)("message-square-plus",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 8v6",key:"1ib9pf"}],["path",{d:"M9 11h6",key:"1fldmi"}]]);var i=e.i(30363),d=e.i(76490);function c({sessions:e,activeSessionId:r,onNewSession:s,onSelectSession:n,onDeleteSession:o,onClearAll:d}){return(0,t.jsxs)("aside",{className:"flex h-full w-64 shrink-0 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--surface))]",children:[(0,t.jsx)("div",{className:"border-b border-[hsl(var(--border))] p-3",children:(0,t.jsxs)(a.Button,{type:"button",onClick:s,className:"w-full justify-start gap-2",variant:"outline",children:[(0,t.jsx)(l,{className:"h-4 w-4"}),"新对话"]})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto",children:0===e.length?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-xs text-muted-foreground",children:"暂无历史对话"}):(0,t.jsx)("ul",{className:"space-y-0.5 p-2",children:e.map(e=>(0,t.jsx)("li",{children:(0,t.jsx)(m,{session:e,active:e.id===r,onSelect:()=>n(e.id),onDelete:()=>o(e.id)})},e.id))})}),e.length>0?(0,t.jsx)("div",{className:"border-t border-[hsl(var(--border))] p-2",children:(0,t.jsxs)(a.Button,{type:"button",variant:"ghost",size:"sm",onClick:d,className:"w-full justify-start gap-2 text-muted-foreground hover:text-[hsl(var(--destructive))]",children:[(0,t.jsx)(i.Trash2,{className:"h-3.5 w-3.5"}),"清空全部"]})}):null]})}function m({session:e,active:r,onSelect:s,onDelete:n}){let o=e.config.mounts.length;return(0,t.jsxs)("div",{className:(0,d.cn)("group flex items-center gap-1 rounded-md px-2 py-1.5 text-sm transition-colors",r?"bg-[hsl(var(--accent))] text-foreground":"text-foreground/80 hover:bg-[hsl(var(--accent)/0.6)]"),children:[(0,t.jsxs)("button",{type:"button",onClick:s,className:"flex min-w-0 flex-1 flex-col items-start text-left",children:[(0,t.jsx)("span",{className:"w-full truncate font-medium",children:e.title}),(0,t.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[(0,t.jsx)("span",{children:function(e){let t=Math.floor((Date.now()-e)/6e4);if(t<1)return"刚刚";if(t<60)return`${t} 分钟前`;let r=Math.floor(t/60);if(r<24)return`${r} 小时前`;let s=Math.floor(r/24);return s<7?`${s} 天前`:new Date(e).toLocaleDateString()}(e.updatedAt)}),o>0?(0,t.jsxs)("span",{children:["· ",o," KB"]}):null]})]}),(0,t.jsx)(a.Button,{type:"button",variant:"ghost",size:"icon",onClick:e=>{e.stopPropagation(),n()},className:"h-6 w-6 opacity-0 group-hover:opacity-100",title:"删除",children:(0,t.jsx)(i.Trash2,{className:"h-3 w-3 text-muted-foreground"})})]})}var u=e.i(6703),p=e.i(46951),h=e.i(46398);let g=p.Root;p.Trigger,p.Close;let x=p.Portal,f=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(p.Overlay,{ref:s,className:(0,d.cn)("fixed inset-0 z-50 bg-black/30 backdrop-blur-sm duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...r}));f.displayName=p.Overlay.displayName;let v={top:"inset-x-0 top-0 border-b data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top",bottom:"inset-x-0 bottom-0 border-t data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom",left:"inset-y-0 left-0 h-full w-3/4 max-w-sm border-r data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left",right:"inset-y-0 right-0 h-full w-3/4 max-w-md border-l data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right"},y=r.forwardRef(({className:e,children:r,side:s="right",...a},n)=>(0,t.jsxs)(x,{children:[(0,t.jsx)(f,{}),(0,t.jsxs)(p.Content,{ref:n,className:(0,d.cn)("fixed z-50 flex flex-col gap-4 bg-[hsl(var(--card))] p-6 shadow-md border-[hsl(var(--border))]","duration-300 ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out",v[s],e),...a,children:[r,(0,t.jsxs)(p.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[(0,t.jsx)(h.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));y.displayName=p.Content.displayName;let b=({className:e,...r})=>(0,t.jsx)("div",{className:(0,d.cn)("flex flex-col space-y-1.5 text-left",e),...r});b.displayName="SheetHeader";let j=({className:e,...r})=>(0,t.jsx)("div",{className:(0,d.cn)("mt-auto flex flex-col-reverse gap-2 sm:flex-row sm:justify-end sm:space-x-2",e),...r});j.displayName="SheetFooter";let N=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(p.Title,{ref:s,className:(0,d.cn)("text-base font-semibold leading-tight",e),...r}));N.displayName=p.Title.displayName;let w=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(p.Description,{ref:s,className:(0,d.cn)("text-sm text-[hsl(var(--muted-foreground))]",e),...r}));w.displayName=p.Description.displayName;var T=e.i(23888),S=e.i(66476),I=e.i(47932),E=e.i(33042),k=e.i(6962);let C={providerId:"",model:"",systemPrompt:"",temperature:void 0,aggregateTopK:20,perKbTopK:20,retrieval:{searchType:["DENSE_VECTOR","FULL_TEXT"],rerankType:"WEIGHT",weightDense:.7,weightFullText:.3},mounts:[]};function K(e,t){switch(t.type){case"SET_PROVIDER":return{...e,providerId:t.providerId,model:t.model};case"SET_MODEL":return{...e,model:t.model};case"SET_SYSTEM_PROMPT":return{...e,systemPrompt:t.value};case"SET_TEMPERATURE":return{...e,temperature:t.value};case"SET_AGGREGATE_TOP_K":return{...e,aggregateTopK:t.value};case"SET_PER_KB_TOP_K":return{...e,perKbTopK:t.value};case"SET_RETRIEVAL":return{...e,retrieval:t.value};case"ADD_MOUNT":if(e.mounts.some(e=>e.knowledgeBaseName===t.mount.knowledgeBaseName))return e;return{...e,mounts:[...e.mounts,t.mount]};case"UPDATE_MOUNT":return{...e,mounts:e.mounts.map(e=>e.id===t.id?{...e,...t.patch}:e)};case"REMOVE_MOUNT":return{...e,mounts:e.mounts.filter(e=>e.id!==t.id)};case"REORDER_MOUNTS":{let r=new Map(e.mounts.map(e=>[e.id,e])),s=t.ids.map(e=>r.get(e)).filter(e=>!!e);return{...e,mounts:s}}case"HYDRATE":return{...e,...t.state};case"SET_MEMORY":{if(!t.binding)return{...e,memory:void 0};let r=t.binding.scope.runId||(0,k.newId)("run");return{...e,memory:{id:e.memory?.id??(0,k.newId)("memory"),...t.binding,scope:{...t.binding.scope,runId:r}}}}case"UPDATE_MEMORY":{if(!e.memory)return e;let{scope:r,...s}=t.patch;return{...e,memory:{...e.memory,...s,scope:{...e.memory.scope,...r??{}}}}}case"RESET":return C;default:return e}}let _=(0,r.createContext)(null);function M({children:e}){let[s,a]=(0,r.useReducer)(K,C),n=(0,r.useMemo)(()=>({...s,setProvider:(e,t)=>a({type:"SET_PROVIDER",providerId:e,model:t}),setModel:e=>a({type:"SET_MODEL",model:e}),setSystemPrompt:e=>a({type:"SET_SYSTEM_PROMPT",value:e}),setTemperature:e=>a({type:"SET_TEMPERATURE",value:e}),setAggregateTopK:e=>a({type:"SET_AGGREGATE_TOP_K",value:e}),setPerKbTopK:e=>a({type:"SET_PER_KB_TOP_K",value:e}),setRetrieval:e=>a({type:"SET_RETRIEVAL",value:e}),addMount:e=>a({type:"ADD_MOUNT",mount:e}),updateMount:(e,t)=>a({type:"UPDATE_MOUNT",id:e,patch:t}),removeMount:e=>a({type:"REMOVE_MOUNT",id:e}),reorderMounts:e=>a({type:"REORDER_MOUNTS",ids:e}),setMemory:e=>a({type:"SET_MEMORY",binding:e}),updateMemory:e=>a({type:"UPDATE_MEMORY",patch:e}),hydrate:e=>a({type:"HYDRATE",state:e}),reset:()=>a({type:"RESET"}),toSessionConfig:()=>({providerId:s.providerId||void 0,model:s.model||void 0,systemPrompt:s.systemPrompt||void 0,temperature:s.temperature,aggregateTopK:s.aggregateTopK,perKbTopK:s.perKbTopK,retrieval:s.retrieval,mounts:s.mounts,memory:s.memory})}),[s]);return(0,t.jsx)(_.Provider,{value:n,children:e})}function P(){let e=(0,r.useContext)(_);if(!e)throw Error("useChatConfig must be used within a ChatConfigProvider");return e}var R=e.i(50657),B=e.i(51024),D=e.i(9012),A=e.i(58204),O=e.i(77163),L=e.i(53139),F=e.i(36766);function U({kbs:e,onPick:s,children:a,align:n="start"}){let[o,l]=(0,r.useState)(!1),i=t=>{let r=e.find(e=>e.knowledgeBaseName===t);r&&(s(r),l(!1))};return(0,t.jsxs)(F.Popover,{open:o,onOpenChange:l,children:[(0,t.jsx)(F.PopoverTrigger,{asChild:!0,children:a}),(0,t.jsx)(F.PopoverContent,{align:n,sideOffset:6,className:"w-[var(--radix-popover-trigger-width)] min-w-[260px] p-0",children:(0,t.jsxs)(L.Command,{children:[(0,t.jsx)(L.CommandInput,{placeholder:"搜索知识库..."}),(0,t.jsxs)(L.CommandList,{children:[(0,t.jsx)(L.CommandEmpty,{children:"未找到匹配的知识库"}),e.length>0?(0,t.jsx)(L.CommandGroup,{children:e.map(e=>(0,t.jsxs)(L.CommandItem,{value:e.knowledgeBaseName,onSelect:i,children:[(0,t.jsx)(O.Database,{className:"text-[hsl(var(--muted-foreground))]"}),(0,t.jsx)("span",{className:"truncate",children:e.knowledgeBaseName})]},e.knowledgeBaseName))}):null]})]})})]})}function V({kbs:e,onAdd:r}){return 0===e.length?null:(0,t.jsx)(U,{kbs:e,onPick:r,align:"start",children:(0,t.jsxs)("button",{type:"button",className:"group flex w-full items-center justify-center gap-1.5 rounded-md border border-dashed border-[hsl(var(--border))] bg-transparent px-3 py-2 text-xs font-medium text-[hsl(var(--muted-foreground))] transition-colors hover:border-[hsl(var(--primary)/0.5)] hover:bg-[hsl(var(--primary-soft))] hover:text-[hsl(var(--primary))] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--primary)/0.3)] focus-visible:ring-offset-1 focus-visible:ring-offset-[hsl(var(--background))]",children:[(0,t.jsx)(A.Plus,{className:"h-3.5 w-3.5 transition-transform group-hover:rotate-90"}),"添加更多知识库",(0,t.jsxs)("span",{className:"text-[hsl(var(--muted-foreground))]/70 group-hover:text-[hsl(var(--primary))]/70",children:["(",e.length,")"]})]})})}var z=e.i(70978),W=e.i(18722),$=e.i(82652),G=e.i(34752),Y=e.i(87014),H=e.i(54614),q=e.i(62769),J=e.i(66473);function Q(){let e=P(),{data:s,isLoading:a}=(0,H.useMemoryStores)(),n=s?.items??[],o=e.memory,l=(0,r.useId)();return(0,t.jsxs)("div",{className:"space-y-3 border-t border-[hsl(var(--border))] pt-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(S.Label,{className:"text-sm font-medium",children:"绑定的记忆库"}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o?`每轮检索 Top-${o.topK??5},对话后写回当前 scope`:"绑定后服务端在每轮对话前检索、对话后写回;同一 app+tenant 下记忆跨 agent 可共享"})]}),o&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(S.Label,{htmlFor:l,className:"text-xs text-muted-foreground",title:"每轮检索返回的记忆条数上限",children:"Top-K"}),(0,t.jsx)(T.Input,{id:l,type:"number",min:1,max:50,className:"h-8 w-20",value:o.topK??5,onChange:t=>{let r=parseInt(t.target.value,10),s=Number.isFinite(r)&&r>=1&&r<=50?r:5;e.updateMemory({topK:s})}})]})]}),o?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(Z,{value:o.memoryStoreName,stores:n,onChange:t=>e.updateMemory({memoryStoreName:t}),onUnbind:()=>e.setMemory(void 0)}),(0,t.jsx)(ee,{appId:o.scope.appId,tenantId:o.scope.tenantId,agentId:o.scope.agentId,runId:o.scope.runId,autoSave:o.autoSave,onScopeChange:t=>e.updateMemory({scope:t}),onAutoSaveChange:t=>e.updateMemory({autoSave:t})})]}):(0,t.jsx)(X,{stores:n,isLoading:a,onBind:()=>e.setMemory({memoryStoreName:n[0]?.memoryStoreName??"",scope:{appId:"",tenantId:"",agentId:"",runId:""},autoSave:!0,topK:5})})]})}function X(e){let{stores:r,isLoading:s,onBind:n}=e,o=!s&&0===r.length;return(0,t.jsxs)("div",{className:"animate-home-reveal relative overflow-hidden rounded-lg border border-dashed border-[hsl(var(--primary)/0.35)] bg-gradient-to-br from-[hsl(var(--primary-soft))] via-[hsl(var(--surface))] to-[hsl(var(--surface))] px-5 py-6 text-center",role:"region","aria-label":"绑定记忆库",children:[(0,t.jsx)(G.Sparkles,{className:"pointer-events-none absolute right-3 top-3 h-3.5 w-3.5 text-[hsl(var(--primary)/0.45)]","aria-hidden":!0}),(0,t.jsx)("div",{className:"mx-auto mb-3 flex h-12 w-12 items-center justify-center rounded-xl bg-[hsl(var(--primary-soft))] ring-1 ring-[hsl(var(--primary)/0.18)]",children:(0,t.jsx)(W.Brain,{className:"h-6 w-6 text-[hsl(var(--primary))]"})}),(0,t.jsx)("h3",{className:"text-sm font-semibold text-[hsl(var(--foreground))]",children:o?"还没有任何记忆库":"绑定记忆库以让对话拥有长期记忆"}),(0,t.jsx)("p",{className:"mx-auto mt-1 max-w-[320px] text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:o?"创建第一个记忆库后,即可在对话中绑定并自动写回 / 检索":"绑定后服务端会在每轮对话前检索相关记忆注入到 system prompt,对话结束后自动写回到当前 scope"}),(0,t.jsxs)("div",{className:"mt-4 flex flex-col items-center gap-2",children:[o?(0,t.jsx)(a.Button,{asChild:!0,size:"default",className:"h-9 px-4",children:(0,t.jsxs)(z.default,{href:"/memory/create",children:[(0,t.jsx)(W.Brain,{className:"h-4 w-4"}),"创建记忆库"]})}):(0,t.jsxs)(a.Button,{type:"button",size:"default",className:"h-9 px-4",disabled:s,onClick:n,children:[(0,t.jsx)(A.Plus,{className:"h-4 w-4"}),"绑定记忆库"]}),o||s?null:(0,t.jsxs)("p",{className:"text-[11px] text-[hsl(var(--muted-foreground))]",children:["从已有的"," ",(0,t.jsx)("span",{className:"font-medium text-[hsl(var(--foreground))]",children:r.length})," ","个记忆库中选择"]})]})]})}function Z(e){return(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.3)] px-3 py-2",children:[(0,t.jsx)(W.Brain,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]"}),(0,t.jsxs)(J.Select,{value:e.value,onValueChange:e.onChange,children:[(0,t.jsx)(J.SelectTrigger,{className:"h-8 flex-1 border-0 bg-transparent px-1 text-sm font-medium shadow-none hover:bg-[hsl(var(--muted)/0.5)] focus:ring-0 focus:ring-offset-0",children:(0,t.jsx)(J.SelectValue,{placeholder:"选择记忆库"})}),(0,t.jsx)(J.SelectContent,{children:e.stores.map(e=>(0,t.jsx)(J.SelectItem,{value:e.memoryStoreName,children:e.memoryStoreName},e.memoryStoreName))})]}),(0,t.jsx)(a.Button,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:e.onUnbind,title:"解除绑定",children:(0,t.jsx)(i.Trash2,{className:"h-3.5 w-3.5 text-muted-foreground"})})]})}function ee(e){return(0,t.jsxs)("div",{className:"space-y-4 border-t border-[hsl(var(--border-light))] pt-3",children:[(0,t.jsxs)("div",{className:"space-y-2.5",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(S.Label,{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"写 Scope"}),(0,t.jsxs)("p",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:["服务端在检索时把 agentId / runId 派生为通配 ",(0,t.jsx)("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[10px]",children:"*"}),", 因此同一 app + tenant 下不同 agent / 不同会话可以读取彼此的记忆"]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsx)(et,{label:"appId *",value:e.appId,onChange:t=>e.onScopeChange({appId:t})}),(0,t.jsx)(et,{label:"tenantId *",value:e.tenantId,onChange:t=>e.onScopeChange({tenantId:t})}),(0,t.jsx)("div",{className:"col-span-2",children:(0,t.jsx)(et,{label:"agentId *",value:e.agentId,onChange:t=>e.onScopeChange({agentId:t})})})]})]}),(0,t.jsxs)("div",{className:"flex flex-row items-center justify-between gap-4 rounded-md border border-[hsl(var(--border))] p-3",children:[(0,t.jsxs)("div",{className:"space-y-0.5",children:[(0,t.jsx)(S.Label,{className:"text-sm",children:"对话后自动写入记忆"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"autoSave:把本轮 user / assistant 消息归档到当前 scope"})]}),(0,t.jsx)(q.Switch,{checked:e.autoSave,onCheckedChange:e.onAutoSaveChange})]}),(0,t.jsx)(er,{runId:e.runId})]})}function et(e){let s=(0,r.useId)(),a=!e.value;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(S.Label,{htmlFor:s,className:"text-xs",children:e.label}),(0,t.jsx)(T.Input,{id:s,value:e.value,onChange:t=>e.onChange(t.target.value),"aria-invalid":a,className:(0,d.cn)("h-9",a&&"border-[hsl(var(--destructive))]")})]})}function er({runId:e}){let[s,n]=(0,r.useState)(!1);async function o(){if(e)try{await navigator.clipboard.writeText(e),n(!0),Y.toast.success("已复制 runId"),setTimeout(()=>n(!1),1500)}catch{Y.toast.error("复制失败,请手动选择文本")}}return(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(S.Label,{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"run-id"}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",title:"runId 由当前会话自动生成并在整个会话内复用,用于串联同一对话的记忆",children:"会话自动生成 · 自动复用"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("code",{className:"flex-1 truncate rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.35)] px-2.5 py-1.5 font-mono text-[11px] text-muted-foreground",children:e||"—"}),(0,t.jsx)(a.Button,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0","aria-label":"复制 runId",disabled:!e,onClick:o,children:s?(0,t.jsx)(u.Check,{className:"h-3.5 w-3.5 text-[hsl(var(--primary))]"}):(0,t.jsx)($.Copy,{className:"h-3.5 w-3.5"})})]})]})}function es({kbs:e,onAdd:r}){let s=0===e.length;return(0,t.jsxs)("div",{className:"animate-home-reveal relative overflow-hidden rounded-lg border border-dashed border-[hsl(var(--primary)/0.35)] bg-gradient-to-br from-[hsl(var(--primary-soft))] via-[hsl(var(--surface))] to-[hsl(var(--surface))] px-5 py-6 text-center",role:"region","aria-label":"挂载知识库",children:[(0,t.jsx)(G.Sparkles,{className:"pointer-events-none absolute right-3 top-3 h-3.5 w-3.5 text-[hsl(var(--primary)/0.45)]","aria-hidden":!0}),(0,t.jsx)("div",{className:"mx-auto mb-3 flex h-12 w-12 items-center justify-center rounded-xl bg-[hsl(var(--primary-soft))] ring-1 ring-[hsl(var(--primary)/0.18)]",children:(0,t.jsx)(O.Database,{className:"h-6 w-6 text-[hsl(var(--primary))]"})}),(0,t.jsx)("h3",{className:"text-sm font-semibold text-[hsl(var(--foreground))]",children:s?"还没有任何知识库":"挂载知识库以启用 RAG"}),(0,t.jsx)("p",{className:"mx-auto mt-1 max-w-[320px] text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:s?"创建第一个知识库后,即可在对话中挂载并启用检索增强":"挂载后,模型将基于知识库内容生成回答,支持并行检索与全局重排"}),(0,t.jsxs)("div",{className:"mt-4 flex flex-col items-center gap-2",children:[s?(0,t.jsx)(a.Button,{asChild:!0,size:"default",className:"h-9 px-4",children:(0,t.jsxs)(z.default,{href:"/knowledge-base/create",children:[(0,t.jsx)(O.Database,{className:"h-4 w-4"}),"创建知识库"]})}):(0,t.jsx)(U,{kbs:e,onPick:r,align:"center",children:(0,t.jsxs)(a.Button,{type:"button",size:"default",className:"h-9 px-4",children:[(0,t.jsx)(A.Plus,{className:"h-4 w-4"}),"挂载知识库"]})}),s?null:(0,t.jsxs)("p",{className:"text-[11px] text-[hsl(var(--muted-foreground))]",children:["从已有的"," ",(0,t.jsx)("span",{className:"font-medium text-[hsl(var(--foreground))]",children:e.length})," ","个知识库中选择"]})]})]})}function ea({mount:e,subspaceEnabled:s}){let n=P(),[o,l]=(0,r.useState)((e.subspace??[]).join(", "));return(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.3)] px-3 py-2",children:[(0,t.jsx)("span",{className:"flex-1 truncate text-sm font-medium",title:e.knowledgeBaseName,children:e.knowledgeBaseName}),s?(0,t.jsx)(T.Input,{value:o,onChange:e=>l(e.target.value),onBlur:()=>{let t=o.split(",").map(e=>e.trim()).filter(Boolean),r=e.subspace??[];t.length===r.length&&t.every((e,t)=>e===r[t])||n.updateMount(e.id,{subspace:t.length?t:void 0})},onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),e.target.blur())},placeholder:"subspace (逗号分隔)",className:"h-8 w-44 text-xs"}):null,(0,t.jsx)(a.Button,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>n.removeMount(e.id),title:"移除",children:(0,t.jsx)(i.Trash2,{className:"h-3.5 w-3.5 text-muted-foreground"})})]})}var en=e.i(80883),eo=e.i(88310),el=e.i(43754),ei=e.i(21562),ed=e.i(85684),ec=e.i(74540);let em=["searchType","rerankType","rrfK","rrfDenseWeight","rrfFullTextWeight","weightDense","weightFullText","modelName","modelProvider"];function eu({disabled:e,singleKb:s}){let a=P(),n=(0,r.useRef)(null),o=(0,en.useForm)({resolver:(0,eo.zodResolver)(ec.retrievalSchema),defaultValues:{knowledgeBaseName:s?.knowledgeBaseName??"__unified__",query:"__unified_placeholder__",subspace:[],topK:a.perKbTopK,searchType:a.retrieval.searchType??["DENSE_VECTOR","FULL_TEXT"],rerankType:a.retrieval.rerankType,rrfK:a.retrieval.rrfK,rrfDenseWeight:a.retrieval.rrfDenseWeight,rrfFullTextWeight:a.retrieval.rrfFullTextWeight,weightDense:a.retrieval.weightDense,weightFullText:a.retrieval.weightFullText,modelName:a.retrieval.modelName,modelProvider:a.retrieval.modelProvider}});(0,r.useEffect)(()=>{o.reset({knowledgeBaseName:s?.knowledgeBaseName??"__unified__",query:"__unified_placeholder__",subspace:[],topK:a.perKbTopK,searchType:a.retrieval.searchType??["DENSE_VECTOR","FULL_TEXT"],rerankType:a.retrieval.rerankType,rrfK:a.retrieval.rrfK,rrfDenseWeight:a.retrieval.rrfDenseWeight,rrfFullTextWeight:a.retrieval.rrfFullTextWeight,weightDense:a.retrieval.weightDense,weightFullText:a.retrieval.weightFullText,modelName:a.retrieval.modelName,modelProvider:a.retrieval.modelProvider})},[a.retrieval,a.perKbTopK,s?.knowledgeBaseName]);let l=()=>{let e=o.getValues(),t={};for(let r of em){let s=e[r];void 0===s||Array.isArray(s)&&0===s.length||(t[r]=s)}a.setRetrieval(t),a.setPerKbTopK("number"==typeof e.topK&&e.topK>=0?e.topK:20)},i=o.watch("rerankType");return(0,r.useEffect)(()=>{if("MODEL"!==i)return;let e=!1;o.getValues("modelProvider")||(o.setValue("modelProvider","bailian"),e=!0),o.getValues("modelName")||(o.setValue("modelName","gte-rerank-v2"),e=!0),e&&l()},[i]),(0,t.jsxs)("div",{className:"space-y-3 border-t border-[hsl(var(--border))] pt-4"+(e?" pointer-events-none opacity-50":""),"aria-disabled":e,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(S.Label,{className:"text-sm font-medium",children:"统一检索参数"}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:"应用到所有挂载 KB 的统一查询配置,保证分数可比;每 KB 单独检索后合并重排"})]}),e?(0,t.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-dashed border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] px-3 py-3 text-xs text-muted-foreground",children:[(0,t.jsx)(el.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{children:"挂载至少一个知识库后即可配置统一检索参数"})]}):(0,t.jsx)(ei.Form,{...o,children:(0,t.jsx)("form",{onSubmit:e=>e.preventDefault(),onBlur:l,className:"space-y-4",children:(0,t.jsx)(ed.RetrievalParamsFields,{form:o,knowledgeBase:s,filterRef:n,topKLabel:"每 KB topK",topKHint:"单库检索条数,默认 20",topKMode:"single"})})})]})}function ep({open:e,onOpenChange:s,onSave:n}){let o=P(),{data:l}=(0,I.useKnowledgeBases)(),i=l?.items??[],d=i.filter(e=>!o.mounts.some(t=>t.knowledgeBaseName===e.knowledgeBaseName)),[c,m]=(0,r.useState)(String(o.aggregateTopK));(0,r.useEffect)(()=>{m(String(o.aggregateTopK))},[o.aggregateTopK]);let[p,h]=(0,r.useState)(!1),x=(0,r.useRef)(null);return(0,r.useEffect)(()=>()=>{x.current&&clearTimeout(x.current)},[]),(0,t.jsx)(g,{open:e,onOpenChange:s,children:(0,t.jsxs)(y,{side:"right",className:"flex w-full flex-col gap-0 p-0 sm:max-w-[520px]",children:[(0,t.jsxs)(b,{className:"border-b border-[hsl(var(--border))] px-6 py-4",children:[(0,t.jsx)(N,{children:"对话配置"}),(0,t.jsx)(w,{children:"选择模型、编辑 system prompt,挂载多个知识库作为检索来源"})]}),(0,t.jsxs)("div",{className:"flex-1 space-y-5 overflow-y-auto px-6 py-5",children:[(0,t.jsx)(R.LLMModelSelector,{providerId:o.providerId,model:o.model,onProviderChange:(e,t)=>{o.setProvider(e,t??"")},onModelChange:e=>o.setModel(e)}),(0,t.jsx)(B.SystemPromptInput,{value:o.systemPrompt,onChange:e=>o.setSystemPrompt(e),placeholder:"留空使用默认 prompt",label:"System Prompt"}),(0,t.jsx)(D.TemperatureSlider,{value:o.temperature??.7,onChange:e=>o.setTemperature(e),label:"Temperature"}),(0,t.jsxs)("div",{className:"space-y-3 border-t border-[hsl(var(--border))] pt-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(S.Label,{className:"text-sm font-medium",children:"挂载的知识库"}),(0,t.jsxs)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:["并行检索,按 score 全局重排,取前 ",o.aggregateTopK," 条"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(S.Label,{className:"text-xs text-muted-foreground",title:"合并所有 KB 的命中后按分数截断的上限",children:"聚合 topK"}),(0,t.jsx)(T.Input,{type:"text",inputMode:"numeric",value:c,onChange:e=>m(e.target.value),onBlur:()=>{let e=parseInt(c,10);Number.isFinite(e)&&e>=1&&e<=200?(o.setAggregateTopK(e),m(String(e))):(o.setAggregateTopK(20),m(String(20)))},className:"h-8 w-20"})]})]}),0===o.mounts.length?(0,t.jsx)(es,{kbs:i,onAdd:e=>o.addMount({id:(0,k.newId)("mount"),knowledgeBaseName:e.knowledgeBaseName})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"space-y-2",children:o.mounts.map(e=>{let r=i.find(t=>t.knowledgeBaseName===e.knowledgeBaseName);return(0,t.jsx)(ea,{mount:e,subspaceEnabled:r?.subspace===!0},e.id)})}),(0,t.jsx)(V,{kbs:d,onAdd:e=>o.addMount({id:(0,k.newId)("mount"),knowledgeBaseName:e.knowledgeBaseName})})]})]}),(0,t.jsx)(eu,{disabled:0===o.mounts.length,singleKb:1===o.mounts.length?i.find(e=>e.knowledgeBaseName===o.mounts[0].knowledgeBaseName):void 0}),(0,t.jsx)(Q,{})]}),(0,t.jsxs)(j,{className:"gap-2 border-t border-[hsl(var(--border))] bg-[hsl(var(--surface))] px-6 py-3 sm:items-center sm:justify-between sm:space-x-0",children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"未保存的修改在发送下一条消息时也会自动持久化"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a.Button,{type:"button",variant:"ghost",onClick:()=>s(!1),children:"关闭"}),(0,t.jsx)(a.Button,{type:"button",onClick:()=>{n(),h(!0),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>h(!1),2e3)},disabled:p,children:p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Check,{className:"mr-1.5 h-4 w-4"}),"已保存"]}):"保存配置"})]})]})]})})}function eh(e){return e&&e.length>0?e:null}function eg(e){let t;return`tsagent.chat.sessions.v2.${(t=eh(e))?`project.${encodeURIComponent(t)}`:"unbound"}`}function ex(e,t){return eh(e.activeInstance)===eh(t)}function ef(e){try{var t;let r=window.localStorage.getItem(e);if(!r)return[];return t=JSON.parse(r),Array.isArray(t)?t.filter(e=>!!e&&"object"==typeof e&&"string"==typeof e.id&&Array.isArray(e.messages)).map(e=>({...e,activeInstance:eh(e.activeInstance),config:{...e.config,mounts:(e.config?.mounts??[]).map(e=>({id:e.id,knowledgeBaseName:e.knowledgeBaseName,...e.subspace&&e.subspace.length?{subspace:e.subspace}:{}})),memory:function(e){if(!e||"object"!=typeof e||"string"!=typeof e.memoryStoreName||!e.memoryStoreName)return;let t=e.scope;if(t&&"string"==typeof t.appId&&"string"==typeof t.tenantId&&"string"==typeof t.agentId&&"string"==typeof t.runId&&t.appId&&t.tenantId&&t.agentId&&t.runId)return{id:"string"==typeof e.id&&e.id?e.id:(0,k.newId)("memory"),memoryStoreName:e.memoryStoreName,scope:{appId:t.appId,tenantId:t.tenantId,agentId:t.agentId,runId:t.runId},...Number.isInteger(e.topK)&&e.topK>0?{topK:e.topK}:{},autoSave:!1!==e.autoSave}}(e.config?.memory)}})):[]}catch{return[]}}function ev(e){let t=eg(e);if(null!==window.localStorage.getItem(t))return;let r=ef("tsagent.chat.sessions.v1").filter(t=>ex(t,e));0!==r.length&&eb(t,r)}function ey(e){return ev(e),ef(eg(e)).filter(t=>ex(t,e))}function eb(e,t){let r=t;for(let t=0;t<3;t+=1)try{let t=JSON.stringify(r);window.localStorage.setItem(e,t);try{window.dispatchEvent(new StorageEvent("storage",{key:e}))}catch{window.dispatchEvent(new Event("storage"))}return}catch(t){if(!function(e){if(!e||"object"!=typeof e)return!1;let t=e.name;return"QuotaExceededError"===t||"NS_ERROR_DOM_QUOTA_REACHED"===t}(t)||r.length<=1)return;let e=Math.max(1,Math.floor(.75*r.length));r=r.slice(0,e)}}function ej(e){return ey(eh(e)).sort((e,t)=>t.updatedAt-e.updatedAt)}let eN=new Map,ew=[];function eT(){return ew}var eS=e.i(40596);function eI(e){let t=e&&e.length>0?e:"__none__";return`tsagent.chat.lastConfig.${t}`}function eE(e){try{let t=window.localStorage.getItem(eI(e));if(!t)return{};let r=JSON.parse(t);if(!r||"object"!=typeof r)return{};let{providerId:s,model:a}=r;return{providerId:"string"==typeof s?s:void 0,model:"string"==typeof a?a:void 0}}catch{return{}}}var ek=e.i(67730),eC=e.i(86196),eK=e.i(47570);function e_(){let e,l,i,d,m,u,p,h,g,x=P(),f=(0,ek.useActiveInstance)(),v=f.activeInstance,y=(e=eh(f.activeInstance),l=f.ready?eg(e):null,i=(0,r.useCallback)(e=>(function(e,t){if(!e)return()=>{};let r=r=>{r.key&&r.key!==e||t()};return window.addEventListener("storage",r),()=>{window.removeEventListener("storage",r)}})(l,e),[l]),d=(0,r.useCallback)(()=>(function(e,t){if(!t)return ew;ev(e);let r=eg(e),s=window.localStorage.getItem(r)??"",a=eN.get(r);if(a?.raw===s)return a.snapshot;let n=ej(e);return eN.set(r,{raw:s,snapshot:n}),n})(e,f.ready),[e,f.ready]),m=(0,r.useSyncExternalStore)(i,d,eT),u=(0,r.useCallback)(t=>{if(f.ready){let r,s,a,n,o,l;s=ey(r=eh(e)),n=(a={...t,activeInstance:r}).messages.length>200?{...a,messages:a.messages.slice(-200)}:a,(o=s.findIndex(e=>e.id===n.id))>=0?s[o]=n:s.push(n),l=s.sort((e,t)=>t.updatedAt-e.updatedAt).slice(0,50),eb(eg(r),l)}},[e,f.ready]),p=(0,r.useCallback)(t=>{if(f.ready){let r,s;s=ey(r=eh(e)).filter(e=>e.id!==t),eb(eg(r),s)}},[e,f.ready]),h=(0,r.useCallback)(()=>{if(f.ready){var t;t=eh(e),eb(eg(t),[])}},[e,f.ready]),g=(0,r.useCallback)(t=>f.ready?ej(e).find(e=>e.id===t)??null:null,[e,f.ready]),(0,r.useMemo)(()=>({sessions:m,upsert:u,remove:p,clear:h,get:g}),[m,u,p,h,g])),[b,j]=(0,r.useState)(null),[N,w]=(0,r.useState)(!1),T=(0,r.useRef)(!1),S=(0,r.useCallback)((e,t)=>{if(!f.ready||t.requireSent&&!T.current)return;let r=b??(0,k.newId)("session");b||j(r);let s=t.preserveTitle?y.get(r):null,a={id:r,title:s?.title??function(e){let t=e.find(e=>"user"===e.role);if(!t)return"新对话";let r=t.content.replace(/\s+/g," ").trim();return r?r.length>24?`${r.slice(0,24)}…`:r:"新对话"}(e),updatedAt:Date.now(),activeInstance:v,config:x.toSessionConfig(),messages:e};y.upsert(a),x.providerId&&function(e,t){if(t.providerId)try{window.localStorage.setItem(eI(e),JSON.stringify({providerId:t.providerId,model:t.model??""}))}catch{}}(v,{providerId:x.providerId,model:x.model})},[b,x,y,v,f.ready]),I=(0,r.useCallback)(e=>{S(e,{requireSent:!0,preserveTitle:!1})},[S]),C=(0,r.useMemo)(()=>(function(e){if(!e.mounts.length)return;let t=(0,E.assembleRetrievalConfiguration)(e.retrieval,e.perKbTopK);return{knowledgeBases:e.mounts.map(r=>({knowledgeBaseName:r.knowledgeBaseName,...r.subspace?.length?{subspace:r.subspace}:{},...t?{retrievalConfiguration:t}:{},topK:e.perKbTopK})),topK:e.aggregateTopK}})(x),[x]),K=(0,r.useMemo)(()=>(function(e){let t=e.memory;if(!t)return;let{appId:r,tenantId:s,agentId:a,runId:n}=t.scope;if(r&&s&&a&&n)return{memoryStoreName:t.memoryStoreName,scope:{appId:r,tenantId:s,agentId:a,runId:n},..."number"==typeof t.topK?{topK:t.topK}:{},autoSave:t.autoSave}})(x),[x]),_=(0,eS.useQaChat)({activeInstance:v,providerId:x.providerId,model:x.model,systemPrompt:x.systemPrompt,temperature:x.temperature,rag:C,memory:K,onPersist:I}),M=(0,r.useCallback)(e=>{if(!f.ready)return;let t=y.get(e);t&&(t.activeInstance??null)===v&&(j(e),T.current=t.messages.length>0,_.setMessages(t.messages),x.hydrate({providerId:t.config.providerId??"",model:t.config.model??"",systemPrompt:t.config.systemPrompt??"",temperature:t.config.temperature,aggregateTopK:t.config.aggregateTopK??20,perKbTopK:t.config.perKbTopK??20,retrieval:t.config.retrieval??{},memory:t.config.memory,mounts:t.config.mounts??[]}))},[y,_.setMessages,x.hydrate,v,f.ready]),R=(0,r.useCallback)(()=>{j(null),T.current=!1,_.clear();let e=eE(v);x.setProvider(e.providerId??"",e.model??"")},[_.clear,v,x.setProvider]),B=(0,r.useCallback)(e=>{y.remove(e),b===e&&(j(null),T.current=!1,_.clear())},[y,b,_]),D=(0,r.useCallback)(()=>{y.clear(),j(null),T.current=!1,_.clear()},[y,_.clear]),A=(0,r.useCallback)(e=>{T.current=!0,_.send(e)},[_]),O=(0,r.useCallback)((e,t)=>{T.current=!0,_.editUserMessage(e,t),_.reissueTurn(e)},[_]),L=(0,r.useCallback)(e=>{let t=(0,eC.findUserAnchorAbove)(_.messages,e);t&&(T.current=!0,_.reissueTurn(t.id))},[_]),F=(0,r.useCallback)(()=>{T.current=_.messages.length>0||T.current,S(_.messages,{requireSent:!1,preserveTitle:!0})},[_.messages,S]),U=(0,r.useRef)({activeInstance:null,ready:!1,dataScopeKey:eK.PENDING_DATA_SCOPE_KEY,configRevision:""});(0,r.useEffect)(()=>{let e=U.current;e.ready&&f.ready&&e.dataScopeKey!==f.dataScopeKey&&(x.reset(),j(null),T.current=!1,_.clear()),f.ready&&(U.current=f)},[f.dataScopeKey,f.ready]),(0,r.useEffect)(()=>{if(b||x.providerId)return;let e=eE(v);e.providerId&&x.setProvider(e.providerId,e.model??"")},[v,b,x.providerId]);let V=b?y.get(b):null,z=f.ready&&!!(x.providerId&&x.model),W=V?.title??"新对话",$=x.mounts.length,G=!b&&x.mounts.length>0?`已沿用上一会话的 ${x.mounts.length} 个知识库挂载,按右上角齿轮可调整。`:null;return(0,t.jsxs)(n.AppShellLayout,{children:[(0,t.jsx)(c,{sessions:y.sessions,activeSessionId:b,onNewSession:R,onSelectSession:M,onDeleteSession:B,onClearAll:D}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col bg-[hsl(var(--card))]",children:[(0,t.jsxs)("header",{className:"flex h-14 shrink-0 items-center justify-between gap-3 border-b border-[hsl(var(--border))] px-5",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h1",{className:"truncate text-sm font-semibold text-[hsl(var(--foreground))]",children:W}),(0,t.jsx)("p",{className:"mt-0.5 truncate text-xs text-[hsl(var(--muted-foreground))]",children:x.providerId&&x.model?(0,t.jsxs)(t.Fragment,{children:[x.model," · ",$," 个知识库 · 聚合 ",x.aggregateTopK,x.memory?` \xb7 记忆: ${x.memory.memoryStoreName}`:""]}):"点击右上角设置挂载模型与知识库"})]}),(0,t.jsx)(a.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>w(!0),title:"对话配置",children:(0,t.jsx)(s.Settings2,{className:"h-4 w-4"})})]}),(0,t.jsx)(o.QaChatPanel,{messages:_.messages,isStreaming:_.isStreaming,canSend:z,error:_.error,onSend:A,onStop:_.stop,onDelete:_.deleteMessage,onResend:_.reissueTurn,onRegenerate:L,onEditSave:O,emptyState:{title:z?"可以开始对话了":"开始对话",description:G?`${G} 直接在下方输入你的问题。`:z?"直接在下方输入你的问题;随时可以通过右上角齿轮调整模型或挂载的知识库":"点击右上角齿轮,选择模型并挂载知识库,即可开始问答",actionLabel:"打开配置",onAction:()=>w(!0)},disabledPlaceholder:"请先点击右上角齿轮配置模型与知识库"})]}),(0,t.jsx)(ep,{open:N,onOpenChange:w,onSave:F})]})}e.s(["default",0,function(){return(0,t.jsx)(M,{children:(0,t.jsx)(e_,{})})}],2447)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,53552,e=>{"use strict";let r=(0,e.i(86620).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,r],53552)},7663,e=>{"use strict";var r=e.i(44501),t=e.i(70978),a=e.i(65581),n=e.i(53552),s=e.i(86620);let o=(0,s.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]),l=(0,s.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var i=e.i(94237),d=e.i(76490),c=e.i(83389),u=e.i(17635);let p="detail-sidebar.collapsed",f="detail-sidebar-collapsed-change",h=null;function m(){if(null!==h)return h;try{h="1"===window.localStorage.getItem(p)}catch{h=!1}return h}function x(e){let r=r=>{h=!!r.detail,e()},t=r=>{r.key===p&&(h="1"===r.newValue,e())};return window.addEventListener(f,r),window.addEventListener("storage",t),()=>{window.removeEventListener(f,r),window.removeEventListener("storage",t)}}function v(){return m()}function g(){return!1}function b(){let e=(0,u.useSyncExternalStore)(x,v,g),r=(0,u.useCallback)(e=>{h=e;try{window.localStorage.setItem(p,e?"1":"0")}catch{}window.dispatchEvent(new CustomEvent(f,{detail:e}))},[]),t=(0,u.useCallback)(()=>{r(!m())},[r]);return{collapsed:e,setCollapsed:r,toggle:t}}var y=e.i(12122);function w(){let{toggle:e}=b();return(0,r.jsx)(y.TooltipProvider,{delayDuration:200,children:(0,r.jsxs)(y.Tooltip,{children:[(0,r.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,r.jsx)("button",{type:"button","aria-label":"展开侧边栏",onClick:e,className:"hidden md:flex absolute left-3 top-3 z-10 h-8 w-8 items-center justify-center rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] text-[hsl(var(--muted-foreground))] shadow-sm transition-colors hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--foreground))]",children:(0,r.jsx)(l,{className:"h-4 w-4"})})}),(0,r.jsx)(y.TooltipContent,{side:"right",sideOffset:6,children:"展开侧边栏"})]})})}let j=(0,i.cva)("flex h-9 w-9 items-center justify-center rounded-lg [&>svg]:h-[18px] [&>svg]:w-[18px]",{variants:{accent:{primary:"bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]",success:"bg-[hsl(var(--success-soft))] text-[hsl(var(--success))]",warning:"bg-[hsl(var(--warning-soft))] text-[hsl(var(--warning))]",danger:"bg-[hsl(var(--danger-soft))] text-[hsl(var(--danger))]",purple:"bg-[hsl(var(--purple-soft))] text-[hsl(var(--purple))]"}},defaultVariants:{accent:"primary"}});function C({children:e,className:t}){let{collapsed:a}=(0,c.useSidebarCollapsed)();return(0,r.jsx)("div",{className:(0,d.cn)("fixed inset-0 z-30 flex items-stretch overflow-hidden bg-[hsl(var(--background))] transition-[left] duration-200 ease-out","max-md:top-14",a?"md:left-16":"md:left-[220px]",t),children:e})}function N({className:e,children:t}){return(0,r.jsx)("div",{className:(0,d.cn)("-mx-7 -my-5 flex h-[calc(100%+2.5rem)] overflow-hidden max-md:-mx-4 max-md:my-0 max-md:h-full",e),children:t})}e.s(["AppShellLayout",0,C,"DetailLayout",0,function({sidebar:e,children:t}){let{collapsed:a}=b();return(0,r.jsxs)(C,{children:[e,(0,r.jsxs)("div",{className:"relative min-w-0 flex-1",children:[a?(0,r.jsx)(w,{}):null,(0,r.jsx)("div",{className:"absolute inset-0 overflow-y-auto px-7 py-5 max-md:px-4",children:t})]})]})},"DetailSidebar",0,function({className:e,children:t}){let{collapsed:a}=b();return a?null:(0,r.jsx)("aside",{className:(0,d.cn)("hidden h-full w-[220px] shrink-0 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))] overflow-hidden md:flex",e),children:t})},"DetailSidebarBack",0,function({href:e,label:a="返回列表"}){return(0,r.jsx)("div",{className:"border-t border-[hsl(var(--border-light))] p-3",children:(0,r.jsxs)(t.default,{href:e,className:"flex h-8 items-center justify-center gap-1.5 rounded-md text-[13px] font-medium text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--primary))]",children:[(0,r.jsx)(n.ArrowLeft,{className:"h-3.5 w-3.5"}),a]})})},"DetailSidebarHeader",0,function({icon:e,accent:t,name:a,typeLabel:n,description:s,actions:l,extra:i}){let{toggle:d}=b();return(0,r.jsxs)("header",{className:"flex flex-col gap-2 border-b border-[hsl(var(--border-light))] px-4 pb-4 pt-4",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsx)("div",{className:j({accent:t}),children:e}),(0,r.jsxs)("div",{className:"-mt-1 -mr-1 flex items-center gap-0.5",children:[l,(0,r.jsx)(y.TooltipProvider,{delayDuration:200,children:(0,r.jsxs)(y.Tooltip,{children:[(0,r.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,r.jsx)("button",{type:"button","aria-label":"收起侧边栏",onClick:d,className:"flex h-7 w-7 items-center justify-center rounded-md text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",children:(0,r.jsx)(o,{className:"h-4 w-4"})})}),(0,r.jsx)(y.TooltipContent,{side:"bottom",sideOffset:6,children:"收起侧边栏"})]})})]})]}),(0,r.jsxs)("div",{className:"space-y-0.5",children:[(0,r.jsx)("div",{className:"text-sm font-semibold leading-tight text-[hsl(var(--foreground))]",children:a}),n?(0,r.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-[hsl(var(--muted-foreground))]",children:n}):null]}),s?(0,r.jsx)("p",{className:"line-clamp-3 text-[13px] leading-snug text-[hsl(var(--muted-foreground))]",children:s}):null,i?(0,r.jsx)("div",{className:"flex flex-col gap-1.5 text-[11px] text-[hsl(var(--subtle))]",children:i}):null]})},"DetailSidebarMenu",0,function({items:e,className:n}){let s=(0,a.usePathname)()??"";return(0,r.jsx)("nav",{className:(0,d.cn)("flex-1 overflow-y-auto px-2 py-2",n),children:(0,r.jsx)("ul",{className:"space-y-0.5",children:e.map(e=>{let a=e.href.split("?")[0],n=s===a||s.startsWith(`${a}/`);return(0,r.jsx)("li",{children:(0,r.jsxs)(t.default,{href:e.href,className:(0,d.cn)("flex h-8 items-center gap-2 rounded-md px-3 text-[13px] font-medium transition-colors duration-150",n?"bg-[hsl(var(--sidebar-active-bg))] text-[hsl(var(--sidebar-active-fg))]":"text-[hsl(var(--sidebar-text))] hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]"),children:[e.icon?(0,r.jsx)("span",{className:"[&>svg]:h-4 [&>svg]:w-4",children:e.icon}):null,(0,r.jsx)("span",{className:"flex-1 truncate",children:e.label}),e.endAdornment?(0,r.jsx)("span",{className:"ml-auto text-[11px]",children:e.endAdornment}):null]})},e.href)})})})},"WorkbenchLayout",0,function({aside:e,children:t,asideWidth:a=360}){return(0,r.jsxs)(N,{className:"flex-col lg:flex-row",children:[(0,r.jsx)("aside",{style:{"--workbench-aside-w":`${a}px`},className:(0,d.cn)("shrink-0 overflow-y-auto border-b border-[hsl(var(--border))] bg-[hsl(var(--card))] px-6 py-5 max-md:px-4","lg:w-[var(--workbench-aside-w)] lg:border-b-0 lg:border-r"),children:e}),(0,r.jsx)("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:t})]})}],7663)},31373,e=>{"use strict";var r=e.i(44501),t=e.i(17635),a=e.i(65581);let n="kb-subspace-active:";function s(e){return`kb-subspace-history:${e}`}let o=(0,t.createContext)(null);e.s(["SubspaceProvider",0,function({knowledgeBaseName:e,children:l}){let i=(0,a.useSearchParams)(),d=i.toString(),c=(0,a.usePathname)(),u=(0,a.useRouter)(),{history:p,addToHistory:f}=function(e){let[r,a]=(0,t.useState)([]);return(0,t.useEffect)(()=>{a(function(e){try{let r=window.localStorage.getItem(s(e));if(!r)return[];let t=JSON.parse(r);if(!Array.isArray(t))return[];return t.filter(e=>"string"==typeof e)}catch{return[]}}(e))},[e]),{history:r,addToHistory:(0,t.useCallback)(r=>{r&&a(t=>{let a=[r,...t.filter(e=>e!==r)].slice(0,10);try{window.localStorage.setItem(s(e),JSON.stringify(a))}catch{}return a})},[e]),clearHistory:(0,t.useCallback)(()=>{window.localStorage.removeItem(s(e)),a([])},[e])}}(e),h=i.get("subspace"),m=(0,t.useRef)(!1);(0,t.useEffect)(()=>{if(m.current||(m.current=!0,h))return;let r=function(e){try{return window.sessionStorage.getItem(n+e)}catch{return null}}(e);if(!r)return;let t=new URLSearchParams(d);t.set("subspace",r),u.replace(`${c}?${t.toString()}`)},[e,h,d,c,u]),(0,t.useEffect)(()=>{if(!h)return void function(e){try{window.sessionStorage.removeItem(n+e)}catch{}}(e);try{window.sessionStorage.setItem(n+e,h)}catch{}f(h)},[h,e,f]);let x=(0,t.useCallback)(e=>{let r=e.trim();if(!r)return;let t=new URLSearchParams(d);t.set("subspace",r),u.replace(`${c}?${t.toString()}`)},[d,c,u]),v=(0,t.useCallback)(()=>{let e=new URLSearchParams(d);e.delete("subspace");let r=e.toString();u.replace(r?`${c}?${r}`:c)},[d,c,u]);return(0,r.jsx)(o.Provider,{value:{subspace:h,setSubspace:x,clearSubspace:v,history:p,addToHistory:f},children:l})},"useSubspace",0,function(){let e=(0,t.useContext)(o);if(!e)throw Error("useSubspace must be used within a SubspaceProvider");return e},"useSubspaceOptional",0,function(){return(0,t.useContext)(o)}],31373)},36766,e=>{"use strict";var r=e.i(44501),t=e.i(17635),a=e.i(91967),n=e.i(67928),s=e.i(43250),o=e.i(48989),l=e.i(39340),i=e.i(45424),d=e.i(33616),c=e.i(38154),u=e.i(32374),p=e.i(90088),f=e.i(80939),h=e.i(52053),m=e.i(17256),x=e.i(73772),v=e.i(6500),g="Popover",[b,y]=(0,s.createContextScope)(g,[c.createPopperScope]),w=(0,c.createPopperScope)(),[j,C]=b(g),N=e=>{let{__scopePopover:a,children:n,open:s,defaultOpen:o,onOpenChange:l,modal:i=!1}=e,u=w(a),p=t.useRef(null),[f,h]=t.useState(!1),[x,v]=(0,m.useControllableState)({prop:s,defaultProp:o??!1,onChange:l,caller:g});return(0,r.jsx)(c.Root,{...u,children:(0,r.jsx)(j,{scope:a,contentId:(0,d.useId)(),triggerRef:p,open:x,onOpenChange:v,onOpenToggle:t.useCallback(()=>v(e=>!e),[v]),hasCustomAnchor:f,onCustomAnchorAdd:t.useCallback(()=>h(!0),[]),onCustomAnchorRemove:t.useCallback(()=>h(!1),[]),modal:i,children:n})})};N.displayName=g;var k="PopoverAnchor";t.forwardRef((e,a)=>{let{__scopePopover:n,...s}=e,o=C(k,n),l=w(n),{onCustomAnchorAdd:i,onCustomAnchorRemove:d}=o;return t.useEffect(()=>(i(),()=>d()),[i,d]),(0,r.jsx)(c.Anchor,{...l,...s,ref:a})}).displayName=k;var P="PopoverTrigger",R=t.forwardRef((e,t)=>{let{__scopePopover:s,...o}=e,l=C(P,s),i=w(s),d=(0,n.useComposedRefs)(t,l.triggerRef),u=(0,r.jsx)(f.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":l.open,"aria-controls":l.contentId,"data-state":$(l.open),...o,ref:d,onClick:(0,a.composeEventHandlers)(e.onClick,l.onOpenToggle)});return l.hasCustomAnchor?u:(0,r.jsx)(c.Anchor,{asChild:!0,...i,children:u})});R.displayName=P;var S="PopoverPortal",[T,E]=b(S,{forceMount:void 0}),I=e=>{let{__scopePopover:t,forceMount:a,children:n,container:s}=e,o=C(S,t);return(0,r.jsx)(T,{scope:t,forceMount:a,children:(0,r.jsx)(p.Presence,{present:a||o.open,children:(0,r.jsx)(u.Portal,{asChild:!0,container:s,children:n})})})};I.displayName=S;var A="PopoverContent",D=t.forwardRef((e,t)=>{let a=E(A,e.__scopePopover),{forceMount:n=a.forceMount,...s}=e,o=C(A,e.__scopePopover);return(0,r.jsx)(p.Presence,{present:n||o.open,children:o.modal?(0,r.jsx)(O,{...s,ref:t}):(0,r.jsx)(_,{...s,ref:t})})});D.displayName=A;var F=(0,h.createSlot)("PopoverContent.RemoveScroll"),O=t.forwardRef((e,s)=>{let o=C(A,e.__scopePopover),l=t.useRef(null),i=(0,n.useComposedRefs)(s,l),d=t.useRef(!1);return t.useEffect(()=>{let e=l.current;if(e)return(0,x.hideOthers)(e)},[]),(0,r.jsx)(v.RemoveScroll,{as:F,allowPinchZoom:!0,children:(0,r.jsx)(M,{...e,ref:i,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,a.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),d.current||o.triggerRef.current?.focus()}),onPointerDownOutside:(0,a.composeEventHandlers)(e.onPointerDownOutside,e=>{let r=e.detail.originalEvent,t=0===r.button&&!0===r.ctrlKey;d.current=2===r.button||t},{checkForDefaultPrevented:!1}),onFocusOutside:(0,a.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),_=t.forwardRef((e,a)=>{let n=C(A,e.__scopePopover),s=t.useRef(!1),o=t.useRef(!1);return(0,r.jsx)(M,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:r=>{e.onCloseAutoFocus?.(r),r.defaultPrevented||(s.current||n.triggerRef.current?.focus(),r.preventDefault()),s.current=!1,o.current=!1},onInteractOutside:r=>{e.onInteractOutside?.(r),r.defaultPrevented||(s.current=!0,"pointerdown"===r.detail.originalEvent.type&&(o.current=!0));let t=r.target;n.triggerRef.current?.contains(t)&&r.preventDefault(),"focusin"===r.detail.originalEvent.type&&o.current&&r.preventDefault()}})}),M=t.forwardRef((e,t)=>{let{__scopePopover:a,trapFocus:n,onOpenAutoFocus:s,onCloseAutoFocus:d,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:h,onInteractOutside:m,...x}=e,v=C(A,a),g=w(a);return(0,l.useFocusGuards)(),(0,r.jsx)(i.FocusScope,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:s,onUnmountAutoFocus:d,children:(0,r.jsx)(o.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:m,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:h,onDismiss:()=>v.onOpenChange(!1),children:(0,r.jsx)(c.Content,{"data-state":$(v.open),role:"dialog",id:v.contentId,...g,...x,ref:t,style:{...x.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),L="PopoverClose";function $(e){return e?"open":"closed"}t.forwardRef((e,t)=>{let{__scopePopover:n,...s}=e,o=C(L,n);return(0,r.jsx)(f.Primitive.button,{type:"button",...s,ref:t,onClick:(0,a.composeEventHandlers)(e.onClick,()=>o.onOpenChange(!1))})}).displayName=L,t.forwardRef((e,t)=>{let{__scopePopover:a,...n}=e,s=w(a);return(0,r.jsx)(c.Arrow,{...s,...n,ref:t})}).displayName="PopoverArrow";var z=e.i(76490);let G=t.forwardRef(({className:e,align:t="center",sideOffset:a=4,...n},s)=>(0,r.jsx)(I,{children:(0,r.jsx)(D,{ref:s,align:t,sideOffset:a,className:(0,z.cn)("z-50 w-72 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-4 text-[hsl(var(--popover-foreground))] shadow-md outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));G.displayName=D.displayName,e.s(["Popover",0,N,"PopoverContent",0,G,"PopoverTrigger",0,R],36766)},99877,e=>{"use strict";var r=e.i(44501);e.s(["EmptyState",0,function({icon:e,title:t,description:a,action:n,illustration:s}){return(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 px-4 text-center",children:[s??(0,r.jsx)("div",{className:"mb-5 flex h-20 w-20 items-center justify-center rounded-full bg-[hsl(var(--primary)/0.08)] ring-8 ring-[hsl(var(--primary)/0.04)]",children:(0,r.jsx)(e,{className:"text-primary",size:36,strokeWidth:1.75})}),(0,r.jsx)("h3",{className:"mb-2 text-base font-semibold text-foreground",children:t}),(0,r.jsx)("p",{className:"mb-6 max-w-sm text-sm text-muted-foreground",children:a}),n&&(0,r.jsx)("div",{children:n})]})}])},82652,e=>{"use strict";let r=(0,e.i(86620).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,r],82652)},3106,96359,20830,e=>{"use strict";var r=e.i(44501),t=e.i(17635),a=e.i(43250),n=e.i(80939),s=e.i(77275),o=e.i(91967),l=e.i(17256),i="Toggle",d=t.forwardRef((e,t)=>{let{pressed:a,defaultPressed:s,onPressedChange:d,...c}=e,[u,p]=(0,l.useControllableState)({prop:a,onChange:d,defaultProp:s??!1,caller:i});return(0,r.jsx)(n.Primitive.button,{type:"button","aria-pressed":u,"data-state":u?"on":"off","data-disabled":e.disabled?"":void 0,...c,ref:t,onClick:(0,o.composeEventHandlers)(e.onClick,()=>{e.disabled||p(!u)})})});d.displayName=i;var c=e.i(25486),u="ToggleGroup",[p,f]=(0,a.createContextScope)(u,[s.createRovingFocusGroupScope]),h=(0,s.createRovingFocusGroupScope)(),m=t.default.forwardRef((e,t)=>{let{type:a,...n}=e;if("single"===a)return(0,r.jsx)(g,{...n,ref:t});if("multiple"===a)return(0,r.jsx)(b,{...n,ref:t});throw Error(`Missing prop \`type\` expected on \`${u}\``)});m.displayName=u;var[x,v]=p(u),g=t.default.forwardRef((e,a)=>{let{value:n,defaultValue:s,onValueChange:o=()=>{},...i}=e,[d,c]=(0,l.useControllableState)({prop:n,defaultProp:s??"",onChange:o,caller:u});return(0,r.jsx)(x,{scope:e.__scopeToggleGroup,type:"single",value:t.default.useMemo(()=>d?[d]:[],[d]),onItemActivate:c,onItemDeactivate:t.default.useCallback(()=>c(""),[c]),children:(0,r.jsx)(j,{...i,ref:a})})}),b=t.default.forwardRef((e,a)=>{let{value:n,defaultValue:s,onValueChange:o=()=>{},...i}=e,[d,c]=(0,l.useControllableState)({prop:n,defaultProp:s??[],onChange:o,caller:u}),p=t.default.useCallback(e=>c((r=[])=>[...r,e]),[c]),f=t.default.useCallback(e=>c((r=[])=>r.filter(r=>r!==e)),[c]);return(0,r.jsx)(x,{scope:e.__scopeToggleGroup,type:"multiple",value:d,onItemActivate:p,onItemDeactivate:f,children:(0,r.jsx)(j,{...i,ref:a})})});m.displayName=u;var[y,w]=p(u),j=t.default.forwardRef((e,t)=>{let{__scopeToggleGroup:a,disabled:o=!1,rovingFocus:l=!0,orientation:i,dir:d,loop:u=!0,...p}=e,f=h(a),m=(0,c.useDirection)(d),x={role:"group",dir:m,...p};return(0,r.jsx)(y,{scope:a,rovingFocus:l,disabled:o,children:l?(0,r.jsx)(s.Root,{asChild:!0,...f,orientation:i,dir:m,loop:u,children:(0,r.jsx)(n.Primitive.div,{...x,ref:t})}):(0,r.jsx)(n.Primitive.div,{...x,ref:t})})}),C="ToggleGroupItem",N=t.default.forwardRef((e,a)=>{let n=v(C,e.__scopeToggleGroup),o=w(C,e.__scopeToggleGroup),l=h(e.__scopeToggleGroup),i=n.value.includes(e.value),d=o.disabled||e.disabled,c={...e,pressed:i,disabled:d},u=t.default.useRef(null);return o.rovingFocus?(0,r.jsx)(s.Item,{asChild:!0,...l,focusable:!d,active:i,ref:u,children:(0,r.jsx)(k,{...c,ref:a})}):(0,r.jsx)(k,{...c,ref:a})});N.displayName=C;var k=t.default.forwardRef((e,t)=>{let{__scopeToggleGroup:a,value:n,...s}=e,o=v(C,a),l={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},i="single"===o.type?l:void 0;return(0,r.jsx)(d,{...i,...s,ref:t,onPressedChange:e=>{e?o.onItemActivate(n):o.onItemDeactivate(n)}})}),P=e.i(76490);let R=t.createContext({size:"default",variant:"default"}),S=t.forwardRef(({className:e,variant:t="default",size:a="default",children:n,...s},o)=>(0,r.jsx)(m,{ref:o,className:(0,P.cn)("inline-flex items-center justify-center gap-1",e),...s,children:(0,r.jsx)(R.Provider,{value:{variant:t,size:a},children:n})}));S.displayName=m.displayName;let T=t.forwardRef(({className:e,children:t,...a},n)=>(0,r.jsx)(N,{ref:n,className:(0,P.cn)("relative inline-flex items-center justify-center whitespace-nowrap","text-sm font-medium transition-all","first:rounded-l-[7px] last:rounded-r-[7px]","border-l border-[hsl(var(--border)/0.6)]","first:border-l-0","data-[state=on]:border-l-transparent","[&[data-state=on]+*]:border-l-transparent","ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50","hover:bg-[hsl(var(--muted)/0.6)] hover:text-[hsl(var(--foreground))]","data-[state=on]:bg-[hsl(var(--background))] data-[state=on]:text-[hsl(var(--foreground))] data-[state=on]:shadow-sm",e),...a,children:t}));T.displayName=N.displayName,e.s(["ToggleGroup",0,S,"ToggleGroupItem",0,T],3106);var E=e.i(46398);e.s(["TagInput",0,function({value:e,onChange:a,placeholder:n="输入后按回车添加"}){let[s,o]=(0,t.useState)(""),l=(0,t.useCallback)(r=>{let t=r.trim();t&&!e.includes(t)&&a([...e,t]),o("")},[e,a]),i=(0,t.useCallback)(r=>{a(e.filter((e,t)=>t!==r))},[e,a]);return(0,r.jsxs)("div",{className:(0,P.cn)("flex flex-wrap items-center gap-1.5 rounded-md border border-[hsl(var(--input))] bg-background px-3 py-2","focus-within:border-[hsl(var(--ring))] focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-0","min-h-10 transition-colors"),children:[e.map((e,t)=>(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-primary-200 bg-primary-100 px-2 py-0.5 text-xs font-medium text-primary-700",children:[e,(0,r.jsx)("button",{type:"button",onClick:()=>i(t),className:"inline-flex items-center justify-center rounded-full p-0.5 hover:opacity-70 transition-opacity","aria-label":`删除标签 ${e}`,children:(0,r.jsx)(E.X,{size:12})})]},`${e}-${t}`)),(0,r.jsx)("input",{type:"text",value:s,onChange:e=>o(e.target.value),onKeyDown:r=>{("Enter"===r.key||","===r.key)&&(r.preventDefault(),l(s)),"Backspace"===r.key&&""===s&&e.length>0&&i(e.length-1)},placeholder:0===e.length?n:"",className:"flex-1 min-w-20 bg-transparent text-sm outline-none placeholder:text-muted-foreground"})]})}],96359);let I=(0,e.i(86620).default)("list-ordered",[["path",{d:"M11 5h10",key:"1cz7ny"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 19h10",key:"11t30w"}],["path",{d:"M4 4h1v5",key:"10yrso"}],["path",{d:"M4 9h2",key:"r1h2o0"}],["path",{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",key:"xtkcd5"}]]);var A=e.i(21562),D=e.i(23888);e.s(["RetrievalResultCountField",0,function({control:e,name:t,label:a="返回片段数",description:n="单次检索返回的最多片段数,Rerank 后取前 N 条。",min:s=0,max:o,muted:l=!1,className:i}){return(0,r.jsx)(A.FormField,{control:e,name:t,render:({field:e})=>{let t="number"==typeof e.value&&Number.isFinite(e.value)?String(e.value):"";return(0,r.jsxs)(A.FormItem,{className:(0,P.cn)("mb-0 rounded-md border border-[hsl(var(--border)/0.6)] bg-[hsl(var(--card)/0.72)] p-3 shadow-[0_1px_2px_hsl(var(--foreground)/0.04)]",l&&"opacity-65",i),children:[(0,r.jsxs)("div",{className:"grid gap-3 sm:grid-cols-[minmax(0,1fr)_auto] sm:items-center",children:[(0,r.jsxs)("div",{className:"flex min-w-0 gap-3",children:[(0,r.jsx)("span",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-[hsl(var(--primary)/0.08)] text-[hsl(var(--primary))]",children:(0,r.jsx)(I,{className:"h-3.5 w-3.5"})}),(0,r.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,r.jsx)(A.FormLabel,{className:"text-sm font-medium",children:a}),(0,r.jsx)("p",{className:"text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:n})]})]}),(0,r.jsxs)("div",{className:"relative w-28 shrink-0",children:[(0,r.jsx)(A.FormControl,{children:(0,r.jsx)(D.Input,{ref:e.ref,name:e.name,type:"number",inputMode:"numeric",min:s,max:o,"aria-label":a,className:"h-9 w-full bg-[hsl(var(--background))] pr-8 text-right font-mono text-sm tabular-nums shadow-sm [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none",value:t,onBlur:e.onBlur,onChange:r=>e.onChange(function(e){let r=e.trim();if(!r)return;let t=Number(r);return Number.isFinite(t)?t:void 0}(r.target.value))})}),(0,r.jsx)("span",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-xs text-[hsl(var(--muted-foreground))]",children:"条"})]})]}),(0,r.jsx)(A.FormMessage,{className:"pt-1"})]})}})}],20830)},64209,e=>{"use strict";var r=e.i(17635),t=e.i(91967),a=e.i(43250),n=e.i(17256),s=e.i(72687),o=e.i(67928),l=e.i(80939),i=e.i(90088),d=e.i(33616),c=e.i(44501),u="Collapsible",[p,f]=(0,a.createContextScope)(u),[h,m]=p(u),x=r.forwardRef((e,t)=>{let{__scopeCollapsible:a,open:s,defaultOpen:o,disabled:i,onOpenChange:p,...f}=e,[m,x]=(0,n.useControllableState)({prop:s,defaultProp:o??!1,onChange:p,caller:u});return(0,c.jsx)(h,{scope:a,disabled:i,contentId:(0,d.useId)(),open:m,onOpenToggle:r.useCallback(()=>x(e=>!e),[x]),children:(0,c.jsx)(l.Primitive.div,{"data-state":j(m),"data-disabled":i?"":void 0,...f,ref:t})})});x.displayName=u;var v="CollapsibleTrigger",g=r.forwardRef((e,r)=>{let{__scopeCollapsible:a,...n}=e,s=m(v,a);return(0,c.jsx)(l.Primitive.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":j(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...n,ref:r,onClick:(0,t.composeEventHandlers)(e.onClick,s.onOpenToggle)})});g.displayName=v;var b="CollapsibleContent",y=r.forwardRef((e,r)=>{let{forceMount:t,...a}=e,n=m(b,e.__scopeCollapsible);return(0,c.jsx)(i.Presence,{present:t||n.open,children:({present:e})=>(0,c.jsx)(w,{...a,ref:r,present:e})})});y.displayName=b;var w=r.forwardRef((e,t)=>{let{__scopeCollapsible:a,present:n,children:i,...d}=e,u=m(b,a),[p,f]=r.useState(n),h=r.useRef(null),x=(0,o.useComposedRefs)(t,h),v=r.useRef(0),g=v.current,y=r.useRef(0),w=y.current,C=u.open||p,N=r.useRef(C),k=r.useRef(void 0);return r.useEffect(()=>{let e=requestAnimationFrame(()=>N.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,s.useLayoutEffect)(()=>{let e=h.current;if(e){k.current=k.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let r=e.getBoundingClientRect();v.current=r.height,y.current=r.width,N.current||(e.style.transitionDuration=k.current.transitionDuration,e.style.animationName=k.current.animationName),f(n)}},[u.open,n]),(0,c.jsx)(l.Primitive.div,{"data-state":j(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!C,...d,ref:x,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...e.style},children:C&&i})});function j(e){return e?"open":"closed"}e.s(["Collapsible",0,x,"CollapsibleContent",0,y,"CollapsibleTrigger",0,g],64209)}]);