@tablestore/tablestore-agent-cli 0.1.9 → 0.2.1

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 (459) hide show
  1. package/dist/commands/kb/create.d.ts.map +1 -1
  2. package/dist/commands/kb/create.js +21 -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 +3 -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/app-path-routes-manifest.json +1 -0
  9. package/dist/dashboard-runtime/dashboard/.next/build-manifest.json +5 -5
  10. package/dist/dashboard-runtime/dashboard/.next/prerender-manifest.json +3 -3
  11. package/dist/dashboard-runtime/dashboard/.next/routes-manifest.json +6 -0
  12. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page/build-manifest.json +2 -2
  13. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js +1 -1
  14. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  15. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  16. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page/build-manifest.json +2 -2
  17. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js +1 -1
  18. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js.nft.json +1 -1
  19. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page_client-reference-manifest.js +1 -1
  20. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page/build-manifest.json +2 -2
  21. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js +1 -1
  22. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js.nft.json +1 -1
  23. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page_client-reference-manifest.js +1 -1
  24. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page/build-manifest.json +2 -2
  25. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js +1 -1
  26. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js.nft.json +1 -1
  27. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page_client-reference-manifest.js +1 -1
  28. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page/build-manifest.json +2 -2
  29. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js +1 -1
  30. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js.nft.json +1 -1
  31. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page_client-reference-manifest.js +1 -1
  32. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page/build-manifest.json +2 -2
  33. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js +1 -1
  34. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js.nft.json +1 -1
  35. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page_client-reference-manifest.js +1 -1
  36. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page/build-manifest.json +2 -2
  37. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js +1 -1
  38. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js.nft.json +1 -1
  39. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page_client-reference-manifest.js +1 -1
  40. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page/build-manifest.json +2 -2
  41. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js +1 -1
  42. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js.nft.json +1 -1
  43. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page_client-reference-manifest.js +1 -1
  44. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page/build-manifest.json +2 -2
  45. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js +1 -1
  46. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js.nft.json +1 -1
  47. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page_client-reference-manifest.js +1 -1
  48. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page/build-manifest.json +2 -2
  49. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js +2 -2
  50. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js.nft.json +1 -1
  51. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page_client-reference-manifest.js +1 -1
  52. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page/build-manifest.json +2 -2
  53. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js +1 -1
  54. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
  55. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
  56. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page/build-manifest.json +2 -2
  57. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js +1 -1
  58. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js.nft.json +1 -1
  59. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page_client-reference-manifest.js +1 -1
  60. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page/build-manifest.json +2 -2
  61. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js +1 -1
  62. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js.nft.json +1 -1
  63. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page_client-reference-manifest.js +1 -1
  64. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page/build-manifest.json +2 -2
  65. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page/react-loadable-manifest.json +1 -1
  66. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js +1 -1
  67. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js.nft.json +1 -1
  68. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page_client-reference-manifest.js +1 -1
  69. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page/build-manifest.json +2 -2
  70. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js +1 -1
  71. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js.nft.json +1 -1
  72. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page_client-reference-manifest.js +1 -1
  73. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page/build-manifest.json +2 -2
  74. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js +1 -1
  75. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js.nft.json +1 -1
  76. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page_client-reference-manifest.js +1 -1
  77. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page/build-manifest.json +2 -2
  78. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js +1 -1
  79. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js.nft.json +1 -1
  80. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page_client-reference-manifest.js +1 -1
  81. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page/build-manifest.json +2 -2
  82. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js +1 -1
  83. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js.nft.json +1 -1
  84. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page_client-reference-manifest.js +1 -1
  85. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page/build-manifest.json +2 -2
  86. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js +1 -1
  87. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
  88. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
  89. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page/build-manifest.json +2 -2
  90. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js +1 -1
  91. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  92. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  93. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error/page/build-manifest.json +2 -2
  94. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.html +1 -1
  95. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.rsc +1 -1
  96. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  97. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  98. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  99. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  100. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  101. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page/build-manifest.json +2 -2
  102. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  103. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
  104. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +14 -14
  105. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  106. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
  107. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  108. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  109. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  110. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  111. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js.nft.json +1 -1
  112. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
  113. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
  114. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
  115. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
  116. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
  117. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
  118. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
  119. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
  120. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
  121. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
  122. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
  123. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
  124. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
  125. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
  126. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
  127. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
  128. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
  129. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
  130. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -1
  131. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
  132. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
  133. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
  134. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
  135. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
  136. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
  137. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
  138. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route/app-paths-manifest.json +3 -0
  139. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route/build-manifest.json +9 -0
  140. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route/server-reference-manifest.json +4 -0
  141. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js +6 -0
  142. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js.map +5 -0
  143. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js.nft.json +1 -0
  144. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route_client-reference-manifest.js +3 -0
  145. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -1
  146. package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
  147. package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +14 -14
  148. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  149. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_full.segment.rsc +14 -14
  150. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_head.segment.rsc +3 -3
  151. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_index.segment.rsc +10 -10
  152. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  153. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page/build-manifest.json +2 -2
  154. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page.js.nft.json +1 -1
  155. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  156. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
  157. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +17 -17
  158. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +17 -17
  159. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_head.segment.rsc +3 -3
  160. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_index.segment.rsc +10 -10
  161. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  162. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  163. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding.segment.rsc +4 -4
  164. package/dist/dashboard-runtime/dashboard/.next/server/app/page/build-manifest.json +2 -2
  165. package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  166. package/dist/dashboard-runtime/dashboard/.next/server/app-paths-manifest.json +1 -0
  167. package/dist/dashboard-runtime/dashboard/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0n~ec7s.js +1 -1
  168. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cee_lo._.js +1 -1
  169. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0lvi0g-._.js +2 -2
  170. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0q8vcw8._.js +3 -0
  171. package/dist/dashboard-runtime/dashboard/.next/server/chunks/dashboard__next-internal_server_app_api_v1_oss_list_route_actions_00xq2u..js +3 -0
  172. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0b1r_app_(dashboard)_knowledge-base_[name]_documents_documents-client_tsx_0g2uxmt._.js +2 -2
  173. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0e95_src_app_(dashboard)_knowledge-base_[name]_settings_settings-client_tsx_13312zk._.js +1 -1
  174. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0aqzu8w._.js +1 -1
  175. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0hozzu6._.js +3 -0
  176. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0jb9ccl._.js +1 -1
  177. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0jhpb-b._.js +3 -0
  178. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__13ylf4x._.js +3 -0
  179. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01-2v37._.js +3 -0
  180. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_02bg849._.js +3 -0
  181. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_04f2u4t._.js +1 -1
  182. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_09yzbcp._.js +1 -1
  183. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0db498n._.js +3 -0
  184. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ddbh97._.js +1 -1
  185. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f4u0.1._.js +3 -0
  186. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fj8l5g._.js +3 -0
  187. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0hnw-ok._.js +3 -0
  188. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0j-q~ro._.js +3 -0
  189. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jghj2_._.js +3 -0
  190. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0kd7szs._.js +3 -0
  191. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0l~-9i0._.js +3 -0
  192. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0mtqe24._.js +3 -0
  193. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0n4gd_6._.js +3 -0
  194. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0o665bf._.js +1 -1
  195. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ogxvev._.js +7 -0
  196. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0q748rf._.js +1 -1
  197. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tr8-3u._.js +3 -0
  198. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0u4elhp._.js +3 -0
  199. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0vtm7dh._.js +3 -0
  200. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xdioxg._.js +3 -0
  201. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xzh5yw._.js +3 -0
  202. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12r9c8h._.js +3 -0
  203. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12~3vfk._.js +3 -0
  204. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13_lb.o._.js +3 -0
  205. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_00ofp7q._.js +3 -0
  206. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_065m1.j._.js +1 -1
  207. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0ejgygh._.js +1 -1
  208. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0o9jhcn._.js +9 -0
  209. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0xf3ffa._.js +3 -0
  210. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0y49vhd._.js +1 -1
  211. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_10dsqx~._.js +1 -1
  212. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_knowledge-base_create_page_tsx_0916~g-._.js +1 -1
  213. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_error_tsx_01x7ppm._.js +1 -1
  214. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ls1exu._.js +3 -0
  215. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ugdjlb._.js +3 -0
  216. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_shared_relative-time_tsx_0b7s9rc._.js +1 -1
  217. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_ui_0-tuf-h._.js +3 -0
  218. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_ui_dropdown-menu_tsx_0c~d-fd._.js +1 -1
  219. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_ui_select_tsx_0ys.i47._.js +1 -1
  220. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_08h.f_8._.js +3 -0
  221. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0jns_ph._.js +3 -0
  222. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0pf30rh._.js +3 -0
  223. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0~k~1nt._.js +3 -0
  224. package/dist/dashboard-runtime/dashboard/.next/server/functions-config-manifest.json +1 -0
  225. package/dist/dashboard-runtime/dashboard/.next/server/middleware-build-manifest.js +5 -5
  226. package/dist/dashboard-runtime/dashboard/.next/server/pages/404.html +1 -1
  227. package/dist/dashboard-runtime/dashboard/.next/server/pages/500.html +1 -1
  228. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.js +1 -1
  229. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.json +1 -1
  230. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-2yqm.ft6yzy.js +1 -0
  231. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0.2e8ciiogw04.js +1 -0
  232. package/dist/dashboard-runtime/dashboard/.next/static/chunks/00tz~p479bdgl.js +1 -0
  233. package/dist/dashboard-runtime/dashboard/.next/static/chunks/02i9olo-312mq.js +138 -0
  234. package/dist/dashboard-runtime/dashboard/.next/static/chunks/062k9jbtd9.lv.js +1 -0
  235. package/dist/dashboard-runtime/dashboard/.next/static/chunks/069zf4m5f.se2.js +1 -0
  236. package/dist/dashboard-runtime/dashboard/.next/static/chunks/06uuhz24tvdt..js +1 -0
  237. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07cp19da_kfld.js +5 -0
  238. package/dist/dashboard-runtime/dashboard/.next/static/chunks/086esp1n941jl.js +138 -0
  239. package/dist/dashboard-runtime/dashboard/.next/static/chunks/08e9vvmr~0bqr.js +1 -0
  240. package/dist/dashboard-runtime/dashboard/.next/static/chunks/08i99xsvs8o5s.js +1 -0
  241. package/dist/dashboard-runtime/dashboard/.next/static/chunks/08qlxn-3d_rtu.js +1 -0
  242. package/dist/dashboard-runtime/dashboard/.next/static/chunks/09uxq~55qug8c.js +1 -0
  243. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0__g1ogrdh412.js +1 -0
  244. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ab-ev0u1~ch5.js +1 -0
  245. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{154aheeo3m6bg.js → 0bpginsuceywq.js} +1 -1
  246. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0bw682qzkh2ni.js +1 -0
  247. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0cto67_iw~p9z.js +1 -0
  248. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0d29.l~3ip181.js +1 -0
  249. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ewpzgu_qf0wf.js +4 -0
  250. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0h77.bqx5ltem.js +1 -0
  251. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ix_suxk3spjj.js +1 -0
  252. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jc31diex030o.js +1 -0
  253. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0k79upjc40aky.css +1 -0
  254. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0lp2g_27uyhuz.js +1 -0
  255. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0lrw.bnws62y9.js +1 -0
  256. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0mea2ylxe.umh.js +1 -0
  257. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0dqag6qsw7xv8.js → 0px2r0l_3kp2t.js} +1 -1
  258. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0snnsfosp3~gq.js +1 -0
  259. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0t0yqi68~eil6.js +1 -0
  260. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0td9nhfbpbmyt.js +1 -0
  261. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0tmwptel_4y0o.js +1 -0
  262. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u6_s-0w8.yr..js +1 -0
  263. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u9wtl06_b72x.js +1 -0
  264. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0uv55p7kzteex.js +1 -0
  265. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v9d5wl9nsva3.js +1 -0
  266. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0xko7~ja3xuc-.js +1 -0
  267. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{05_578ka0ga8d.js → 12pz6ag1s~te_.js} +1 -1
  268. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14.dp0-y_mhjo.js +1 -0
  269. package/dist/dashboard-runtime/dashboard/.next/static/chunks/15bzqpm440jvz.js +1 -0
  270. package/dist/dashboard-runtime/dashboard/.next/static/chunks/15wxh8ltqt88_.js +1 -0
  271. package/dist/dashboard-runtime/dashboard/.next/static/chunks/183~u3-4a74db.js +1 -0
  272. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{turbopack-0ybyy.9-.w~ub.js → turbopack-0w.hw6u8qra5z.js} +1 -1
  273. package/dist/dashboard-runtime/dashboard/package.json +1 -0
  274. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/chat/page.tsx +39 -38
  275. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/error.tsx +1 -1
  276. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/documents/documents-client.tsx +0 -1
  277. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/layout-client.tsx +191 -40
  278. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/qa/page.tsx +18 -19
  279. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/retrieval/retrieval-client.tsx +8 -7
  280. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/settings/settings-client.tsx +1 -1
  281. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/layout.tsx +3 -10
  282. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/layout.tsx +128 -22
  283. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/search/page.tsx +15 -8
  284. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/projects/page.tsx +1 -1
  285. package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/documents/route.ts +44 -3
  286. package/dist/dashboard-runtime/dashboard/src/app/api/v1/oss/list/route.ts +125 -0
  287. package/dist/dashboard-runtime/dashboard/src/app/error.tsx +1 -1
  288. package/dist/dashboard-runtime/dashboard/src/app/globals.css +137 -102
  289. package/dist/dashboard-runtime/dashboard/src/app/not-found.tsx +1 -1
  290. package/dist/dashboard-runtime/dashboard/src/app/onboarding/page.tsx +2 -2
  291. package/dist/dashboard-runtime/dashboard/src/components/chat/add-mount-row.tsx +21 -46
  292. package/dist/dashboard-runtime/dashboard/src/components/chat/chat-mount-config.tsx +35 -27
  293. package/dist/dashboard-runtime/dashboard/src/components/chat/mount-empty-state.tsx +87 -0
  294. package/dist/dashboard-runtime/dashboard/src/components/chat/mount-picker.tsx +87 -0
  295. package/dist/dashboard-runtime/dashboard/src/components/chat/unified-retrieval-section.tsx +3 -2
  296. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-chunks-dialog.tsx +49 -25
  297. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-columns.tsx +57 -46
  298. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-table.tsx +2 -4
  299. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-toolbar.tsx +1 -1
  300. package/dist/dashboard-runtime/dashboard/src/components/documents/doc-upload-dialog.tsx +155 -54
  301. package/dist/dashboard-runtime/dashboard/src/components/documents/oss-browser.tsx +264 -0
  302. package/dist/dashboard-runtime/dashboard/src/components/documents/oss-import-tab.tsx +143 -0
  303. package/dist/dashboard-runtime/dashboard/src/components/instance/connect-instance-form.tsx +60 -60
  304. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-create-form.tsx +52 -35
  305. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-settings-form.tsx +152 -76
  306. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/knowledge-base-retrieval-config.ts +110 -0
  307. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/retrieval-result-count-field.tsx +106 -0
  308. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/retrieval-result-count.ts +11 -0
  309. package/dist/dashboard-runtime/dashboard/src/components/layout/detail-sidebar.tsx +411 -0
  310. package/dist/dashboard-runtime/dashboard/src/components/layout/help-link.tsx +58 -0
  311. package/dist/dashboard-runtime/dashboard/src/components/layout/page-header.tsx +130 -11
  312. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-instance-card.tsx +203 -0
  313. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-item.tsx +14 -11
  314. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-mobile.tsx +37 -29
  315. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-usage-stats.tsx +26 -0
  316. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar.tsx +94 -46
  317. package/dist/dashboard-runtime/dashboard/src/components/layout/theme-toggle.tsx +161 -41
  318. package/dist/dashboard-runtime/dashboard/src/components/memory/requests-histogram-chart.tsx +2 -2
  319. package/dist/dashboard-runtime/dashboard/src/components/qa/qa-chat-panel.tsx +1 -1
  320. package/dist/dashboard-runtime/dashboard/src/components/retrieval/assemble-retrieval-configuration.ts +22 -3
  321. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-form.tsx +110 -20
  322. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-params-fields.tsx +114 -56
  323. package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-rerank-fields.tsx +60 -23
  324. package/dist/dashboard-runtime/dashboard/src/components/shared/empty-state.tsx +1 -1
  325. package/dist/dashboard-runtime/dashboard/src/components/shared/error-state.tsx +1 -1
  326. package/dist/dashboard-runtime/dashboard/src/components/shared/llm-model-selector.tsx +160 -70
  327. package/dist/dashboard-runtime/dashboard/src/components/shared/relative-time.tsx +30 -6
  328. package/dist/dashboard-runtime/dashboard/src/components/ui/badge.tsx +16 -5
  329. package/dist/dashboard-runtime/dashboard/src/components/ui/button.tsx +9 -8
  330. package/dist/dashboard-runtime/dashboard/src/components/ui/card.tsx +14 -8
  331. package/dist/dashboard-runtime/dashboard/src/components/ui/chat-bubble.tsx +60 -0
  332. package/dist/dashboard-runtime/dashboard/src/components/ui/command.tsx +1 -1
  333. package/dist/dashboard-runtime/dashboard/src/components/ui/data-card.tsx +57 -0
  334. package/dist/dashboard-runtime/dashboard/src/components/ui/detail-section.tsx +40 -0
  335. package/dist/dashboard-runtime/dashboard/src/components/ui/dialog.tsx +7 -7
  336. package/dist/dashboard-runtime/dashboard/src/components/ui/dropdown-menu.tsx +6 -6
  337. package/dist/dashboard-runtime/dashboard/src/components/ui/empty-state.tsx +42 -0
  338. package/dist/dashboard-runtime/dashboard/src/components/ui/filter-pill.tsx +90 -0
  339. package/dist/dashboard-runtime/dashboard/src/components/ui/form.tsx +3 -3
  340. package/dist/dashboard-runtime/dashboard/src/components/ui/input.tsx +5 -1
  341. package/dist/dashboard-runtime/dashboard/src/components/ui/item-card.tsx +88 -0
  342. package/dist/dashboard-runtime/dashboard/src/components/ui/label.tsx +1 -1
  343. package/dist/dashboard-runtime/dashboard/src/components/ui/memory-row.tsx +63 -0
  344. package/dist/dashboard-runtime/dashboard/src/components/ui/mini-stat.tsx +48 -0
  345. package/dist/dashboard-runtime/dashboard/src/components/ui/nav-tab-bar.tsx +60 -0
  346. package/dist/dashboard-runtime/dashboard/src/components/ui/playground-shell.tsx +69 -0
  347. package/dist/dashboard-runtime/dashboard/src/components/ui/popover.tsx +1 -1
  348. package/dist/dashboard-runtime/dashboard/src/components/ui/result-row.tsx +37 -0
  349. package/dist/dashboard-runtime/dashboard/src/components/ui/scope-tag.tsx +30 -0
  350. package/dist/dashboard-runtime/dashboard/src/components/ui/select.tsx +6 -5
  351. package/dist/dashboard-runtime/dashboard/src/components/ui/sheet.tsx +4 -4
  352. package/dist/dashboard-runtime/dashboard/src/components/ui/sonner.tsx +1 -1
  353. package/dist/dashboard-runtime/dashboard/src/components/ui/stat-card.tsx +58 -0
  354. package/dist/dashboard-runtime/dashboard/src/components/ui/table.tsx +13 -6
  355. package/dist/dashboard-runtime/dashboard/src/components/ui/textarea.tsx +4 -1
  356. package/dist/dashboard-runtime/dashboard/src/components/ui/tooltip.tsx +1 -1
  357. package/dist/dashboard-runtime/dashboard/src/components/ui/usage-card.tsx +43 -0
  358. package/dist/dashboard-runtime/dashboard/src/config/navigation.ts +50 -9
  359. package/dist/dashboard-runtime/dashboard/src/hooks/use-detail-sidebar-collapsed.ts +86 -0
  360. package/dist/dashboard-runtime/dashboard/src/hooks/use-oss-import.ts +148 -0
  361. package/dist/dashboard-runtime/dashboard/src/hooks/use-oss-list.ts +89 -0
  362. package/dist/dashboard-runtime/dashboard/src/lib/extension-filter.ts +62 -0
  363. package/dist/dashboard-runtime/dashboard/src/lib/glob-filter.ts +76 -0
  364. package/dist/dashboard-runtime/dashboard/src/lib/oss-selection.ts +58 -0
  365. package/dist/dashboard-runtime/dashboard/src/lib/server/oss-client.ts +65 -0
  366. package/dist/dashboard-runtime/dashboard/src/schemas/knowledge-base.ts +3 -3
  367. package/dist/dashboard-runtime/dashboard/src/schemas/llm-chat.ts +1 -1
  368. package/dist/dashboard-runtime/dashboard/src/schemas/retrieval.ts +4 -1
  369. package/dist/dashboard-runtime/dashboard/src/services/api-client.ts +11 -6
  370. package/dist/dashboard-runtime/dashboard/src/services/documents.ts +27 -8
  371. package/dist/dashboard-runtime/dashboard/src/services/oss.ts +36 -0
  372. package/dist/dashboard-runtime/dashboard/src/types/knowledge-base.ts +1 -1
  373. package/dist/dashboard-runtime/dashboard/tailwind.config.ts +47 -12
  374. package/dist/dashboard-runtime/dashboard/vitest.config.mjs +6 -0
  375. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  376. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  377. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts +1 -1
  378. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
  379. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  380. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  381. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts +1 -1
  382. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
  383. package/package.json +1 -1
  384. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0lvo_@radix-ui_react-popper_dist_index_mjs_13rqw99._.js +0 -3
  385. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0-kiaf5._.js +0 -3
  386. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0_r24-c._.js +0 -3
  387. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__11yei-s._.js +0 -3
  388. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0303qx7._.js +0 -3
  389. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_06l.12l._.js +0 -3
  390. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_09eom0_._.js +0 -3
  391. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0cd.__9._.js +0 -7
  392. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0dqi8bq._.js +0 -3
  393. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0e9y.xc._.js +0 -3
  394. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f9u8i2._.js +0 -3
  395. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fbjpet._.js +0 -3
  396. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0i8py_a._.js +0 -3
  397. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jlt.cx._.js +0 -3
  398. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0n5uozy._.js +0 -3
  399. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0o32d.y._.js +0 -3
  400. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0suxzcc._.js +0 -3
  401. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tyxwr3._.js +0 -3
  402. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0u9md36._.js +0 -3
  403. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0v4jb2q._.js +0 -3
  404. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0vzw0pw._.js +0 -3
  405. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0z0rlpq._.js +0 -3
  406. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0zn.ayc._.js +0 -3
  407. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13l7w34._.js +0 -3
  408. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0o4a.29._.js +0 -3
  409. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0suis9l._.js +0 -9
  410. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_10mc58z._.js +0 -3
  411. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_knowledge-base_[name]_layout-client_tsx_05momc5._.js +0 -3
  412. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_retrieval_02c2uck._.js +0 -3
  413. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0aw_rgu._.js +0 -3
  414. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0qdd37m._.js +0 -3
  415. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_11mc1z9._.js +0 -3
  416. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-etecbti5x22.js +0 -1
  417. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-xqk6wfme5fu.js +0 -1
  418. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0.yj.t1hbwkg4.js +0 -1
  419. package/dist/dashboard-runtime/dashboard/.next/static/chunks/031-scv-8sah9.js +0 -1
  420. package/dist/dashboard-runtime/dashboard/.next/static/chunks/034uozc1ki09_.js +0 -1
  421. package/dist/dashboard-runtime/dashboard/.next/static/chunks/05hmbxh7h5ct-.js +0 -1
  422. package/dist/dashboard-runtime/dashboard/.next/static/chunks/05ow1qzcjz3pz.js +0 -1
  423. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07iqor2nl~iqc.js +0 -1
  424. package/dist/dashboard-runtime/dashboard/.next/static/chunks/087x52iesmpfe.js +0 -1
  425. package/dist/dashboard-runtime/dashboard/.next/static/chunks/08an3157he_ad.js +0 -1
  426. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0aak.679si-3m.js +0 -1
  427. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ai8f~-9ig.gz.js +0 -138
  428. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0c5tcbhzpwen7.js +0 -1
  429. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0dheju1t18upn.js +0 -1
  430. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ffr1_o~ss8r8.js +0 -1
  431. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0h38qfpz-dmiu.js +0 -1
  432. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0hkir82jccgck.js +0 -1
  433. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0l1fmyhvp-k49.js +0 -1
  434. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pcp6pjjz7o49.js +0 -1
  435. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pdq-gljpy7gd.js +0 -1
  436. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0q6-s11w9.sgo.js +0 -1
  437. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rnm58mg0whfk.js +0 -1
  438. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rxp5ykl1_lyb.js +0 -4
  439. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0sg6z8.ci0l2b.js +0 -1
  440. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v_~favugkv_a.js +0 -1
  441. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x3ysmon_~xsv.js +0 -1
  442. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x7sjde5wit~i.js +0 -1
  443. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0yzz97.2e6if6.js +0 -138
  444. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0zbi5n76awxz1.js +0 -1
  445. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~alekqkiwwaq.js +0 -1
  446. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~e2n9bhosscr.js +0 -1
  447. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~i4llb9-utpp.css +0 -1
  448. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~n-y9cstar6b.js +0 -5
  449. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14z_j1qzycpe1.js +0 -1
  450. package/dist/dashboard-runtime/dashboard/.next/static/chunks/17k4h5zgalxqj.js +0 -1
  451. package/dist/dashboard-runtime/dashboard/.next/static/chunks/17m1wc_o0.5iz.js +0 -1
  452. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-header.tsx +0 -91
  453. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-tab-nav.tsx +0 -62
  454. package/dist/dashboard-runtime/dashboard/src/components/layout/breadcrumb-bar.tsx +0 -115
  455. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-header.tsx +0 -46
  456. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-tab-nav.tsx +0 -54
  457. /package/dist/dashboard-runtime/dashboard/.next/static/{nPPow7lCVx1fYDGH2XCxQ → doYIl-pd6Sqax3bfUgN3q}/_buildManifest.js +0 -0
  458. /package/dist/dashboard-runtime/dashboard/.next/static/{nPPow7lCVx1fYDGH2XCxQ → doYIl-pd6Sqax3bfUgN3q}/_clientMiddlewareManifest.js +0 -0
  459. /package/dist/dashboard-runtime/dashboard/.next/static/{nPPow7lCVx1fYDGH2XCxQ → doYIl-pd6Sqax3bfUgN3q}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[10215,a=>{"use strict";var b=a.i(34020);a.s(["EmptyState",0,function({icon:a,title:c,description:d,action:e,illustration:f}){return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 px-4 text-center",children:[f??(0,b.jsx)("div",{className:"mb-5 flex h-20 w-20 items-center justify-center rounded-full bg-[hsl(var(--primary)/0.08)] ring-8 ring-[hsl(var(--primary)/0.04)]",children:(0,b.jsx)(a,{className:"text-primary",size:36,strokeWidth:1.75})}),(0,b.jsx)("h3",{className:"mb-2 text-base font-semibold text-foreground",children:c}),(0,b.jsx)("p",{className:"mb-6 max-w-sm text-sm text-muted-foreground",children:d}),e&&(0,b.jsx)("div",{children:e})]})}])},73524,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(64565);let e=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] text-[hsl(var(--card-foreground))] shadow-sm",a),...c}));e.displayName="Card",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex flex-col space-y-1 px-5 pt-5 pb-3 border-b border-[hsl(var(--border-light))]",a),...c})).displayName="CardHeader",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("text-base font-semibold leading-tight",a),...c})).displayName="CardTitle",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("text-sm text-[hsl(var(--muted-foreground))]",a),...c})).displayName="CardDescription";let f=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("px-5 py-4",a),...c}));f.displayName="CardContent",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex items-center px-5 py-3 border-t border-[hsl(var(--border-light))]",a),...c})).displayName="CardFooter";let g=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] text-[hsl(var(--card-foreground))] shadow-sm","transition-[transform,box-shadow,border-color] duration-200 ease-[cubic-bezier(0.34,1.56,0.64,1)]","hover:border-[hsl(var(--primary))] hover:shadow-primary-soft",a),...c}));g.displayName="CardInteractive",a.s(["Card",0,e,"CardContent",0,f,"CardInteractive",0,g])},16772,a=>{"use strict";let b=(0,a.i(50053).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,b],16772)},99016,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(71562),e=a.i(71071),f=a.i(53520);let g=(0,a.i(50053).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);var h=a.i(16772),i=a.i(9380),j=a.i(63265),k=a.i(76192),l=a.i(72518),m=a.i(92942),n=a.i(84252),o=a.i(34841),p=a.i(18236),q=a.i(93078),r=a.i(15325);function s(a,b,c){let d=(0,q.assembleRetrievalConfiguration)(b,void 0)??{};c&&(d.filter=c);let e={knowledgeBaseName:a,retrievalQuery:{type:"TEXT",text:b.query??""}};return b.subspace?.length&&(e.subspace=b.subspace),Object.keys(d).length>0&&(e.retrievalConfiguration=d),e}function t(a,b){let c=b?.retrievalConfiguration?.searchType??["DENSE_VECTOR"],d=b?.retrievalConfiguration?.rerankingConfiguration,e=b?.retrievalConfiguration?.denseVectorSearchConfiguration,f=b?.retrievalConfiguration?.fullTextSearchConfiguration,g=d?.rrfConfiguration,h=d?.weightConfiguration,i=d?.modelConfiguration,j=c.includes("DENSE_VECTOR")&&c.includes("FULL_TEXT"),k=d?.type==="RRF"||d?.type==="WEIGHT"?j?d.type:"MODEL":d?.type==="MODEL"?"MODEL":"WEIGHT",l=e?.numberOfResults??d?.numberOfResults??20,m=f?.numberOfResults??d?.numberOfResults??20,n=d?.numberOfResults??20;return{knowledgeBaseName:a,query:"",subspace:[],topK:n,denseTopK:l,fullTextTopK:m,rerankTopK:n,searchType:c,rerankType:k,rrfK:g?.k??60,rrfDenseWeight:g?.denseVectorSearchWeight??.5,rrfFullTextWeight:g?.fullTextSearchWeight??.5,weightDense:h?.denseVectorSearchWeight??.5,weightFullText:h?.fullTextSearchWeight??.5,modelProvider:i?.provider??"bailian",modelName:i?.model??"gte-rerank-v2"}}function u({buildRequestJson:a}){let[d,e]=(0,c.useState)(!1),[i,l]=(0,c.useState)(!1),m=d?JSON.stringify(a(),null,2):"",p=async()=>{try{await navigator.clipboard.writeText(m),l(!0),j.toast.success("已复制请求体"),setTimeout(()=>l(!1),1500)}catch{j.toast.error("复制失败,请手动选择")}};return(0,b.jsxs)(n.Popover,{open:d,onOpenChange:e,children:[(0,b.jsx)(o.TooltipProvider,{delayDuration:200,children:(0,b.jsxs)(o.Tooltip,{children:[(0,b.jsx)(o.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(n.PopoverTrigger,{asChild:!0,children:(0,b.jsx)(k.Button,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7 text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))]","aria-label":"查看请求体",children:(0,b.jsx)(g,{className:"h-3.5 w-3.5"})})})}),(0,b.jsx)(o.TooltipContent,{side:"left",children:"查看 / 复制请求体 JSON"})]})}),(0,b.jsxs)(n.PopoverContent,{align:"end",sideOffset:6,className:"w-[420px] max-w-[90vw] p-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-[hsl(var(--border-light))] px-3 py-2",children:[(0,b.jsx)("span",{className:"text-xs font-semibold text-[hsl(var(--foreground))]",children:"请求体(实时预览)"}),(0,b.jsx)(k.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 gap-1 px-2 text-xs",onClick:p,children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Check,{className:"h-3 w-3"})," 已复制"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.Copy,{className:"h-3 w-3"})," 复制"]})})]}),(0,b.jsx)("pre",{className:"max-h-80 overflow-auto px-3 py-2 font-mono text-[11px] leading-snug text-[hsl(var(--foreground))]",children:m})]})]})}a.s(["RetrievalForm",0,function({knowledgeBaseName:a,knowledgeBase:f,onSubmit:g,isLoading:h}){let j=(0,c.useRef)(null),n=(0,d.useForm)({resolver:(0,e.zodResolver)(r.retrievalSchema),defaultValues:t(a,f)});return(0,b.jsx)(m.Form,{...n,children:(0,b.jsxs)("form",{onSubmit:n.handleSubmit(function(b){g(s(a,b,j.current?.getFilter()))}),className:"space-y-5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("h3",{className:"text-base font-semibold",children:"检索测试"}),(0,b.jsx)(u,{buildRequestJson:()=>s(a,n.getValues(),j.current?.getFilter())})]}),(0,b.jsx)(m.FormField,{control:n.control,name:"query",render:({field:a})=>(0,b.jsxs)(m.FormItem,{children:[(0,b.jsx)(m.FormLabel,{children:"查询内容"}),(0,b.jsx)(m.FormControl,{children:(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(i.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-[hsl(var(--muted-foreground))]"}),(0,b.jsx)(l.Input,{placeholder:"输入检索查询...",className:"pl-9",maxLength:128,...a})]})}),(0,b.jsx)(m.FormMessage,{})]})}),(0,b.jsx)(p.RetrievalParamsFields,{form:n,knowledgeBase:f,filterRef:j}),(0,b.jsxs)(k.Button,{type:"submit",disabled:h,className:"w-full",children:[(0,b.jsx)(i.Search,{className:"mr-2 h-4 w-4"}),h?"检索中...":"执行检索"]})]})})},"assembleRetrievalRequest",0,s,"retrievalDefaultsFromKB",0,t],99016)},25535,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(80470),e=a.i(63265),f=a.i(4395),g=a.i(99443),h=a.i(33280),i=a.i(33596),j=a.i(53141);async function k(a){let{knowledgeBaseName:b,...c}=a;return(0,j.apiPost)(`/api/v1/knowledge-bases/${encodeURIComponent(b)}/retrieve`,c)}var l=a.i(99016);let m=(0,a.i(50053).default)("file-search",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]]);var n=a.i(10215),o=a.i(73524),p=a.i(21989);function q({result:a,rank:c}){let d=a.ossKey?.split("/").pop()||a.ossKey||"未知文件";return(0,b.jsx)(o.Card,{className:"transition-shadow hover:shadow-sm",children:(0,b.jsxs)(o.CardContent,{className:"p-4 space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"flex h-6 w-6 items-center justify-center rounded-full bg-[hsl(var(--primary-50))] text-xs font-semibold text-primary",children:c}),(0,b.jsx)(p.Badge,{variant:"outline",className:"font-mono text-xs",children:a.score.toFixed(4)})]}),a.subspace&&(0,b.jsx)(p.Badge,{variant:"secondary",className:"text-xs",children:a.subspace})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-medium text-foreground",children:d}),(0,b.jsxs)("span",{children:["Chunk #",a.chunkId]})]}),(0,b.jsx)("p",{className:"text-sm leading-relaxed text-foreground/90 whitespace-pre-wrap line-clamp-6",children:a.content}),a.metadata&&Object.keys(a.metadata).length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 pt-1",children:Object.entries(a.metadata).map(([a,c])=>(0,b.jsxs)(p.Badge,{variant:"secondary",className:"text-xs font-normal",children:[a,": ",String(c)]},a))})]})})}function r({results:a,elapsedMs:c}){return null===a?null:0===a.length?(0,b.jsx)(n.EmptyState,{icon:m,title:"没有检索到结果",description:"尝试调整查询内容或检索参数"}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsxs)("span",{children:["共 ",(0,b.jsx)("strong",{className:"text-foreground",children:a.length})," 条结果"]}),void 0!==c&&(0,b.jsxs)("span",{children:["· 耗时 ",c,"ms"]})]}),(0,b.jsx)("div",{className:"space-y-3",children:a.map((a,c)=>(0,b.jsx)(q,{result:a,rank:c+1},`${a.docId}-${a.chunkId}`))})]})}a.s(["default",0,function(){let a=decodeURIComponent((0,d.useParams)().name),{data:j,isLoading:m}=(0,h.useKnowledgeBase)(a),n=(0,i.useMutation)({mutationFn:a=>k(a)}),[o,p]=(0,c.useState)(null),[q,s]=(0,c.useState)(),t=(0,c.useCallback)(async a=>{let b=Date.now();try{let c=await n.mutateAsync(a);p(c.retrievalResults),s(Date.now()-b)}catch(b){let a=b instanceof Error?b.message:"检索失败";e.toast.error(a)}},[n]);return m?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(f.Skeleton,{className:"h-8 w-48"}),(0,b.jsx)(f.Skeleton,{className:"h-64 w-full"})]}):(0,b.jsx)(g.WorkbenchLayout,{asideWidth:400,aside:(0,b.jsx)(l.RetrievalForm,{knowledgeBaseName:a,knowledgeBase:j??void 0,onSubmit:t,isLoading:n.isPending}),children:(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-7 py-5 max-md:px-4",children:(0,b.jsx)(r,{results:o,elapsedMs:q})})})}],25535)}];
2
+
3
+ //# sourceMappingURL=_12~3vfk._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[623,a=>{"use strict";let b=(0,a.i(50053).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],623)},36965,23331,69622,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(84694),e=a.i(58036),f=a.i(56620),g=a.i(59653),h=a.i(83370),i="Toggle",j=c.forwardRef((a,c)=>{let{pressed:d,defaultPressed:f,onPressedChange:j,...k}=a,[l,m]=(0,h.useControllableState)({prop:d,onChange:j,defaultProp:f??!1,caller:i});return(0,b.jsx)(e.Primitive.button,{type:"button","aria-pressed":l,"data-state":l?"on":"off","data-disabled":a.disabled?"":void 0,...k,ref:c,onClick:(0,g.composeEventHandlers)(a.onClick,()=>{a.disabled||m(!l)})})});j.displayName=i;var k=a.i(74974),l="ToggleGroup",[m,n]=(0,d.createContextScope)(l,[f.createRovingFocusGroupScope]),o=(0,f.createRovingFocusGroupScope)(),p=c.default.forwardRef((a,c)=>{let{type:d,...e}=a;if("single"===d)return(0,b.jsx)(s,{...e,ref:c});if("multiple"===d)return(0,b.jsx)(t,{...e,ref:c});throw Error(`Missing prop \`type\` expected on \`${l}\``)});p.displayName=l;var[q,r]=m(l),s=c.default.forwardRef((a,d)=>{let{value:e,defaultValue:f,onValueChange:g=()=>{},...i}=a,[j,k]=(0,h.useControllableState)({prop:e,defaultProp:f??"",onChange:g,caller:l});return(0,b.jsx)(q,{scope:a.__scopeToggleGroup,type:"single",value:c.default.useMemo(()=>j?[j]:[],[j]),onItemActivate:k,onItemDeactivate:c.default.useCallback(()=>k(""),[k]),children:(0,b.jsx)(w,{...i,ref:d})})}),t=c.default.forwardRef((a,d)=>{let{value:e,defaultValue:f,onValueChange:g=()=>{},...i}=a,[j,k]=(0,h.useControllableState)({prop:e,defaultProp:f??[],onChange:g,caller:l}),m=c.default.useCallback(a=>k((b=[])=>[...b,a]),[k]),n=c.default.useCallback(a=>k((b=[])=>b.filter(b=>b!==a)),[k]);return(0,b.jsx)(q,{scope:a.__scopeToggleGroup,type:"multiple",value:j,onItemActivate:m,onItemDeactivate:n,children:(0,b.jsx)(w,{...i,ref:d})})});p.displayName=l;var[u,v]=m(l),w=c.default.forwardRef((a,c)=>{let{__scopeToggleGroup:d,disabled:g=!1,rovingFocus:h=!0,orientation:i,dir:j,loop:l=!0,...m}=a,n=o(d),p=(0,k.useDirection)(j),q={role:"group",dir:p,...m};return(0,b.jsx)(u,{scope:d,rovingFocus:h,disabled:g,children:h?(0,b.jsx)(f.Root,{asChild:!0,...n,orientation:i,dir:p,loop:l,children:(0,b.jsx)(e.Primitive.div,{...q,ref:c})}):(0,b.jsx)(e.Primitive.div,{...q,ref:c})})}),x="ToggleGroupItem",y=c.default.forwardRef((a,d)=>{let e=r(x,a.__scopeToggleGroup),g=v(x,a.__scopeToggleGroup),h=o(a.__scopeToggleGroup),i=e.value.includes(a.value),j=g.disabled||a.disabled,k={...a,pressed:i,disabled:j},l=c.default.useRef(null);return g.rovingFocus?(0,b.jsx)(f.Item,{asChild:!0,...h,focusable:!j,active:i,ref:l,children:(0,b.jsx)(z,{...k,ref:d})}):(0,b.jsx)(z,{...k,ref:d})});y.displayName=x;var z=c.default.forwardRef((a,c)=>{let{__scopeToggleGroup:d,value:e,...f}=a,g=r(x,d),h={role:"radio","aria-checked":a.pressed,"aria-pressed":void 0},i="single"===g.type?h:void 0;return(0,b.jsx)(j,{...i,...f,ref:c,onPressedChange:a=>{a?g.onItemActivate(e):g.onItemDeactivate(e)}})}),A=a.i(64565);let B=c.createContext({size:"default",variant:"default"}),C=c.forwardRef(({className:a,variant:c="default",size:d="default",children:e,...f},g)=>(0,b.jsx)(p,{ref:g,className:(0,A.cn)("inline-flex items-center justify-center gap-1",a),...f,children:(0,b.jsx)(B.Provider,{value:{variant:c,size:d},children:e})}));C.displayName=p.displayName;let D=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsx)(y,{ref:e,className:(0,A.cn)("relative inline-flex items-center justify-center whitespace-nowrap","text-sm font-medium transition-all","first:rounded-l-[7px] last:rounded-r-[7px]","border-l border-[hsl(var(--border)/0.6)]","first:border-l-0","data-[state=on]:border-l-transparent","[&[data-state=on]+*]:border-l-transparent","ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50","hover:bg-[hsl(var(--muted)/0.6)] hover:text-[hsl(var(--foreground))]","data-[state=on]:bg-[hsl(var(--background))] data-[state=on]:text-[hsl(var(--foreground))] data-[state=on]:shadow-sm",a),...d,children:c}));D.displayName=y.displayName,a.s(["ToggleGroup",0,C,"ToggleGroupItem",0,D],36965);var E=a.i(14151);a.s(["TagInput",0,function({value:a,onChange:d,placeholder:e="输入后按回车添加"}){let[f,g]=(0,c.useState)(""),h=(0,c.useCallback)(b=>{let c=b.trim();c&&!a.includes(c)&&d([...a,c]),g("")},[a,d]),i=(0,c.useCallback)(b=>{d(a.filter((a,c)=>c!==b))},[a,d]);return(0,b.jsxs)("div",{className:(0,A.cn)("flex flex-wrap items-center gap-1.5 rounded-md border border-[hsl(var(--input))] bg-background px-3 py-2","focus-within:border-[hsl(var(--ring))] focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-0","min-h-10 transition-colors"),children:[a.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-primary-200 bg-primary-100 px-2 py-0.5 text-xs font-medium text-primary-700",children:[a,(0,b.jsx)("button",{type:"button",onClick:()=>i(c),className:"inline-flex items-center justify-center rounded-full p-0.5 hover:opacity-70 transition-opacity","aria-label":`删除标签 ${a}`,children:(0,b.jsx)(E.X,{size:12})})]},`${a}-${c}`)),(0,b.jsx)("input",{type:"text",value:f,onChange:a=>g(a.target.value),onKeyDown:b=>{("Enter"===b.key||","===b.key)&&(b.preventDefault(),h(f)),"Backspace"===b.key&&""===f&&a.length>0&&i(a.length-1)},placeholder:0===a.length?e:"",className:"flex-1 min-w-20 bg-transparent text-sm outline-none placeholder:text-muted-foreground"})]})}],23331);let F=(0,a.i(50053).default)("list-ordered",[["path",{d:"M11 5h10",key:"1cz7ny"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 19h10",key:"11t30w"}],["path",{d:"M4 4h1v5",key:"10yrso"}],["path",{d:"M4 9h2",key:"r1h2o0"}],["path",{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",key:"xtkcd5"}]]);var G=a.i(92942),H=a.i(72518);a.s(["RetrievalResultCountField",0,function({control:a,name:c,label:d="返回片段数",description:e="单次检索返回的最多片段数,Rerank 后取前 N 条。",min:f=0,max:g,muted:h=!1,className:i}){return(0,b.jsx)(G.FormField,{control:a,name:c,render:({field:a})=>{let c="number"==typeof a.value&&Number.isFinite(a.value)?String(a.value):"";return(0,b.jsxs)(G.FormItem,{className:(0,A.cn)("mb-0 rounded-md border border-[hsl(var(--border)/0.6)] bg-[hsl(var(--card)/0.72)] p-3 shadow-[0_1px_2px_hsl(var(--foreground)/0.04)]",h&&"opacity-65",i),children:[(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-[minmax(0,1fr)_auto] sm:items-center",children:[(0,b.jsxs)("div",{className:"flex min-w-0 gap-3",children:[(0,b.jsx)("span",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-[hsl(var(--primary)/0.08)] text-[hsl(var(--primary))]",children:(0,b.jsx)(F,{className:"h-3.5 w-3.5"})}),(0,b.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,b.jsx)(G.FormLabel,{className:"text-sm font-medium",children:d}),(0,b.jsx)("p",{className:"text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:e})]})]}),(0,b.jsxs)("div",{className:"relative w-28 shrink-0",children:[(0,b.jsx)(G.FormControl,{children:(0,b.jsx)(H.Input,{ref:a.ref,name:a.name,type:"number",inputMode:"numeric",min:f,max:g,"aria-label":d,className:"h-9 w-full bg-[hsl(var(--background))] pr-8 text-right font-mono text-sm tabular-nums shadow-sm [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none",value:c,onBlur:a.onBlur,onChange:b=>a.onChange(function(a){let b=a.trim();if(!b)return;let c=Number(b);return Number.isFinite(c)?c:void 0}(b.target.value))})}),(0,b.jsx)("span",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-xs text-[hsl(var(--muted-foreground))]",children:"条"})]})]}),(0,b.jsx)(G.FormMessage,{className:"pt-1"})]})}})}],69622)},27692,a=>{"use strict";var b=a.i(71938),c=a.i(59653),d=a.i(84694),e=a.i(83370),f=a.i(39166),g=a.i(68189),h=a.i(58036),i=a.i(98392),j=a.i(59231),k=a.i(34020),l="Collapsible",[m,n]=(0,d.createContextScope)(l),[o,p]=m(l),q=b.forwardRef((a,c)=>{let{__scopeCollapsible:d,open:f,defaultOpen:g,disabled:i,onOpenChange:m,...n}=a,[p,q]=(0,e.useControllableState)({prop:f,defaultProp:g??!1,onChange:m,caller:l});return(0,k.jsx)(o,{scope:d,disabled:i,contentId:(0,j.useId)(),open:p,onOpenToggle:b.useCallback(()=>q(a=>!a),[q]),children:(0,k.jsx)(h.Primitive.div,{"data-state":w(p),"data-disabled":i?"":void 0,...n,ref:c})})});q.displayName=l;var r="CollapsibleTrigger",s=b.forwardRef((a,b)=>{let{__scopeCollapsible:d,...e}=a,f=p(r,d);return(0,k.jsx)(h.Primitive.button,{type:"button","aria-controls":f.contentId,"aria-expanded":f.open||!1,"data-state":w(f.open),"data-disabled":f.disabled?"":void 0,disabled:f.disabled,...e,ref:b,onClick:(0,c.composeEventHandlers)(a.onClick,f.onOpenToggle)})});s.displayName=r;var t="CollapsibleContent",u=b.forwardRef((a,b)=>{let{forceMount:c,...d}=a,e=p(t,a.__scopeCollapsible);return(0,k.jsx)(i.Presence,{present:c||e.open,children:({present:a})=>(0,k.jsx)(v,{...d,ref:b,present:a})})});u.displayName=t;var v=b.forwardRef((a,c)=>{let{__scopeCollapsible:d,present:e,children:i,...j}=a,l=p(t,d),[m,n]=b.useState(e),o=b.useRef(null),q=(0,g.useComposedRefs)(c,o),r=b.useRef(0),s=r.current,u=b.useRef(0),v=u.current,x=l.open||m,y=b.useRef(x),z=b.useRef(void 0);return b.useEffect(()=>{let a=requestAnimationFrame(()=>y.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,f.useLayoutEffect)(()=>{let a=o.current;if(a){z.current=z.current||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";let b=a.getBoundingClientRect();r.current=b.height,u.current=b.width,y.current||(a.style.transitionDuration=z.current.transitionDuration,a.style.animationName=z.current.animationName),n(e)}},[l.open,e]),(0,k.jsx)(h.Primitive.div,{"data-state":w(l.open),"data-disabled":l.disabled?"":void 0,id:l.contentId,hidden:!x,...j,ref:q,style:{"--radix-collapsible-content-height":s?`${s}px`:void 0,"--radix-collapsible-content-width":v?`${v}px`:void 0,...a.style},children:x&&i})});function w(a){return a?"open":"closed"}a.s(["Collapsible",0,q,"CollapsibleContent",0,u,"CollapsibleTrigger",0,s],27692)}];
2
+
3
+ //# sourceMappingURL=_13_lb.o._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[10215,a=>{"use strict";var b=a.i(34020);a.s(["EmptyState",0,function({icon:a,title:c,description:d,action:e,illustration:f}){return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 px-4 text-center",children:[f??(0,b.jsx)("div",{className:"mb-5 flex h-20 w-20 items-center justify-center rounded-full bg-[hsl(var(--primary)/0.08)] ring-8 ring-[hsl(var(--primary)/0.04)]",children:(0,b.jsx)(a,{className:"text-primary",size:36,strokeWidth:1.75})}),(0,b.jsx)("h3",{className:"mb-2 text-base font-semibold text-foreground",children:c}),(0,b.jsx)("p",{className:"mb-6 max-w-sm text-sm text-muted-foreground",children:d}),e&&(0,b.jsx)("div",{children:e})]})}])},21989,a=>{"use strict";var b=a.i(34020),c=a.i(42261),d=a.i(64565);let e=(0,c.cva)("inline-flex items-center rounded border px-2 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-[hsl(var(--primary)/0.3)] focus:ring-offset-1",{variants:{variant:{default:"border-transparent bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] hover:opacity-90",secondary:"border-transparent bg-[hsl(var(--secondary))] text-[hsl(var(--secondary-foreground))] hover:opacity-80",destructive:"border-transparent bg-[hsl(var(--destructive))] text-[hsl(var(--destructive-foreground))] hover:opacity-90",outline:"border-[hsl(var(--border))] text-[hsl(var(--foreground))] bg-[hsl(var(--card))]",primary:"border-transparent bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]",success:"border-transparent bg-[hsl(var(--success-soft))] text-[hsl(var(--success))]",warning:"border-transparent bg-[hsl(var(--warning-soft))] text-[hsl(var(--warning))]",danger:"border-transparent bg-[hsl(var(--danger-soft))] text-[hsl(var(--danger))]",purple:"border-transparent bg-[hsl(var(--purple-soft))] text-[hsl(var(--purple))]"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:c,...f}){return(0,b.jsx)("div",{className:(0,d.cn)(e({variant:c}),a),...f})}])},36890,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(68189),e=a.i(84694),f=a.i(59653),g=a.i(83370),h=a.i(20251),i=a.i(66394),j=a.i(98392),k=a.i(58036),l="Checkbox",[m,n]=(0,e.createContextScope)(l),[o,p]=m(l);function q(a){let{__scopeCheckbox:d,checked:e,children:f,defaultChecked:h,disabled:i,form:j,name:k,onCheckedChange:m,required:n,value:p="on",internal_do_not_use_render:q}=a,[r,s]=(0,g.useControllableState)({prop:e,defaultProp:h??!1,onChange:m,caller:l}),[t,u]=c.useState(null),[v,w]=c.useState(null),x=c.useRef(!1),z=!t||!!j||!!t.closest("form"),A={checked:r,disabled:i,setChecked:s,control:t,setControl:u,name:k,form:j,value:p,hasConsumerStoppedPropagationRef:x,required:n,defaultChecked:!y(h)&&h,isFormControl:z,bubbleInput:v,setBubbleInput:w};return(0,b.jsx)(o,{scope:d,...A,children:"function"==typeof q?q(A):f})}var r="CheckboxTrigger",s=c.forwardRef(({__scopeCheckbox:a,onKeyDown:e,onClick:g,...h},i)=>{let{control:j,value:l,disabled:m,checked:n,required:o,setControl:q,setChecked:s,hasConsumerStoppedPropagationRef:t,isFormControl:u,bubbleInput:v}=p(r,a),w=(0,d.useComposedRefs)(i,q),x=c.useRef(n);return c.useEffect(()=>{let a=j?.form;if(a){let b=()=>s(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[j,s]),(0,b.jsx)(k.Primitive.button,{type:"button",role:"checkbox","aria-checked":y(n)?"mixed":n,"aria-required":o,"data-state":z(n),"data-disabled":m?"":void 0,disabled:m,value:l,...h,ref:w,onKeyDown:(0,f.composeEventHandlers)(e,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,f.composeEventHandlers)(g,a=>{s(a=>!!y(a)||!a),v&&u&&(t.current=a.isPropagationStopped(),t.current||a.stopPropagation())})})});s.displayName=r;var t=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,name:e,checked:f,defaultChecked:g,required:h,disabled:i,value:j,onCheckedChange:k,form:l,...m}=a;return(0,b.jsx)(q,{__scopeCheckbox:d,checked:f,defaultChecked:g,disabled:i,required:h,onCheckedChange:k,name:e,form:l,value:j,internal_do_not_use_render:({isFormControl:a})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{...m,ref:c,__scopeCheckbox:d}),a&&(0,b.jsx)(x,{__scopeCheckbox:d})]})})});t.displayName=l;var u="CheckboxIndicator",v=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,forceMount:e,...f}=a,g=p(u,d);return(0,b.jsx)(j.Presence,{present:e||y(g.checked)||!0===g.checked,children:(0,b.jsx)(k.Primitive.span,{"data-state":z(g.checked),"data-disabled":g.disabled?"":void 0,...f,ref:c,style:{pointerEvents:"none",...a.style}})})});v.displayName=u;var w="CheckboxBubbleInput",x=c.forwardRef(({__scopeCheckbox:a,...e},f)=>{let{control:g,hasConsumerStoppedPropagationRef:j,checked:l,defaultChecked:m,required:n,disabled:o,name:q,value:r,form:s,bubbleInput:t,setBubbleInput:u}=p(w,a),v=(0,d.useComposedRefs)(f,u),x=(0,h.usePrevious)(l),z=(0,i.useSize)(g);c.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!j.current;if(x!==l&&a){let c=new Event("click",{bubbles:b});t.indeterminate=y(l),a.call(t,!y(l)&&l),t.dispatchEvent(c)}},[t,x,l,j]);let A=c.useRef(!y(l)&&l);return(0,b.jsx)(k.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:m??A.current,required:n,disabled:o,name:q,value:r,form:s,...e,tabIndex:-1,ref:v,style:{...e.style,...z,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function y(a){return"indeterminate"===a}function z(a){return y(a)?"indeterminate":a?"checked":"unchecked"}x.displayName=w;var A=a.i(53520),B=a.i(64565);let C=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(t,{ref:d,className:(0,B.cn)("grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...c,children:(0,b.jsx)(v,{className:(0,B.cn)("grid place-content-center text-current"),children:(0,b.jsx)(A.Check,{className:"h-4 w-4"})})}));C.displayName=t.displayName,a.s(["Checkbox",0,C],36890)},21458,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(80470),e=a.i(63265),f=a.i(33596),g=a.i(21347),h=a.i(8264),i=a.i(76192),j=a.i(36890),k=a.i(72518),l=a.i(62491),m=a.i(70535);function n({scope:a,isLoading:d,onSubmit:e}){let[f,g]=(0,c.useState)(""),[o,p]=(0,c.useState)(10),[q,r]=(0,c.useState)(!0),[s,t]=(0,c.useState)(""),[u,v]=(0,c.useState)(null),w=(0,h.hasSearchableScope)(a);async function x(b){if(b.preventDefault(),v(null),!w)return void v("请先在 Scope 栏中设置 appId 和 tenantId 的具体值");if(!f.trim())return void v("请输入搜索 query");if(o<0||o>50)return void v("topK 必须在 0 到 50 之间");try{await e({query:f.trim(),scope:a,topK:o,enableRerank:q,metadata:(0,h.parseJsonObject)(s)})}catch(a){v(a instanceof Error?a.message:"搜索失败")}}return(0,b.jsxs)("form",{onSubmit:x,className:"space-y-4 rounded-lg border p-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:"记忆检索"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"新增记忆后,搜索结果可能有短暂延迟。若未立即命中,请稍后重试或刷新。"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{children:"Query"}),(0,b.jsx)(m.Textarea,{value:f,onChange:a=>g(a.target.value),placeholder:"用户喜欢吃什么?",rows:4})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{children:"Top K"}),(0,b.jsx)(k.Input,{type:"number",min:1,max:50,value:o,onChange:a=>p(Number(a.target.value))})]}),(0,b.jsx)("div",{className:"flex items-end pb-1",children:(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(j.Checkbox,{checked:q,onCheckedChange:a=>r(!0===a)}),"启用 Rerank"]})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{children:"Metadata Filter JSON"}),(0,b.jsx)(m.Textarea,{value:s,onChange:a=>t(a.target.value),placeholder:'{"source":"dashboard"}',rows:4})]}),u&&(0,b.jsx)("p",{className:"text-sm text-[hsl(var(--destructive))]",children:u}),(0,b.jsx)(i.Button,{type:"submit",disabled:d||!w,children:d?"搜索中...":"搜索"}),!w&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"请先在 Scope 栏中设置 appId 和 tenantId 的具体值。"})]})}var o=a.i(47845),p=a.i(21989),q=a.i(73524),r=a.i(10215);function s({results:a,elapsedMs:c}){return a?a.length?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("h3",{className:"text-lg font-semibold",children:["搜索结果 (",a.length,")"]}),void 0!==c&&(0,b.jsxs)("span",{className:"text-sm text-muted-foreground",children:[c," ms"]})]}),(0,b.jsx)("div",{className:"space-y-3",children:a.map((a,c)=>(0,b.jsx)(q.Card,{children:(0,b.jsxs)(q.CardContent,{className:"space-y-3 p-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[void 0!==a.score&&(0,b.jsxs)(p.Badge,{variant:"secondary",children:["score ",a.score.toFixed(4)]}),a.source&&(0,b.jsx)(p.Badge,{variant:"outline",children:a.source}),a.unit.unit_type&&(0,b.jsx)(p.Badge,{variant:"outline",children:a.unit.unit_type})]}),(0,b.jsx)("p",{className:"whitespace-pre-wrap text-sm",children:a.unit.text}),(0,b.jsxs)("div",{className:"grid gap-2 text-xs text-muted-foreground sm:grid-cols-2",children:[(0,b.jsxs)("span",{children:["ID: ",a.unit.id??a.unit.memoryId??"-"]}),(0,b.jsxs)("span",{children:["Scope: ",(0,h.formatScope)(a.unit.scope)]}),(0,b.jsxs)("span",{children:["Created: ",function(a){if(!a)return"-";try{let b=new Date(a);if(isNaN(b.getTime()))return String(a);return b.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}catch{return String(a)}}(a.unit.created_at)]}),(0,b.jsxs)("span",{children:["Version: ",a.unit.version??"-"]})]})]})},`${a.unit.id??a.unit.memoryId??c}-${c}`))})]}):(0,b.jsx)(r.EmptyState,{icon:o.Brain,title:"没有搜索结果",description:"如果刚添加了新记忆,可能需要等待索引生效后重试"}):(0,b.jsx)(r.EmptyState,{icon:o.Brain,title:"尚未搜索",description:"填写左侧查询条件后,可以验证当前 scope 下的记忆检索效果"})}var t=a.i(99443);a.s(["default",0,function(){let a=(0,d.useParams)(),i=(0,d.useSearchParams)(),j=decodeURIComponent(a.store),k=(0,c.useMemo)(()=>(0,h.buildMemoryScope)(i),[i.toString()]),l=(0,f.useMutation)({mutationFn:a=>(0,g.searchMemory)(a)}),[m,o]=(0,c.useState)(null),[p,q]=(0,c.useState)();async function r(a){let b=Date.now();try{let c=await l.mutateAsync({memoryStoreName:j,query:a.query,scope:a.scope,topK:a.topK,enableRerank:a.enableRerank,metadata:a.metadata});o(c.results??[]),q(Date.now()-b)}catch(a){e.toast.error(a instanceof Error?a.message:"搜索失败")}}return(0,b.jsx)(t.WorkbenchLayout,{asideWidth:400,aside:(0,b.jsx)(n,{scope:k,isLoading:l.isPending,onSubmit:r}),children:(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-7 py-5 max-md:px-4",children:(0,b.jsx)(s,{results:m,elapsedMs:p})})})}],21458)}];
2
+
3
+ //# sourceMappingURL=dashboard_src_00ofp7q._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[91957,a=>{"use strict";var b=a.i(34020);let c=(0,a.i(50053).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 d=a.i(55295),e=a.i(76192),f=a.i(64565);function g({session:a,active:c,onSelect:h,onDelete:i}){let j=a.config.mounts.length;return(0,b.jsxs)("div",{className:(0,f.cn)("group flex items-center gap-1 rounded-md px-2 py-1.5 text-sm transition-colors",c?"bg-[hsl(var(--accent))] text-foreground":"text-foreground/80 hover:bg-[hsl(var(--accent)/0.6)]"),children:[(0,b.jsxs)("button",{type:"button",onClick:h,className:"flex min-w-0 flex-1 flex-col items-start text-left",children:[(0,b.jsx)("span",{className:"w-full truncate font-medium",children:a.title}),(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{children:function(a){let b=Math.floor((Date.now()-a)/6e4);if(b<1)return"刚刚";if(b<60)return`${b} 分钟前`;let c=Math.floor(b/60);if(c<24)return`${c} 小时前`;let d=Math.floor(c/24);return d<7?`${d} 天前`:new Date(a).toLocaleDateString()}(a.updatedAt)}),j>0?(0,b.jsxs)("span",{children:["· ",j," KB"]}):null]})]}),(0,b.jsx)(e.Button,{type:"button",variant:"ghost",size:"icon",onClick:a=>{a.stopPropagation(),i()},className:"h-6 w-6 opacity-0 group-hover:opacity-100",title:"删除",children:(0,b.jsx)(d.Trash2,{className:"h-3 w-3 text-muted-foreground"})})]})}a.s(["ChatHistorySidebar",0,function({sessions:a,activeSessionId:f,onNewSession:h,onSelectSession:i,onDeleteSession:j,onClearAll:k}){return(0,b.jsxs)("aside",{className:"flex h-full w-64 shrink-0 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--surface))]",children:[(0,b.jsx)("div",{className:"border-b border-[hsl(var(--border))] p-3",children:(0,b.jsxs)(e.Button,{type:"button",onClick:h,className:"w-full justify-start gap-2",variant:"outline",children:[(0,b.jsx)(c,{className:"h-4 w-4"}),"新对话"]})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto",children:0===a.length?(0,b.jsx)("p",{className:"px-3 py-6 text-center text-xs text-muted-foreground",children:"暂无历史对话"}):(0,b.jsx)("ul",{className:"space-y-0.5 p-2",children:a.map(a=>(0,b.jsx)("li",{children:(0,b.jsx)(g,{session:a,active:a.id===f,onSelect:()=>i(a.id),onDelete:()=>j(a.id)})},a.id))})}),a.length>0?(0,b.jsx)("div",{className:"border-t border-[hsl(var(--border))] p-2",children:(0,b.jsxs)(e.Button,{type:"button",variant:"ghost",size:"sm",onClick:k,className:"w-full justify-start gap-2 text-muted-foreground hover:text-[hsl(var(--destructive))]",children:[(0,b.jsx)(d.Trash2,{className:"h-3.5 w-3.5"}),"清空全部"]})}):null]})}],91957)},38285,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(93078);let e={providerId:"",model:"",systemPrompt:"",temperature:void 0,aggregateTopK:20,perKbTopK:20,retrieval:{searchType:["DENSE_VECTOR","FULL_TEXT"],rerankType:"WEIGHT",weightDense:.7,weightFullText:.3},mounts:[]};function f(a,b){switch(b.type){case"SET_PROVIDER":return{...a,providerId:b.providerId,model:b.model};case"SET_MODEL":return{...a,model:b.model};case"SET_SYSTEM_PROMPT":return{...a,systemPrompt:b.value};case"SET_TEMPERATURE":return{...a,temperature:b.value};case"SET_AGGREGATE_TOP_K":return{...a,aggregateTopK:b.value};case"SET_PER_KB_TOP_K":return{...a,perKbTopK:b.value};case"SET_RETRIEVAL":return{...a,retrieval:b.value};case"ADD_MOUNT":if(a.mounts.some(a=>a.knowledgeBaseName===b.mount.knowledgeBaseName))return a;return{...a,mounts:[...a.mounts,b.mount]};case"UPDATE_MOUNT":return{...a,mounts:a.mounts.map(a=>a.id===b.id?{...a,...b.patch}:a)};case"REMOVE_MOUNT":return{...a,mounts:a.mounts.filter(a=>a.id!==b.id)};case"REORDER_MOUNTS":{let c=new Map(a.mounts.map(a=>[a.id,a])),d=b.ids.map(a=>c.get(a)).filter(a=>!!a);return{...a,mounts:d}}case"HYDRATE":return{...a,...b.state};case"RESET":return e;default:return a}}let g=(0,c.createContext)(null);a.s(["ChatConfigProvider",0,function({children:a}){let[d,h]=(0,c.useReducer)(f,e),i=(0,c.useMemo)(()=>({...d,setProvider:(a,b)=>h({type:"SET_PROVIDER",providerId:a,model:b}),setModel:a=>h({type:"SET_MODEL",model:a}),setSystemPrompt:a=>h({type:"SET_SYSTEM_PROMPT",value:a}),setTemperature:a=>h({type:"SET_TEMPERATURE",value:a}),setAggregateTopK:a=>h({type:"SET_AGGREGATE_TOP_K",value:a}),setPerKbTopK:a=>h({type:"SET_PER_KB_TOP_K",value:a}),setRetrieval:a=>h({type:"SET_RETRIEVAL",value:a}),addMount:a=>h({type:"ADD_MOUNT",mount:a}),updateMount:(a,b)=>h({type:"UPDATE_MOUNT",id:a,patch:b}),removeMount:a=>h({type:"REMOVE_MOUNT",id:a}),reorderMounts:a=>h({type:"REORDER_MOUNTS",ids:a}),hydrate:a=>h({type:"HYDRATE",state:a}),reset:()=>h({type:"RESET"}),toSessionConfig:()=>({providerId:d.providerId||void 0,model:d.model||void 0,systemPrompt:d.systemPrompt||void 0,temperature:d.temperature,aggregateTopK:d.aggregateTopK,perKbTopK:d.perKbTopK,retrieval:d.retrieval,mounts:d.mounts})}),[d]);return(0,b.jsx)(g.Provider,{value:i,children:a})},"DEFAULT_AGGREGATE_TOP_K",0,20,"DEFAULT_PER_KB_TOP_K",0,20,"buildRagFromMounts",0,function(a){if(!a.mounts.length)return;let b=(0,d.assembleRetrievalConfiguration)(a.retrieval,a.perKbTopK);return{knowledgeBases:a.mounts.map(c=>({knowledgeBaseName:c.knowledgeBaseName,...c.subspace?.length?{subspace:c.subspace}:{},...b?{retrievalConfiguration:b}:{},topK:a.perKbTopK})),topK:a.aggregateTopK}},"useChatConfig",0,function(){let a=(0,c.useContext)(g);if(!a)throw Error("useChatConfig must be used within a ChatConfigProvider");return a}])},58489,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(53520),e=a.i(88619),f=a.i(14151),g=a.i(64565);let h=e.Root;e.Trigger,e.Close;let i=e.Portal,j=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(e.Overlay,{ref:d,className:(0,g.cn)("fixed inset-0 z-50 bg-black/60 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",a),...c}));j.displayName=e.Overlay.displayName;let k={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"},l=c.forwardRef(({className:a,children:c,side:d="right",...h},l)=>(0,b.jsxs)(i,{children:[(0,b.jsx)(j,{}),(0,b.jsxs)(e.Content,{ref:l,className:(0,g.cn)("fixed z-50 flex flex-col gap-4 bg-[hsl(var(--background))] p-6 shadow-xl","duration-300 ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out",k[d],a),...h,children:[c,(0,b.jsxs)(e.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,b.jsx)(f.X,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));l.displayName=e.Content.displayName;let m=({className:a,...c})=>(0,b.jsx)("div",{className:(0,g.cn)("flex flex-col space-y-1.5 text-left",a),...c});m.displayName="SheetHeader";let n=({className:a,...c})=>(0,b.jsx)("div",{className:(0,g.cn)("mt-auto flex flex-col-reverse gap-2 sm:flex-row sm:justify-end sm:space-x-2",a),...c});n.displayName="SheetFooter";let o=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(e.Title,{ref:d,className:(0,g.cn)("text-lg font-semibold leading-none tracking-tight",a),...c}));o.displayName=e.Title.displayName;let p=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(e.Description,{ref:d,className:(0,g.cn)("text-sm text-muted-foreground",a),...c}));p.displayName=e.Description.displayName;var q=a.i(76192),r=a.i(72518),s=a.i(62491),t=a.i(9367),u=a.i(38285),v=a.i(64363),w=a.i(32191),x=a.i(87951),y=a.i(83643),z=a.i(25825),A=a.i(63525);function B({kbs:a,onAdd:d}){let[e,f]=(0,c.useState)(""),g=a.find(a=>a.knowledgeBaseName===e);return(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(A.Select,{value:e,onValueChange:f,children:[(0,b.jsx)(A.SelectTrigger,{className:"flex-1",children:(0,b.jsx)(A.SelectValue,{placeholder:"选择要挂载的知识库"})}),(0,b.jsx)(A.SelectContent,{children:0===a.length?(0,b.jsx)(A.SelectItem,{value:"__empty",disabled:!0,children:"无可挂载的知识库"}):a.map(a=>(0,b.jsx)(A.SelectItem,{value:a.knowledgeBaseName,children:a.knowledgeBaseName},a.knowledgeBaseName))})]}),(0,b.jsxs)(q.Button,{type:"button",size:"sm",disabled:!g,onClick:()=>{g&&(d(g),f(""))},children:[(0,b.jsx)(z.Plus,{className:"mr-1 h-3.5 w-3.5"}),"添加"]})]})}var C=a.i(55295);function D({mount:a,subspaceEnabled:d}){let e=(0,u.useChatConfig)(),[f,g]=(0,c.useState)((a.subspace??[]).join(", "));return(0,b.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,b.jsx)("span",{className:"flex-1 truncate text-sm font-medium",title:a.knowledgeBaseName,children:a.knowledgeBaseName}),d?(0,b.jsx)(r.Input,{value:f,onChange:a=>g(a.target.value),onBlur:()=>{let b=f.split(",").map(a=>a.trim()).filter(Boolean),c=a.subspace??[];b.length===c.length&&b.every((a,b)=>a===c[b])||e.updateMount(a.id,{subspace:b.length?b:void 0})},onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),a.target.blur())},placeholder:"subspace (逗号分隔)",className:"h-8 w-44 text-xs"}):null,(0,b.jsx)(q.Button,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>e.removeMount(a.id),title:"移除",children:(0,b.jsx)(C.Trash2,{className:"h-3.5 w-3.5 text-muted-foreground"})})]})}var E=a.i(71562),F=a.i(71071),G=a.i(44401),H=a.i(92942),I=a.i(18236),J=a.i(15325);let K=["searchType","rerankType","rrfK","rrfDenseWeight","rrfFullTextWeight","weightDense","weightFullText","modelName","modelProvider"];function L({disabled:a,singleKb:d}){let e=(0,u.useChatConfig)(),f=(0,c.useRef)(null),g=(0,E.useForm)({resolver:(0,F.zodResolver)(J.retrievalSchema),defaultValues:{knowledgeBaseName:d?.knowledgeBaseName??"__unified__",query:"__unified_placeholder__",subspace:[],topK:e.perKbTopK,searchType:e.retrieval.searchType??["DENSE_VECTOR","FULL_TEXT"],rerankType:e.retrieval.rerankType,rrfK:e.retrieval.rrfK,rrfDenseWeight:e.retrieval.rrfDenseWeight,rrfFullTextWeight:e.retrieval.rrfFullTextWeight,weightDense:e.retrieval.weightDense,weightFullText:e.retrieval.weightFullText,modelName:e.retrieval.modelName,modelProvider:e.retrieval.modelProvider}});(0,c.useEffect)(()=>{g.reset({knowledgeBaseName:d?.knowledgeBaseName??"__unified__",query:"__unified_placeholder__",subspace:[],topK:e.perKbTopK,searchType:e.retrieval.searchType??["DENSE_VECTOR","FULL_TEXT"],rerankType:e.retrieval.rerankType,rrfK:e.retrieval.rrfK,rrfDenseWeight:e.retrieval.rrfDenseWeight,rrfFullTextWeight:e.retrieval.rrfFullTextWeight,weightDense:e.retrieval.weightDense,weightFullText:e.retrieval.weightFullText,modelName:e.retrieval.modelName,modelProvider:e.retrieval.modelProvider})},[e.retrieval,e.perKbTopK,d?.knowledgeBaseName]);let h=()=>{let a=g.getValues(),b={};for(let c of K){let d=a[c];void 0===d||Array.isArray(d)&&0===d.length||(b[c]=d)}e.setRetrieval(b),e.setPerKbTopK("number"==typeof a.topK&&a.topK>0?a.topK:u.DEFAULT_PER_KB_TOP_K)},i=g.watch("rerankType");return(0,c.useEffect)(()=>{if("MODEL"!==i)return;let a=!1;g.getValues("modelProvider")||(g.setValue("modelProvider","bailian"),a=!0),g.getValues("modelName")||(g.setValue("modelName","gte-rerank-v2"),a=!0),a&&h()},[i]),(0,b.jsxs)("div",{className:"space-y-3 border-t border-[hsl(var(--border))] pt-4"+(a?" pointer-events-none opacity-50":""),"aria-disabled":a,children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(s.Label,{className:"text-sm font-medium",children:"统一检索参数"}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:"应用到所有挂载 KB 的统一查询配置,保证分数可比;每 KB 单独检索后合并重排"})]}),a?(0,b.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,b.jsx)(G.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,b.jsx)("span",{children:"挂载至少一个知识库后即可配置统一检索参数"})]}):(0,b.jsx)(H.Form,{...g,children:(0,b.jsx)("form",{onSubmit:a=>a.preventDefault(),onBlur:h,className:"space-y-4",children:(0,b.jsx)(I.RetrievalParamsFields,{form:g,knowledgeBase:d,filterRef:f,topKLabel:"每 KB topK",topKHint:"单库检索条数,默认 20"})})})]})}a.s(["ChatMountConfig",0,function({open:a,onOpenChange:e,onSave:f}){let g=(0,u.useChatConfig)(),{data:i}=(0,t.useKnowledgeBases)(),j=i?.items??[],k=j.filter(a=>!g.mounts.some(b=>b.knowledgeBaseName===a.knowledgeBaseName)),[z,A]=(0,c.useState)(String(g.aggregateTopK));(0,c.useEffect)(()=>{A(String(g.aggregateTopK))},[g.aggregateTopK]);let[C,E]=(0,c.useState)(!1),F=(0,c.useRef)(null);return(0,c.useEffect)(()=>()=>{F.current&&clearTimeout(F.current)},[]),(0,b.jsx)(h,{open:a,onOpenChange:e,children:(0,b.jsxs)(l,{side:"right",className:"flex w-full flex-col gap-0 p-0 sm:max-w-[520px]",children:[(0,b.jsxs)(m,{className:"border-b border-[hsl(var(--border))] px-6 py-4",children:[(0,b.jsx)(o,{children:"对话配置"}),(0,b.jsx)(p,{children:"选择模型、编辑 system prompt,挂载多个知识库作为检索来源"})]}),(0,b.jsxs)("div",{className:"flex-1 space-y-5 overflow-y-auto px-6 py-5",children:[(0,b.jsx)(v.LLMModelSelector,{providerId:g.providerId,model:g.model,onProviderChange:(a,b)=>{g.setProvider(a,b??"")},onModelChange:a=>g.setModel(a)}),(0,b.jsx)(w.SystemPromptInput,{value:g.systemPrompt,onChange:a=>g.setSystemPrompt(a),placeholder:"留空使用默认 prompt",label:"System Prompt"}),(0,b.jsx)(x.TemperatureSlider,{value:g.temperature??.7,onChange:a=>g.setTemperature(a),label:"Temperature"}),(0,b.jsxs)("div",{className:"space-y-3 border-t border-[hsl(var(--border))] pt-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(s.Label,{className:"text-sm font-medium",children:"挂载的知识库"}),(0,b.jsxs)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:["并行检索,按 score 全局重排,取前 ",g.aggregateTopK," 条"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(s.Label,{className:"text-xs text-muted-foreground",title:"合并所有 KB 的命中后按分数截断的上限",children:"聚合 topK"}),(0,b.jsx)(r.Input,{type:"text",inputMode:"numeric",value:z,onChange:a=>A(a.target.value),onBlur:()=>{let a=parseInt(z,10);Number.isFinite(a)&&a>=1&&a<=200?(g.setAggregateTopK(a),A(String(a))):(g.setAggregateTopK(u.DEFAULT_AGGREGATE_TOP_K),A(String(u.DEFAULT_AGGREGATE_TOP_K)))},className:"h-8 w-20"})]})]}),(0,b.jsx)(B,{kbs:k,onAdd:a=>g.addMount({id:(0,y.newId)("mount"),knowledgeBaseName:a.knowledgeBaseName})}),0===g.mounts.length?(0,b.jsx)("p",{className:"rounded-md border border-dashed border-[hsl(var(--border))] px-3 py-4 text-center text-xs text-muted-foreground",children:"还没有挂载知识库;添加一个以启用 RAG"}):(0,b.jsx)("div",{className:"space-y-2",children:g.mounts.map(a=>{let c=j.find(b=>b.knowledgeBaseName===a.knowledgeBaseName);return(0,b.jsx)(D,{mount:a,subspaceEnabled:c?.subspace===!0},a.id)})})]}),(0,b.jsx)(L,{disabled:0===g.mounts.length,singleKb:1===g.mounts.length?j.find(a=>a.knowledgeBaseName===g.mounts[0].knowledgeBaseName):void 0})]}),(0,b.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,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"未保存的修改在发送下一条消息时也会自动持久化"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(q.Button,{type:"button",variant:"ghost",onClick:()=>e(!1),children:"关闭"}),(0,b.jsx)(q.Button,{type:"button",onClick:()=>{f(),E(!0),F.current&&clearTimeout(F.current),F.current=setTimeout(()=>E(!1),2e3)},disabled:C,children:C?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.Check,{className:"mr-1.5 h-4 w-4"}),"已保存"]}):"保存配置"})]})]})]})})}],58489)},71173,a=>{"use strict";var b=a.i(71938);function c(a){return a&&a.length>0?a:null}function d(a){let b;return`tsagent.chat.sessions.v2.${(b=c(a))?`project.${encodeURIComponent(b)}`:"unbound"}`}function e(a){return(d(a),[]).filter(b=>c(b.activeInstance)===c(a))}let f=[];function g(){return f}a.s(["deriveSessionTitle",0,function(a){let b=a.find(a=>"user"===a.role);if(!b)return"新对话";let c=b.content.replace(/\s+/g," ").trim();return c?c.length>24?`${c.slice(0,24)}…`:c:"新对话"},"useChatHistory",0,function(a){let h=c(a.activeInstance),i=a.ready?d(h):null,j=(0,b.useCallback)(a=>()=>{},[i]),k=(0,b.useCallback)(()=>(a.ready,f),[h,a.ready]),l=(0,b.useSyncExternalStore)(j,k,g),m=(0,b.useCallback)(b=>{if(a.ready){var f,g;let a,i,j,k,l;i=e(a=c(h)),k=(j={...b,activeInstance:a}).messages.length>200?{...j,messages:j.messages.slice(-200)}:j,(l=i.findIndex(a=>a.id===k.id))>=0?i[l]=k:i.push(k),f=a,g=i.sort((a,b)=>b.updatedAt-a.updatedAt).slice(0,50),d(f)}},[h,a.ready]),n=(0,b.useCallback)(b=>{if(a.ready){let a,f;f=e(a=c(h)).filter(a=>a.id!==b),d(a)}},[h,a.ready]),o=(0,b.useCallback)(()=>{a.ready&&d(c(h))},[h,a.ready]),p=(0,b.useCallback)(b=>{var d;return a.ready?(d=b,e(c(h)).sort((a,b)=>b.updatedAt-a.updatedAt).find(a=>a.id===d)??null):null},[h,a.ready]);return(0,b.useMemo)(()=>({sessions:l,upsert:m,remove:n,clear:o,get:p}),[l,m,n,o,p])}])},57634,a=>{"use strict";a.s(["readLastConfig",0,function(a){return{}},"writeLastConfig",0,function(a,b){}])},45533,a=>a.a(async(b,c)=>{try{var d=a.i(34020),e=a.i(71938),f=a.i(10581),g=a.i(76192),h=a.i(57900),i=a.i(91957),j=a.i(58489),k=a.i(38285),l=a.i(71173),m=a.i(9135),n=a.i(57634),o=a.i(82424),p=a.i(83643),q=a.i(76446),r=a.i(25377),s=b([h]);function t(){let a=(0,k.useChatConfig)(),b=(0,o.useActiveInstance)(),c=b.activeInstance,s=(0,l.useChatHistory)(b),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(!1),x=(0,e.useRef)(!1),y=(0,e.useCallback)((d,e)=>{if(!b.ready||e.requireSent&&!x.current)return;let f=t??(0,p.newId)("session");t||u(f);let g=e.preserveTitle?s.get(f):null,h=g?.title??(0,l.deriveSessionTitle)(d),i={id:f,title:h,updatedAt:Date.now(),activeInstance:c,config:a.toSessionConfig(),messages:d};s.upsert(i),a.providerId&&(0,n.writeLastConfig)(c,{providerId:a.providerId,model:a.model})},[t,a,s,c,b.ready]),z=(0,e.useCallback)(a=>{y(a,{requireSent:!0,preserveTitle:!1})},[y]),A=(0,e.useMemo)(()=>(0,k.buildRagFromMounts)(a),[a]),B=(0,m.useQaChat)({activeInstance:c,providerId:a.providerId,model:a.model,systemPrompt:a.systemPrompt,temperature:a.temperature,rag:A,onPersist:z}),C=(0,e.useCallback)(d=>{if(!b.ready)return;let e=s.get(d);e&&(e.activeInstance??null)===c&&(u(d),x.current=e.messages.length>0,B.setMessages(e.messages),a.hydrate({providerId:e.config.providerId??"",model:e.config.model??"",systemPrompt:e.config.systemPrompt??"",temperature:e.config.temperature,aggregateTopK:e.config.aggregateTopK??k.DEFAULT_AGGREGATE_TOP_K,perKbTopK:e.config.perKbTopK??k.DEFAULT_PER_KB_TOP_K,retrieval:e.config.retrieval??{},mounts:e.config.mounts??[]}))},[s,B.setMessages,a.hydrate,c,b.ready]),D=(0,e.useCallback)(()=>{u(null),x.current=!1,B.clear();let b=(0,n.readLastConfig)(c);a.setProvider(b.providerId??"",b.model??"")},[B.clear,c,a.setProvider]),E=(0,e.useCallback)(a=>{s.remove(a),t===a&&(u(null),x.current=!1,B.clear())},[s,t,B]),F=(0,e.useCallback)(()=>{s.clear(),u(null),x.current=!1,B.clear()},[s,B.clear]),G=(0,e.useCallback)(a=>{x.current=!0,B.send(a)},[B]),H=(0,e.useCallback)((a,b)=>{x.current=!0,B.editUserMessage(a,b),B.reissueTurn(a)},[B]),I=(0,e.useCallback)(a=>{let b=(0,q.findUserAnchorAbove)(B.messages,a);b&&(x.current=!0,B.reissueTurn(b.id))},[B]),J=(0,e.useCallback)(()=>{x.current=B.messages.length>0||x.current,y(B.messages,{requireSent:!1,preserveTitle:!0})},[B.messages,y]),K=(0,e.useRef)({activeInstance:null,ready:!1,dataScopeKey:r.PENDING_DATA_SCOPE_KEY,configRevision:""});(0,e.useEffect)(()=>{let c=K.current;c.ready&&b.ready&&c.dataScopeKey!==b.dataScopeKey&&(a.reset(),u(null),x.current=!1,B.clear()),b.ready&&(K.current=b)},[b.dataScopeKey,b.ready]),(0,e.useEffect)(()=>{if(t||a.providerId)return;let b=(0,n.readLastConfig)(c);b.providerId&&a.setProvider(b.providerId,b.model??"")},[c,t,a.providerId]);let L=t?s.get(t):null,M=b.ready&&!!(a.providerId&&a.model),N=L?.title??"新对话",O=a.mounts.length,P=!t&&a.mounts.length>0?`已沿用上一会话的 ${a.mounts.length} 个知识库挂载,按右上角齿轮可调整。`:null;return(0,d.jsxs)("div",{className:"flex h-[calc(100vh-8rem)] overflow-hidden rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--surface))]",children:[(0,d.jsx)(i.ChatHistorySidebar,{sessions:s.sessions,activeSessionId:t,onNewSession:D,onSelectSession:C,onDeleteSession:E,onClearAll:F}),(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,d.jsxs)("header",{className:"flex items-center justify-between border-b border-[hsl(var(--border))] bg-[hsl(var(--surface))] px-4 py-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h1",{className:"truncate text-sm font-semibold",children:N}),(0,d.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:a.providerId&&a.model?(0,d.jsxs)(d.Fragment,{children:[a.model," · ",O," 个知识库 · 聚合 ",a.aggregateTopK]}):"点击右上角设置挂载模型与知识库"})]}),(0,d.jsx)(g.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>w(!0),title:"对话配置",children:(0,d.jsx)(f.Settings2,{className:"h-4 w-4"})})]}),(0,d.jsx)("div",{className:"flex-1 overflow-hidden p-4",children:(0,d.jsx)(h.QaChatPanel,{messages:B.messages,isStreaming:B.isStreaming,canSend:M,error:B.error,onSend:G,onStop:B.stop,onDelete:B.deleteMessage,onResend:B.reissueTurn,onRegenerate:I,onEditSave:H,emptyState:{title:M?"可以开始对话了":"开始对话",description:P?`${P} 直接在下方输入你的问题。`:M?"直接在下方输入你的问题;随时可以通过右上角齿轮调整模型或挂载的知识库":"点击右上角齿轮,选择模型并挂载知识库,即可开始问答",actionLabel:"打开配置",onAction:()=>w(!0)},disabledPlaceholder:"请先点击右上角齿轮配置模型与知识库"})})]}),(0,d.jsx)(j.ChatMountConfig,{open:v,onOpenChange:w,onSave:J})]})}[h]=s.then?(await s)():s,a.s(["default",0,function(){return(0,d.jsx)(k.ChatConfigProvider,{children:(0,d.jsx)(t,{})})}]),c()}catch(a){c(a)}},!1)];
1
+ module.exports=[91957,a=>{"use strict";var b=a.i(34020);let c=(0,a.i(50053).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 d=a.i(55295),e=a.i(76192),f=a.i(64565);function g({session:a,active:c,onSelect:h,onDelete:i}){let j=a.config.mounts.length;return(0,b.jsxs)("div",{className:(0,f.cn)("group flex items-center gap-1 rounded-md px-2 py-1.5 text-sm transition-colors",c?"bg-[hsl(var(--accent))] text-foreground":"text-foreground/80 hover:bg-[hsl(var(--accent)/0.6)]"),children:[(0,b.jsxs)("button",{type:"button",onClick:h,className:"flex min-w-0 flex-1 flex-col items-start text-left",children:[(0,b.jsx)("span",{className:"w-full truncate font-medium",children:a.title}),(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{children:function(a){let b=Math.floor((Date.now()-a)/6e4);if(b<1)return"刚刚";if(b<60)return`${b} 分钟前`;let c=Math.floor(b/60);if(c<24)return`${c} 小时前`;let d=Math.floor(c/24);return d<7?`${d} 天前`:new Date(a).toLocaleDateString()}(a.updatedAt)}),j>0?(0,b.jsxs)("span",{children:["· ",j," KB"]}):null]})]}),(0,b.jsx)(e.Button,{type:"button",variant:"ghost",size:"icon",onClick:a=>{a.stopPropagation(),i()},className:"h-6 w-6 opacity-0 group-hover:opacity-100",title:"删除",children:(0,b.jsx)(d.Trash2,{className:"h-3 w-3 text-muted-foreground"})})]})}a.s(["ChatHistorySidebar",0,function({sessions:a,activeSessionId:f,onNewSession:h,onSelectSession:i,onDeleteSession:j,onClearAll:k}){return(0,b.jsxs)("aside",{className:"flex h-full w-64 shrink-0 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--surface))]",children:[(0,b.jsx)("div",{className:"border-b border-[hsl(var(--border))] p-3",children:(0,b.jsxs)(e.Button,{type:"button",onClick:h,className:"w-full justify-start gap-2",variant:"outline",children:[(0,b.jsx)(c,{className:"h-4 w-4"}),"新对话"]})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto",children:0===a.length?(0,b.jsx)("p",{className:"px-3 py-6 text-center text-xs text-muted-foreground",children:"暂无历史对话"}):(0,b.jsx)("ul",{className:"space-y-0.5 p-2",children:a.map(a=>(0,b.jsx)("li",{children:(0,b.jsx)(g,{session:a,active:a.id===f,onSelect:()=>i(a.id),onDelete:()=>j(a.id)})},a.id))})}),a.length>0?(0,b.jsx)("div",{className:"border-t border-[hsl(var(--border))] p-2",children:(0,b.jsxs)(e.Button,{type:"button",variant:"ghost",size:"sm",onClick:k,className:"w-full justify-start gap-2 text-muted-foreground hover:text-[hsl(var(--destructive))]",children:[(0,b.jsx)(d.Trash2,{className:"h-3.5 w-3.5"}),"清空全部"]})}):null]})}],91957)},38285,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(93078);let e={providerId:"",model:"",systemPrompt:"",temperature:void 0,aggregateTopK:20,perKbTopK:20,retrieval:{searchType:["DENSE_VECTOR","FULL_TEXT"],rerankType:"WEIGHT",weightDense:.7,weightFullText:.3},mounts:[]};function f(a,b){switch(b.type){case"SET_PROVIDER":return{...a,providerId:b.providerId,model:b.model};case"SET_MODEL":return{...a,model:b.model};case"SET_SYSTEM_PROMPT":return{...a,systemPrompt:b.value};case"SET_TEMPERATURE":return{...a,temperature:b.value};case"SET_AGGREGATE_TOP_K":return{...a,aggregateTopK:b.value};case"SET_PER_KB_TOP_K":return{...a,perKbTopK:b.value};case"SET_RETRIEVAL":return{...a,retrieval:b.value};case"ADD_MOUNT":if(a.mounts.some(a=>a.knowledgeBaseName===b.mount.knowledgeBaseName))return a;return{...a,mounts:[...a.mounts,b.mount]};case"UPDATE_MOUNT":return{...a,mounts:a.mounts.map(a=>a.id===b.id?{...a,...b.patch}:a)};case"REMOVE_MOUNT":return{...a,mounts:a.mounts.filter(a=>a.id!==b.id)};case"REORDER_MOUNTS":{let c=new Map(a.mounts.map(a=>[a.id,a])),d=b.ids.map(a=>c.get(a)).filter(a=>!!a);return{...a,mounts:d}}case"HYDRATE":return{...a,...b.state};case"RESET":return e;default:return a}}let g=(0,c.createContext)(null);a.s(["ChatConfigProvider",0,function({children:a}){let[d,h]=(0,c.useReducer)(f,e),i=(0,c.useMemo)(()=>({...d,setProvider:(a,b)=>h({type:"SET_PROVIDER",providerId:a,model:b}),setModel:a=>h({type:"SET_MODEL",model:a}),setSystemPrompt:a=>h({type:"SET_SYSTEM_PROMPT",value:a}),setTemperature:a=>h({type:"SET_TEMPERATURE",value:a}),setAggregateTopK:a=>h({type:"SET_AGGREGATE_TOP_K",value:a}),setPerKbTopK:a=>h({type:"SET_PER_KB_TOP_K",value:a}),setRetrieval:a=>h({type:"SET_RETRIEVAL",value:a}),addMount:a=>h({type:"ADD_MOUNT",mount:a}),updateMount:(a,b)=>h({type:"UPDATE_MOUNT",id:a,patch:b}),removeMount:a=>h({type:"REMOVE_MOUNT",id:a}),reorderMounts:a=>h({type:"REORDER_MOUNTS",ids:a}),hydrate:a=>h({type:"HYDRATE",state:a}),reset:()=>h({type:"RESET"}),toSessionConfig:()=>({providerId:d.providerId||void 0,model:d.model||void 0,systemPrompt:d.systemPrompt||void 0,temperature:d.temperature,aggregateTopK:d.aggregateTopK,perKbTopK:d.perKbTopK,retrieval:d.retrieval,mounts:d.mounts})}),[d]);return(0,b.jsx)(g.Provider,{value:i,children:a})},"DEFAULT_AGGREGATE_TOP_K",0,20,"DEFAULT_PER_KB_TOP_K",0,20,"buildRagFromMounts",0,function(a){if(!a.mounts.length)return;let b=(0,d.assembleRetrievalConfiguration)(a.retrieval,a.perKbTopK);return{knowledgeBases:a.mounts.map(c=>({knowledgeBaseName:c.knowledgeBaseName,...c.subspace?.length?{subspace:c.subspace}:{},...b?{retrievalConfiguration:b}:{},topK:a.perKbTopK})),topK:a.aggregateTopK}},"useChatConfig",0,function(){let a=(0,c.useContext)(g);if(!a)throw Error("useChatConfig must be used within a ChatConfigProvider");return a}])},58489,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(53520),e=a.i(88619),f=a.i(14151),g=a.i(64565);let h=e.Root;e.Trigger,e.Close;let i=e.Portal,j=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(e.Overlay,{ref:d,className:(0,g.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",a),...c}));j.displayName=e.Overlay.displayName;let k={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"},l=c.forwardRef(({className:a,children:c,side:d="right",...h},l)=>(0,b.jsxs)(i,{children:[(0,b.jsx)(j,{}),(0,b.jsxs)(e.Content,{ref:l,className:(0,g.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",k[d],a),...h,children:[c,(0,b.jsxs)(e.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,b.jsx)(f.X,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));l.displayName=e.Content.displayName;let m=({className:a,...c})=>(0,b.jsx)("div",{className:(0,g.cn)("flex flex-col space-y-1.5 text-left",a),...c});m.displayName="SheetHeader";let n=({className:a,...c})=>(0,b.jsx)("div",{className:(0,g.cn)("mt-auto flex flex-col-reverse gap-2 sm:flex-row sm:justify-end sm:space-x-2",a),...c});n.displayName="SheetFooter";let o=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(e.Title,{ref:d,className:(0,g.cn)("text-base font-semibold leading-tight",a),...c}));o.displayName=e.Title.displayName;let p=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(e.Description,{ref:d,className:(0,g.cn)("text-sm text-[hsl(var(--muted-foreground))]",a),...c}));p.displayName=e.Description.displayName;var q=a.i(76192),r=a.i(72518),s=a.i(62491),t=a.i(9367),u=a.i(38285),v=a.i(64363),w=a.i(32191),x=a.i(87951),y=a.i(83643),z=a.i(25825),A=a.i(23028),B=a.i(55553),C=a.i(84252);function D({kbs:a,onPick:d,children:e,align:f="start"}){let[g,h]=(0,c.useState)(!1),i=b=>{let c=a.find(a=>a.knowledgeBaseName===b);c&&(d(c),h(!1))};return(0,b.jsxs)(C.Popover,{open:g,onOpenChange:h,children:[(0,b.jsx)(C.PopoverTrigger,{asChild:!0,children:e}),(0,b.jsx)(C.PopoverContent,{align:f,sideOffset:6,className:"w-[var(--radix-popover-trigger-width)] min-w-[260px] p-0",children:(0,b.jsxs)(B.Command,{children:[(0,b.jsx)(B.CommandInput,{placeholder:"搜索知识库..."}),(0,b.jsxs)(B.CommandList,{children:[(0,b.jsx)(B.CommandEmpty,{children:"未找到匹配的知识库"}),a.length>0?(0,b.jsx)(B.CommandGroup,{children:a.map(a=>(0,b.jsxs)(B.CommandItem,{value:a.knowledgeBaseName,onSelect:i,children:[(0,b.jsx)(A.Database,{className:"text-[hsl(var(--muted-foreground))]"}),(0,b.jsx)("span",{className:"truncate",children:a.knowledgeBaseName})]},a.knowledgeBaseName))}):null]})]})})]})}function E({kbs:a,onAdd:c}){return 0===a.length?null:(0,b.jsx)(D,{kbs:a,onPick:c,align:"start",children:(0,b.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,b.jsx)(z.Plus,{className:"h-3.5 w-3.5 transition-transform group-hover:rotate-90"}),"添加更多知识库",(0,b.jsxs)("span",{className:"text-[hsl(var(--muted-foreground))]/70 group-hover:text-[hsl(var(--primary))]/70",children:["(",a.length,")"]})]})})}var F=a.i(12583),G=a.i(1078);function H({kbs:a,onAdd:c}){let d=0===a.length;return(0,b.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,b.jsx)(G.Sparkles,{className:"pointer-events-none absolute right-3 top-3 h-3.5 w-3.5 text-[hsl(var(--primary)/0.45)]","aria-hidden":!0}),(0,b.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,b.jsx)(A.Database,{className:"h-6 w-6 text-[hsl(var(--primary))]"})}),(0,b.jsx)("h3",{className:"text-sm font-semibold text-[hsl(var(--foreground))]",children:d?"还没有任何知识库":"挂载知识库以启用 RAG"}),(0,b.jsx)("p",{className:"mx-auto mt-1 max-w-[320px] text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:d?"创建第一个知识库后,即可在对话中挂载并启用检索增强":"挂载后,模型将基于知识库内容生成回答,支持并行检索与全局重排"}),(0,b.jsxs)("div",{className:"mt-4 flex flex-col items-center gap-2",children:[d?(0,b.jsx)(q.Button,{asChild:!0,size:"default",className:"h-9 px-4",children:(0,b.jsxs)(F.default,{href:"/knowledge-base/create",children:[(0,b.jsx)(A.Database,{className:"h-4 w-4"}),"创建知识库"]})}):(0,b.jsx)(D,{kbs:a,onPick:c,align:"center",children:(0,b.jsxs)(q.Button,{type:"button",size:"default",className:"h-9 px-4",children:[(0,b.jsx)(z.Plus,{className:"h-4 w-4"}),"挂载知识库"]})}),d?null:(0,b.jsxs)("p",{className:"text-[11px] text-[hsl(var(--muted-foreground))]",children:["从已有的"," ",(0,b.jsx)("span",{className:"font-medium text-[hsl(var(--foreground))]",children:a.length})," ","个知识库中选择"]})]})]})}var I=a.i(55295);function J({mount:a,subspaceEnabled:d}){let e=(0,u.useChatConfig)(),[f,g]=(0,c.useState)((a.subspace??[]).join(", "));return(0,b.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,b.jsx)("span",{className:"flex-1 truncate text-sm font-medium",title:a.knowledgeBaseName,children:a.knowledgeBaseName}),d?(0,b.jsx)(r.Input,{value:f,onChange:a=>g(a.target.value),onBlur:()=>{let b=f.split(",").map(a=>a.trim()).filter(Boolean),c=a.subspace??[];b.length===c.length&&b.every((a,b)=>a===c[b])||e.updateMount(a.id,{subspace:b.length?b:void 0})},onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),a.target.blur())},placeholder:"subspace (逗号分隔)",className:"h-8 w-44 text-xs"}):null,(0,b.jsx)(q.Button,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>e.removeMount(a.id),title:"移除",children:(0,b.jsx)(I.Trash2,{className:"h-3.5 w-3.5 text-muted-foreground"})})]})}var K=a.i(71562),L=a.i(71071),M=a.i(44401),N=a.i(92942),O=a.i(18236),P=a.i(15325);let Q=["searchType","rerankType","rrfK","rrfDenseWeight","rrfFullTextWeight","weightDense","weightFullText","modelName","modelProvider"];function R({disabled:a,singleKb:d}){let e=(0,u.useChatConfig)(),f=(0,c.useRef)(null),g=(0,K.useForm)({resolver:(0,L.zodResolver)(P.retrievalSchema),defaultValues:{knowledgeBaseName:d?.knowledgeBaseName??"__unified__",query:"__unified_placeholder__",subspace:[],topK:e.perKbTopK,searchType:e.retrieval.searchType??["DENSE_VECTOR","FULL_TEXT"],rerankType:e.retrieval.rerankType,rrfK:e.retrieval.rrfK,rrfDenseWeight:e.retrieval.rrfDenseWeight,rrfFullTextWeight:e.retrieval.rrfFullTextWeight,weightDense:e.retrieval.weightDense,weightFullText:e.retrieval.weightFullText,modelName:e.retrieval.modelName,modelProvider:e.retrieval.modelProvider}});(0,c.useEffect)(()=>{g.reset({knowledgeBaseName:d?.knowledgeBaseName??"__unified__",query:"__unified_placeholder__",subspace:[],topK:e.perKbTopK,searchType:e.retrieval.searchType??["DENSE_VECTOR","FULL_TEXT"],rerankType:e.retrieval.rerankType,rrfK:e.retrieval.rrfK,rrfDenseWeight:e.retrieval.rrfDenseWeight,rrfFullTextWeight:e.retrieval.rrfFullTextWeight,weightDense:e.retrieval.weightDense,weightFullText:e.retrieval.weightFullText,modelName:e.retrieval.modelName,modelProvider:e.retrieval.modelProvider})},[e.retrieval,e.perKbTopK,d?.knowledgeBaseName]);let h=()=>{let a=g.getValues(),b={};for(let c of Q){let d=a[c];void 0===d||Array.isArray(d)&&0===d.length||(b[c]=d)}e.setRetrieval(b),e.setPerKbTopK("number"==typeof a.topK&&a.topK>=0?a.topK:u.DEFAULT_PER_KB_TOP_K)},i=g.watch("rerankType");return(0,c.useEffect)(()=>{if("MODEL"!==i)return;let a=!1;g.getValues("modelProvider")||(g.setValue("modelProvider","bailian"),a=!0),g.getValues("modelName")||(g.setValue("modelName","gte-rerank-v2"),a=!0),a&&h()},[i]),(0,b.jsxs)("div",{className:"space-y-3 border-t border-[hsl(var(--border))] pt-4"+(a?" pointer-events-none opacity-50":""),"aria-disabled":a,children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(s.Label,{className:"text-sm font-medium",children:"统一检索参数"}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:"应用到所有挂载 KB 的统一查询配置,保证分数可比;每 KB 单独检索后合并重排"})]}),a?(0,b.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,b.jsx)(M.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,b.jsx)("span",{children:"挂载至少一个知识库后即可配置统一检索参数"})]}):(0,b.jsx)(N.Form,{...g,children:(0,b.jsx)("form",{onSubmit:a=>a.preventDefault(),onBlur:h,className:"space-y-4",children:(0,b.jsx)(O.RetrievalParamsFields,{form:g,knowledgeBase:d,filterRef:f,topKLabel:"每 KB topK",topKHint:"单库检索条数,默认 20",topKMode:"single"})})})]})}a.s(["ChatMountConfig",0,function({open:a,onOpenChange:e,onSave:f}){let g=(0,u.useChatConfig)(),{data:i}=(0,t.useKnowledgeBases)(),j=i?.items??[],k=j.filter(a=>!g.mounts.some(b=>b.knowledgeBaseName===a.knowledgeBaseName)),[z,A]=(0,c.useState)(String(g.aggregateTopK));(0,c.useEffect)(()=>{A(String(g.aggregateTopK))},[g.aggregateTopK]);let[B,C]=(0,c.useState)(!1),D=(0,c.useRef)(null);return(0,c.useEffect)(()=>()=>{D.current&&clearTimeout(D.current)},[]),(0,b.jsx)(h,{open:a,onOpenChange:e,children:(0,b.jsxs)(l,{side:"right",className:"flex w-full flex-col gap-0 p-0 sm:max-w-[520px]",children:[(0,b.jsxs)(m,{className:"border-b border-[hsl(var(--border))] px-6 py-4",children:[(0,b.jsx)(o,{children:"对话配置"}),(0,b.jsx)(p,{children:"选择模型、编辑 system prompt,挂载多个知识库作为检索来源"})]}),(0,b.jsxs)("div",{className:"flex-1 space-y-5 overflow-y-auto px-6 py-5",children:[(0,b.jsx)(v.LLMModelSelector,{providerId:g.providerId,model:g.model,onProviderChange:(a,b)=>{g.setProvider(a,b??"")},onModelChange:a=>g.setModel(a)}),(0,b.jsx)(w.SystemPromptInput,{value:g.systemPrompt,onChange:a=>g.setSystemPrompt(a),placeholder:"留空使用默认 prompt",label:"System Prompt"}),(0,b.jsx)(x.TemperatureSlider,{value:g.temperature??.7,onChange:a=>g.setTemperature(a),label:"Temperature"}),(0,b.jsxs)("div",{className:"space-y-3 border-t border-[hsl(var(--border))] pt-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(s.Label,{className:"text-sm font-medium",children:"挂载的知识库"}),(0,b.jsxs)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:["并行检索,按 score 全局重排,取前 ",g.aggregateTopK," 条"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(s.Label,{className:"text-xs text-muted-foreground",title:"合并所有 KB 的命中后按分数截断的上限",children:"聚合 topK"}),(0,b.jsx)(r.Input,{type:"text",inputMode:"numeric",value:z,onChange:a=>A(a.target.value),onBlur:()=>{let a=parseInt(z,10);Number.isFinite(a)&&a>=1&&a<=200?(g.setAggregateTopK(a),A(String(a))):(g.setAggregateTopK(u.DEFAULT_AGGREGATE_TOP_K),A(String(u.DEFAULT_AGGREGATE_TOP_K)))},className:"h-8 w-20"})]})]}),0===g.mounts.length?(0,b.jsx)(H,{kbs:j,onAdd:a=>g.addMount({id:(0,y.newId)("mount"),knowledgeBaseName:a.knowledgeBaseName})}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"space-y-2",children:g.mounts.map(a=>{let c=j.find(b=>b.knowledgeBaseName===a.knowledgeBaseName);return(0,b.jsx)(J,{mount:a,subspaceEnabled:c?.subspace===!0},a.id)})}),(0,b.jsx)(E,{kbs:k,onAdd:a=>g.addMount({id:(0,y.newId)("mount"),knowledgeBaseName:a.knowledgeBaseName})})]})]}),(0,b.jsx)(R,{disabled:0===g.mounts.length,singleKb:1===g.mounts.length?j.find(a=>a.knowledgeBaseName===g.mounts[0].knowledgeBaseName):void 0})]}),(0,b.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,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"未保存的修改在发送下一条消息时也会自动持久化"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(q.Button,{type:"button",variant:"ghost",onClick:()=>e(!1),children:"关闭"}),(0,b.jsx)(q.Button,{type:"button",onClick:()=>{f(),C(!0),D.current&&clearTimeout(D.current),D.current=setTimeout(()=>C(!1),2e3)},disabled:B,children:B?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.Check,{className:"mr-1.5 h-4 w-4"}),"已保存"]}):"保存配置"})]})]})]})})}],58489)},71173,a=>{"use strict";var b=a.i(71938);function c(a){return a&&a.length>0?a:null}function d(a){let b;return`tsagent.chat.sessions.v2.${(b=c(a))?`project.${encodeURIComponent(b)}`:"unbound"}`}function e(a){return(d(a),[]).filter(b=>c(b.activeInstance)===c(a))}let f=[];function g(){return f}a.s(["deriveSessionTitle",0,function(a){let b=a.find(a=>"user"===a.role);if(!b)return"新对话";let c=b.content.replace(/\s+/g," ").trim();return c?c.length>24?`${c.slice(0,24)}…`:c:"新对话"},"useChatHistory",0,function(a){let h=c(a.activeInstance),i=a.ready?d(h):null,j=(0,b.useCallback)(a=>()=>{},[i]),k=(0,b.useCallback)(()=>(a.ready,f),[h,a.ready]),l=(0,b.useSyncExternalStore)(j,k,g),m=(0,b.useCallback)(b=>{if(a.ready){var f,g;let a,i,j,k,l;i=e(a=c(h)),k=(j={...b,activeInstance:a}).messages.length>200?{...j,messages:j.messages.slice(-200)}:j,(l=i.findIndex(a=>a.id===k.id))>=0?i[l]=k:i.push(k),f=a,g=i.sort((a,b)=>b.updatedAt-a.updatedAt).slice(0,50),d(f)}},[h,a.ready]),n=(0,b.useCallback)(b=>{if(a.ready){let a,f;f=e(a=c(h)).filter(a=>a.id!==b),d(a)}},[h,a.ready]),o=(0,b.useCallback)(()=>{a.ready&&d(c(h))},[h,a.ready]),p=(0,b.useCallback)(b=>{var d;return a.ready?(d=b,e(c(h)).sort((a,b)=>b.updatedAt-a.updatedAt).find(a=>a.id===d)??null):null},[h,a.ready]);return(0,b.useMemo)(()=>({sessions:l,upsert:m,remove:n,clear:o,get:p}),[l,m,n,o,p])}])},57634,a=>{"use strict";a.s(["readLastConfig",0,function(a){return{}},"writeLastConfig",0,function(a,b){}])},45533,a=>a.a(async(b,c)=>{try{var d=a.i(34020),e=a.i(71938),f=a.i(10581),g=a.i(76192),h=a.i(99443),i=a.i(57900),j=a.i(91957),k=a.i(58489),l=a.i(38285),m=a.i(71173),n=a.i(9135),o=a.i(57634),p=a.i(82424),q=a.i(83643),r=a.i(76446),s=a.i(25377),t=b([i]);function u(){let a=(0,l.useChatConfig)(),b=(0,p.useActiveInstance)(),c=b.activeInstance,t=(0,m.useChatHistory)(b),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(!1),y=(0,e.useRef)(!1),z=(0,e.useCallback)((d,e)=>{if(!b.ready||e.requireSent&&!y.current)return;let f=u??(0,q.newId)("session");u||v(f);let g=e.preserveTitle?t.get(f):null,h=g?.title??(0,m.deriveSessionTitle)(d),i={id:f,title:h,updatedAt:Date.now(),activeInstance:c,config:a.toSessionConfig(),messages:d};t.upsert(i),a.providerId&&(0,o.writeLastConfig)(c,{providerId:a.providerId,model:a.model})},[u,a,t,c,b.ready]),A=(0,e.useCallback)(a=>{z(a,{requireSent:!0,preserveTitle:!1})},[z]),B=(0,e.useMemo)(()=>(0,l.buildRagFromMounts)(a),[a]),C=(0,n.useQaChat)({activeInstance:c,providerId:a.providerId,model:a.model,systemPrompt:a.systemPrompt,temperature:a.temperature,rag:B,onPersist:A}),D=(0,e.useCallback)(d=>{if(!b.ready)return;let e=t.get(d);e&&(e.activeInstance??null)===c&&(v(d),y.current=e.messages.length>0,C.setMessages(e.messages),a.hydrate({providerId:e.config.providerId??"",model:e.config.model??"",systemPrompt:e.config.systemPrompt??"",temperature:e.config.temperature,aggregateTopK:e.config.aggregateTopK??l.DEFAULT_AGGREGATE_TOP_K,perKbTopK:e.config.perKbTopK??l.DEFAULT_PER_KB_TOP_K,retrieval:e.config.retrieval??{},mounts:e.config.mounts??[]}))},[t,C.setMessages,a.hydrate,c,b.ready]),E=(0,e.useCallback)(()=>{v(null),y.current=!1,C.clear();let b=(0,o.readLastConfig)(c);a.setProvider(b.providerId??"",b.model??"")},[C.clear,c,a.setProvider]),F=(0,e.useCallback)(a=>{t.remove(a),u===a&&(v(null),y.current=!1,C.clear())},[t,u,C]),G=(0,e.useCallback)(()=>{t.clear(),v(null),y.current=!1,C.clear()},[t,C.clear]),H=(0,e.useCallback)(a=>{y.current=!0,C.send(a)},[C]),I=(0,e.useCallback)((a,b)=>{y.current=!0,C.editUserMessage(a,b),C.reissueTurn(a)},[C]),J=(0,e.useCallback)(a=>{let b=(0,r.findUserAnchorAbove)(C.messages,a);b&&(y.current=!0,C.reissueTurn(b.id))},[C]),K=(0,e.useCallback)(()=>{y.current=C.messages.length>0||y.current,z(C.messages,{requireSent:!1,preserveTitle:!0})},[C.messages,z]),L=(0,e.useRef)({activeInstance:null,ready:!1,dataScopeKey:s.PENDING_DATA_SCOPE_KEY,configRevision:""});(0,e.useEffect)(()=>{let c=L.current;c.ready&&b.ready&&c.dataScopeKey!==b.dataScopeKey&&(a.reset(),v(null),y.current=!1,C.clear()),b.ready&&(L.current=b)},[b.dataScopeKey,b.ready]),(0,e.useEffect)(()=>{if(u||a.providerId)return;let b=(0,o.readLastConfig)(c);b.providerId&&a.setProvider(b.providerId,b.model??"")},[c,u,a.providerId]);let M=u?t.get(u):null,N=b.ready&&!!(a.providerId&&a.model),O=M?.title??"新对话",P=a.mounts.length,Q=!u&&a.mounts.length>0?`已沿用上一会话的 ${a.mounts.length} 个知识库挂载,按右上角齿轮可调整。`:null;return(0,d.jsxs)(h.AppShellLayout,{children:[(0,d.jsx)(j.ChatHistorySidebar,{sessions:t.sessions,activeSessionId:u,onNewSession:E,onSelectSession:D,onDeleteSession:F,onClearAll:G}),(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col bg-[hsl(var(--card))]",children:[(0,d.jsxs)("header",{className:"flex h-14 shrink-0 items-center justify-between gap-3 border-b border-[hsl(var(--border))] px-5",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h1",{className:"truncate text-sm font-semibold text-[hsl(var(--foreground))]",children:O}),(0,d.jsx)("p",{className:"mt-0.5 truncate text-xs text-[hsl(var(--muted-foreground))]",children:a.providerId&&a.model?(0,d.jsxs)(d.Fragment,{children:[a.model," · ",P," 个知识库 · 聚合 ",a.aggregateTopK]}):"点击右上角设置挂载模型与知识库"})]}),(0,d.jsx)(g.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>x(!0),title:"对话配置",children:(0,d.jsx)(f.Settings2,{className:"h-4 w-4"})})]}),(0,d.jsx)(i.QaChatPanel,{messages:C.messages,isStreaming:C.isStreaming,canSend:N,error:C.error,onSend:H,onStop:C.stop,onDelete:C.deleteMessage,onResend:C.reissueTurn,onRegenerate:J,onEditSave:I,emptyState:{title:N?"可以开始对话了":"开始对话",description:Q?`${Q} 直接在下方输入你的问题。`:N?"直接在下方输入你的问题;随时可以通过右上角齿轮调整模型或挂载的知识库":"点击右上角齿轮,选择模型并挂载知识库,即可开始问答",actionLabel:"打开配置",onAction:()=>x(!0)},disabledPlaceholder:"请先点击右上角齿轮配置模型与知识库"})]}),(0,d.jsx)(k.ChatMountConfig,{open:w,onOpenChange:x,onSave:K})]})}[i]=t.then?(await t)():t,a.s(["default",0,function(){return(0,d.jsx)(l.ChatConfigProvider,{children:(0,d.jsx)(u,{})})}]),c()}catch(a){c(a)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=dashboard_src_065m1.j._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[36965,23331,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(84694),e=a.i(58036),f=a.i(56620),g=a.i(59653),h=a.i(83370),i="Toggle",j=c.forwardRef((a,c)=>{let{pressed:d,defaultPressed:f,onPressedChange:j,...k}=a,[l,m]=(0,h.useControllableState)({prop:d,onChange:j,defaultProp:f??!1,caller:i});return(0,b.jsx)(e.Primitive.button,{type:"button","aria-pressed":l,"data-state":l?"on":"off","data-disabled":a.disabled?"":void 0,...k,ref:c,onClick:(0,g.composeEventHandlers)(a.onClick,()=>{a.disabled||m(!l)})})});j.displayName=i;var k=a.i(74974),l="ToggleGroup",[m,n]=(0,d.createContextScope)(l,[f.createRovingFocusGroupScope]),o=(0,f.createRovingFocusGroupScope)(),p=c.default.forwardRef((a,c)=>{let{type:d,...e}=a;if("single"===d)return(0,b.jsx)(s,{...e,ref:c});if("multiple"===d)return(0,b.jsx)(t,{...e,ref:c});throw Error(`Missing prop \`type\` expected on \`${l}\``)});p.displayName=l;var[q,r]=m(l),s=c.default.forwardRef((a,d)=>{let{value:e,defaultValue:f,onValueChange:g=()=>{},...i}=a,[j,k]=(0,h.useControllableState)({prop:e,defaultProp:f??"",onChange:g,caller:l});return(0,b.jsx)(q,{scope:a.__scopeToggleGroup,type:"single",value:c.default.useMemo(()=>j?[j]:[],[j]),onItemActivate:k,onItemDeactivate:c.default.useCallback(()=>k(""),[k]),children:(0,b.jsx)(w,{...i,ref:d})})}),t=c.default.forwardRef((a,d)=>{let{value:e,defaultValue:f,onValueChange:g=()=>{},...i}=a,[j,k]=(0,h.useControllableState)({prop:e,defaultProp:f??[],onChange:g,caller:l}),m=c.default.useCallback(a=>k((b=[])=>[...b,a]),[k]),n=c.default.useCallback(a=>k((b=[])=>b.filter(b=>b!==a)),[k]);return(0,b.jsx)(q,{scope:a.__scopeToggleGroup,type:"multiple",value:j,onItemActivate:m,onItemDeactivate:n,children:(0,b.jsx)(w,{...i,ref:d})})});p.displayName=l;var[u,v]=m(l),w=c.default.forwardRef((a,c)=>{let{__scopeToggleGroup:d,disabled:g=!1,rovingFocus:h=!0,orientation:i,dir:j,loop:l=!0,...m}=a,n=o(d),p=(0,k.useDirection)(j),q={role:"group",dir:p,...m};return(0,b.jsx)(u,{scope:d,rovingFocus:h,disabled:g,children:h?(0,b.jsx)(f.Root,{asChild:!0,...n,orientation:i,dir:p,loop:l,children:(0,b.jsx)(e.Primitive.div,{...q,ref:c})}):(0,b.jsx)(e.Primitive.div,{...q,ref:c})})}),x="ToggleGroupItem",y=c.default.forwardRef((a,d)=>{let e=r(x,a.__scopeToggleGroup),g=v(x,a.__scopeToggleGroup),h=o(a.__scopeToggleGroup),i=e.value.includes(a.value),j=g.disabled||a.disabled,k={...a,pressed:i,disabled:j},l=c.default.useRef(null);return g.rovingFocus?(0,b.jsx)(f.Item,{asChild:!0,...h,focusable:!j,active:i,ref:l,children:(0,b.jsx)(z,{...k,ref:d})}):(0,b.jsx)(z,{...k,ref:d})});y.displayName=x;var z=c.default.forwardRef((a,c)=>{let{__scopeToggleGroup:d,value:e,...f}=a,g=r(x,d),h={role:"radio","aria-checked":a.pressed,"aria-pressed":void 0},i="single"===g.type?h:void 0;return(0,b.jsx)(j,{...i,...f,ref:c,onPressedChange:a=>{a?g.onItemActivate(e):g.onItemDeactivate(e)}})}),A=a.i(64565);let B=c.createContext({size:"default",variant:"default"}),C=c.forwardRef(({className:a,variant:c="default",size:d="default",children:e,...f},g)=>(0,b.jsx)(p,{ref:g,className:(0,A.cn)("inline-flex items-center justify-center gap-1",a),...f,children:(0,b.jsx)(B.Provider,{value:{variant:c,size:d},children:e})}));C.displayName=p.displayName;let D=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsx)(y,{ref:e,className:(0,A.cn)("relative inline-flex items-center justify-center whitespace-nowrap","text-sm font-medium transition-all","first:rounded-l-[7px] last:rounded-r-[7px]","border-l border-[hsl(var(--border)/0.6)]","first:border-l-0","data-[state=on]:border-l-transparent","[&[data-state=on]+*]:border-l-transparent","ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50","hover:bg-[hsl(var(--muted)/0.6)] hover:text-[hsl(var(--foreground))]","data-[state=on]:bg-[hsl(var(--background))] data-[state=on]:text-[hsl(var(--foreground))] data-[state=on]:shadow-sm",a),...d,children:c}));D.displayName=y.displayName,a.s(["ToggleGroup",0,C,"ToggleGroupItem",0,D],36965);var E=a.i(14151);a.s(["TagInput",0,function({value:a,onChange:d,placeholder:e="输入后按回车添加"}){let[f,g]=(0,c.useState)(""),h=(0,c.useCallback)(b=>{let c=b.trim();c&&!a.includes(c)&&d([...a,c]),g("")},[a,d]),i=(0,c.useCallback)(b=>{d(a.filter((a,c)=>c!==b))},[a,d]);return(0,b.jsxs)("div",{className:(0,A.cn)("flex flex-wrap items-center gap-1.5 rounded-md border border-[hsl(var(--input))] bg-background px-3 py-2","focus-within:border-[hsl(var(--ring))] focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-0","min-h-10 transition-colors"),children:[a.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-primary-200 bg-primary-100 px-2 py-0.5 text-xs font-medium text-primary-700",children:[a,(0,b.jsx)("button",{type:"button",onClick:()=>i(c),className:"inline-flex items-center justify-center rounded-full p-0.5 hover:opacity-70 transition-opacity","aria-label":`删除标签 ${a}`,children:(0,b.jsx)(E.X,{size:12})})]},`${a}-${c}`)),(0,b.jsx)("input",{type:"text",value:f,onChange:a=>g(a.target.value),onKeyDown:b=>{("Enter"===b.key||","===b.key)&&(b.preventDefault(),h(f)),"Backspace"===b.key&&""===f&&a.length>0&&i(a.length-1)},placeholder:0===a.length?e:"",className:"flex-1 min-w-20 bg-transparent text-sm outline-none placeholder:text-muted-foreground"})]})}],23331)},23301,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(64565);let e=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{className:"relative w-full overflow-auto",children:(0,b.jsx)("table",{ref:e,className:(0,d.cn)("w-full caption-bottom text-sm",a),...c})}));e.displayName="Table";let f=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("thead",{ref:e,className:(0,d.cn)("[&_tr]:border-b",a),...c}));f.displayName="TableHeader";let g=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tbody",{ref:e,className:(0,d.cn)("[&_tr:last-child]:border-0",a),...c}));g.displayName="TableBody",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tfoot",{ref:e,className:(0,d.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...c})).displayName="TableFooter";let h=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tr",{ref:e,className:(0,d.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...c}));h.displayName="TableRow";let i=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("th",{ref:e,className:(0,d.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...c}));i.displayName="TableHead";let j=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("td",{ref:e,className:(0,d.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...c}));j.displayName="TableCell",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("caption",{ref:e,className:(0,d.cn)("mt-4 text-sm text-muted-foreground",a),...c})).displayName="TableCaption",a.s(["Table",0,e,"TableBody",0,g,"TableCell",0,j,"TableHead",0,i,"TableHeader",0,f,"TableRow",0,h])},49707,17566,a=>{"use strict";a.s(["handleNumberInput",0,function(a){return b=>{a(b.target.value?Number(b.target.value):void 0)}}],49707);var b=a.i(80904);let c=b.z.enum(["string","long","double","boolean","date","string_list","long_list","double_list","boolean_list","date_list"]),d=b.z.object({name:b.z.string().min(1).max(128),type:c}),e=b.z.object({provider:b.z.enum(["bailian","custom"]),model:b.z.string().min(1),dimension:b.z.number().int().positive(),apiKey:b.z.string().optional(),url:b.z.string().url().optional()}),f=b.z.object({type:b.z.enum(["RRF","WEIGHT","MODEL"]),numberOfResults:b.z.number().int().positive().optional(),rrfConfiguration:b.z.object({denseVectorSearchWeight:b.z.number().min(0),fullTextSearchWeight:b.z.number().min(0),k:b.z.number().int().positive()}).optional(),weightConfiguration:b.z.object({denseVectorSearchWeight:b.z.number().min(0).max(1),fullTextSearchWeight:b.z.number().min(0).max(1)}).optional(),modelConfiguration:b.z.object({provider:b.z.string().min(1),model:b.z.string().min(1)}).optional()}),g=b.z.object({searchType:b.z.array(b.z.enum(["DENSE_VECTOR","FULL_TEXT"])).min(1).optional(),denseVectorSearchConfiguration:b.z.object({numberOfResults:b.z.number().int().positive()}).optional(),fullTextSearchConfiguration:b.z.object({numberOfResults:b.z.number().int().positive()}).optional(),rerankingConfiguration:f.optional()}),h=b.z.object({knowledgeBaseName:b.z.string().min(1,"Knowledge base name is required").max(64,"Name must be at most 64 characters").regex(/^[a-zA-Z][a-zA-Z0-9_-]{1,62}[a-zA-Z0-9]$/,"名称必须以字母开头,仅允许字母、数字、下划线和连字符,长度 3-64 字符,不能以下划线或连字符结尾"),description:b.z.string().max(4096).optional(),subspace:b.z.boolean().optional(),tags:b.z.array(b.z.string()).optional(),metadata:b.z.array(d).max(200).optional(),embeddingConfiguration:e.optional(),retrievalConfiguration:g.optional()}),i=b.z.object({knowledgeBaseName:b.z.string().min(1),description:b.z.string().max(4096).optional(),tags:b.z.array(b.z.string()).optional(),retrievalConfiguration:g.optional()});a.s(["createKBSchema",0,h,"updateKBSchema",0,i],17566)}];
1
+ module.exports=[36965,23331,69622,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(84694),e=a.i(58036),f=a.i(56620),g=a.i(59653),h=a.i(83370),i="Toggle",j=c.forwardRef((a,c)=>{let{pressed:d,defaultPressed:f,onPressedChange:j,...k}=a,[l,m]=(0,h.useControllableState)({prop:d,onChange:j,defaultProp:f??!1,caller:i});return(0,b.jsx)(e.Primitive.button,{type:"button","aria-pressed":l,"data-state":l?"on":"off","data-disabled":a.disabled?"":void 0,...k,ref:c,onClick:(0,g.composeEventHandlers)(a.onClick,()=>{a.disabled||m(!l)})})});j.displayName=i;var k=a.i(74974),l="ToggleGroup",[m,n]=(0,d.createContextScope)(l,[f.createRovingFocusGroupScope]),o=(0,f.createRovingFocusGroupScope)(),p=c.default.forwardRef((a,c)=>{let{type:d,...e}=a;if("single"===d)return(0,b.jsx)(s,{...e,ref:c});if("multiple"===d)return(0,b.jsx)(t,{...e,ref:c});throw Error(`Missing prop \`type\` expected on \`${l}\``)});p.displayName=l;var[q,r]=m(l),s=c.default.forwardRef((a,d)=>{let{value:e,defaultValue:f,onValueChange:g=()=>{},...i}=a,[j,k]=(0,h.useControllableState)({prop:e,defaultProp:f??"",onChange:g,caller:l});return(0,b.jsx)(q,{scope:a.__scopeToggleGroup,type:"single",value:c.default.useMemo(()=>j?[j]:[],[j]),onItemActivate:k,onItemDeactivate:c.default.useCallback(()=>k(""),[k]),children:(0,b.jsx)(w,{...i,ref:d})})}),t=c.default.forwardRef((a,d)=>{let{value:e,defaultValue:f,onValueChange:g=()=>{},...i}=a,[j,k]=(0,h.useControllableState)({prop:e,defaultProp:f??[],onChange:g,caller:l}),m=c.default.useCallback(a=>k((b=[])=>[...b,a]),[k]),n=c.default.useCallback(a=>k((b=[])=>b.filter(b=>b!==a)),[k]);return(0,b.jsx)(q,{scope:a.__scopeToggleGroup,type:"multiple",value:j,onItemActivate:m,onItemDeactivate:n,children:(0,b.jsx)(w,{...i,ref:d})})});p.displayName=l;var[u,v]=m(l),w=c.default.forwardRef((a,c)=>{let{__scopeToggleGroup:d,disabled:g=!1,rovingFocus:h=!0,orientation:i,dir:j,loop:l=!0,...m}=a,n=o(d),p=(0,k.useDirection)(j),q={role:"group",dir:p,...m};return(0,b.jsx)(u,{scope:d,rovingFocus:h,disabled:g,children:h?(0,b.jsx)(f.Root,{asChild:!0,...n,orientation:i,dir:p,loop:l,children:(0,b.jsx)(e.Primitive.div,{...q,ref:c})}):(0,b.jsx)(e.Primitive.div,{...q,ref:c})})}),x="ToggleGroupItem",y=c.default.forwardRef((a,d)=>{let e=r(x,a.__scopeToggleGroup),g=v(x,a.__scopeToggleGroup),h=o(a.__scopeToggleGroup),i=e.value.includes(a.value),j=g.disabled||a.disabled,k={...a,pressed:i,disabled:j},l=c.default.useRef(null);return g.rovingFocus?(0,b.jsx)(f.Item,{asChild:!0,...h,focusable:!j,active:i,ref:l,children:(0,b.jsx)(z,{...k,ref:d})}):(0,b.jsx)(z,{...k,ref:d})});y.displayName=x;var z=c.default.forwardRef((a,c)=>{let{__scopeToggleGroup:d,value:e,...f}=a,g=r(x,d),h={role:"radio","aria-checked":a.pressed,"aria-pressed":void 0},i="single"===g.type?h:void 0;return(0,b.jsx)(j,{...i,...f,ref:c,onPressedChange:a=>{a?g.onItemActivate(e):g.onItemDeactivate(e)}})}),A=a.i(64565);let B=c.createContext({size:"default",variant:"default"}),C=c.forwardRef(({className:a,variant:c="default",size:d="default",children:e,...f},g)=>(0,b.jsx)(p,{ref:g,className:(0,A.cn)("inline-flex items-center justify-center gap-1",a),...f,children:(0,b.jsx)(B.Provider,{value:{variant:c,size:d},children:e})}));C.displayName=p.displayName;let D=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsx)(y,{ref:e,className:(0,A.cn)("relative inline-flex items-center justify-center whitespace-nowrap","text-sm font-medium transition-all","first:rounded-l-[7px] last:rounded-r-[7px]","border-l border-[hsl(var(--border)/0.6)]","first:border-l-0","data-[state=on]:border-l-transparent","[&[data-state=on]+*]:border-l-transparent","ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50","hover:bg-[hsl(var(--muted)/0.6)] hover:text-[hsl(var(--foreground))]","data-[state=on]:bg-[hsl(var(--background))] data-[state=on]:text-[hsl(var(--foreground))] data-[state=on]:shadow-sm",a),...d,children:c}));D.displayName=y.displayName,a.s(["ToggleGroup",0,C,"ToggleGroupItem",0,D],36965);var E=a.i(14151);a.s(["TagInput",0,function({value:a,onChange:d,placeholder:e="输入后按回车添加"}){let[f,g]=(0,c.useState)(""),h=(0,c.useCallback)(b=>{let c=b.trim();c&&!a.includes(c)&&d([...a,c]),g("")},[a,d]),i=(0,c.useCallback)(b=>{d(a.filter((a,c)=>c!==b))},[a,d]);return(0,b.jsxs)("div",{className:(0,A.cn)("flex flex-wrap items-center gap-1.5 rounded-md border border-[hsl(var(--input))] bg-background px-3 py-2","focus-within:border-[hsl(var(--ring))] focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-0","min-h-10 transition-colors"),children:[a.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-primary-200 bg-primary-100 px-2 py-0.5 text-xs font-medium text-primary-700",children:[a,(0,b.jsx)("button",{type:"button",onClick:()=>i(c),className:"inline-flex items-center justify-center rounded-full p-0.5 hover:opacity-70 transition-opacity","aria-label":`删除标签 ${a}`,children:(0,b.jsx)(E.X,{size:12})})]},`${a}-${c}`)),(0,b.jsx)("input",{type:"text",value:f,onChange:a=>g(a.target.value),onKeyDown:b=>{("Enter"===b.key||","===b.key)&&(b.preventDefault(),h(f)),"Backspace"===b.key&&""===f&&a.length>0&&i(a.length-1)},placeholder:0===a.length?e:"",className:"flex-1 min-w-20 bg-transparent text-sm outline-none placeholder:text-muted-foreground"})]})}],23331);let F=(0,a.i(50053).default)("list-ordered",[["path",{d:"M11 5h10",key:"1cz7ny"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 19h10",key:"11t30w"}],["path",{d:"M4 4h1v5",key:"10yrso"}],["path",{d:"M4 9h2",key:"r1h2o0"}],["path",{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",key:"xtkcd5"}]]);var G=a.i(92942),H=a.i(72518);a.s(["RetrievalResultCountField",0,function({control:a,name:c,label:d="返回片段数",description:e="单次检索返回的最多片段数,Rerank 后取前 N 条。",min:f=0,max:g,muted:h=!1,className:i}){return(0,b.jsx)(G.FormField,{control:a,name:c,render:({field:a})=>{let c="number"==typeof a.value&&Number.isFinite(a.value)?String(a.value):"";return(0,b.jsxs)(G.FormItem,{className:(0,A.cn)("mb-0 rounded-md border border-[hsl(var(--border)/0.6)] bg-[hsl(var(--card)/0.72)] p-3 shadow-[0_1px_2px_hsl(var(--foreground)/0.04)]",h&&"opacity-65",i),children:[(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-[minmax(0,1fr)_auto] sm:items-center",children:[(0,b.jsxs)("div",{className:"flex min-w-0 gap-3",children:[(0,b.jsx)("span",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-[hsl(var(--primary)/0.08)] text-[hsl(var(--primary))]",children:(0,b.jsx)(F,{className:"h-3.5 w-3.5"})}),(0,b.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,b.jsx)(G.FormLabel,{className:"text-sm font-medium",children:d}),(0,b.jsx)("p",{className:"text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:e})]})]}),(0,b.jsxs)("div",{className:"relative w-28 shrink-0",children:[(0,b.jsx)(G.FormControl,{children:(0,b.jsx)(H.Input,{ref:a.ref,name:a.name,type:"number",inputMode:"numeric",min:f,max:g,"aria-label":d,className:"h-9 w-full bg-[hsl(var(--background))] pr-8 text-right font-mono text-sm tabular-nums shadow-sm [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none",value:c,onBlur:a.onBlur,onChange:b=>a.onChange(function(a){let b=a.trim();if(!b)return;let c=Number(b);return Number.isFinite(c)?c:void 0}(b.target.value))})}),(0,b.jsx)("span",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-xs text-[hsl(var(--muted-foreground))]",children:"条"})]})]}),(0,b.jsx)(G.FormMessage,{className:"pt-1"})]})}})}],69622)},23301,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(64565);let e=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{className:"relative w-full overflow-auto",children:(0,b.jsx)("table",{ref:e,className:(0,d.cn)("w-full caption-bottom text-sm",a),...c})}));e.displayName="Table";let f=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("thead",{ref:e,className:(0,d.cn)("[&_tr]:border-b [&_tr]:border-[hsl(var(--border))] [&_tr]:bg-[hsl(var(--secondary))]",a),...c}));f.displayName="TableHeader";let g=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tbody",{ref:e,className:(0,d.cn)("[&_tr:last-child]:border-0",a),...c}));g.displayName="TableBody",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tfoot",{ref:e,className:(0,d.cn)("border-t border-[hsl(var(--border))] bg-[hsl(var(--secondary)/0.5)] font-medium [&>tr]:last:border-b-0",a),...c})).displayName="TableFooter";let h=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tr",{ref:e,className:(0,d.cn)("border-b border-[hsl(var(--border-light))] transition-colors hover:bg-[hsl(var(--secondary)/0.5)] data-[state=selected]:bg-[hsl(var(--primary-soft))]",a),...c}));h.displayName="TableRow";let i=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("th",{ref:e,className:(0,d.cn)("h-9 px-3 text-left align-middle text-xs font-medium text-[hsl(var(--muted-foreground))] [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...c}));i.displayName="TableHead";let j=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("td",{ref:e,className:(0,d.cn)("px-3 py-2 align-middle text-sm [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...c}));j.displayName="TableCell",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("caption",{ref:e,className:(0,d.cn)("mt-4 text-sm text-[hsl(var(--muted-foreground))]",a),...c})).displayName="TableCaption",a.s(["Table",0,e,"TableBody",0,g,"TableCell",0,j,"TableHead",0,i,"TableHeader",0,f,"TableRow",0,h])},49707,28058,17566,a=>{"use strict";a.s(["handleNumberInput",0,function(a){return b=>{a(b.target.value?Number(b.target.value):void 0)}}],49707),a.s(["buildKnowledgeBaseRetrievalConfiguration",0,function(a){if(!a)return;let b=a.rerankingConfiguration,c=a.rerankType??b?.type,d={searchType:a.searchType??[]},e=a.denseTopK??a.denseVectorSearchConfiguration?.numberOfResults,f=a.fullTextTopK??a.fullTextSearchConfiguration?.numberOfResults,g=a.rerankTopK??b?.numberOfResults;if(void 0!==e&&(d.denseVectorSearchConfiguration={numberOfResults:e}),void 0!==f&&(d.fullTextSearchConfiguration={numberOfResults:f}),c){let e={type:c};void 0!==g&&(e.numberOfResults=g),"RRF"===c?e.rrfConfiguration={denseVectorSearchWeight:a.rrfDenseWeight??b?.rrfConfiguration?.denseVectorSearchWeight??0,fullTextSearchWeight:a.rrfFullTextWeight??b?.rrfConfiguration?.fullTextSearchWeight??0,k:a.rrfK??b?.rrfConfiguration?.k??60}:"WEIGHT"===c?e.weightConfiguration={denseVectorSearchWeight:a.weightDense??b?.weightConfiguration?.denseVectorSearchWeight??0,fullTextSearchWeight:a.weightFullText??b?.weightConfiguration?.fullTextSearchWeight??0}:"MODEL"===c&&(e.modelConfiguration={provider:a.modelProvider??b?.modelConfiguration?.provider??"bailian",model:a.modelName??b?.modelConfiguration?.model??"gte-rerank-v2"}),d.rerankingConfiguration=e}return d}],28058);var b=a.i(80904);let c=b.z.enum(["string","long","double","boolean","date","string_list","long_list","double_list","boolean_list","date_list"]),d=b.z.object({name:b.z.string().min(1).max(128),type:c}),e=b.z.object({provider:b.z.enum(["bailian","custom"]),model:b.z.string().min(1),dimension:b.z.number().int().positive(),apiKey:b.z.string().optional(),url:b.z.string().url().optional()}),f=b.z.object({type:b.z.enum(["RRF","WEIGHT","MODEL"]),numberOfResults:b.z.number().int().min(0).max(200).optional(),rrfConfiguration:b.z.object({denseVectorSearchWeight:b.z.number().min(0),fullTextSearchWeight:b.z.number().min(0),k:b.z.number().int().positive()}).optional(),weightConfiguration:b.z.object({denseVectorSearchWeight:b.z.number().min(0).max(1),fullTextSearchWeight:b.z.number().min(0).max(1)}).optional(),modelConfiguration:b.z.object({provider:b.z.string().min(1),model:b.z.string().min(1)}).optional()}),g=b.z.object({searchType:b.z.array(b.z.enum(["DENSE_VECTOR","FULL_TEXT"])).min(1).optional(),denseVectorSearchConfiguration:b.z.object({numberOfResults:b.z.number().int().min(0).max(100)}).optional(),fullTextSearchConfiguration:b.z.object({numberOfResults:b.z.number().int().min(0).max(100)}).optional(),rerankingConfiguration:f.optional()}),h=b.z.object({knowledgeBaseName:b.z.string().min(1,"Knowledge base name is required").max(64,"Name must be at most 64 characters").regex(/^[a-zA-Z][a-zA-Z0-9_-]{1,62}[a-zA-Z0-9]$/,"名称必须以字母开头,仅允许字母、数字、下划线和连字符,长度 3-64 字符,不能以下划线或连字符结尾"),description:b.z.string().max(4096).optional(),subspace:b.z.boolean().optional(),tags:b.z.array(b.z.string()).optional(),metadata:b.z.array(d).max(200).optional(),embeddingConfiguration:e.optional(),retrievalConfiguration:g.optional()}),i=b.z.object({knowledgeBaseName:b.z.string().min(1),description:b.z.string().max(4096).optional(),tags:b.z.array(b.z.string()).optional(),retrievalConfiguration:g.optional()});a.s(["createKBSchema",0,h,"updateKBSchema",0,i],17566)}];
2
2
 
3
3
  //# sourceMappingURL=dashboard_src_0ejgygh._.js.map
@@ -0,0 +1,9 @@
1
+ module.exports=[24,a=>{"use strict";a.s(["Sidebar",()=>b]);let b=(0,a.i(13981).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/layout/sidebar.tsx <module evaluation>","Sidebar")},18923,a=>{"use strict";a.s(["Sidebar",()=>b]);let b=(0,a.i(13981).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/layout/sidebar.tsx","Sidebar")},77860,a=>{"use strict";a.i(24);var b=a.i(18923);a.n(b)},11334,a=>{"use strict";a.s(["SidebarMobile",()=>b]);let b=(0,a.i(13981).registerClientReference)(function(){throw Error("Attempted to call SidebarMobile() from the server but SidebarMobile is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/layout/sidebar-mobile.tsx <module evaluation>","SidebarMobile")},10453,a=>{"use strict";a.s(["SidebarMobile",()=>b]);let b=(0,a.i(13981).registerClientReference)(function(){throw Error("Attempted to call SidebarMobile() from the server but SidebarMobile is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/layout/sidebar-mobile.tsx","SidebarMobile")},72768,a=>{"use strict";a.i(11334);var b=a.i(10453);a.n(b)},23304,a=>{"use strict";a.s(["SidebarOffset",()=>b]);let b=(0,a.i(13981).registerClientReference)(function(){throw Error("Attempted to call SidebarOffset() from the server but SidebarOffset is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/layout/sidebar-offset.tsx <module evaluation>","SidebarOffset")},58066,a=>{"use strict";a.s(["SidebarOffset",()=>b]);let b=(0,a.i(13981).registerClientReference)(function(){throw Error("Attempted to call SidebarOffset() from the server but SidebarOffset is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/dashboard/src/components/layout/sidebar-offset.tsx","SidebarOffset")},49935,a=>{"use strict";a.i(23304);var b=a.i(58066);a.n(b)},55244,a=>{"use strict";var b=a.i(16842);a.i(31854);var c=a.i(92518),d=a.i(60526),e=a.i(50227);let f=(0,e.join)((0,d.homedir)(),".config","tablestore-agent-cli"),g=(0,e.join)(f,"config.toml"),h="active_instance",i="instances",j="default",k={ak:"access_key_id",sk:"access_key_secret",ep:"ots_endpoint",in:"ots_instance_name",oe:"oss_endpoint",ob:"oss_bucket_name",rg:"region"};var l=a.i(2157);a.i(66680);class m extends Error{line;column;codeblock;constructor(a,b){const[c,d]=function(a,b){let c=a.slice(0,b).split(/\r\n|\n|\r/g);return[c.length,c.pop().length+1]}(b.toml,b.ptr),e=function(a,b,c){let d=a.split(/\r\n|\n|\r/g),e="",f=(0|Math.log10(b+1))+1;for(let a=b-1;a<=b+1;a++){let g=d[a-1];g&&(e+=a.toString().padEnd(f," "),e+=": ",e+=g,e+="\n",a===b&&(e+=" ".repeat(f+c+2),e+="^\n"))}return e}(b.toml,c,d);super(`Invalid TOML document: ${a}
2
+
3
+ ${e}`,b),this.line=c,this.column=d,this.codeblock=e}}function n(a,b=0,c=a.length){let d=a.indexOf("\n",b);return"\r"===a[d-1]&&d--,d<=c?d:-1}function o(a,b){for(let c=b;c<a.length;c++){let d=a[c];if("\n"===d)return c;if("\r"===d&&"\n"===a[c+1])return c+1;if(d<" "&&" "!==d||""===d)throw new m("control characters are not allowed in comments",{toml:a,ptr:b})}return a.length}function p(a,b,c,d){let e;for(;;){for(;" "===(e=a[b])||" "===e||!c&&("\n"===e||"\r"===e&&"\n"===a[b+1]);)b++;if(d||"#"!==e)break;b=o(a,b)}return b}function q(a,b){let c=a[b],d=c===a[b+1]&&a[b+1]===a[b+2]?a.slice(b,b+3):c;b+=d.length-1;do b=a.indexOf(d,++b);while(b>-1&&"'"!==c&&function(a,b){let c=0;for(;"\\"===a[b-++c];);return--c&&c%2}(a,b))return b>-1&&(b+=d.length,d.length>1&&(a[b]===c&&b++,a[b]===c&&b++)),b}let r=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;class s extends Date{#a=!1;#b=!1;#c=null;constructor(a){let b=!0,c=!0,d="Z";if("string"==typeof a){let e=a.match(r);e?(e[1]||(b=!1,a=`0000-01-01T${a}`),(c=!!e[2])&&" "===a[10]&&(a=a.replace(" ","T")),e[2]&&+e[2]>23?a="":(d=e[3]||null,a=a.toUpperCase(),!d&&c&&(a+="Z"))):a=""}super(a),isNaN(this.getTime())||(this.#a=b,this.#b=c,this.#c=d)}isDateTime(){return this.#a&&this.#b}isLocal(){return!this.#a||!this.#b||!this.#c}isDate(){return this.#a&&!this.#b}isTime(){return this.#b&&!this.#a}isValid(){return this.#a||this.#b}toISOString(){let a=super.toISOString();if(this.isDate())return a.slice(0,10);if(this.isTime())return a.slice(11,23);if(null===this.#c)return a.slice(0,-1);if("Z"===this.#c)return a;let b=60*this.#c.slice(1,3)+ +this.#c.slice(4,6);return b="-"===this.#c[0]?b:-b,new Date(this.getTime()-6e4*b).toISOString().slice(0,-1)+this.#c}static wrapAsOffsetDateTime(a,b="Z"){let c=new s(a);return c.#c=b,c}static wrapAsLocalDateTime(a){let b=new s(a);return b.#c=null,b}static wrapAsLocalDate(a){let b=new s(a);return b.#b=!1,b.#c=null,b}static wrapAsLocalTime(a){let b=new s(a);return b.#a=!1,b.#c=null,b}}let t=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,u=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,v=/^[+-]?0[0-9_]/,w=/^[0-9a-f]{2,8}$/i,x={b:"\b",t:" ",n:"\n",f:"\f",r:"\r",e:"\x1b",'"':'"',"\\":"\\"};function y(a,b=0,c=a.length){let d,e="'"===a[b],f=a[b++]===a[b]&&a[b]===a[b+1];f&&(c-=2,"\r"===a[b+=2]&&b++,"\n"===a[b]&&b++);let g=0,h="",i=b;for(;b<c-1;){let c=a[b++];if("\n"===c||"\r"===c&&"\n"===a[b]){if(!f)throw new m("newlines are not allowed in strings",{toml:a,ptr:b-1})}else if(c<" "&&" "!==c||""===c)throw new m("control characters are not allowed in strings",{toml:a,ptr:b-1});if(d){if(d=!1,"x"===c||"u"===c||"U"===c){let d=a.slice(b,b+="x"===c?2:"u"===c?4:8);if(!w.test(d))throw new m("invalid unicode escape",{toml:a,ptr:g});try{h+=String.fromCodePoint(parseInt(d,16))}catch{throw new m("invalid unicode escape",{toml:a,ptr:g})}}else if(f&&("\n"===c||" "===c||" "===c||"\r"===c)){if(b=p(a,b-1,!0),"\n"!==a[b]&&"\r"!==a[b])throw new m("invalid escape: only line-ending whitespace may be escaped",{toml:a,ptr:g});b=p(a,b)}else if(c in x)h+=x[c];else throw new m("unrecognized escape sequence",{toml:a,ptr:g});i=b}else e||"\\"!==c||(g=b-1,d=!0,h+=a.slice(i,g))}return h+a.slice(i,c-1)}let z=/^[a-zA-Z0-9-_]+[ \t]*$/;function A(a,b,c="="){let d=b-1,e=[],f=a.indexOf(c,b);if(f<0)throw new m("incomplete key-value: cannot find end of key",{toml:a,ptr:b});do{let g=a[b=++d];if(" "!==g&&" "!==g)if('"'===g||"'"===g){if(g===a[b+1]&&g===a[b+2])throw new m("multiline strings are not allowed in keys",{toml:a,ptr:b});let h=q(a,b);if(h<0)throw new m("unfinished string encountered",{toml:a,ptr:b});d=a.indexOf(".",h);let i=a.slice(h,d<0||d>f?f:d),j=n(i);if(j>-1)throw new m("newlines are not allowed in keys",{toml:a,ptr:b+d+j});if(i.trimStart())throw new m("found extra tokens after the string part",{toml:a,ptr:h});if(f<h&&(f=a.indexOf(c,h))<0)throw new m("incomplete key-value: cannot find end of key",{toml:a,ptr:b});e.push(y(a,b,h))}else{d=a.indexOf(".",b);let c=a.slice(b,d<0||d>f?f:d);if(!z.test(c))throw new m("only letter, numbers, dashes and underscores are allowed in keys",{toml:a,ptr:b});e.push(c.trimEnd())}}while(d+1&&d<f)return[e,p(a,f+1,!0,!0)]}function B(a,b,c,d){let e,f,g=b,h=c,i=!1;for(let b=0;b<a.length;b++){if(b){if(g=i?g[e]:g[e]={},h=(f=h[e]).c,0===d&&(1===f.t||2===f.t))return null;if(2===f.t){let a=g.length-1;g=g[a],h=h[a].c}}if((i=Object.hasOwn(g,e=a[b]))&&h[e]?.t===0&&h[e]?.d)return null;i||("__proto__"===e&&(Object.defineProperty(g,e,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(h,e,{enumerable:!0,configurable:!0,writable:!0})),h[e]={t:b<a.length-1&&2===d?3:d,d:!1,i:0,c:{}})}if((f=h[e]).t!==d&&(1!==d||3!==f.t)||(2===d&&(f.d||(f.d=!0,g[e]=[]),g[e].push(g={}),f.c[f.i++]=f={t:1,d:!1,i:0,c:{}}),f.d))return null;if(f.d=!0,1===d)g=i?g[e]:g[e]={};else if(0===d&&i)return null;return[e,g,f.c]}let C=/^[a-z0-9-_]+$/i;function D(a){let b=typeof a;if("object"===b){if(Array.isArray(a))return"array";if(a instanceof Date)return"date"}return b}function E(a){return JSON.stringify(a).replace(/\x7f/g,"\\u007f")}let F={SUCCESS:0,PARTIAL_SUCCESS:1,BAD_REQUEST:2,VALIDATION_ERROR:2,INVALID_PARAMETER:2,NOT_FOUND:3,UNAUTHORIZED:4,FORBIDDEN:4,CONFLICT:5,QUOTA_EXHAUSTED:6,FLOW_CONTROL:7,INTERNAL_SERVER_ERROR:10,NETWORK_ERROR:11,SERVICE_UNAVAILABLE:12};class G extends Error{code;exitCode;constructor(a,b,c){super(b),this.name="CLIError",this.code=a,this.exitCode=c??function(a){return F[a]??10}(a)}}function H(a){try{(0,l.chmodSync)(a,384)}catch(d){let b="win32"===process.platform,c=d&&"object"==typeof d&&"code"in d?String(d.code):"";if(!(b||"EPERM"===c||"ENOSYS"===c||"EACCES"===c)){let b=d instanceof Error?d.message:String(d);process.stderr.write(`Warning: failed to chmod 0o600 on ${a}: ${b}
4
+ `)}}}function I(a){return"string"==typeof a?a:""}(()=>{let a={};for(let[b,c]of Object.entries(k))a[c]=b})(),new(a.i(78500)).AsyncLocalStorage;var J=a.i(77860),K=a.i(72768),L=a.i(49935);a.s(["default",0,function({children:a}){return!function(){if(process.env.TABLESTORE_ACCESS_KEY_ID&&process.env.TABLESTORE_ACCESS_KEY_SECRET&&process.env.TABLESTORE_ENDPOINT&&process.env.TABLESTORE_INSTANCE_NAME)return!0;try{return function(){let a=function(){let a,b,c;if(!(0,l.existsSync)(g))return{};try{a=(0,l.statSync)(g).size}catch(a){throw new G("INVALID_CONFIG",`Failed to stat ${g}: ${a instanceof Error?a.message:String(a)}`)}if(a>1048576)throw new G("INVALID_CONFIG",`Config file exceeds 1048576 bytes: ${g} (${a} bytes). Inspect the file for accidental content or depth-bomb input.`);try{b=(0,l.readFileSync)(g,"utf-8")}catch(a){throw new G("INVALID_CONFIG",`Failed to read ${g}: ${a instanceof Error?a.message:String(a)}`)}try{c=function(a,{maxDepth:b=1e3,integersAsBigInt:c}={}){let d={},e={},f=d,g=e;for(let h=p(a,0);h<a.length;){if("["===a[h]){let b="["===a[++h],c=A(a,h+=+b,"]");if(b){if("]"!==a[c[1]-1])throw new m("expected end of table declaration",{toml:a,ptr:c[1]-1});c[1]++}let i=B(c[0],d,e,b?2:1);if(!i)throw new m("trying to redefine an already defined table or value",{toml:a,ptr:h});g=i[2],f=i[1],h=c[1]}else{let d=A(a,h),e=B(d[0],f,g,0);if(!e)throw new m("trying to redefine an already defined table or value",{toml:a,ptr:h});let i=function a(b,c,d,e,f){var g;let h,i,j;if(0===e)throw new m("document contains excessively nested structures. aborting.",{toml:b,ptr:c});let k=b[c];if("["===k||"{"===k){let[g,h]="["===k?function(b,c,d,e){let f,g=[];for(c++;"]"!==(f=b[c++])&&f;)if(","===f)throw new m("expected value, found comma",{toml:b,ptr:c-1});else if("#"===f)c=o(b,c);else if(" "!==f&&" "!==f&&"\n"!==f&&"\r"!==f){let f=a(b,c-1,"]",d-1,e);g.push(f[0]),c=f[1]}if(!f)throw new m("unfinished array encountered",{toml:b,ptr:c});return[g,c]}(b,c,e,f):function(b,c,d,e){let f,g={},h=new Set;for(c++;"}"!==(f=b[c++])&&f;)if(","===f)throw new m("expected value, found comma",{toml:b,ptr:c-1});else if("#"===f)c=o(b,c);else if(" "!==f&&" "!==f&&"\n"!==f&&"\r"!==f){let f,i=g,j=!1,[k,l]=A(b,c-1);for(let a=0;a<k.length;a++){if(a&&(i=j?i[f]:i[f]={}),(j=Object.hasOwn(i,f=k[a]))&&("object"!=typeof i[f]||h.has(i[f])))throw new m("trying to redefine an already defined value",{toml:b,ptr:c});j||"__proto__"!==f||Object.defineProperty(i,f,{enumerable:!0,configurable:!0,writable:!0})}if(j)throw new m("trying to redefine an already defined value",{toml:b,ptr:c});let[n,o]=a(b,l,"}",d-1,e);h.add(n),i[f]=n,c=o}if(!f)throw new m("unfinished table encountered",{toml:b,ptr:c});return[g,c]}(b,c,e,f);if(d){if(h=p(b,h),","===b[h])h++;else if(b[h]!==d)throw new m("expected comma or end of structure",{toml:b,ptr:h})}return[g,h]}if('"'===k||"'"===k){h=q(b,c);let a=y(b,c,h);if(d){if(h=p(b,h),b[h]&&","!==b[h]&&b[h]!==d&&"\n"!==b[h]&&"\r"!==b[h])throw new m("unexpected character encountered",{toml:b,ptr:h});h+=+(","===b[h])}return[a,h]}h=function(a,b,c,d=!1){if(!c)return(b=n(a,b))<0?a.length:b;for(let e=b;e<a.length;e++){let b=a[e];if("#"===b)e=n(a,e);else if(","===b)return e+1;else if(b===c||d&&("\n"===b||"\r"===b&&"\n"===a[e+1]))return e}throw new m("cannot find end of structure",{toml:a,ptr:b})}(b,c,d);let l=(g=h-(","===b[h-1]),(j=(i=b.slice(c,g)).indexOf("#"))>-1&&(o(b,j),i=i.slice(0,j)),[i.trimEnd(),j]);if(!l[0])throw new m("incomplete key-value declaration: no value specified",{toml:b,ptr:c});return d&&l[1]>-1&&(h=p(b,c+l[1]),h+=+(","===b[h])),[function(a,b,c,d){if("true"===a)return!0;if("false"===a)return!1;if("-inf"===a)return-1/0;if("inf"===a||"+inf"===a)return 1/0;if("nan"===a||"+nan"===a||"-nan"===a)return NaN;if("-0"===a)return d?0n:0;let e=t.test(a);if(e||u.test(a)){if(v.test(a))throw new m("leading zeroes are not allowed",{toml:b,ptr:c});let f=+(a=a.replace(/_/g,""));if(isNaN(f))throw new m("invalid number",{toml:b,ptr:c});if(e){if((e=!Number.isSafeInteger(f))&&!d)throw new m("integer value cannot be represented losslessly",{toml:b,ptr:c});(e||!0===d)&&(f=BigInt(a))}return f}let f=new s(a);if(!f.isValid())throw new m("invalid value",{toml:b,ptr:c});return f}(l[0],b,c,f),h]}(a,d[1],void 0,b,c);e[1][e[0]]=i[0],h=i[1]}if(h=p(a,h,!0),a[h]&&"\n"!==a[h]&&"\r"!==a[h])throw new m("each key-value declaration must be followed by an end-of-line",{toml:a,ptr:h});h=p(a,h)}return d}(b)}catch(a){throw new G("INVALID_CONFIG",`Malformed TOML in ${g}: ${a instanceof Error?a.message:String(a)}`)}return function(a){let b,c=void 0!==a.managed_ots&&null!==a.managed_ots&&"object"==typeof a.managed_ots,d=void 0!==a.managed_oss&&null!==a.managed_oss&&"object"==typeof a.managed_oss;if(!c&&!d)return!1;let e="string"==typeof a[h]?a[h]:"",f=a[i]&&"object"==typeof a[i]?a[i]:null;return e&&e!==j&&f&&f[e]&&"object"==typeof f[e]?b=f[e]:a.default&&"object"==typeof a.default?b=a.default:a.default=b={},c&&!b.managed_ots&&(b.managed_ots=a.managed_ots),d&&!b.managed_oss&&(b.managed_oss=a.managed_oss),delete a.managed_ots,delete a.managed_oss,!0}(c)&&function(a){(0,l.mkdirSync)(f,{recursive:!0,mode:448});let b=`${g}.${process.pid}.${Date.now()}.tmp`;try{(0,l.writeFileSync)(b,function(a,{maxDepth:b=1e3,numbersAsFloat:c=!1}={}){if("object"!==D(a))throw TypeError("stringify can only be called with an object");let d=function a(b,c,d,e,f){if(0===e)throw Error("Could not stringify the object: maximum object depth exceeded");let g="",h="",i=Object.keys(c);for(let b=0;b<i.length;b++){let j=i[b];if(null!==c[j]&&void 0!==c[j]){let b=D(c[j]);if("symbol"===b||"function"===b)throw TypeError(`cannot serialize values of type '${b}'`);let i=C.test(j)?j:E(j);if("array"===b&&function(a){for(let b=0;b<a.length;b++)if("object"!==D(a[b]))return!1;return 0!=a.length}(c[j]))h+=(h&&"\n")+function(b,c,d,e){if(0===d)throw Error("Could not stringify the object: maximum object depth exceeded");let f="";for(let g=0;g<b.length;g++)f+=`${f&&"\n"}[[${c}]]
5
+ `,f+=a(0,b[g],c,d,e);return f}(c[j],d?`${d}.${i}`:i,e-1,f);else if("object"===b){let b=d?`${d}.${i}`:i;h+=(h&&"\n")+a(b,c[j],b,e-1,f)}else g+=i,g+=" = ",g+=function a(b,c,d,e){if(0===d)throw Error("Could not stringify the object: maximum object depth exceeded");if("number"===c)return isNaN(b)?"nan":b===1/0?"inf":b===-1/0?"-inf":e&&Number.isInteger(b)?b.toFixed(1):b.toString();if("bigint"===c||"boolean"===c)return b.toString();if("string"===c)return E(b);if("date"===c){if(isNaN(b.getTime()))throw TypeError("cannot serialize invalid date");return b.toISOString()}return"object"===c?function(b,c,d){let e=Object.keys(b);if(0===e.length)return"{}";let f="{ ";for(let g=0;g<e.length;g++){let h=e[g];g&&(f+=", "),f+=C.test(h)?h:E(h),f+=" = ",f+=a(b[h],D(b[h]),c-1,d)}return f+" }"}(b,d,e):"array"===c?function(b,c,d){if(0===b.length)return"[]";let e="[ ";for(let f=0;f<b.length;f++){if(f&&(e+=", "),null===b[f]||void 0===b[f])throw TypeError("arrays cannot contain null or undefined values");e+=a(b[f],D(b[f]),c-1,d)}return e+" ]"}(b,d,e):void 0}(c[j],b,e,f),g+="\n"}}return b&&(g||!h)&&(g=g?`[${b}]
6
+ ${g}`:`[${b}]`),g&&h?`${g}
7
+ ${h}`:g||h}(0,a,"",b,c);return"\n"!==d[d.length-1]?d+"\n":d}(a),"utf-8"),H(b);try{let a=(0,l.openSync)(b,"r+");try{(0,l.fsyncSync)(a)}finally{(0,l.closeSync)(a)}}catch{}(0,l.renameSync)(b,g)}catch(a){try{(0,l.unlinkSync)(b)}catch{}throw a}H(g)}(c),c}(),b="string"==typeof a[h]?a[h]:"",c=function(a){let b=a[i];if(!b||"object"!=typeof b)return{};let c={};for(let[a,d]of Object.entries(b))d&&"object"==typeof d&&(c[a]=d);return c}(a),d=a.default&&"object"==typeof a.default?a.default:{},e=[];for(let a of Object.keys(c).sort()){let d=c[a];e.push({name:a,active:b===a,ots_instance_name:I(d.ots_instance_name),region:I(d.region),is_default_fallback:!1})}return Object.keys(d).length>0&&e.push({name:j,active:b===j,ots_instance_name:I(d.ots_instance_name),region:I(d.region),is_default_fallback:!0}),e}().length>0}catch{return!1}}()&&(0,c.redirect)("/onboarding"),(0,b.jsxs)("div",{className:"min-h-screen bg-[hsl(var(--background))]",children:[(0,b.jsx)("a",{href:"#main-content",className:"sr-only focus:not-sr-only focus:fixed focus:left-4 focus:top-4 focus:z-50 focus:rounded-md focus:bg-primary focus:px-3 focus:py-2 focus:text-sm focus:font-medium focus:text-primary-foreground focus:shadow-md",children:"跳转到主内容"}),(0,b.jsx)(J.Sidebar,{}),(0,b.jsx)(K.SidebarMobile,{}),(0,b.jsx)(L.SidebarOffset,{children:(0,b.jsx)("main",{id:"main-content",className:"min-h-screen px-7 py-5 max-md:px-4",children:a})})]})},"dynamic",0,"force-dynamic"],55244)},491,a=>{a.n(a.i(55244))}];
8
+
9
+ //# sourceMappingURL=dashboard_src_0o9jhcn._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[49857,68565,2236,75416,75569,64991,a=>{"use strict";var b=a.i(47845),c=a.i(23028),d=a.i(50053);let e=(0,d.default)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);var f=a.i(88189),g=a.i(1078);let h=[{title:"对话",items:[{title:"对话智能体",href:"/chat",icon:f.MessageSquare}]},{title:"知识库",items:[{title:"知识库管理",href:"/knowledge-base",icon:c.Database}]},{title:"记忆库",items:[{title:"记忆库管理",href:"/memory",icon:b.Brain}]},{title:"配置",items:[{title:"模型提供商",href:"/llm-providers",icon:g.Sparkles},{title:"项目管理",href:"/projects",icon:e}]}];h.flatMap(a=>a.items),a.s(["sidebarGroups",0,h],49857);var i=a.i(34020),j=a.i(12583),k=a.i(80470);let l=(0,d.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var m=a.i(64565),n=a.i(34841);a.s(["SidebarItem",0,function({item:a,collapsed:b=!1}){let c=(0,k.usePathname)(),d=a.icon,e=!!a.href&&(c===a.href||c?.startsWith(`${a.href}/`)),f=a.comingSoon||!a.href,g=(0,i.jsxs)("span",{className:(0,m.cn)("group relative flex items-center font-medium transition-colors duration-150",b?"mx-auto h-8 w-8 justify-center rounded-md text-[14px]":"h-9 gap-2.5 rounded-md px-3 text-[14px]",e?"bg-[hsl(var(--sidebar-active-bg))] text-[hsl(var(--sidebar-active-fg))]":"text-[hsl(var(--sidebar-text))] hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",f&&"cursor-not-allowed opacity-50 hover:bg-transparent hover:text-[hsl(var(--sidebar-text))]"),children:[(0,i.jsx)(d,{className:(0,m.cn)("shrink-0",b?"h-[18px] w-[18px]":"h-4 w-4")}),!b&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:"flex-1 truncate",children:a.title}),a.comingSoon&&(0,i.jsxs)("span",{className:"flex items-center gap-1 rounded-md bg-[hsl(var(--muted))] px-1.5 py-0.5 text-[10px] font-medium text-[hsl(var(--muted-foreground))]",children:[(0,i.jsx)(l,{className:"h-3 w-3"}),"即将开放"]})]})]}),h=b||f,o=a.tooltip??a.title,p=f?(0,i.jsx)("div",{"aria-disabled":"true",children:g}):(0,i.jsx)(j.default,{href:a.href,className:"block no-underline",children:g});return h?(0,i.jsx)(n.TooltipProvider,{delayDuration:200,children:(0,i.jsxs)(n.Tooltip,{children:[(0,i.jsx)(n.TooltipTrigger,{asChild:!0,children:p}),(0,i.jsx)(n.TooltipContent,{side:"right",sideOffset:8,children:o})]})}):p}],68565);var o=a.i(71938),p=a.i(53520),q=a.i(82725),r=a.i(25825),s=a.i(10581),t=a.i(24666),u=a.i(21184),v=a.i(47161);function w({activeName:a,instances:b,onSelect:c,onCreate:d,onManage:e}){return(0,i.jsxs)(t.DropdownMenuContent,{align:"start",className:"min-w-[220px]",children:[(0,i.jsx)(t.DropdownMenuLabel,{children:"切换项目"}),0===b.length?(0,i.jsx)("div",{className:"px-3 py-2 text-xs text-[hsl(var(--muted-foreground))]",children:"暂无项目,先创建一个。"}):b.map(b=>{let d=b.name===a;return(0,i.jsxs)(t.DropdownMenuItem,{onSelect:a=>{a.preventDefault(),c(b.name)},className:"flex items-center gap-2 pr-2",children:[(0,i.jsx)(p.Check,{className:(0,m.cn)("h-3.5 w-3.5 shrink-0",d?"text-[hsl(var(--primary))]":"opacity-0")}),(0,i.jsx)("span",{className:"flex-1 truncate",children:b.name}),b.region&&(0,i.jsx)("span",{className:"text-[11px] text-[hsl(var(--muted-foreground))]",children:b.region})]},b.name)}),(0,i.jsx)(t.DropdownMenuSeparator,{}),(0,i.jsxs)(t.DropdownMenuItem,{onSelect:a=>{a.preventDefault(),d()},children:[(0,i.jsx)(r.Plus,{className:"h-3.5 w-3.5"}),"创建新项目"]}),(0,i.jsxs)(t.DropdownMenuItem,{onSelect:a=>{a.preventDefault(),e()},children:[(0,i.jsx)(s.Settings2,{className:"h-3.5 w-3.5"}),"项目管理"]})]})}function x({title:a="Usage",items:b,className:c,...d}){return(0,i.jsxs)("div",{className:(0,m.cn)("rounded-md bg-[hsl(var(--background))] p-3 text-xs",c),...d,children:[(0,i.jsx)("div",{className:"mb-1.5 font-semibold text-[hsl(var(--muted-foreground))]",children:a}),b.map((a,b)=>(0,i.jsxs)("div",{className:"flex justify-between text-[hsl(var(--subtle))] last:mb-0",children:[(0,i.jsx)("span",{children:a.label}),(0,i.jsx)("span",{children:a.value})]},b))]})}a.s(["SidebarInstanceCard",0,function({collapsed:a}){let b=(0,k.useRouter)(),c=(0,k.usePathname)(),[d,e]=(0,o.useState)(!1),{data:f,isLoading:g}=(0,v.useInstances)(),h=(0,v.useSwitchInstance)(),j=f?.activeInstance??null,l=f?.instances??[];async function n(a){if(a!==j&&!h.isPending)try{await h.mutateAsync(a);let b=(c?c.match(/^\/knowledge-base\/[^/]+(?:\/.*)?$/)?"/knowledge-base":c.match(/^\/memory\/[^/]+(?:\/.*)?$/)?"/memory":null:null)??window.location.pathname;window.location.assign(b)}catch{}}return a?(0,i.jsxs)("div",{className:"flex justify-center px-0 pt-3",children:[(0,i.jsxs)(t.DropdownMenu,{children:[(0,i.jsx)(t.DropdownMenuTrigger,{asChild:!0,children:(0,i.jsx)("button",{type:"button","aria-label":j?`当前实例:${j}`:"选择项目",title:j??"选择项目",disabled:g,className:(0,m.cn)("flex h-8 w-8 items-center justify-center rounded-full border border-[hsl(var(--border))] bg-[hsl(var(--card))] text-[11px] font-semibold uppercase text-[hsl(var(--foreground))] transition-colors","hover:border-[hsl(var(--primary))] hover:text-[hsl(var(--primary))]","disabled:opacity-50"),children:(j??"?").charAt(0)})}),(0,i.jsx)(w,{activeName:j,instances:l,onSelect:n,onCreate:()=>e(!0),onManage:()=>b.push("/projects")})]}),(0,i.jsx)(u.ConnectInstanceDialog,{open:d,onOpenChange:e,onSuccess:()=>b.refresh()})]}):(0,i.jsxs)("div",{className:"px-3 pt-3",children:[(0,i.jsxs)(t.DropdownMenu,{children:[(0,i.jsx)(t.DropdownMenuTrigger,{asChild:!0,children:(0,i.jsxs)("button",{type:"button",disabled:g,className:"group flex w-full items-center gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--secondary))] px-3 py-2 text-left transition-colors hover:bg-[hsl(var(--accent))]",children:[(0,i.jsxs)("div",{className:"flex flex-1 flex-col overflow-hidden",children:[(0,i.jsx)("span",{className:"text-[11px] uppercase tracking-wider text-[hsl(var(--muted-foreground))]",children:"当前实例"}),(0,i.jsx)("span",{className:"truncate text-sm font-semibold text-[hsl(var(--foreground))]",children:j??"未选择"})]}),(0,i.jsx)(q.ChevronsUpDown,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--muted-foreground))]"})]})}),(0,i.jsx)(w,{activeName:j,instances:l,onSelect:n,onCreate:()=>e(!0),onManage:()=>b.push("/projects")})]}),(0,i.jsx)(u.ConnectInstanceDialog,{open:d,onOpenChange:e,onSuccess:()=>b.refresh()})]})}],2236);var y=a.i(9367),z=a.i(10220);a.s(["SidebarUsageStats",0,function(){let a=(0,y.useKnowledgeBases)(),b=(0,z.useMemoryStores)(),c=a.data?.totalCount??a.data?.items?.length,d=b.data?.totalCount??b.data?.items?.length;return(0,i.jsx)(x,{items:[{label:"知识库",value:c??"—"},{label:"记忆库",value:d??"—"}]})}],75416);var A=a.i(69045);a.s(["HelpLink",0,function({collapsed:a}){var b;let c=(b=(0,k.usePathname)(),b?.startsWith("/knowledge-base")?"https://help.aliyun.com/zh/tablestore/knowledge-base-rag/":"https://help.aliyun.com/zh/tablestore/");return a?(0,i.jsx)("a",{href:c,target:"_blank",rel:"noreferrer",title:"帮助","aria-label":"帮助",className:"flex h-8 w-8 items-center justify-center rounded-md text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",children:(0,i.jsx)(A.HelpCircle,{className:"h-4 w-4"})}):(0,i.jsxs)("a",{href:c,target:"_blank",rel:"noreferrer",title:"帮助",className:(0,m.cn)("flex h-8 items-center gap-2 rounded-md px-3 text-sm text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]"),children:[(0,i.jsx)(A.HelpCircle,{className:"h-4 w-4 shrink-0"}),(0,i.jsx)("span",{children:"帮助"})]})}],75569);let B=(0,d.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),C=(0,d.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),D=(0,d.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var E=a.i(66157);let F=["light","system","dark"],G={light:D,system:C,dark:B},H={light:"浅色",system:"自动",dark:"深色"};a.s(["ThemeToggle",0,function({collapsed:a}){let{theme:b,setTheme:c,resolvedTheme:d}=(0,E.useTheme)(),[e,f]=(0,o.useState)(!1);if((0,o.useEffect)(()=>f(!0),[]),!e)return a?(0,i.jsx)("div",{className:"h-8 w-8","aria-hidden":!0}):(0,i.jsx)("div",{className:"h-8 w-[108px]","aria-hidden":!0});let g=b??"system";if(a){let a=(F.indexOf(g)+1)%F.length,b=F[a],e="system"===g?"dark"===d?"dark":"light":g,f=G[e];return(0,i.jsx)(n.TooltipProvider,{delayDuration:200,children:(0,i.jsxs)(n.Tooltip,{children:[(0,i.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,i.jsxs)("button",{type:"button","aria-label":`切换到 ${H[b]} 主题`,"data-mode":g,onClick:()=>c(b),className:(0,m.cn)("relative flex h-8 w-8 items-center justify-center rounded-md text-[hsl(var(--muted-foreground))] transition-colors","hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--primary)/0.3)]"),children:[(0,i.jsx)(D,{className:(0,m.cn)("absolute h-[18px] w-[18px] transition-all duration-300 ease-[cubic-bezier(0.34,1.56,0.64,1)]","light"===e?"rotate-0 scale-100 opacity-100":"-rotate-90 scale-50 opacity-0")}),(0,i.jsx)(B,{className:(0,m.cn)("absolute h-[18px] w-[18px] transition-all duration-300 ease-[cubic-bezier(0.34,1.56,0.64,1)]","dark"===e?"rotate-0 scale-100 opacity-100":"rotate-90 scale-50 opacity-0")}),"system"===g&&(0,i.jsx)("span",{"aria-hidden":!0,className:"absolute bottom-0.5 right-0.5 flex h-2.5 w-2.5 items-center justify-center rounded-full bg-[hsl(var(--card))] text-[hsl(var(--primary))] ring-1 ring-[hsl(var(--border))]",children:(0,i.jsx)(C,{className:"h-1.5 w-1.5",strokeWidth:3})}),(0,i.jsx)(f,{"aria-hidden":!0,className:"hidden"})]})}),(0,i.jsxs)(n.TooltipContent,{side:"right",sideOffset:8,children:["主题:",H[g]," · 点击切换至 ",H[b]]})]})})}return(0,i.jsx)("div",{role:"radiogroup","aria-label":"主题",className:(0,m.cn)("inline-flex items-center gap-0.5 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--secondary))] p-0.5","shadow-[inset_0_1px_2px_rgba(15,23,42,0.04)]"),children:F.map(a=>{let b=G[a],d=g===a;return(0,i.jsx)(n.TooltipProvider,{delayDuration:300,children:(0,i.jsxs)(n.Tooltip,{children:[(0,i.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,i.jsx)("button",{type:"button",role:"radio","aria-checked":d,"aria-label":H[a],"data-state":d?"on":"off",onClick:()=>c(a),className:(0,m.cn)("relative flex h-7 w-7 items-center justify-center rounded transition-all duration-200","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--primary)/0.3)]",d?"bg-[hsl(var(--card))] text-[hsl(var(--primary))] shadow-sm":"text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))]"),children:(0,i.jsx)(b,{className:"h-3.5 w-3.5"})})}),(0,i.jsx)(n.TooltipContent,{side:"top",sideOffset:6,children:H[a]})]})},a)})})}],64991)},21987,a=>{"use strict";var b=a.i(34020),c=a.i(12583),d=a.i(65173),e=a.i(7704),f=a.i(98437),g=a.i(49857),h=a.i(7378),i=a.i(64565),j=a.i(34841),k=a.i(68565),l=a.i(2236),m=a.i(75416),n=a.i(75569),o=a.i(64991);a.s(["Sidebar",0,function(){let{collapsed:a,toggle:p}=(0,h.useSidebarCollapsed)(),q=a?"w-16":"w-[220px]";return(0,b.jsxs)("aside",{"data-collapsed":a,className:(0,i.cn)("fixed left-0 top-0 bottom-0 z-40 hidden flex-col border-r border-[hsl(var(--sidebar-border))] bg-[hsl(var(--sidebar-bg))] transition-[width] duration-200 ease-out md:flex",q),children:[(0,b.jsxs)(c.default,{href:"/",className:(0,i.cn)("flex h-14 shrink-0 items-center gap-2.5 border-b border-[hsl(var(--sidebar-border))] transition-opacity hover:opacity-80",a?"justify-center px-0":"px-4"),children:[(0,b.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] shadow-sm",children:(0,b.jsx)(f.Zap,{className:"h-4 w-4"})}),!a&&(0,b.jsx)("span",{className:"text-[15px] font-semibold tracking-tight text-[hsl(var(--foreground))]",children:"Agent Storage"})]}),(0,b.jsx)(l.SidebarInstanceCard,{collapsed:a}),(0,b.jsx)("nav",{className:(0,i.cn)("flex-1 overflow-y-auto py-3",a?"px-2":"px-3"),children:g.sidebarGroups.map((c,d)=>(0,b.jsxs)("div",{className:(0,i.cn)(d>0&&(a?"mt-3":"mt-4")),children:[!a&&(0,b.jsx)("div",{className:"mb-1.5 px-3 text-[11px] font-semibold uppercase tracking-wider text-[hsl(var(--muted-foreground))]",children:c.title}),(0,b.jsx)("div",{className:(0,i.cn)(a?"space-y-1":"space-y-0.5"),children:c.items.map(c=>(0,b.jsx)(k.SidebarItem,{item:c,collapsed:a},c.title))})]},c.title))}),(0,b.jsxs)("div",{className:(0,i.cn)("shrink-0 border-t border-[hsl(var(--sidebar-border))]",a?"px-2 py-2":"p-3"),children:[!a&&(0,b.jsx)("div",{className:"mb-2",children:(0,b.jsx)(m.SidebarUsageStats,{})}),(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center",a?"flex-col gap-1":"justify-between gap-1"),children:[(0,b.jsx)(n.HelpLink,{collapsed:a}),(0,b.jsx)(o.ThemeToggle,{collapsed:a}),a?(0,b.jsx)(j.TooltipProvider,{delayDuration:200,children:(0,b.jsxs)(j.Tooltip,{children:[(0,b.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:p,"aria-label":"展开侧边栏",className:"flex h-8 w-8 items-center justify-center rounded-md text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",children:(0,b.jsx)(e.ChevronRight,{className:"h-4 w-4"})})}),(0,b.jsx)(j.TooltipContent,{side:"right",sideOffset:8,children:"展开侧边栏"})]})}):null]}),!a&&(0,b.jsxs)("button",{type:"button",onClick:p,"aria-label":"收起侧边栏",className:"mt-2 flex h-8 w-full items-center gap-2 rounded-md px-3 text-xs text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",children:[(0,b.jsx)(d.ChevronLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:"收起"})]})]})]})}])},34962,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(12583),e=a.i(80470),f=a.i(88619);let g=(0,a.i(50053).default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);var h=a.i(14151),i=a.i(98437),j=a.i(49857),k=a.i(64565),l=a.i(68565),m=a.i(2236),n=a.i(75416),o=a.i(75569),p=a.i(64991);a.s(["SidebarMobile",0,function(){let[a,q]=(0,c.useState)(!1),r=(0,e.usePathname)();return(0,c.useEffect)(()=>{q(!1)},[r]),(0,b.jsxs)("div",{className:"flex h-14 items-center gap-3 border-b border-[hsl(var(--sidebar-border))] bg-[hsl(var(--sidebar-bg))] px-4 md:hidden",children:[(0,b.jsxs)(f.Root,{open:a,onOpenChange:q,children:[(0,b.jsx)(f.Trigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":"打开菜单",className:"rounded-md p-2 text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",children:(0,b.jsx)(g,{className:"h-5 w-5"})})}),(0,b.jsxs)(f.Portal,{children:[(0,b.jsx)(f.Overlay,{className:"fixed inset-0 z-50 bg-black/30 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"}),(0,b.jsxs)(f.Content,{className:"fixed left-0 top-0 z-50 flex h-full w-[260px] flex-col border-r border-[hsl(var(--sidebar-border))] bg-[hsl(var(--sidebar-bg))] shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left data-[state=open]:duration-200",children:[(0,b.jsx)(f.Title,{className:"sr-only",children:"导航菜单"}),(0,b.jsxs)("div",{className:"flex h-14 items-center justify-between border-b border-[hsl(var(--sidebar-border))] px-4",children:[(0,b.jsxs)(d.default,{href:"/",className:"flex items-center gap-2.5",children:[(0,b.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] shadow-sm",children:(0,b.jsx)(i.Zap,{className:"h-4 w-4"})}),(0,b.jsx)("span",{className:"text-[15px] font-semibold tracking-tight text-[hsl(var(--foreground))]",children:"Agent Storage"})]}),(0,b.jsx)(f.Close,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":"关闭菜单",className:"rounded-md p-2 text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",children:(0,b.jsx)(h.X,{className:"h-4 w-4"})})})]}),(0,b.jsx)(m.SidebarInstanceCard,{}),(0,b.jsx)("nav",{className:"flex-1 overflow-y-auto px-3 py-3",children:j.sidebarGroups.map((a,c)=>(0,b.jsxs)("div",{className:(0,k.cn)(c>0&&"mt-4"),children:[(0,b.jsx)("div",{className:"mb-1.5 px-3 text-[11px] font-semibold uppercase tracking-wider text-[hsl(var(--muted-foreground))]",children:a.title}),(0,b.jsx)("div",{className:"space-y-0.5",children:a.items.map(a=>(0,b.jsx)(l.SidebarItem,{item:a},a.title))})]},a.title))}),(0,b.jsxs)("div",{className:"border-t border-[hsl(var(--sidebar-border))] p-3 space-y-2",children:[(0,b.jsx)(n.SidebarUsageStats,{}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-1",children:[(0,b.jsx)(o.HelpLink,{}),(0,b.jsx)(p.ThemeToggle,{})]})]})]})]})]}),(0,b.jsxs)(d.default,{href:"/",className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))]",children:(0,b.jsx)(i.Zap,{className:"h-3.5 w-3.5"})}),(0,b.jsx)("span",{className:"text-sm font-semibold tracking-tight text-[hsl(var(--foreground))]",children:"Agent Storage"})]})]})}],34962)},45015,a=>{"use strict";var b=a.i(34020),c=a.i(7378),d=a.i(64565);a.s(["SidebarOffset",0,function({children:a}){let{collapsed:e}=(0,c.useSidebarCollapsed)();return(0,b.jsx)("div",{className:(0,d.cn)("transition-[margin] duration-200 ease-out",e?"md:ml-16":"md:ml-[220px]"),children:a})}])}];
2
+
3
+ //# sourceMappingURL=dashboard_src_0xf3ffa._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[47161,28974,a=>{"use strict";var b=a.i(33596),c=a.i(83366),d=a.i(77072),e=a.i(63265),f=a.i(53141);async function g(){return(0,f.apiGet)("/api/v1/instances")}async function h(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function i(a){return(0,f.apiPost)("/api/v1/instances",a)}async function j(a){return(0,f.apiPost)("/api/v1/instances",a)}async function k(a,b){return(0,f.apiPut)(`/api/v1/instances/${encodeURIComponent(a)}`,b)}async function l(a){return(0,f.apiDelete)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function m(a){return(0,f.apiPost)(`/api/v1/instances/${encodeURIComponent(a)}/use`)}async function n(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}/token`)}var o=a.i(25377),p=a.i(39096);function q(a){(0,o.invalidateInstanceScopedQueries)(a)}function r(a){(0,o.resetInstanceScopedQueries)(a)}function s(a){a.invalidateQueries({queryKey:o.RUNTIME_CONTEXT_QUERY_KEY})}a.s(["useConnectInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>i(a),onSuccess:()=>{r(a),s(a),e.toast.success("项目已创建")},onError:a=>{e.toast.error(a instanceof Error?a.message:"创建项目失败")}})},"useDeleteInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>l(a),onSuccess:()=>{q(a),s(a),e.toast.success("项目已删除")},onError:a=>{e.toast.error(a instanceof Error?a.message:"删除项目失败")}})},"useExportInstanceToken",0,function(){return(0,b.useMutation)({mutationFn:a=>n(a),onError:a=>{e.toast.error(a instanceof Error?a.message:"导出 Token 失败")}})},"useImportInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>j(a),onSuccess:()=>{r(a),s(a),e.toast.success("Token 已导入")},onError:a=>{e.toast.error(a instanceof Error?a.message:"导入 Token 失败")}})},"useInstance",0,function(a){let{context:b,ready:d}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instance(b.dataScopeKey,a),queryFn:()=>h(a),enabled:d&&!!a,staleTime:3e4})},"useInstances",0,function(){let{context:a,ready:b}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instances(a.dataScopeKey),queryFn:g,enabled:b,staleTime:3e4})},"useSwitchInstance",0,function(){let a=(0,d.useQueryClient)(),{context:c}=(0,p.useRuntimeContext)();return(0,b.useMutation)({mutationFn:a=>m(a),onSuccess:({activeInstance:b})=>{r(a),s(a),e.toast.success("已切换当前项目")},onError:a=>{e.toast.error(a instanceof Error?a.message:"切换项目失败")}})},"useUpdateInstance",0,function(a){let c=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:b=>k(a,b),onSuccess:()=>{q(c),c.invalidateQueries({queryKey:["instance"]}),s(c),e.toast.success("项目已更新")},onError:a=>{e.toast.error(a instanceof Error?a.message:"更新项目失败")}})}],47161),a.s(["isImportPayload",0,function(a){return"string"==typeof a.token}],28974)},19446,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(71071),e=a.i(71562),f=a.i(44401),g=a.i(80904);let h=g.z.string().trim().regex(/^[a-z0-9-]{1,32}$/,"名称需为 1-32 位小写字母、数字或连字符").refine(a=>"default"!==a,'名称 "default" 为保留字'),i=(a,b=512)=>g.z.string().trim().min(1,`请输入${a}`).max(b),j=(a=512)=>g.z.string().trim().max(a).optional().or(g.z.literal("")),k=g.z.object({name:h,accessKeyId:i("AccessKey ID",128),accessKeySecret:i("AccessKey Secret",512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()});g.z.object({accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:j(256),otsInstanceName:j(128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]});let l=g.z.object({name:h,accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]}),m=g.z.object({token:g.z.string().trim().min(10,"Token 长度不足,无法解析").max(4096),name:h.optional(),activate:g.z.boolean().optional()});var n=a.i(76192),o=a.i(92942),p=a.i(72518),q=a.i(63525),r=a.i(16038),s=a.i(70535);let t=k.extend({otsEndpoint:g.z.string().trim().url("请输入合法的 OTS Endpoint URL"),ossEndpoint:g.z.string().trim().url("请输入合法的 OSS Endpoint URL").optional().or(g.z.literal(""))}),u=m.pick({token:!0}),v=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-hangzhou",label:"华东 1(杭州)"},{value:"cn-shanghai",label:"华东 2(上海)"},{value:"cn-shenzhen",label:"华南 1(深圳)"},{value:"__custom__",label:"其它(自定义)"}];a.s(["ConnectInstanceForm",0,function({mode:a,defaultValues:g,accessKeyIdPlaceholder:h,accessKeySecretPlaceholder:i,onSubmit:j,busy:k,lockName:m,submitLabel:w}){let[x,y]=(0,c.useState)("manual"),z="edit"===a,A=g?.region??"cn-hangzhou",B=(0,c.useMemo)(()=>v.some(a=>a.value===A),[A]),[C,D]=(0,c.useState)(B?A:"__custom__"),E=(0,c.useMemo)(()=>(0,d.zodResolver)(z?l:t),[z]),F=(0,e.useForm)({resolver:E,defaultValues:{name:g?.name??"",accessKeyId:z?"":g?.accessKeyId??"",accessKeySecret:z?"":g?.accessKeySecret??"",otsEndpoint:g?.otsEndpoint??"",otsInstanceName:g?.otsInstanceName??"",ossEndpoint:g?.ossEndpoint??"",ossBucketName:g?.ossBucketName??"",region:A}}),G=(0,e.useForm)({resolver:(0,d.zodResolver)(u),defaultValues:{token:""}});async function H(a){let b=a.ossEndpoint?.trim()||void 0,c=a.ossBucketName?.trim()||void 0;b&&c&&(b=function(a,b){try{let c=new URL(a);if(c.hostname.startsWith(`${b}.`))return c.hostname=c.hostname.slice(b.length+1),c.toString().replace(/\/$/,"")}catch{}return a}(b,c));let d={...a,ossEndpoint:b,ossBucketName:c};await j(d)}async function I(a){let b={token:a.token.trim()};await j(b)}let J="create"===a;return(0,b.jsxs)(r.Tabs,{value:x,onValueChange:a=>y(a),className:"w-full",children:[J&&(0,b.jsxs)(r.TabsList,{className:"grid w-full grid-cols-2",children:[(0,b.jsx)(r.TabsTrigger,{value:"manual",children:"手动填写"}),(0,b.jsx)(r.TabsTrigger,{value:"token",children:"导入 Token"})]}),(0,b.jsx)(r.TabsContent,{value:"manual",className:"mt-4",children:(0,b.jsx)(o.Form,{...F,children:(0,b.jsxs)("form",{onSubmit:F.handleSubmit(H),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"name",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目名称"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"prod-main",disabled:m||k,autoComplete:"off"})}),(0,b.jsx)(o.FormDescription,{children:"仅用于本地区分,不会发送到服务端。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeyId",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey ID"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,autoComplete:"off",disabled:k,placeholder:z&&h?`${h} \xb7 留空表示保留`:void 0})}),z&&(0,b.jsx)(o.FormDescription,{children:"AK 与 SK 必须成对更新,留空则保留现有凭证。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeySecret",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey Secret"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,type:"password",autoComplete:"new-password",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"otsEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS Endpoint"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://xxx.cn-hangzhou.ots.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"otsInstanceName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS 实例名"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] px-3 py-2 text-xs text-[hsl(var(--muted-foreground))]",children:[(0,b.jsx)(f.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]"}),(0,b.jsx)("span",{children:"OSS 信息为可选项。若需上传文档到知识库,OSS Endpoint 与 Bucket 必填; 留空则项目只能用于查询与检索,文件上传功能将不可用。"})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"ossEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Endpoint(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://oss-cn-hangzhou.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"ossBucketName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Bucket(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsx)(o.FormField,{control:F.control,name:"region",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"Region"}),"__custom__"===C?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"cn-xxx",disabled:k})}),(0,b.jsx)(n.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{D("cn-hangzhou"),a.onChange("cn-hangzhou")},disabled:k,children:"使用预设"})]}):(0,b.jsxs)(q.Select,{value:C,onValueChange:b=>{D(b),"__custom__"!==b?a.onChange(b):a.onChange("")},disabled:k,children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(q.SelectTrigger,{children:(0,b.jsx)(q.SelectValue,{})})}),(0,b.jsx)(q.SelectContent,{children:v.map(a=>(0,b.jsx)(q.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"提交中...":w??("edit"===a?"保存":"创建项目")})})]})})}),J&&(0,b.jsx)(r.TabsContent,{value:"token",className:"mt-4",children:(0,b.jsx)(o.Form,{...G,children:(0,b.jsxs)("form",{onSubmit:G.handleSubmit(I),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:G.control,name:"token",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目 Token"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(s.Textarea,{...a,rows:5,placeholder:"粘贴从其他环境导出的项目 Token",disabled:k})}),(0,b.jsx)(o.FormDescription,{children:"Token 中已包含 AK/SK、Endpoint 等全部连接信息。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"导入中...":"导入并连接"})})]})})})]})}],19446)}];
1
+ module.exports=[47161,28974,a=>{"use strict";var b=a.i(33596),c=a.i(83366),d=a.i(77072),e=a.i(63265),f=a.i(53141);async function g(){return(0,f.apiGet)("/api/v1/instances")}async function h(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function i(a){return(0,f.apiPost)("/api/v1/instances",a)}async function j(a){return(0,f.apiPost)("/api/v1/instances",a)}async function k(a,b){return(0,f.apiPut)(`/api/v1/instances/${encodeURIComponent(a)}`,b)}async function l(a){return(0,f.apiDelete)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function m(a){return(0,f.apiPost)(`/api/v1/instances/${encodeURIComponent(a)}/use`)}async function n(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}/token`)}var o=a.i(25377),p=a.i(39096);function q(a){(0,o.invalidateInstanceScopedQueries)(a)}function r(a){(0,o.resetInstanceScopedQueries)(a)}function s(a){a.invalidateQueries({queryKey:o.RUNTIME_CONTEXT_QUERY_KEY})}a.s(["useConnectInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>i(a),onSuccess:()=>{r(a),s(a),e.toast.success("项目已创建")},onError:a=>{e.toast.error(a instanceof Error?a.message:"创建项目失败")}})},"useDeleteInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>l(a),onSuccess:()=>{q(a),s(a),e.toast.success("项目已删除")},onError:a=>{e.toast.error(a instanceof Error?a.message:"删除项目失败")}})},"useExportInstanceToken",0,function(){return(0,b.useMutation)({mutationFn:a=>n(a),onError:a=>{e.toast.error(a instanceof Error?a.message:"导出 Token 失败")}})},"useImportInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>j(a),onSuccess:()=>{r(a),s(a),e.toast.success("Token 已导入")},onError:a=>{e.toast.error(a instanceof Error?a.message:"导入 Token 失败")}})},"useInstance",0,function(a){let{context:b,ready:d}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instance(b.dataScopeKey,a),queryFn:()=>h(a),enabled:d&&!!a,staleTime:3e4})},"useInstances",0,function(){let{context:a,ready:b}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instances(a.dataScopeKey),queryFn:g,enabled:b,staleTime:3e4})},"useSwitchInstance",0,function(){let a=(0,d.useQueryClient)(),{context:c}=(0,p.useRuntimeContext)();return(0,b.useMutation)({mutationFn:a=>m(a),onSuccess:({activeInstance:b})=>{r(a),s(a),e.toast.success("已切换当前项目")},onError:a=>{e.toast.error(a instanceof Error?a.message:"切换项目失败")}})},"useUpdateInstance",0,function(a){let c=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:b=>k(a,b),onSuccess:()=>{q(c),c.invalidateQueries({queryKey:["instance"]}),s(c),e.toast.success("项目已更新")},onError:a=>{e.toast.error(a instanceof Error?a.message:"更新项目失败")}})}],47161),a.s(["isImportPayload",0,function(a){return"string"==typeof a.token}],28974)},19446,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(71071),e=a.i(71562),f=a.i(44401),g=a.i(80904);let h=g.z.string().trim().regex(/^[a-z0-9-]{1,32}$/,"名称需为 1-32 位小写字母、数字或连字符").refine(a=>"default"!==a,'名称 "default" 为保留字'),i=(a,b=512)=>g.z.string().trim().min(1,`请输入${a}`).max(b),j=(a=512)=>g.z.string().trim().max(a).optional().or(g.z.literal("")),k=g.z.object({name:h,accessKeyId:i("AccessKey ID",128),accessKeySecret:i("AccessKey Secret",512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()});g.z.object({accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:j(256),otsInstanceName:j(128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]});let l=g.z.object({name:h,accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]}),m=g.z.object({token:g.z.string().trim().min(10,"Token 长度不足,无法解析").max(4096),name:h.optional(),activate:g.z.boolean().optional()});var n=a.i(76192),o=a.i(92942),p=a.i(72518),q=a.i(63525),r=a.i(16038),s=a.i(70535);let t=k.extend({otsEndpoint:g.z.string().trim().url("请输入合法的 OTS Endpoint URL"),ossEndpoint:g.z.string().trim().url("请输入合法的 OSS Endpoint URL").optional().or(g.z.literal(""))}),u=m.pick({token:!0}),v=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-hangzhou",label:"华东 1(杭州)"},{value:"cn-shanghai",label:"华东 2(上海)"},{value:"cn-shenzhen",label:"华南 1(深圳)"},{value:"__custom__",label:"其它(自定义)"}];a.s(["ConnectInstanceForm",0,function({mode:a,defaultValues:g,accessKeyIdPlaceholder:h,accessKeySecretPlaceholder:i,onSubmit:j,busy:k,lockName:m,submitLabel:w}){let[x,y]=(0,c.useState)("manual"),z="edit"===a,A=g?.region??"cn-hangzhou",B=(0,c.useMemo)(()=>v.some(a=>a.value===A),[A]),[C,D]=(0,c.useState)(B?A:"__custom__"),E=(0,c.useMemo)(()=>(0,d.zodResolver)(z?l:t),[z]),F=(0,e.useForm)({resolver:E,defaultValues:{name:g?.name??"",accessKeyId:z?"":g?.accessKeyId??"",accessKeySecret:z?"":g?.accessKeySecret??"",otsEndpoint:g?.otsEndpoint??"",otsInstanceName:g?.otsInstanceName??"",ossEndpoint:g?.ossEndpoint??"",ossBucketName:g?.ossBucketName??"",region:A}}),G=(0,e.useForm)({resolver:(0,d.zodResolver)(u),defaultValues:{token:""}});async function H(a){let b=a.ossEndpoint?.trim()||void 0,c=a.ossBucketName?.trim()||void 0;b&&c&&(b=function(a,b){try{let c=new URL(a);if(c.hostname.startsWith(`${b}.`))return c.hostname=c.hostname.slice(b.length+1),c.toString().replace(/\/$/,"")}catch{}return a}(b,c));let d={...a,ossEndpoint:b,ossBucketName:c};await j(d)}async function I(a){let b={token:a.token.trim()};await j(b)}let J="create"===a;return(0,b.jsxs)(r.Tabs,{value:x,onValueChange:a=>y(a),className:"w-full",children:[J&&(0,b.jsxs)(r.TabsList,{className:"grid w-full grid-cols-2",children:[(0,b.jsx)(r.TabsTrigger,{value:"manual",children:"手动填写"}),(0,b.jsx)(r.TabsTrigger,{value:"token",children:"导入 Token"})]}),(0,b.jsx)(r.TabsContent,{value:"manual",className:"mt-4",children:(0,b.jsx)(o.Form,{...F,children:(0,b.jsxs)("form",{onSubmit:F.handleSubmit(H),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"name",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目名称"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"prod-main",disabled:m||k,autoComplete:"off"})}),(0,b.jsx)(o.FormDescription,{children:"仅用于本地区分,不会发送到服务端。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"region",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"Region"}),"__custom__"===C?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"cn-xxx",disabled:k})}),(0,b.jsx)(n.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{D("cn-hangzhou"),a.onChange("cn-hangzhou")},disabled:k,children:"使用预设"})]}):(0,b.jsxs)(q.Select,{value:C,onValueChange:b=>{D(b),"__custom__"!==b?a.onChange(b):a.onChange("")},disabled:k,children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(q.SelectTrigger,{children:(0,b.jsx)(q.SelectValue,{})})}),(0,b.jsx)(q.SelectContent,{children:v.map(a=>(0,b.jsx)(q.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeyId",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey ID"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,autoComplete:"off",disabled:k,placeholder:z&&h?`${h} \xb7 留空表示保留`:void 0})}),z&&(0,b.jsx)(o.FormDescription,{children:"AK 与 SK 必须成对更新,留空则保留现有凭证。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeySecret",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey Secret"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,type:"password",autoComplete:"new-password",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"otsEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS Endpoint"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://xxx.cn-hangzhou.ots.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"otsInstanceName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS 实例名"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] px-3 py-2 text-xs text-[hsl(var(--muted-foreground))]",children:[(0,b.jsx)(f.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]"}),(0,b.jsx)("span",{children:"OSS 信息为可选项。若需上传文档到知识库,OSS Endpoint 与 Bucket 必填; 留空则项目只能用于查询与检索,文件上传功能将不可用。"})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"ossEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Endpoint(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://oss-cn-hangzhou.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"ossBucketName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Bucket(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"提交中...":w??("edit"===a?"保存":"创建项目")})})]})})}),J&&(0,b.jsx)(r.TabsContent,{value:"token",className:"mt-4",children:(0,b.jsx)(o.Form,{...G,children:(0,b.jsxs)("form",{onSubmit:G.handleSubmit(I),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:G.control,name:"token",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目 Token"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(s.Textarea,{...a,rows:5,placeholder:"粘贴从其他环境导出的项目 Token",disabled:k})}),(0,b.jsx)(o.FormDescription,{children:"Token 中已包含 AK/SK、Endpoint 等全部连接信息。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"导入中...":"导入并连接"})})]})})})]})}],19446)}];
2
2
 
3
3
  //# sourceMappingURL=dashboard_src_0y49vhd._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[19446,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(71071),e=a.i(71562),f=a.i(44401),g=a.i(80904);let h=g.z.string().trim().regex(/^[a-z0-9-]{1,32}$/,"名称需为 1-32 位小写字母、数字或连字符").refine(a=>"default"!==a,'名称 "default" 为保留字'),i=(a,b=512)=>g.z.string().trim().min(1,`请输入${a}`).max(b),j=(a=512)=>g.z.string().trim().max(a).optional().or(g.z.literal("")),k=g.z.object({name:h,accessKeyId:i("AccessKey ID",128),accessKeySecret:i("AccessKey Secret",512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()});g.z.object({accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:j(256),otsInstanceName:j(128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]});let l=g.z.object({name:h,accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]}),m=g.z.object({token:g.z.string().trim().min(10,"Token 长度不足,无法解析").max(4096),name:h.optional(),activate:g.z.boolean().optional()});var n=a.i(76192),o=a.i(92942),p=a.i(72518),q=a.i(63525),r=a.i(16038),s=a.i(70535);let t=k.extend({otsEndpoint:g.z.string().trim().url("请输入合法的 OTS Endpoint URL"),ossEndpoint:g.z.string().trim().url("请输入合法的 OSS Endpoint URL").optional().or(g.z.literal(""))}),u=m.pick({token:!0}),v=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-hangzhou",label:"华东 1(杭州)"},{value:"cn-shanghai",label:"华东 2(上海)"},{value:"cn-shenzhen",label:"华南 1(深圳)"},{value:"__custom__",label:"其它(自定义)"}];a.s(["ConnectInstanceForm",0,function({mode:a,defaultValues:g,accessKeyIdPlaceholder:h,accessKeySecretPlaceholder:i,onSubmit:j,busy:k,lockName:m,submitLabel:w}){let[x,y]=(0,c.useState)("manual"),z="edit"===a,A=g?.region??"cn-hangzhou",B=(0,c.useMemo)(()=>v.some(a=>a.value===A),[A]),[C,D]=(0,c.useState)(B?A:"__custom__"),E=(0,c.useMemo)(()=>(0,d.zodResolver)(z?l:t),[z]),F=(0,e.useForm)({resolver:E,defaultValues:{name:g?.name??"",accessKeyId:z?"":g?.accessKeyId??"",accessKeySecret:z?"":g?.accessKeySecret??"",otsEndpoint:g?.otsEndpoint??"",otsInstanceName:g?.otsInstanceName??"",ossEndpoint:g?.ossEndpoint??"",ossBucketName:g?.ossBucketName??"",region:A}}),G=(0,e.useForm)({resolver:(0,d.zodResolver)(u),defaultValues:{token:""}});async function H(a){let b=a.ossEndpoint?.trim()||void 0,c=a.ossBucketName?.trim()||void 0;b&&c&&(b=function(a,b){try{let c=new URL(a);if(c.hostname.startsWith(`${b}.`))return c.hostname=c.hostname.slice(b.length+1),c.toString().replace(/\/$/,"")}catch{}return a}(b,c));let d={...a,ossEndpoint:b,ossBucketName:c};await j(d)}async function I(a){let b={token:a.token.trim()};await j(b)}let J="create"===a;return(0,b.jsxs)(r.Tabs,{value:x,onValueChange:a=>y(a),className:"w-full",children:[J&&(0,b.jsxs)(r.TabsList,{className:"grid w-full grid-cols-2",children:[(0,b.jsx)(r.TabsTrigger,{value:"manual",children:"手动填写"}),(0,b.jsx)(r.TabsTrigger,{value:"token",children:"导入 Token"})]}),(0,b.jsx)(r.TabsContent,{value:"manual",className:"mt-4",children:(0,b.jsx)(o.Form,{...F,children:(0,b.jsxs)("form",{onSubmit:F.handleSubmit(H),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"name",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目名称"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"prod-main",disabled:m||k,autoComplete:"off"})}),(0,b.jsx)(o.FormDescription,{children:"仅用于本地区分,不会发送到服务端。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeyId",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey ID"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,autoComplete:"off",disabled:k,placeholder:z&&h?`${h} \xb7 留空表示保留`:void 0})}),z&&(0,b.jsx)(o.FormDescription,{children:"AK 与 SK 必须成对更新,留空则保留现有凭证。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeySecret",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey Secret"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,type:"password",autoComplete:"new-password",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"otsEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS Endpoint"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://xxx.cn-hangzhou.ots.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"otsInstanceName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS 实例名"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] px-3 py-2 text-xs text-[hsl(var(--muted-foreground))]",children:[(0,b.jsx)(f.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]"}),(0,b.jsx)("span",{children:"OSS 信息为可选项。若需上传文档到知识库,OSS Endpoint 与 Bucket 必填; 留空则项目只能用于查询与检索,文件上传功能将不可用。"})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"ossEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Endpoint(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://oss-cn-hangzhou.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"ossBucketName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Bucket(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsx)(o.FormField,{control:F.control,name:"region",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"Region"}),"__custom__"===C?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"cn-xxx",disabled:k})}),(0,b.jsx)(n.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{D("cn-hangzhou"),a.onChange("cn-hangzhou")},disabled:k,children:"使用预设"})]}):(0,b.jsxs)(q.Select,{value:C,onValueChange:b=>{D(b),"__custom__"!==b?a.onChange(b):a.onChange("")},disabled:k,children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(q.SelectTrigger,{children:(0,b.jsx)(q.SelectValue,{})})}),(0,b.jsx)(q.SelectContent,{children:v.map(a=>(0,b.jsx)(q.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"提交中...":w??("edit"===a?"保存":"创建项目")})})]})})}),J&&(0,b.jsx)(r.TabsContent,{value:"token",className:"mt-4",children:(0,b.jsx)(o.Form,{...G,children:(0,b.jsxs)("form",{onSubmit:G.handleSubmit(I),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:G.control,name:"token",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目 Token"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(s.Textarea,{...a,rows:5,placeholder:"粘贴从其他环境导出的项目 Token",disabled:k})}),(0,b.jsx)(o.FormDescription,{children:"Token 中已包含 AK/SK、Endpoint 等全部连接信息。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"导入中...":"导入并连接"})})]})})})]})}],19446)},47161,28974,a=>{"use strict";var b=a.i(33596),c=a.i(83366),d=a.i(77072),e=a.i(63265),f=a.i(53141);async function g(){return(0,f.apiGet)("/api/v1/instances")}async function h(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function i(a){return(0,f.apiPost)("/api/v1/instances",a)}async function j(a){return(0,f.apiPost)("/api/v1/instances",a)}async function k(a,b){return(0,f.apiPut)(`/api/v1/instances/${encodeURIComponent(a)}`,b)}async function l(a){return(0,f.apiDelete)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function m(a){return(0,f.apiPost)(`/api/v1/instances/${encodeURIComponent(a)}/use`)}async function n(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}/token`)}var o=a.i(25377),p=a.i(39096);function q(a){(0,o.invalidateInstanceScopedQueries)(a)}function r(a){(0,o.resetInstanceScopedQueries)(a)}function s(a){a.invalidateQueries({queryKey:o.RUNTIME_CONTEXT_QUERY_KEY})}a.s(["useConnectInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>i(a),onSuccess:()=>{r(a),s(a),e.toast.success("项目已创建")},onError:a=>{e.toast.error(a instanceof Error?a.message:"创建项目失败")}})},"useDeleteInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>l(a),onSuccess:()=>{q(a),s(a),e.toast.success("项目已删除")},onError:a=>{e.toast.error(a instanceof Error?a.message:"删除项目失败")}})},"useExportInstanceToken",0,function(){return(0,b.useMutation)({mutationFn:a=>n(a),onError:a=>{e.toast.error(a instanceof Error?a.message:"导出 Token 失败")}})},"useImportInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>j(a),onSuccess:()=>{r(a),s(a),e.toast.success("Token 已导入")},onError:a=>{e.toast.error(a instanceof Error?a.message:"导入 Token 失败")}})},"useInstance",0,function(a){let{context:b,ready:d}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instance(b.dataScopeKey,a),queryFn:()=>h(a),enabled:d&&!!a,staleTime:3e4})},"useInstances",0,function(){let{context:a,ready:b}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instances(a.dataScopeKey),queryFn:g,enabled:b,staleTime:3e4})},"useSwitchInstance",0,function(){let a=(0,d.useQueryClient)(),{context:c}=(0,p.useRuntimeContext)();return(0,b.useMutation)({mutationFn:a=>m(a),onSuccess:({activeInstance:b})=>{r(a),s(a),e.toast.success("已切换当前项目")},onError:a=>{e.toast.error(a instanceof Error?a.message:"切换项目失败")}})},"useUpdateInstance",0,function(a){let c=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:b=>k(a,b),onSuccess:()=>{q(c),c.invalidateQueries({queryKey:["instance"]}),s(c),e.toast.success("项目已更新")},onError:a=>{e.toast.error(a instanceof Error?a.message:"更新项目失败")}})}],47161),a.s(["isImportPayload",0,function(a){return"string"==typeof a.token}],28974)}];
1
+ module.exports=[19446,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(71071),e=a.i(71562),f=a.i(44401),g=a.i(80904);let h=g.z.string().trim().regex(/^[a-z0-9-]{1,32}$/,"名称需为 1-32 位小写字母、数字或连字符").refine(a=>"default"!==a,'名称 "default" 为保留字'),i=(a,b=512)=>g.z.string().trim().min(1,`请输入${a}`).max(b),j=(a=512)=>g.z.string().trim().max(a).optional().or(g.z.literal("")),k=g.z.object({name:h,accessKeyId:i("AccessKey ID",128),accessKeySecret:i("AccessKey Secret",512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()});g.z.object({accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:j(256),otsInstanceName:j(128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]});let l=g.z.object({name:h,accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]}),m=g.z.object({token:g.z.string().trim().min(10,"Token 长度不足,无法解析").max(4096),name:h.optional(),activate:g.z.boolean().optional()});var n=a.i(76192),o=a.i(92942),p=a.i(72518),q=a.i(63525),r=a.i(16038),s=a.i(70535);let t=k.extend({otsEndpoint:g.z.string().trim().url("请输入合法的 OTS Endpoint URL"),ossEndpoint:g.z.string().trim().url("请输入合法的 OSS Endpoint URL").optional().or(g.z.literal(""))}),u=m.pick({token:!0}),v=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-hangzhou",label:"华东 1(杭州)"},{value:"cn-shanghai",label:"华东 2(上海)"},{value:"cn-shenzhen",label:"华南 1(深圳)"},{value:"__custom__",label:"其它(自定义)"}];a.s(["ConnectInstanceForm",0,function({mode:a,defaultValues:g,accessKeyIdPlaceholder:h,accessKeySecretPlaceholder:i,onSubmit:j,busy:k,lockName:m,submitLabel:w}){let[x,y]=(0,c.useState)("manual"),z="edit"===a,A=g?.region??"cn-hangzhou",B=(0,c.useMemo)(()=>v.some(a=>a.value===A),[A]),[C,D]=(0,c.useState)(B?A:"__custom__"),E=(0,c.useMemo)(()=>(0,d.zodResolver)(z?l:t),[z]),F=(0,e.useForm)({resolver:E,defaultValues:{name:g?.name??"",accessKeyId:z?"":g?.accessKeyId??"",accessKeySecret:z?"":g?.accessKeySecret??"",otsEndpoint:g?.otsEndpoint??"",otsInstanceName:g?.otsInstanceName??"",ossEndpoint:g?.ossEndpoint??"",ossBucketName:g?.ossBucketName??"",region:A}}),G=(0,e.useForm)({resolver:(0,d.zodResolver)(u),defaultValues:{token:""}});async function H(a){let b=a.ossEndpoint?.trim()||void 0,c=a.ossBucketName?.trim()||void 0;b&&c&&(b=function(a,b){try{let c=new URL(a);if(c.hostname.startsWith(`${b}.`))return c.hostname=c.hostname.slice(b.length+1),c.toString().replace(/\/$/,"")}catch{}return a}(b,c));let d={...a,ossEndpoint:b,ossBucketName:c};await j(d)}async function I(a){let b={token:a.token.trim()};await j(b)}let J="create"===a;return(0,b.jsxs)(r.Tabs,{value:x,onValueChange:a=>y(a),className:"w-full",children:[J&&(0,b.jsxs)(r.TabsList,{className:"grid w-full grid-cols-2",children:[(0,b.jsx)(r.TabsTrigger,{value:"manual",children:"手动填写"}),(0,b.jsx)(r.TabsTrigger,{value:"token",children:"导入 Token"})]}),(0,b.jsx)(r.TabsContent,{value:"manual",className:"mt-4",children:(0,b.jsx)(o.Form,{...F,children:(0,b.jsxs)("form",{onSubmit:F.handleSubmit(H),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"name",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目名称"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"prod-main",disabled:m||k,autoComplete:"off"})}),(0,b.jsx)(o.FormDescription,{children:"仅用于本地区分,不会发送到服务端。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"region",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"Region"}),"__custom__"===C?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"cn-xxx",disabled:k})}),(0,b.jsx)(n.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{D("cn-hangzhou"),a.onChange("cn-hangzhou")},disabled:k,children:"使用预设"})]}):(0,b.jsxs)(q.Select,{value:C,onValueChange:b=>{D(b),"__custom__"!==b?a.onChange(b):a.onChange("")},disabled:k,children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(q.SelectTrigger,{children:(0,b.jsx)(q.SelectValue,{})})}),(0,b.jsx)(q.SelectContent,{children:v.map(a=>(0,b.jsx)(q.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeyId",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey ID"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,autoComplete:"off",disabled:k,placeholder:z&&h?`${h} \xb7 留空表示保留`:void 0})}),z&&(0,b.jsx)(o.FormDescription,{children:"AK 与 SK 必须成对更新,留空则保留现有凭证。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeySecret",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey Secret"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,type:"password",autoComplete:"new-password",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"otsEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS Endpoint"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://xxx.cn-hangzhou.ots.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"otsInstanceName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS 实例名"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] px-3 py-2 text-xs text-[hsl(var(--muted-foreground))]",children:[(0,b.jsx)(f.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]"}),(0,b.jsx)("span",{children:"OSS 信息为可选项。若需上传文档到知识库,OSS Endpoint 与 Bucket 必填; 留空则项目只能用于查询与检索,文件上传功能将不可用。"})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"ossEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Endpoint(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://oss-cn-hangzhou.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"ossBucketName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Bucket(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"提交中...":w??("edit"===a?"保存":"创建项目")})})]})})}),J&&(0,b.jsx)(r.TabsContent,{value:"token",className:"mt-4",children:(0,b.jsx)(o.Form,{...G,children:(0,b.jsxs)("form",{onSubmit:G.handleSubmit(I),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:G.control,name:"token",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目 Token"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(s.Textarea,{...a,rows:5,placeholder:"粘贴从其他环境导出的项目 Token",disabled:k})}),(0,b.jsx)(o.FormDescription,{children:"Token 中已包含 AK/SK、Endpoint 等全部连接信息。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"导入中...":"导入并连接"})})]})})})]})}],19446)},47161,28974,a=>{"use strict";var b=a.i(33596),c=a.i(83366),d=a.i(77072),e=a.i(63265),f=a.i(53141);async function g(){return(0,f.apiGet)("/api/v1/instances")}async function h(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function i(a){return(0,f.apiPost)("/api/v1/instances",a)}async function j(a){return(0,f.apiPost)("/api/v1/instances",a)}async function k(a,b){return(0,f.apiPut)(`/api/v1/instances/${encodeURIComponent(a)}`,b)}async function l(a){return(0,f.apiDelete)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function m(a){return(0,f.apiPost)(`/api/v1/instances/${encodeURIComponent(a)}/use`)}async function n(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}/token`)}var o=a.i(25377),p=a.i(39096);function q(a){(0,o.invalidateInstanceScopedQueries)(a)}function r(a){(0,o.resetInstanceScopedQueries)(a)}function s(a){a.invalidateQueries({queryKey:o.RUNTIME_CONTEXT_QUERY_KEY})}a.s(["useConnectInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>i(a),onSuccess:()=>{r(a),s(a),e.toast.success("项目已创建")},onError:a=>{e.toast.error(a instanceof Error?a.message:"创建项目失败")}})},"useDeleteInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>l(a),onSuccess:()=>{q(a),s(a),e.toast.success("项目已删除")},onError:a=>{e.toast.error(a instanceof Error?a.message:"删除项目失败")}})},"useExportInstanceToken",0,function(){return(0,b.useMutation)({mutationFn:a=>n(a),onError:a=>{e.toast.error(a instanceof Error?a.message:"导出 Token 失败")}})},"useImportInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>j(a),onSuccess:()=>{r(a),s(a),e.toast.success("Token 已导入")},onError:a=>{e.toast.error(a instanceof Error?a.message:"导入 Token 失败")}})},"useInstance",0,function(a){let{context:b,ready:d}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instance(b.dataScopeKey,a),queryFn:()=>h(a),enabled:d&&!!a,staleTime:3e4})},"useInstances",0,function(){let{context:a,ready:b}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instances(a.dataScopeKey),queryFn:g,enabled:b,staleTime:3e4})},"useSwitchInstance",0,function(){let a=(0,d.useQueryClient)(),{context:c}=(0,p.useRuntimeContext)();return(0,b.useMutation)({mutationFn:a=>m(a),onSuccess:({activeInstance:b})=>{r(a),s(a),e.toast.success("已切换当前项目")},onError:a=>{e.toast.error(a instanceof Error?a.message:"切换项目失败")}})},"useUpdateInstance",0,function(a){let c=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:b=>k(a,b),onSuccess:()=>{q(c),c.invalidateQueries({queryKey:["instance"]}),s(c),e.toast.success("项目已更新")},onError:a=>{e.toast.error(a instanceof Error?a.message:"更新项目失败")}})}],47161),a.s(["isImportPayload",0,function(a){return"string"==typeof a.token}],28974)}];
2
2
 
3
3
  //# sourceMappingURL=dashboard_src_10dsqx~._.js.map