@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
@@ -0,0 +1,5 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,58770,e=>{"use strict";var t=e.i(93321);async function r(){return(0,t.apiGet)("/api/v1/knowledge-bases")}async function n(e){return(0,t.apiGet)(`/api/v1/knowledge-bases/${encodeURIComponent(e)}`)}async function o(e){await (0,t.apiPost)("/api/v1/knowledge-bases",e)}async function i(e){let{knowledgeBaseName:r,...n}=e;await (0,t.apiPut)(`/api/v1/knowledge-bases/${encodeURIComponent(r)}`,n)}async function s(e){await (0,t.apiDelete)(`/api/v1/knowledge-bases/${encodeURIComponent(e)}`)}e.s(["createKnowledgeBase",0,o,"deleteKnowledgeBase",0,s,"describeKnowledgeBase",0,n,"listKnowledgeBases",0,r,"updateKnowledgeBase",0,i])},58204,e=>{"use strict";let t=(0,e.i(86620).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],58204)},6703,e=>{"use strict";let t=(0,e.i(86620).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],6703)},41986,25486,e=>{"use strict";var t=e.i(17635),r=e.i(43250),n=e.i(67928),o=e.i(52053),i=e.i(44501),s=new WeakMap;function a(e,t){var r,n;let o,i,s;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let a=(r=e,n=t,o=r.length,(s=(i=l(n))>=0?i:o+i)<0||s>=o?-1:s);return -1===a?void 0:e[a]}function l(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],s.set(this,!0)}set(e,t){return s.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let n,o=this.has(t),i=this.#e.length,s=l(e),a=s>=0?s:i+s,u=a<0||a>=i?-1:a;if(u===this.size||o&&u===this.size-1||-1===u)return this.set(t,r),this;let c=this.size+ +!o;s<0&&a++;let d=[...this.#e],f=!1;for(let e=a;e<c;e++)if(a===e){let i=d[e];d[e]===t&&(i=d[e+1]),o&&this.delete(t),n=this.get(i),this.set(t,r)}else{f||d[e-1]!==t||(f=!0);let r=d[f?e:e-1],o=n;n=this.get(r),this.delete(r),this.set(r,o)}return this}with(t,r,n){let o=new e(this);return o.insert(t,r,n),o}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=a(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=a(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return a(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],o=0;for(let e of this)Reflect.apply(t,r,[e,o,this])&&n.push(e),o++;return new e(n)}map(t,r){let n=[],o=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,o,this])]),o++;return new e(n)}reduce(...e){let[t,r]=e,n=0,o=r??this.at(0);for(let r of this)o=0===n&&1===e.length?r:Reflect.apply(t,this,[o,r,n,this]),n++;return o}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let o=this.at(r);n=r===this.size-1&&1===e.length?o:Reflect.apply(t,this,[n,o,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,o=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(o=r-1);for(let e=t;e<=o;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}}),e.s(["createCollection",0,function(e){let s=e+"CollectionProvider",[a,l]=(0,r.createContextScope)(s),[u,c]=a(s,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:n}=e,o=t.default.useRef(null),s=t.default.useRef(new Map).current;return(0,i.jsx)(u,{scope:r,itemMap:s,collectionRef:o,children:n})};d.displayName=s;let f=e+"CollectionSlot",p=(0,o.createSlot)(f),h=t.default.forwardRef((e,t)=>{let{scope:r,children:o}=e,s=c(f,r),a=(0,n.useComposedRefs)(t,s.collectionRef);return(0,i.jsx)(p,{ref:a,children:o})});h.displayName=f;let m=e+"CollectionItemSlot",y="data-radix-collection-item",g=(0,o.createSlot)(m),v=t.default.forwardRef((e,r)=>{let{scope:o,children:s,...a}=e,l=t.default.useRef(null),u=(0,n.useComposedRefs)(r,l),d=c(m,o);return t.default.useEffect(()=>(d.itemMap.set(l,{ref:l,...a}),()=>void d.itemMap.delete(l))),(0,i.jsx)(g,{...{[y]:""},ref:u,children:s})});return v.displayName=m,[{Provider:d,Slot:h,ItemSlot:v},function(r){let n=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${y}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])},l]}],41986);var u=t.createContext(void 0);e.s(["useDirection",0,function(e){let r=t.useContext(u);return e||r||"ltr"}],25486)},77275,e=>{"use strict";var t=e.i(17635),r=e.i(91967),n=e.i(41986),o=e.i(67928),i=e.i(43250),s=e.i(33616),a=e.i(80939),l=e.i(36131),u=e.i(17256),c=e.i(25486),d=e.i(44501),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[m,y,g]=(0,n.createCollection)(h),[v,x]=(0,i.createContextScope)(h,[g]),[w,b]=v(h),R=t.forwardRef((e,t)=>(0,d.jsx)(m.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(m.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(C,{...e,ref:t})})}));R.displayName=h;var C=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:i,orientation:s,loop:m=!1,dir:g,currentTabStopId:v,defaultCurrentTabStopId:x,onCurrentTabStopIdChange:b,onEntryFocus:R,preventScrollOnEntryFocus:C=!1,...k}=e,E=t.useRef(null),T=(0,o.useComposedRefs)(n,E),D=(0,c.useDirection)(g),[j,I]=(0,u.useControllableState)({prop:v,defaultProp:x??null,onChange:b,caller:h}),[M,P]=t.useState(!1),O=(0,l.useCallbackRef)(R),A=y(i),S=t.useRef(!1),[F,L]=t.useState(0);return t.useEffect(()=>{let e=E.current;if(e)return e.addEventListener(f,O),()=>e.removeEventListener(f,O)},[O]),(0,d.jsx)(w,{scope:i,orientation:s,dir:D,loop:m,currentTabStopId:j,onItemFocus:t.useCallback(e=>I(e),[I]),onItemShiftTab:t.useCallback(()=>P(!0),[]),onFocusableItemAdd:t.useCallback(()=>L(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>L(e=>e-1),[]),children:(0,d.jsx)(a.Primitive.div,{tabIndex:M||0===F?-1:0,"data-orientation":s,...k,ref:T,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{S.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!M){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=A().filter(e=>e.focusable);N([e.find(e=>e.active),e.find(e=>e.id===j),...e].filter(Boolean).map(e=>e.ref.current),C)}}S.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>P(!1))})})}),k="RovingFocusGroupItem",E=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:o,focusable:i=!0,active:l=!1,tabStopId:u,children:c,...f}=e,p=(0,s.useId)(),h=u||p,g=b(k,o),v=g.currentTabStopId===h,x=y(o),{onFocusableItemAdd:w,onFocusableItemRemove:R,currentTabStopId:C}=g;return t.useEffect(()=>{if(i)return w(),()=>R()},[i,w,R]),(0,d.jsx)(m.ItemSlot,{scope:o,id:h,focusable:i,active:l,children:(0,d.jsx)(a.Primitive.span,{tabIndex:v?0:-1,"data-orientation":g.orientation,...f,ref:n,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{i?g.onItemFocus(h):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(h)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let o=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return T[o]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=x().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&o.reverse();let i=o.indexOf(e.currentTarget);o=g.loop?(r=o,n=i+1,r.map((e,t)=>r[(n+t)%r.length])):o.slice(i+1)}setTimeout(()=>N(o))}}),children:"function"==typeof c?c({isCurrentTabStop:v,hasTabStop:null!=C}):c})})});E.displayName=k;var T={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function N(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",0,E,"Root",0,R,"createRovingFocusGroupScope",0,x])},90088,e=>{"use strict";var t=e.i(17635),r=e.i(67928),n=e.i(72687),o=e=>{var o;let s,a,{present:l,children:u}=e,c=function(e){var r,o;let[s,a]=t.useState(),l=t.useRef(null),u=t.useRef(e),c=t.useRef("none"),[d,f]=(r=e?"mounted":"unmounted",o={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>o[e][t]??e,r));return t.useEffect(()=>{let e=i(l.current);c.current="mounted"===d?e:"none"},[d]),(0,n.useLayoutEffect)(()=>{let t=l.current,r=u.current;if(r!==e){let n=c.current,o=i(t);e?f("MOUNT"):"none"===o||t?.display==="none"?f("UNMOUNT"):r&&n!==o?f("ANIMATION_OUT"):f("UNMOUNT"),u.current=e}},[e,f]),(0,n.useLayoutEffect)(()=>{if(s){let e,t=s.ownerDocument.defaultView??window,r=r=>{let n=i(l.current).includes(CSS.escape(r.animationName));if(r.target===s&&n&&(f("ANIMATION_END"),!u.current)){let r=s.style.animationFillMode;s.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===s.style.animationFillMode&&(s.style.animationFillMode=r)})}},n=e=>{e.target===s&&(c.current=i(l.current))};return s.addEventListener("animationstart",n),s.addEventListener("animationcancel",r),s.addEventListener("animationend",r),()=>{t.clearTimeout(e),s.removeEventListener("animationstart",n),s.removeEventListener("animationcancel",r),s.removeEventListener("animationend",r)}}f("ANIMATION_END")},[s,f]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:t.useCallback(e=>{l.current=e?getComputedStyle(e):null,a(e)},[])}}(l),d="function"==typeof u?u({present:c.isPresent}):t.Children.only(u),f=(0,r.useComposedRefs)(c.ref,(o=d,(a=(s=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?o.ref:(a=(s=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?o.props.ref:o.props.ref||o.ref));return"function"==typeof u||c.isPresent?t.cloneElement(d,{ref:f}):null};function i(e){return e?.animationName||"none"}o.displayName="Presence",e.s(["Presence",0,o])},46398,e=>{"use strict";let t=(0,e.i(86620).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",0,t],46398)},33253,46951,e=>{"use strict";var t=e.i(44501),r=e.i(17635),n=e.i(91967),o=e.i(67928),i=e.i(43250),s=e.i(33616),a=e.i(17256),l=e.i(48989),u=e.i(45424),c=e.i(32374),d=e.i(90088),f=e.i(80939),p=e.i(39340),h=e.i(6500),m=e.i(73772),y=e.i(52053),g="Dialog",[v,x]=(0,i.createContextScope)(g),[w,b]=v(g),R=e=>{let{__scopeDialog:n,children:o,open:i,defaultOpen:l,onOpenChange:u,modal:c=!0}=e,d=r.useRef(null),f=r.useRef(null),[p,h]=(0,a.useControllableState)({prop:i,defaultProp:l??!1,onChange:u,caller:g});return(0,t.jsx)(w,{scope:n,triggerRef:d,contentRef:f,contentId:(0,s.useId)(),titleId:(0,s.useId)(),descriptionId:(0,s.useId)(),open:p,onOpenChange:h,onOpenToggle:r.useCallback(()=>h(e=>!e),[h]),modal:c,children:o})};R.displayName=g;var C="DialogTrigger",k=r.forwardRef((e,r)=>{let{__scopeDialog:i,...s}=e,a=b(C,i),l=(0,o.useComposedRefs)(r,a.triggerRef);return(0,t.jsx)(f.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":G(a.open),...s,ref:l,onClick:(0,n.composeEventHandlers)(e.onClick,a.onOpenToggle)})});k.displayName=C;var E="DialogPortal",[T,N]=v(E,{forceMount:void 0}),D=e=>{let{__scopeDialog:n,forceMount:o,children:i,container:s}=e,a=b(E,n);return(0,t.jsx)(T,{scope:n,forceMount:o,children:r.Children.map(i,e=>(0,t.jsx)(d.Presence,{present:o||a.open,children:(0,t.jsx)(c.Portal,{asChild:!0,container:s,children:e})}))})};D.displayName=E;var j="DialogOverlay",I=r.forwardRef((e,r)=>{let n=N(j,e.__scopeDialog),{forceMount:o=n.forceMount,...i}=e,s=b(j,e.__scopeDialog);return s.modal?(0,t.jsx)(d.Presence,{present:o||s.open,children:(0,t.jsx)(P,{...i,ref:r})}):null});I.displayName=j;var M=(0,y.createSlot)("DialogOverlay.RemoveScroll"),P=r.forwardRef((e,r)=>{let{__scopeDialog:n,...o}=e,i=b(j,n);return(0,t.jsx)(h.RemoveScroll,{as:M,allowPinchZoom:!0,shards:[i.contentRef],children:(0,t.jsx)(f.Primitive.div,{"data-state":G(i.open),...o,ref:r,style:{pointerEvents:"auto",...o.style}})})}),O="DialogContent",A=r.forwardRef((e,r)=>{let n=N(O,e.__scopeDialog),{forceMount:o=n.forceMount,...i}=e,s=b(O,e.__scopeDialog);return(0,t.jsx)(d.Presence,{present:o||s.open,children:s.modal?(0,t.jsx)(S,{...i,ref:r}):(0,t.jsx)(F,{...i,ref:r})})});A.displayName=O;var S=r.forwardRef((e,i)=>{let s=b(O,e.__scopeDialog),a=r.useRef(null),l=(0,o.useComposedRefs)(i,s.contentRef,a);return r.useEffect(()=>{let e=a.current;if(e)return(0,m.hideOthers)(e)},[]),(0,t.jsx)(L,{...e,ref:l,trapFocus:s.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),s.triggerRef.current?.focus()}),onPointerDownOutside:(0,n.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,n.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),F=r.forwardRef((e,n)=>{let o=b(O,e.__scopeDialog),i=r.useRef(!1),s=r.useRef(!1);return(0,t.jsx)(L,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||o.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(s.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&s.current&&t.preventDefault()}})}),L=r.forwardRef((e,n)=>{let{__scopeDialog:i,trapFocus:s,onOpenAutoFocus:a,onCloseAutoFocus:c,...d}=e,f=b(O,i),h=r.useRef(null),m=(0,o.useComposedRefs)(n,h);return(0,p.useFocusGuards)(),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.FocusScope,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:a,onUnmountAutoFocus:c,children:(0,t.jsx)(l.DismissableLayer,{role:"dialog",id:f.contentId,"aria-describedby":f.descriptionId,"aria-labelledby":f.titleId,"data-state":G(f.open),...d,ref:m,onDismiss:()=>f.onOpenChange(!1)})}),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(V,{titleId:f.titleId}),(0,t.jsx)(X,{contentRef:h,descriptionId:f.descriptionId})]})]})}),_="DialogTitle",H=r.forwardRef((e,r)=>{let{__scopeDialog:n,...o}=e,i=b(_,n);return(0,t.jsx)(f.Primitive.h2,{id:i.titleId,...o,ref:r})});H.displayName=_;var z="DialogDescription",U=r.forwardRef((e,r)=>{let{__scopeDialog:n,...o}=e,i=b(z,n);return(0,t.jsx)(f.Primitive.p,{id:i.descriptionId,...o,ref:r})});U.displayName=z;var B="DialogClose",K=r.forwardRef((e,r)=>{let{__scopeDialog:o,...i}=e,s=b(B,o);return(0,t.jsx)(f.Primitive.button,{type:"button",...i,ref:r,onClick:(0,n.composeEventHandlers)(e.onClick,()=>s.onOpenChange(!1))})});function G(e){return e?"open":"closed"}K.displayName=B;var $="DialogTitleWarning",[q,W]=(0,i.createContext)($,{contentName:O,titleName:_,docsSlug:"dialog"}),V=({titleId:e})=>{let t=W($),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
2
+
3
+ If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
4
+
5
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return r.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},X=({contentRef:e,descriptionId:t})=>{let n=W("DialogDescriptionWarning"),o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${n.contentName}}.`;return r.useEffect(()=>{let r=e.current?.getAttribute("aria-describedby");t&&r&&(document.getElementById(t)||console.warn(o))},[o,e,t]),null};e.s(["Close",0,K,"Content",0,A,"Description",0,U,"Overlay",0,I,"Portal",0,D,"Root",0,R,"Title",0,H,"Trigger",0,k],46951);var Y=e.i(46398),Z=e.i(76490);let J=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(I,{ref:n,className:(0,Z.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}));J.displayName=I.displayName;let Q=r.forwardRef(({className:e,children:r,...n},o)=>(0,t.jsxs)(D,{children:[(0,t.jsx)(J,{}),(0,t.jsxs)(A,{ref:o,className:(0,Z.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-[480px] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-[hsl(var(--border))] p-6 shadow-md","duration-200 ease-[cubic-bezier(0.34,1.56,0.64,1)]","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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]","data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]","bg-[hsl(var(--card))] text-[hsl(var(--foreground))]",e),...n,children:[r,(0,t.jsxs)(K,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[hsl(var(--primary)/0.3)] focus:ring-offset-2 disabled:pointer-events-none",children:[(0,t.jsx)(Y.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));Q.displayName=A.displayName;let ee=({className:e,...r})=>(0,t.jsx)("div",{className:(0,Z.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...r});ee.displayName="DialogHeader";let et=({className:e,...r})=>(0,t.jsx)("div",{className:(0,Z.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...r});et.displayName="DialogFooter";let er=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(H,{ref:n,className:(0,Z.cn)("text-base font-semibold leading-tight",e),...r}));er.displayName=H.displayName;let en=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(U,{ref:n,className:(0,Z.cn)("text-sm text-[hsl(var(--muted-foreground))] mt-1",e),...r}));en.displayName=U.displayName,e.s(["Dialog",0,R,"DialogContent",0,Q,"DialogDescription",0,en,"DialogFooter",0,et,"DialogHeader",0,ee,"DialogTitle",0,er],33253)},43754,e=>{"use strict";let t=(0,e.i(86620).default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);e.s(["Info",0,t],43754)},42737,e=>{"use strict";let t=(0,e.i(86620).default)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["HelpCircle",0,t],42737)},37769,e=>{"use strict";let t=(0,e.i(86620).default)("message-square",[["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"}]]);e.s(["MessageSquare",0,t],37769)},12122,e=>{"use strict";var t=e.i(44501),r=e.i(17635),n=e.i(91967),o=e.i(67928),i=e.i(43250),s=e.i(48989),a=e.i(33616),l=e.i(38154),u=e.i(32374),c=e.i(90088),d=e.i(80939),f=e.i(52053),p=e.i(17256),h=e.i(47791),[m,y]=(0,i.createContextScope)("Tooltip",[l.createPopperScope]),g=(0,l.createPopperScope)(),v="TooltipProvider",x="tooltip.open",[w,b]=m(v),R=e=>{let{__scopeTooltip:n,delayDuration:o=700,skipDelayDuration:i=300,disableHoverableContent:s=!1,children:a}=e,l=r.useRef(!0),u=r.useRef(!1),c=r.useRef(0);return r.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(w,{scope:n,isOpenDelayedRef:l,delayDuration:o,onOpen:r.useCallback(()=>{window.clearTimeout(c.current),l.current=!1},[]),onClose:r.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>l.current=!0,i)},[i]),isPointerInTransitRef:u,onPointerInTransitChange:r.useCallback(e=>{u.current=e},[]),disableHoverableContent:s,children:a})};R.displayName=v;var C="Tooltip",[k,E]=m(C),T=e=>{let{__scopeTooltip:n,children:o,open:i,defaultOpen:s,onOpenChange:u,disableHoverableContent:c,delayDuration:d}=e,f=b(C,e.__scopeTooltip),h=g(n),[m,y]=r.useState(null),v=(0,a.useId)(),w=r.useRef(0),R=c??f.disableHoverableContent,E=d??f.delayDuration,T=r.useRef(!1),[N,D]=(0,p.useControllableState)({prop:i,defaultProp:s??!1,onChange:e=>{e?(f.onOpen(),document.dispatchEvent(new CustomEvent(x))):f.onClose(),u?.(e)},caller:C}),j=r.useMemo(()=>N?T.current?"delayed-open":"instant-open":"closed",[N]),I=r.useCallback(()=>{window.clearTimeout(w.current),w.current=0,T.current=!1,D(!0)},[D]),M=r.useCallback(()=>{window.clearTimeout(w.current),w.current=0,D(!1)},[D]),P=r.useCallback(()=>{window.clearTimeout(w.current),w.current=window.setTimeout(()=>{T.current=!0,D(!0),w.current=0},E)},[E,D]);return r.useEffect(()=>()=>{w.current&&(window.clearTimeout(w.current),w.current=0)},[]),(0,t.jsx)(l.Root,{...h,children:(0,t.jsx)(k,{scope:n,contentId:v,open:N,stateAttribute:j,trigger:m,onTriggerChange:y,onTriggerEnter:r.useCallback(()=>{f.isOpenDelayedRef.current?P():I()},[f.isOpenDelayedRef,P,I]),onTriggerLeave:r.useCallback(()=>{R?M():(window.clearTimeout(w.current),w.current=0)},[M,R]),onOpen:I,onClose:M,disableHoverableContent:R,children:o})})};T.displayName=C;var N="TooltipTrigger",D=r.forwardRef((e,i)=>{let{__scopeTooltip:s,...a}=e,u=E(N,s),c=b(N,s),f=g(s),p=r.useRef(null),h=(0,o.useComposedRefs)(i,p,u.onTriggerChange),m=r.useRef(!1),y=r.useRef(!1),v=r.useCallback(()=>m.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),(0,t.jsx)(l.Anchor,{asChild:!0,...f,children:(0,t.jsx)(d.Primitive.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...a,ref:h,onPointerMove:(0,n.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(y.current||c.isPointerInTransitRef.current||(u.onTriggerEnter(),y.current=!0))}),onPointerLeave:(0,n.composeEventHandlers)(e.onPointerLeave,()=>{u.onTriggerLeave(),y.current=!1}),onPointerDown:(0,n.composeEventHandlers)(e.onPointerDown,()=>{u.open&&u.onClose(),m.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>{m.current||u.onOpen()}),onBlur:(0,n.composeEventHandlers)(e.onBlur,u.onClose),onClick:(0,n.composeEventHandlers)(e.onClick,u.onClose)})})});D.displayName=N;var j="TooltipPortal",[I,M]=m(j,{forceMount:void 0}),P=e=>{let{__scopeTooltip:r,forceMount:n,children:o,container:i}=e,s=E(j,r);return(0,t.jsx)(I,{scope:r,forceMount:n,children:(0,t.jsx)(c.Presence,{present:n||s.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:i,children:o})})})};P.displayName=j;var O="TooltipContent",A=r.forwardRef((e,r)=>{let n=M(O,e.__scopeTooltip),{forceMount:o=n.forceMount,side:i="top",...s}=e,a=E(O,e.__scopeTooltip);return(0,t.jsx)(c.Presence,{present:o||a.open,children:a.disableHoverableContent?(0,t.jsx)(H,{side:i,...s,ref:r}):(0,t.jsx)(S,{side:i,...s,ref:r})})}),S=r.forwardRef((e,n)=>{let i=E(O,e.__scopeTooltip),s=b(O,e.__scopeTooltip),a=r.useRef(null),l=(0,o.useComposedRefs)(n,a),[u,c]=r.useState(null),{trigger:d,onClose:f}=i,p=a.current,{onPointerInTransitChange:h}=s,m=r.useCallback(()=>{c(null),h(!1)},[h]),y=r.useCallback((e,t)=>{let r,n=e.currentTarget,o={x:e.clientX,y:e.clientY},i=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,n,o,i)){case i:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(o,n.getBoundingClientRect());c(((r=[...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(o,i),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),h(!0)},[h]);return r.useEffect(()=>()=>m(),[m]),r.useEffect(()=>{if(d&&p){let e=e=>y(e,p),t=e=>y(e,d);return d.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[d,p,y,m]),r.useEffect(()=>{if(u){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=d?.contains(t)||p?.contains(t),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let s=t[e],a=t[i],l=s.x,u=s.y,c=a.x,d=a.y;u>n!=d>n&&r<(c-l)*(n-u)/(d-u)+l&&(o=!o)}return o}(r,u);n?m():o&&(m(),f())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,p,u,f,m]),(0,t.jsx)(H,{...e,ref:l})}),[F,L]=m(C,{isInside:!1}),_=(0,f.createSlottable)("TooltipContent"),H=r.forwardRef((e,n)=>{let{__scopeTooltip:o,children:i,"aria-label":a,onEscapeKeyDown:u,onPointerDownOutside:c,...d}=e,f=E(O,o),p=g(o),{onClose:m}=f;return r.useEffect(()=>(document.addEventListener(x,m),()=>document.removeEventListener(x,m)),[m]),r.useEffect(()=>{if(f.trigger){let e=e=>{let t=e.target;t?.contains(f.trigger)&&m()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[f.trigger,m]),(0,t.jsx)(s.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:m,children:(0,t.jsxs)(l.Content,{"data-state":f.stateAttribute,...p,...d,ref:n,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,t.jsx)(_,{children:i}),(0,t.jsx)(F,{scope:o,isInside:!0,children:(0,t.jsx)(h.Root,{id:f.contentId,role:"tooltip",children:a||i})})]})})});A.displayName=O;var z="TooltipArrow";r.forwardRef((e,r)=>{let{__scopeTooltip:n,...o}=e,i=g(n);return L(z,n).isInside?null:(0,t.jsx)(l.Arrow,{...i,...o,ref:r})}).displayName=z;var U=e.i(76490);let B=r.forwardRef(({className:e,sideOffset:r=4,...n},o)=>(0,t.jsx)(P,{children:(0,t.jsx)(A,{ref:o,sideOffset:r,className:(0,U.cn)("z-50 overflow-hidden rounded-md bg-[hsl(var(--foreground))] px-2.5 py-1 text-xs text-[hsl(var(--background))] shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 origin-[--radix-tooltip-content-transform-origin]",e),...n})}));B.displayName=A.displayName,e.s(["Tooltip",0,T,"TooltipContent",0,B,"TooltipProvider",0,R,"TooltipTrigger",0,D],12122)},83389,e=>{"use strict";var t=e.i(17635);let r="sidebar.collapsed",n="sidebar-collapsed-change",o=null;function i(){if(null!==o)return o;try{o="1"===window.localStorage.getItem(r)}catch{o=!1}return o}function s(e){let t=t=>{o=!!t.detail,e()},i=t=>{t.key===r&&(o="1"===t.newValue,e())};return window.addEventListener(n,t),window.addEventListener("storage",i),()=>{window.removeEventListener(n,t),window.removeEventListener("storage",i)}}function a(){return i()}function l(){return!1}e.s(["useSidebarCollapsed",0,function(){let e=(0,t.useSyncExternalStore)(s,a,l),u=(0,t.useCallback)(e=>{o=e;try{window.localStorage.setItem(r,e?"1":"0")}catch{}window.dispatchEvent(new CustomEvent(n,{detail:e}))},[]),c=(0,t.useCallback)(()=>{u(!i())},[u]);return{collapsed:e,setCollapsed:u,toggle:c}}])},18722,e=>{"use strict";let t=(0,e.i(86620).default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);e.s(["Brain",0,t],18722)},97634,e=>{"use strict";let t=(0,e.i(86620).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);e.s(["ChevronsUpDown",0,t],97634)}]);
@@ -0,0 +1 @@
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),a=e.i(67225),s=e.i(42595),n=e.i(7663),l=e.i(21122);let o=(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 m({sessions:e,activeSessionId:r,onNewSession:a,onSelectSession:n,onDeleteSession:l,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)(s.Button,{type:"button",onClick:a,className:"w-full justify-start gap-2",variant:"outline",children:[(0,t.jsx)(o,{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)(c,{session:e,active:e.id===r,onSelect:()=>n(e.id),onDelete:()=>l(e.id)})},e.id))})}),e.length>0?(0,t.jsx)("div",{className:"border-t border-[hsl(var(--border))] p-2",children:(0,t.jsxs)(s.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 c({session:e,active:r,onSelect:a,onDelete:n}){let l=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:a,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 a=Math.floor(r/24);return a<7?`${a} 天前`:new Date(e).toLocaleDateString()}(e.updatedAt)}),l>0?(0,t.jsxs)("span",{children:["· ",l," KB"]}):null]})]}),(0,t.jsx)(s.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},a)=>(0,t.jsx)(p.Overlay,{ref:a,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:a="right",...s},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[a],e),...s,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 N=({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});N.displayName="SheetFooter";let j=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(p.Title,{ref:a,className:(0,d.cn)("text-base font-semibold leading-tight",e),...r}));j.displayName=p.Title.displayName;let w=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(p.Description,{ref:a,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),k=e.i(47932),E=e.i(33042),K=e.i(6962);let I={providerId:"",model:"",systemPrompt:"",temperature:void 0,aggregateTopK:20,perKbTopK:20,retrieval:{searchType:["DENSE_VECTOR","FULL_TEXT"],rerankType:"WEIGHT",weightDense:.7,weightFullText:.3},mounts:[]};function C(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"RESET_MOUNT_RETRIEVAL":return{...e,mounts:e.mounts.map(e=>{if(e.id!==t.id)return e;let{retrieval:r,topK:a,...s}=e;return s})};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])),a=t.ids.map(e=>r.get(e)).filter(e=>!!e);return{...e,mounts:a}}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,...a}=t.patch;return{...e,memory:{...e.memory,...a,scope:{...e.memory.scope,...r??{}}}}}case"RESET":return I;default:return e}}let _=(0,r.createContext)(null);function M({children:e}){let[a,s]=(0,r.useReducer)(C,I),n=(0,r.useMemo)(()=>({...a,setProvider:(e,t)=>s({type:"SET_PROVIDER",providerId:e,model:t}),setModel:e=>s({type:"SET_MODEL",model:e}),setSystemPrompt:e=>s({type:"SET_SYSTEM_PROMPT",value:e}),setTemperature:e=>s({type:"SET_TEMPERATURE",value:e}),setAggregateTopK:e=>s({type:"SET_AGGREGATE_TOP_K",value:e}),setPerKbTopK:e=>s({type:"SET_PER_KB_TOP_K",value:e}),setRetrieval:e=>s({type:"SET_RETRIEVAL",value:e}),addMount:e=>s({type:"ADD_MOUNT",mount:e}),updateMount:(e,t)=>s({type:"UPDATE_MOUNT",id:e,patch:t}),resetMountRetrieval:e=>s({type:"RESET_MOUNT_RETRIEVAL",id:e}),removeMount:e=>s({type:"REMOVE_MOUNT",id:e}),reorderMounts:e=>s({type:"REORDER_MOUNTS",ids:e}),setMemory:e=>s({type:"SET_MEMORY",binding:e}),updateMemory:e=>s({type:"UPDATE_MEMORY",patch:e}),hydrate:e=>s({type:"HYDRATE",state:e}),reset:()=>s({type:"RESET"}),toSessionConfig:()=>({providerId:a.providerId||void 0,model:a.model||void 0,systemPrompt:a.systemPrompt||void 0,temperature:a.temperature,aggregateTopK:a.aggregateTopK,perKbTopK:a.perKbTopK,retrieval:a.retrieval,mounts:a.mounts,memory:a.memory})}),[a]);return(0,t.jsx)(_.Provider,{value:n,children:e})}function R(){let e=(0,r.useContext)(_);if(!e)throw Error("useChatConfig must be used within a ChatConfigProvider");return e}var P=e.i(50657),D=e.i(51024),B=e.i(9012),O=e.i(58204),A=e.i(77163),F=e.i(53139),L=e.i(36766);function V({kbs:e,onPick:a,children:s,align:n="start"}){let[l,o]=(0,r.useState)(!1),i=t=>{let r=e.find(e=>e.knowledgeBaseName===t);r&&(a(r),o(!1))};return(0,t.jsxs)(L.Popover,{open:l,onOpenChange:o,children:[(0,t.jsx)(L.PopoverTrigger,{asChild:!0,children:s}),(0,t.jsx)(L.PopoverContent,{align:n,sideOffset:6,className:"w-[var(--radix-popover-trigger-width)] min-w-[260px] p-0",children:(0,t.jsxs)(F.Command,{children:[(0,t.jsx)(F.CommandInput,{placeholder:"搜索知识库..."}),(0,t.jsxs)(F.CommandList,{children:[(0,t.jsx)(F.CommandEmpty,{children:"未找到匹配的知识库"}),e.length>0?(0,t.jsx)(F.CommandGroup,{children:e.map(e=>(0,t.jsxs)(F.CommandItem,{value:e.knowledgeBaseName,onSelect:i,children:[(0,t.jsx)(A.Database,{className:"text-[hsl(var(--muted-foreground))]"}),(0,t.jsx)("span",{className:"truncate",children:e.knowledgeBaseName})]},e.knowledgeBaseName))}):null]})]})})]})}function U({kbs:e,onAdd:r}){return 0===e.length?null:(0,t.jsx)(V,{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)(O.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 W=e.i(70978),z=e.i(18722),q=e.i(82652),$=e.i(34752),G=e.i(87014),X=e.i(54614),H=e.i(62769),Y=e.i(66473);function J(){let e=R(),{data:a,isLoading:s}=(0,X.useMemoryStores)(),n=a?.items??[],l=e.memory,o=(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:l?`每轮检索 Top-${l.topK??5},对话后写回当前范围`:"绑定后服务端在每轮对话前检索、对话后写回;同一应用 + 租户下记忆跨智能体可共享"})]}),l&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(S.Label,{htmlFor:o,className:"text-xs text-muted-foreground",title:"每轮检索返回的记忆条数上限",children:"Top-K"}),(0,t.jsx)(T.Input,{id:o,type:"number",min:1,max:50,className:"h-8 w-20",value:l.topK??5,onChange:t=>{let r=parseInt(t.target.value,10),a=Number.isFinite(r)&&r>=1&&r<=50?r:5;e.updateMemory({topK:a})}})]})]}),l?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(Z,{value:l.memoryStoreName,stores:n,onChange:t=>e.updateMemory({memoryStoreName:t}),onUnbind:()=>e.setMemory(void 0)}),(0,t.jsx)(ee,{appId:l.scope.appId,tenantId:l.scope.tenantId,agentId:l.scope.agentId,runId:l.scope.runId,autoSave:l.autoSave,onScopeChange:t=>e.updateMemory({scope:t}),onAutoSaveChange:t=>e.updateMemory({autoSave:t})})]}):(0,t.jsx)(Q,{stores:n,isLoading:s,onBind:()=>e.setMemory({memoryStoreName:n[0]?.memoryStoreName??"",scope:{appId:"",tenantId:"",agentId:"",runId:""},autoSave:!0,topK:5})})]})}function Q(e){let{stores:r,isLoading:a,onBind:n}=e,l=!a&&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)($.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)(z.Brain,{className:"h-6 w-6 text-[hsl(var(--primary))]"})}),(0,t.jsx)("h3",{className:"text-sm font-semibold text-[hsl(var(--foreground))]",children:l?"还没有任何记忆库":"绑定记忆库以让对话拥有长期记忆"}),(0,t.jsx)("p",{className:"mx-auto mt-1 max-w-[320px] text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:l?"创建第一个记忆库后,即可在对话中绑定并自动写回 / 检索":"绑定后服务端会在每轮对话前检索相关记忆注入到 system prompt,对话结束后自动写回到当前范围"}),(0,t.jsxs)("div",{className:"mt-4 flex flex-col items-center gap-2",children:[l?(0,t.jsx)(s.Button,{asChild:!0,size:"default",className:"h-9 px-4",children:(0,t.jsxs)(W.default,{href:"/memory/create",children:[(0,t.jsx)(z.Brain,{className:"h-4 w-4"}),"创建记忆库"]})}):(0,t.jsxs)(s.Button,{type:"button",size:"default",className:"h-9 px-4",disabled:a,onClick:n,children:[(0,t.jsx)(O.Plus,{className:"h-4 w-4"}),"绑定记忆库"]}),l||a?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)(z.Brain,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]"}),(0,t.jsxs)(Y.Select,{value:e.value,onValueChange:e.onChange,children:[(0,t.jsx)(Y.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)(Y.SelectValue,{placeholder:"选择记忆库"})}),(0,t.jsx)(Y.SelectContent,{children:e.stores.map(e=>(0,t.jsx)(Y.SelectItem,{value:e.memoryStoreName,children:e.memoryStoreName},e.memoryStoreName))})]}),(0,t.jsx)(s.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:"写入范围"}),(0,t.jsxs)("p",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:["服务端在检索时把「智能体 / 会话」派生为通配 ",(0,t.jsx)("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[10px]",children:"*"}),", 因此同一应用 + 租户下不同智能体 / 不同会话可以读取彼此的记忆"]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsx)(et,{label:"应用 *",value:e.appId,onChange:t=>e.onScopeChange({appId:t})}),(0,t.jsx)(et,{label:"租户 *",value:e.tenantId,onChange:t=>e.onScopeChange({tenantId:t})}),(0,t.jsx)("div",{className:"col-span-2",children:(0,t.jsx)(et,{label:"智能体 *",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:"自动归档:把本轮用户 / 助手消息写入当前范围"})]}),(0,t.jsx)(H.Switch,{checked:e.autoSave,onCheckedChange:e.onAutoSaveChange})]}),(0,t.jsx)(er,{runId:e.runId})]})}function et(e){let a=(0,r.useId)(),s=!e.value;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(S.Label,{htmlFor:a,className:"text-xs",children:e.label}),(0,t.jsx)(T.Input,{id:a,value:e.value,onChange:t=>e.onChange(t.target.value),"aria-invalid":s,className:(0,d.cn)("h-9",s&&"border-[hsl(var(--destructive))]")})]})}function er({runId:e}){let[a,n]=(0,r.useState)(!1);async function l(){if(e)try{await navigator.clipboard.writeText(e),n(!0),G.toast.success("已复制会话 ID"),setTimeout(()=>n(!1),1500)}catch{G.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:"会话 ID"}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",title:"会话 ID 由当前对话自动生成并在整个对话内复用,用于串联同一会话的记忆",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)(s.Button,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0","aria-label":"复制会话 ID",disabled:!e,onClick:l,children:a?(0,t.jsx)(u.Check,{className:"h-3.5 w-3.5 text-[hsl(var(--primary))]"}):(0,t.jsx)(q.Copy,{className:"h-3.5 w-3.5"})})]})]})}function ea({kbs:e,onAdd:r}){let a=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)($.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)(A.Database,{className:"h-6 w-6 text-[hsl(var(--primary))]"})}),(0,t.jsx)("h3",{className:"text-sm font-semibold text-[hsl(var(--foreground))]",children:a?"还没有任何知识库":"挂载知识库以启用 RAG"}),(0,t.jsx)("p",{className:"mx-auto mt-1 max-w-[320px] text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:a?"创建第一个知识库后,即可在对话中挂载并启用检索增强":"挂载后,模型将基于知识库内容生成回答,支持并行检索与全局重排"}),(0,t.jsxs)("div",{className:"mt-4 flex flex-col items-center gap-2",children:[a?(0,t.jsx)(s.Button,{asChild:!0,size:"default",className:"h-9 px-4",children:(0,t.jsxs)(W.default,{href:"/knowledge-base/create",children:[(0,t.jsx)(A.Database,{className:"h-4 w-4"}),"创建知识库"]})}):(0,t.jsx)(V,{kbs:e,onPick:r,align:"center",children:(0,t.jsxs)(s.Button,{type:"button",size:"default",className:"h-9 px-4",children:[(0,t.jsx)(O.Plus,{className:"h-4 w-4"}),"挂载知识库"]})}),a?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})," ","个知识库中选择"]})]})]})}var es=e.i(80883),en=e.i(88310),el=e.i(43754),eo=e.i(83823),ei=e.i(33153),ed=e.i(33253),em=e.i(21562),ec=e.i(85684),eu=e.i(74540);function ep(e,t,r){return{retrieval:e.retrieval??{...t},topK:e.topK??r}}function eh(e,t){return t&&"MODEL"===e.rerankType?{...e,modelProvider:"bailian",modelName:"qwen3-vl-rerank"}:e}let eg=["searchType","rerankType","rrfK","rrfDenseWeight","rrfFullTextWeight","weightDense","weightFullText","modelName","modelProvider"];function ex({mount:e,knowledgeBase:a,open:n,onOpenChange:l}){let o=R(),i=void 0===e.retrieval&&void 0===e.topK,d=!!a.multimodal,m=(0,r.useRef)(null),c=(0,r.useMemo)(()=>ep(e,o.retrieval,o.perKbTopK),[e,o.retrieval,o.perKbTopK]),u=(0,es.useForm)({resolver:(0,en.zodResolver)(eu.retrievalSchema),defaultValues:{knowledgeBaseName:a.knowledgeBaseName,queryType:"TEXT",query:"__mount_dialog_placeholder__",subspace:[],topK:c.topK,searchType:c.retrieval.searchType??["DENSE_VECTOR","FULL_TEXT"],rerankType:c.retrieval.rerankType,rrfK:c.retrieval.rrfK,rrfDenseWeight:c.retrieval.rrfDenseWeight,rrfFullTextWeight:c.retrieval.rrfFullTextWeight,weightDense:c.retrieval.weightDense,weightFullText:c.retrieval.weightFullText,modelName:c.retrieval.modelName,modelProvider:c.retrieval.modelProvider}});(0,r.useEffect)(()=>{u.reset({knowledgeBaseName:a.knowledgeBaseName,queryType:"TEXT",query:"__mount_dialog_placeholder__",subspace:[],topK:c.topK,searchType:c.retrieval.searchType??["DENSE_VECTOR","FULL_TEXT"],rerankType:c.retrieval.rerankType,rrfK:c.retrieval.rrfK,rrfDenseWeight:c.retrieval.rrfDenseWeight,rrfFullTextWeight:c.retrieval.rrfFullTextWeight,weightDense:c.retrieval.weightDense,weightFullText:c.retrieval.weightFullText,modelName:c.retrieval.modelName,modelProvider:c.retrieval.modelProvider})},[c,a.knowledgeBaseName]);let p=()=>{if(i)return;let t=u.getValues(),r={};for(let e of eg){let a=t[e];void 0===a||Array.isArray(a)&&0===a.length||(r[e]=a)}r=eh(r,d),o.updateMount(e.id,{retrieval:r,topK:"number"==typeof t.topK&&t.topK>=0?t.topK:20})},h=u.watch("rerankType");return(0,r.useEffect)(()=>{if(i||"MODEL"!==h)return;let e=!1;d?("bailian"!==u.getValues("modelProvider")&&(u.setValue("modelProvider","bailian"),e=!0),"qwen3-vl-rerank"!==u.getValues("modelName")&&(u.setValue("modelName","qwen3-vl-rerank"),e=!0)):(u.getValues("modelProvider")||(u.setValue("modelProvider","bailian"),e=!0),u.getValues("modelName")||(u.setValue("modelName","gte-rerank-v2"),e=!0)),e&&p()},[h,d,i]),(0,t.jsx)(ed.Dialog,{open:n,onOpenChange:l,children:(0,t.jsxs)(ed.DialogContent,{className:"sm:max-w-[560px] max-h-[85vh] overflow-y-auto data-[state=open]:animate-none data-[state=closed]:animate-none duration-0",children:[(0,t.jsxs)(ed.DialogHeader,{children:[(0,t.jsx)(ed.DialogTitle,{className:"pr-8",children:"检索参数"}),(0,t.jsxs)(ed.DialogDescription,{className:"break-all",children:[a.knowledgeBaseName,d?(0,t.jsx)("span",{className:"ml-2 inline-flex items-center rounded bg-[hsl(var(--secondary))] px-1.5 py-0.5 text-[10px] font-medium tracking-wide text-[hsl(var(--secondary-foreground))]",children:"多模态"}):null]})]}),(0,t.jsxs)("div",{className:"flex items-start gap-2 rounded-md px-3 py-2 text-xs "+(i?"border border-dashed border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] text-muted-foreground":"border border-[hsl(var(--primary)/0.3)] bg-[hsl(var(--primary)/0.06)] text-[hsl(var(--foreground))]"),children:[(0,t.jsx)(el.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("div",{className:"flex-1 leading-relaxed",children:i?(0,t.jsxs)("span",{children:["当前:",(0,t.jsx)("span",{className:"font-medium",children:"继承全局默认"}),";下方为只读预览。如需偏离全局配置,请点击「使用自定义配置」。"]}):(0,t.jsxs)("span",{children:["当前:",(0,t.jsx)("span",{className:"font-medium",children:"使用自定义配置"}),";字段失焦后自动保存。"]})})]}),d&&!i&&"MODEL"===u.watch("rerankType")?(0,t.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.5)] px-3 py-2 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.jsxs)("span",{children:["多模态知识库的 Model Rerank 已锁定为"," ",(0,t.jsx)("span",{className:"font-medium text-[hsl(var(--foreground))]",children:"qwen3-vl-rerank"}),"(Provider:bailian),暂不支持其他模型。"]})]}):null,(0,t.jsx)(em.Form,{...u,children:(0,t.jsx)("form",{onSubmit:e=>e.preventDefault(),onBlur:p,className:"space-y-4 "+(i?"pointer-events-none select-none opacity-60":""),"aria-disabled":i,children:(0,t.jsx)("fieldset",{disabled:i,className:"space-y-4 contents",children:(0,t.jsx)(ec.RetrievalParamsFields,{form:u,filterRef:m,topKLabel:"TopK",topKHint:"检索返回条数,不设置则继承全局默认",topKMode:"single"})})})}),(0,t.jsxs)(ed.DialogFooter,{className:"sm:justify-between",children:[(0,t.jsxs)(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>{o.resetMountRetrieval(e.id)},disabled:i,className:"gap-1.5",children:[(0,t.jsx)(eo.RotateCcw,{className:"h-3.5 w-3.5"}),"重置为默认"]}),i?(0,t.jsxs)(s.Button,{type:"button",size:"sm",onClick:()=>{let t=ep(e,o.retrieval,o.perKbTopK),r=eh(t.retrieval,d);o.updateMount(e.id,{retrieval:r,topK:t.topK})},className:"gap-1.5",children:[(0,t.jsx)(ei.Pencil,{className:"h-3.5 w-3.5"}),"使用自定义配置"]}):(0,t.jsx)(s.Button,{type:"button",variant:"secondary",size:"sm",onClick:()=>l(!1),children:"完成"})]})]})})}function ef({mount:e,subspaceEnabled:n,knowledgeBase:l}){let o=R(),[d,m]=(0,r.useState)((e.subspace??[]).join(", ")),[c,u]=(0,r.useState)(!1);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}),n?(0,t.jsx)(T.Input,{value:d,onChange:e=>m(e.target.value),onBlur:()=>{let t=d.split(",").map(e=>e.trim()).filter(Boolean),r=e.subspace??[];t.length===r.length&&t.every((e,t)=>e===r[t])||o.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.jsxs)("div",{className:"relative",children:[(0,t.jsx)(s.Button,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>u(!0),disabled:!l,title:l?"检索参数":"知识库信息加载中",children:(0,t.jsx)(a.Settings2,{className:"h-3.5 w-3.5 text-muted-foreground"})}),e.retrieval?(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute -top-0.5 -right-0.5 h-2 w-2 rounded-full bg-primary"}):null]}),(0,t.jsx)(s.Button,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>o.removeMount(e.id),title:"移除",children:(0,t.jsx)(i.Trash2,{className:"h-3.5 w-3.5 text-muted-foreground"})}),l?(0,t.jsx)(ex,{mount:e,knowledgeBase:l,open:c,onOpenChange:u}):null]})}var ev=e.i(20268),ey=e.i(64209);let eb=["searchType","rerankType","rrfK","rrfDenseWeight","rrfFullTextWeight","weightDense","weightFullText","modelName","modelProvider"];function eN({disabled:e,singleKb:a}){let s=R(),n=(0,r.useRef)(null),l=(0,es.useForm)({resolver:(0,en.zodResolver)(eu.retrievalSchema),defaultValues:{knowledgeBaseName:a?.knowledgeBaseName??"__unified__",queryType:"TEXT",query:"__unified_placeholder__",subspace:[],topK:s.perKbTopK,searchType:s.retrieval.searchType??["DENSE_VECTOR","FULL_TEXT"],rerankType:s.retrieval.rerankType,rrfK:s.retrieval.rrfK,rrfDenseWeight:s.retrieval.rrfDenseWeight,rrfFullTextWeight:s.retrieval.rrfFullTextWeight,weightDense:s.retrieval.weightDense,weightFullText:s.retrieval.weightFullText,modelName:s.retrieval.modelName,modelProvider:s.retrieval.modelProvider}});(0,r.useEffect)(()=>{l.reset({knowledgeBaseName:a?.knowledgeBaseName??"__unified__",queryType:"TEXT",query:"__unified_placeholder__",subspace:[],topK:s.perKbTopK,searchType:s.retrieval.searchType??["DENSE_VECTOR","FULL_TEXT"],rerankType:s.retrieval.rerankType,rrfK:s.retrieval.rrfK,rrfDenseWeight:s.retrieval.rrfDenseWeight,rrfFullTextWeight:s.retrieval.rrfFullTextWeight,weightDense:s.retrieval.weightDense,weightFullText:s.retrieval.weightFullText,modelName:s.retrieval.modelName,modelProvider:s.retrieval.modelProvider})},[s.retrieval,s.perKbTopK,a?.knowledgeBaseName]);let o=()=>{let e=l.getValues(),t={};for(let r of eb){let a=e[r];void 0===a||Array.isArray(a)&&0===a.length||(t[r]=a)}s.setRetrieval(t),s.setPerKbTopK("number"==typeof e.topK&&e.topK>=0?e.topK:20)},i=l.watch("rerankType");(0,r.useEffect)(()=>{if("MODEL"!==i)return;let e=!1;l.getValues("modelProvider")||(l.setValue("modelProvider","bailian"),e=!0),l.getValues("modelName")||(l.setValue("modelName","gte-rerank-v2"),e=!0),e&&o()},[i]);let[d,m]=(0,r.useState)(!1);return(0,t.jsxs)(ey.Collapsible,{open:!e&&d,onOpenChange:t=>{e||m(t)},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",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0",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:"未单独配置的知识库将使用此默认参数"})]}),!e&&(0,t.jsx)(ey.CollapsibleTrigger,{type:"button","aria-label":d?"收起全局默认检索参数":"展开全局默认检索参数",className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]",children:(0,t.jsx)(ev.ChevronDown,{className:"h-4 w-4 transition-transform duration-150"+(d?" rotate-180":"")})})]}),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)(ey.CollapsibleContent,{children:(0,t.jsx)(em.Form,{...l,children:(0,t.jsx)("form",{onSubmit:e=>e.preventDefault(),onBlur:o,className:"space-y-4",children:(0,t.jsx)(ec.RetrievalParamsFields,{form:l,knowledgeBase:a,filterRef:n,topKLabel:"TopK",topKHint:"单库检索条数,默认 20",topKMode:"single"})})})})]})}function ej({open:e,onOpenChange:a,onSave:n}){let l=R(),{data:o}=(0,k.useKnowledgeBases)(),i=o?.items??[],d=i.filter(e=>!l.mounts.some(t=>t.knowledgeBaseName===e.knowledgeBaseName)),[m,c]=(0,r.useState)(String(l.aggregateTopK));(0,r.useEffect)(()=>{c(String(l.aggregateTopK))},[l.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:a,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)(j,{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)(P.LLMModelSelector,{providerId:l.providerId,model:l.model,onProviderChange:(e,t)=>{l.setProvider(e,t??"")},onModelChange:e=>l.setModel(e)}),(0,t.jsx)(D.SystemPromptInput,{value:l.systemPrompt,onChange:e=>l.setSystemPrompt(e),placeholder:"留空使用默认 prompt",label:"System Prompt"}),(0,t.jsx)(B.TemperatureSlider,{value:l.temperature??.7,onChange:e=>l.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 全局重排,取前 ",l.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:m,onChange:e=>c(e.target.value),onBlur:()=>{let e=parseInt(m,10);Number.isFinite(e)&&e>=1&&e<=200?(l.setAggregateTopK(e),c(String(e))):(l.setAggregateTopK(20),c(String(20)))},className:"h-8 w-20"})]})]}),0===l.mounts.length?(0,t.jsx)(ea,{kbs:i,onAdd:e=>l.addMount({id:(0,K.newId)("mount"),knowledgeBaseName:e.knowledgeBaseName})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"space-y-2",children:l.mounts.map(e=>{let r=i.find(t=>t.knowledgeBaseName===e.knowledgeBaseName);return(0,t.jsx)(ef,{mount:e,subspaceEnabled:r?.subspace===!0,knowledgeBase:r},e.id)})}),(0,t.jsx)(U,{kbs:d,onAdd:e=>l.addMount({id:(0,K.newId)("mount"),knowledgeBaseName:e.knowledgeBaseName})})]})]}),(0,t.jsx)(eN,{disabled:0===l.mounts.length,singleKb:1===l.mounts.length?i.find(e=>e.knowledgeBaseName===l.mounts[0].knowledgeBaseName):void 0}),(0,t.jsx)(J,{})]}),(0,t.jsxs)(N,{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)(s.Button,{type:"button",variant:"ghost",onClick:()=>a(!1),children:"关闭"}),(0,t.jsx)(s.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 ew(e){return e&&e.length>0?e:null}function eT(e){let t;return`tsagent.chat.sessions.v2.${(t=ew(e))?`project.${encodeURIComponent(t)}`:"unbound"}`}function eS(e,t){return ew(e.activeInstance)===ew(t)}function ek(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:ew(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}:{},...e.retrieval?{retrieval:e.retrieval}:{},..."number"==typeof e.topK?{topK:e.topK}:{}})),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 eE(e){let t=eT(e);if(null!==window.localStorage.getItem(t))return;let r=ek("tsagent.chat.sessions.v1").filter(t=>eS(t,e));0!==r.length&&eI(t,r)}function eK(e){return eE(e),ek(eT(e)).filter(t=>eS(t,e))}function eI(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 eC(e){return eK(ew(e)).sort((e,t)=>t.updatedAt-e.updatedAt)}let e_=new Map,eM=[];function eR(){return eM}var eP=e.i(40596);function eD(e){let t=e&&e.length>0?e:"__none__";return`tsagent.chat.lastConfig.${t}`}function eB(e){try{let t=window.localStorage.getItem(eD(e));if(!t)return{};let r=JSON.parse(t);if(!r||"object"!=typeof r)return{};let{providerId:a,model:s}=r;return{providerId:"string"==typeof a?a:void 0,model:"string"==typeof s?s:void 0}}catch{return{}}}var eO=e.i(67730),eA=e.i(86196),eF=e.i(47570);function eL(){let e,o,i,d,c,u,p,h,g,x=R(),f=(0,eO.useActiveInstance)(),v=f.activeInstance,y=(e=ew(f.activeInstance),o=f.ready?eT(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)}})(o,e),[o]),d=(0,r.useCallback)(()=>(function(e,t){if(!t)return eM;eE(e);let r=eT(e),a=window.localStorage.getItem(r)??"",s=e_.get(r);if(s?.raw===a)return s.snapshot;let n=eC(e);return e_.set(r,{raw:a,snapshot:n}),n})(e,f.ready),[e,f.ready]),c=(0,r.useSyncExternalStore)(i,d,eR),u=(0,r.useCallback)(t=>{if(f.ready){let r,a,s,n,l,o;a=eK(r=ew(e)),n=(s={...t,activeInstance:r}).messages.length>200?{...s,messages:s.messages.slice(-200)}:s,(l=a.findIndex(e=>e.id===n.id))>=0?a[l]=n:a.push(n),o=a.sort((e,t)=>t.updatedAt-e.updatedAt).slice(0,50),eI(eT(r),o)}},[e,f.ready]),p=(0,r.useCallback)(t=>{if(f.ready){let r,a;a=eK(r=ew(e)).filter(e=>e.id!==t),eI(eT(r),a)}},[e,f.ready]),h=(0,r.useCallback)(()=>{if(f.ready){var t;t=ew(e),eI(eT(t),[])}},[e,f.ready]),g=(0,r.useCallback)(t=>f.ready?eC(e).find(e=>e.id===t)??null:null,[e,f.ready]),(0,r.useMemo)(()=>({sessions:c,upsert:u,remove:p,clear:h,get:g}),[c,u,p,h,g])),[b,N]=(0,r.useState)(null),[j,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||N(r);let a=t.preserveTitle?y.get(r):null,s={id:r,title:a?.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(s),x.providerId&&function(e,t){if(t.providerId)try{window.localStorage.setItem(eD(e),JSON.stringify({providerId:t.providerId,model:t.model??""}))}catch{}}(v,{providerId:x.providerId,model:x.model})},[b,x,y,v,f.ready]),k=(0,r.useCallback)(e=>{S(e,{requireSent:!0,preserveTitle:!1})},[S]),I=(0,r.useMemo)(()=>(function(e){if(e.mounts.length)return{knowledgeBases:e.mounts.map(t=>{let r=t.retrieval??e.retrieval,a=t.topK??e.perKbTopK,s=(0,E.assembleRetrievalConfiguration)(r,a);return{knowledgeBaseName:t.knowledgeBaseName,...t.subspace?.length?{subspace:t.subspace}:{},...s?{retrievalConfiguration:s}:{},topK:a}}),topK:e.aggregateTopK}})(x),[x]),C=(0,r.useMemo)(()=>(function(e){let t=e.memory;if(!t)return;let{appId:r,tenantId:a,agentId:s,runId:n}=t.scope;if(r&&a&&s&&n)return{memoryStoreName:t.memoryStoreName,scope:{appId:r,tenantId:a,agentId:s,runId:n},..."number"==typeof t.topK?{topK:t.topK}:{},autoSave:t.autoSave}})(x),[x]),_=(0,eP.useQaChat)({activeInstance:v,providerId:x.providerId,model:x.model,systemPrompt:x.systemPrompt,temperature:x.temperature,rag:I,memory:C,onPersist:k}),M=(0,r.useCallback)(e=>{if(!f.ready)return;let t=y.get(e);t&&(t.activeInstance??null)===v&&(N(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]),P=(0,r.useCallback)(()=>{N(null),T.current=!1,_.clear();let e=eB(v);x.setProvider(e.providerId??"",e.model??"")},[_.clear,v,x.setProvider]),D=(0,r.useCallback)(e=>{y.remove(e),b===e&&(N(null),T.current=!1,_.clear())},[y,b,_]),B=(0,r.useCallback)(()=>{y.clear(),N(null),T.current=!1,_.clear()},[y,_.clear]),O=(0,r.useCallback)(e=>{T.current=!0,_.send(e)},[_]),A=(0,r.useCallback)((e,t)=>{T.current=!0,_.editUserMessage(e,t),_.reissueTurn(e)},[_]),F=(0,r.useCallback)(e=>{let t=(0,eA.findUserAnchorAbove)(_.messages,e);t&&(T.current=!0,_.reissueTurn(t.id))},[_]),L=(0,r.useCallback)(()=>{T.current=_.messages.length>0||T.current,S(_.messages,{requireSent:!1,preserveTitle:!0})},[_.messages,S]),V=(0,r.useRef)({activeInstance:null,ready:!1,dataScopeKey:eF.PENDING_DATA_SCOPE_KEY,configRevision:""});(0,r.useEffect)(()=>{let e=V.current;e.ready&&f.ready&&e.dataScopeKey!==f.dataScopeKey&&(x.reset(),N(null),T.current=!1,_.clear()),f.ready&&(V.current=f)},[f.dataScopeKey,f.ready]),(0,r.useEffect)(()=>{if(b||x.providerId)return;let e=eB(v);e.providerId&&x.setProvider(e.providerId,e.model??"")},[v,b,x.providerId]);let U=b?y.get(b):null,W=f.ready&&!!(x.providerId&&x.model),z=U?.title??"新对话",q=x.mounts.length,$=!b&&x.mounts.length>0?`已沿用上一会话的 ${x.mounts.length} 个知识库挂载,按右上角齿轮可调整。`:null;return(0,t.jsxs)(n.AppShellLayout,{children:[(0,t.jsx)(m,{sessions:y.sessions,activeSessionId:b,onNewSession:P,onSelectSession:M,onDeleteSession:D,onClearAll:B}),(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:z}),(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," · ",q," 个知识库 · 聚合 ",x.aggregateTopK,x.memory?` \xb7 记忆: ${x.memory.memoryStoreName}`:""]}):"点击右上角设置挂载模型与知识库"})]}),(0,t.jsx)(s.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>w(!0),title:"对话配置",children:(0,t.jsx)(a.Settings2,{className:"h-4 w-4"})})]}),(0,t.jsx)(l.QaChatPanel,{messages:_.messages,isStreaming:_.isStreaming,canSend:W,error:_.error,onSend:O,onStop:_.stop,onDelete:_.deleteMessage,onResend:_.reissueTurn,onRegenerate:F,onEditSave:A,emptyState:{title:W?"可以开始对话了":"开始对话",description:$?`${$} 直接在下方输入你的问题。`:W?"直接在下方输入你的问题;随时可以通过右上角齿轮调整模型或挂载的知识库":"点击右上角齿轮,选择模型并挂载知识库,即可开始问答",actionLabel:"打开配置",onAction:()=>w(!0)},disabledPlaceholder:"请先点击右上角齿轮配置模型与知识库"})]}),(0,t.jsx)(ej,{open:j,onOpenChange:w,onSave:L})]})}e.s(["default",0,function(){return(0,t.jsx)(M,{children:(0,t.jsx)(eL,{})})}],2447)}]);