@tablestore/tablestore-agent-cli 0.2.0 → 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.
- package/dist/commands/kb/create.d.ts.map +1 -1
- package/dist/commands/kb/create.js +21 -0
- package/dist/commands/kb/create.js.map +1 -1
- package/dist/commands/kb/retrieve.d.ts.map +1 -1
- package/dist/commands/kb/retrieve.js +3 -3
- package/dist/commands/kb/retrieve.js.map +1 -1
- package/dist/dashboard-runtime/dashboard/.next/BUILD_ID +1 -1
- package/dist/dashboard-runtime/dashboard/.next/app-path-routes-manifest.json +1 -0
- package/dist/dashboard-runtime/dashboard/.next/build-manifest.json +5 -5
- package/dist/dashboard-runtime/dashboard/.next/prerender-manifest.json +3 -3
- package/dist/dashboard-runtime/dashboard/.next/routes-manifest.json +6 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route/app-paths-manifest.json +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route/build-manifest.json +9 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route/server-reference-manifest.json +4 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js +6 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js.map +5 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js.nft.json +1 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route_client-reference-manifest.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_full.segment.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_head.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +17 -17
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +17 -17
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_head.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_index.segment.rsc +10 -10
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding.segment.rsc +4 -4
- package/dist/dashboard-runtime/dashboard/.next/server/app/page/build-manifest.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app-paths-manifest.json +1 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0n~ec7s.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cee_lo._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0lvi0g-._.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0q8vcw8._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/dashboard__next-internal_server_app_api_v1_oss_list_route_actions_00xq2u..js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0b1r_app_(dashboard)_knowledge-base_[name]_documents_documents-client_tsx_0g2uxmt._.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0e95_src_app_(dashboard)_knowledge-base_[name]_settings_settings-client_tsx_13312zk._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0aqzu8w._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0hozzu6._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0jb9ccl._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__13ylf4x._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_02bg849._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_09yzbcp._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0db498n._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jghj2_._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0kd7szs._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0n4gd_6._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ogxvev._.js +7 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tr8-3u._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xzh5yw._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12~3vfk._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13_lb.o._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_065m1.j._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0ejgygh._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0y49vhd._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_10dsqx~._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_knowledge-base_create_page_tsx_0916~g-._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ls1exu._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_0ugdjlb._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_ui_0-tuf-h._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_08h.f_8._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0jns_ph._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0pf30rh._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0~k~1nt._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/functions-config-manifest.json +1 -0
- package/dist/dashboard-runtime/dashboard/.next/server/middleware-build-manifest.js +5 -5
- package/dist/dashboard-runtime/dashboard/.next/server/pages/404.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/pages/500.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/00tz~p479bdgl.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/02i9olo-312mq.js +138 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/062k9jbtd9.lv.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/06uuhz24tvdt..js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/07cp19da_kfld.js +5 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/086esp1n941jl.js +138 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/08qlxn-3d_rtu.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/09uxq~55qug8c.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0__g1ogrdh412.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ab-ev0u1~ch5.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0bw682qzkh2ni.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0d29.l~3ip181.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ewpzgu_qf0wf.js +4 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jc31diex030o.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0k79upjc40aky.css +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0lp2g_27uyhuz.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0snnsfosp3~gq.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0tmwptel_4y0o.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u9wtl06_b72x.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0uv55p7kzteex.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v9d5wl9nsva3.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0xko7~ja3xuc-.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/14.dp0-y_mhjo.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/15wxh8ltqt88_.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/183~u3-4a74db.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{turbopack-0ybyy.9-.w~ub.js → turbopack-0w.hw6u8qra5z.js} +1 -1
- package/dist/dashboard-runtime/dashboard/package.json +1 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/settings/settings-client.tsx +1 -1
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/documents/route.ts +44 -3
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/oss/list/route.ts +125 -0
- package/dist/dashboard-runtime/dashboard/src/app/globals.css +46 -31
- package/dist/dashboard-runtime/dashboard/src/components/chat/add-mount-row.tsx +21 -55
- package/dist/dashboard-runtime/dashboard/src/components/chat/chat-mount-config.tsx +35 -27
- package/dist/dashboard-runtime/dashboard/src/components/chat/mount-empty-state.tsx +87 -0
- package/dist/dashboard-runtime/dashboard/src/components/chat/mount-picker.tsx +87 -0
- package/dist/dashboard-runtime/dashboard/src/components/chat/unified-retrieval-section.tsx +3 -2
- package/dist/dashboard-runtime/dashboard/src/components/documents/doc-upload-dialog.tsx +155 -54
- package/dist/dashboard-runtime/dashboard/src/components/documents/oss-browser.tsx +264 -0
- package/dist/dashboard-runtime/dashboard/src/components/documents/oss-import-tab.tsx +143 -0
- package/dist/dashboard-runtime/dashboard/src/components/instance/connect-instance-form.tsx +60 -60
- package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-create-form.tsx +52 -35
- package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-settings-form.tsx +152 -76
- package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/knowledge-base-retrieval-config.ts +110 -0
- package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/retrieval-result-count-field.tsx +106 -0
- package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/retrieval-result-count.ts +11 -0
- package/dist/dashboard-runtime/dashboard/src/components/layout/detail-sidebar.tsx +84 -4
- package/dist/dashboard-runtime/dashboard/src/components/retrieval/assemble-retrieval-configuration.ts +22 -3
- package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-form.tsx +10 -3
- package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-params-fields.tsx +114 -56
- package/dist/dashboard-runtime/dashboard/src/hooks/use-detail-sidebar-collapsed.ts +86 -0
- package/dist/dashboard-runtime/dashboard/src/hooks/use-oss-import.ts +148 -0
- package/dist/dashboard-runtime/dashboard/src/hooks/use-oss-list.ts +89 -0
- package/dist/dashboard-runtime/dashboard/src/lib/extension-filter.ts +62 -0
- package/dist/dashboard-runtime/dashboard/src/lib/glob-filter.ts +76 -0
- package/dist/dashboard-runtime/dashboard/src/lib/oss-selection.ts +58 -0
- package/dist/dashboard-runtime/dashboard/src/lib/server/oss-client.ts +65 -0
- package/dist/dashboard-runtime/dashboard/src/schemas/knowledge-base.ts +3 -3
- package/dist/dashboard-runtime/dashboard/src/schemas/llm-chat.ts +1 -1
- package/dist/dashboard-runtime/dashboard/src/schemas/retrieval.ts +4 -1
- package/dist/dashboard-runtime/dashboard/src/services/api-client.ts +11 -6
- package/dist/dashboard-runtime/dashboard/src/services/documents.ts +27 -8
- package/dist/dashboard-runtime/dashboard/src/services/oss.ts +36 -0
- package/dist/dashboard-runtime/dashboard/src/types/knowledge-base.ts +1 -1
- package/dist/dashboard-runtime/dashboard/vitest.config.mjs +6 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0lvo_@radix-ui_react-popper_dist_index_mjs_13rqw99._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0id.4_g._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0p7j-9i._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0.1szyw._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0251rsp._.js +0 -7
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_038vjn1._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_06tznmj._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_09y~hs8._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0_ow0x1._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0t373jc._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12guzbo._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0jns2ew._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0aw_rgu._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0ld4qfm._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_125b4co._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-ov0wxgu5b65.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/00-qnlax_4630.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/034uozc1ki09_.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/03zdsc.dicedw.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/05hmbxh7h5ct-.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/08tdws.ontiw1.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0azwigiwuhh08.css +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0b54rtt1-cxht.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0cdo38.8y_jr2.js +0 -138
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0cy.fvgx7dgqx.js +0 -4
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0fa.nak91jfo-.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0fv6q06wgazh_.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0g9y74cipd10n.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ga6neugwmh.1.js +0 -5
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0hkir82jccgck.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0k-x6_7dhqb~c.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0n42fh.zwyk35.js +0 -138
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0q6lk_p74rti7.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u39cc6mmeqb3.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0uay29z9qqouw.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v0e.nl_9fjba.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0wd0_x8u.jzur.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0wf-nssu2qd_2.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x7pw1zo7nxno.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0zbi5n76awxz1.js +0 -1
- /package/dist/dashboard-runtime/dashboard/.next/static/{uYteIiFtKdPhUhmILps5X → doYIl-pd6Sqax3bfUgN3q}/_buildManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{uYteIiFtKdPhUhmILps5X → doYIl-pd6Sqax3bfUgN3q}/_clientMiddlewareManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{uYteIiFtKdPhUhmILps5X → doYIl-pd6Sqax3bfUgN3q}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[77086,a=>{"use strict";var b=a.i(34020),c=a.i(80470),d=a.i(4395),e=a.i(33280),f=a.i(71562),g=a.i(71071),h=a.i(63265),i=a.i(53520),j=a.i(49707),k=a.i(76192),l=a.i(72518),m=a.i(70535),n=a.i(92942),o=a.i(63525),p=a.i(36965),q=a.i(23301),r=a.i(23331),s=a.i(33596),t=a.i(77072),u=a.i(69024),v=a.i(25377),w=a.i(17566);function x({knowledgeBase:a}){let c,d=(c=(0,t.useQueryClient)(),(0,s.useMutation)({mutationFn:a=>(0,u.updateKnowledgeBase)(a),onSuccess:()=>{(0,v.invalidateKnowledgeBaseQueries)(c)}})),e=(0,f.useForm)({resolver:(0,g.zodResolver)(w.updateKBSchema),defaultValues:{knowledgeBaseName:a.knowledgeBaseName,description:a.description??"",tags:a.tags??[],retrievalConfiguration:{searchType:a.retrievalConfiguration?.searchType??["DENSE_VECTOR"],rerankingConfiguration:{type:a.retrievalConfiguration?.rerankingConfiguration?.type??"RRF",numberOfResults:a.retrievalConfiguration?.rerankingConfiguration?.numberOfResults??5,rrfConfiguration:a.retrievalConfiguration?.rerankingConfiguration?.rrfConfiguration??{denseVectorSearchWeight:.6,fullTextSearchWeight:.4,k:60},weightConfiguration:a.retrievalConfiguration?.rerankingConfiguration?.weightConfiguration??{denseVectorSearchWeight:.7,fullTextSearchWeight:.3},modelConfiguration:a.retrievalConfiguration?.rerankingConfiguration?.modelConfiguration??{provider:"bailian",model:"gte-rerank-v2"}}}}}),z=e.watch("retrievalConfiguration.rerankingConfiguration.type"),A=a=>"space-y-4 rounded-md border p-4 transition-colors "+(a?"border-[hsl(var(--primary)/0.4)] bg-[hsl(var(--primary)/0.04)]":"border-[hsl(var(--border))] bg-[hsl(var(--background))]");async function B(a){try{let b={...a,retrievalConfiguration:a.retrievalConfiguration?{...a.retrievalConfiguration,rerankingConfiguration:a.retrievalConfiguration.rerankingConfiguration?{...a.retrievalConfiguration.rerankingConfiguration,numberOfResults:a.retrievalConfiguration.rerankingConfiguration.numberOfResults??5}:void 0}:void 0};await d.mutateAsync(b),h.toast.success("知识库设置已更新")}catch(b){let a=b instanceof Error?b.message:"更新设置失败";h.toast.error(a)}}let C=a.embeddingConfiguration,D=a.metadata??[];return(0,b.jsxs)("div",{className:"space-y-8",children:[(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:"基本信息"}),(0,b.jsx)(n.Form,{...e,children:(0,b.jsxs)("form",{onSubmit:e.handleSubmit(B),className:"space-y-4",children:[(0,b.jsx)(n.FormField,{control:e.control,name:"description",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"描述"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(m.Textarea,{placeholder:"描述这个知识库的用途...",className:"resize-none",rows:3,...a})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:e.control,name:"tags",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"标签"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(r.TagInput,{value:a.value??[],onChange:a.onChange,placeholder:"输入标签后按回车"})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsxs)("div",{className:"space-y-4 pt-4 border-t border-[hsl(var(--border))]",children:[(0,b.jsx)("h4",{className:"text-sm font-medium",children:"检索配置"}),(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.searchType",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"搜索类型"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsxs)(p.ToggleGroup,{type:"multiple",value:a.value??[],onValueChange:b=>{b?.length&&a.onChange(b)},className:"grid w-full grid-cols-2 gap-0 overflow-hidden rounded-lg border border-border bg-[hsl(var(--muted)/0.4)] p-0 sm:max-w-md",children:[(0,b.jsxs)(p.ToggleGroupItem,{value:"DENSE_VECTOR",className:"h-9 gap-1.5",children:[a.value?.includes("DENSE_VECTOR")&&(0,b.jsx)(i.Check,{className:"h-3.5 w-3.5 text-[hsl(var(--primary))]"}),"向量检索"]}),(0,b.jsxs)(p.ToggleGroupItem,{value:"FULL_TEXT",className:"h-9 gap-1.5",children:[a.value?.includes("FULL_TEXT")&&(0,b.jsx)(i.Check,{className:"h-3.5 w-3.5 text-[hsl(var(--primary))]"}),"全文检索"]})]})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.type",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"Rerank 策略"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsxs)(p.ToggleGroup,{type:"single",value:a.value??"",onValueChange:b=>{b&&a.onChange(b)},className:"grid w-full grid-cols-3 gap-0 overflow-hidden rounded-lg border border-border bg-[hsl(var(--muted)/0.4)] p-0 sm:max-w-md",children:[(0,b.jsx)(p.ToggleGroupItem,{value:"MODEL",className:"h-9",children:"Model"}),(0,b.jsx)(p.ToggleGroupItem,{value:"WEIGHT",className:"h-9",children:"Weight"}),(0,b.jsx)(p.ToggleGroupItem,{value:"RRF",className:"h-9",children:"RRF"})]})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsxs)("div",{className:A("RRF"===z),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[hsl(var(--muted-foreground))]",children:"RRF 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.denseVectorSearchWeight",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"向量检索权重"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{type:"number",step:"0.1",placeholder:"0.6",...a,value:a.value??"",onChange:(0,j.handleNumberInput)(a.onChange)})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.fullTextSearchWeight",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"全文检索权重"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{type:"number",step:"0.1",placeholder:"0.4",...a,value:a.value??"",onChange:(0,j.handleNumberInput)(a.onChange)})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.k",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"K 值"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{type:"number",placeholder:"60",...a,value:a.value??"",onChange:(0,j.handleNumberInput)(a.onChange)})}),(0,b.jsx)(n.FormMessage,{})]})})]})]}),(0,b.jsxs)("div",{className:A("WEIGHT"===z),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[hsl(var(--muted-foreground))]",children:"Weight 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.weightConfiguration.denseVectorSearchWeight",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"向量检索权重"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{type:"number",step:"0.1",min:"0",max:"1",placeholder:"0.7",...a,value:a.value??"",onChange:(0,j.handleNumberInput)(a.onChange)})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.weightConfiguration.fullTextSearchWeight",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"全文检索权重"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{type:"number",step:"0.1",min:"0",max:"1",placeholder:"0.3",...a,value:a.value??"",onChange:(0,j.handleNumberInput)(a.onChange)})}),(0,b.jsx)(n.FormMessage,{})]})})]})]}),(0,b.jsxs)("div",{className:A("MODEL"===z),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[hsl(var(--muted-foreground))]",children:"Model 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"提供方"}),(0,b.jsxs)(o.Select,{onValueChange:a.onChange,value:a.value??"",children:[(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(o.SelectTrigger,{children:(0,b.jsx)(o.SelectValue,{placeholder:"选择提供方"})})}),(0,b.jsx)(o.SelectContent,{children:(0,b.jsx)(o.SelectItem,{value:"bailian",children:"百炼 (Bailian)"})})]}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.modelConfiguration.model",render:({field:a})=>{let c=e.watch("retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider");return(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"模型名称"}),(0,b.jsx)(n.FormControl,{children:"bailian"===c?(0,b.jsxs)(o.Select,{onValueChange:a.onChange,value:a.value??"",children:[(0,b.jsx)(o.SelectTrigger,{children:(0,b.jsx)(o.SelectValue,{placeholder:"选择模型"})}),(0,b.jsxs)(o.SelectContent,{children:[(0,b.jsx)(o.SelectItem,{value:"gte-rerank-v2",children:"gte-rerank-v2"}),(0,b.jsx)(o.SelectItem,{value:"qwen3-rerank",children:"qwen3-rerank"})]})]}):(0,b.jsx)(l.Input,{placeholder:"输入模型名称",...a,value:a.value??""})}),(0,b.jsx)(n.FormMessage,{})]})}})]})]})]}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(k.Button,{type:"submit",disabled:d.isPending,children:d.isPending?"保存中...":"保存更改"})})]})})]}),(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:"Embedding 配置"}),(0,b.jsxs)("div",{className:"rounded-lg border border-[hsl(var(--border))] p-4 space-y-3 bg-[hsl(var(--muted))]/30",children:[(0,b.jsx)(y,{label:"提供方",value:C?.provider==="bailian"?"百炼 (Bailian)":"自定义 (Custom)"}),(0,b.jsx)(y,{label:"模型",value:C?.model??"—"}),(0,b.jsx)(y,{label:"维度",value:C?.dimension?.toString()??"—"}),C?.provider==="custom"&&C?.url&&(0,b.jsx)(y,{label:"API URL",value:C.url})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Embedding 配置在创建后不可修改"})]}),(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:"Metadata Schema"}),D.length>0?(0,b.jsx)("div",{className:"rounded-lg border",children:(0,b.jsxs)(q.Table,{children:[(0,b.jsx)(q.TableHeader,{children:(0,b.jsxs)(q.TableRow,{children:[(0,b.jsx)(q.TableHead,{children:"字段名"}),(0,b.jsx)(q.TableHead,{children:"类型"})]})}),(0,b.jsx)(q.TableBody,{children:D.map(a=>(0,b.jsxs)(q.TableRow,{children:[(0,b.jsx)(q.TableCell,{className:"font-mono text-sm",children:a.name}),(0,b.jsx)(q.TableCell,{className:"text-sm text-muted-foreground",children:a.type})]},a.name))})]})}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"未定义 Metadata Schema"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Metadata Schema 在创建后不可修改"})]})]})}function y({label:a,value:c}){return(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:a}),(0,b.jsx)("span",{className:"text-sm font-medium",children:c})]})}a.s(["default",0,function(){let a=decodeURIComponent((0,c.useParams)().name),{data:f,isLoading:g}=(0,e.useKnowledgeBase)(a);return g?(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(d.Skeleton,{className:"h-8 w-48"}),(0,b.jsx)(d.Skeleton,{className:"h-32 w-full"}),(0,b.jsx)(d.Skeleton,{className:"h-32 w-full"})]}):f?(0,b.jsx)("div",{className:"space-y-8 max-w-2xl",children:(0,b.jsx)(x,{knowledgeBase:f})}):(0,b.jsx)("div",{className:"text-center py-12 text-[hsl(var(--muted-foreground))]",children:"知识库不存在"})}],77086)}];
|
|
1
|
+
module.exports=[77086,a=>{"use strict";var b=a.i(34020),c=a.i(80470),d=a.i(4395),e=a.i(33280),f=a.i(71562),g=a.i(71071),h=a.i(63265),i=a.i(53520),j=a.i(49707),k=a.i(76192),l=a.i(72518),m=a.i(70535),n=a.i(92942),o=a.i(63525),p=a.i(36965),q=a.i(23301),r=a.i(23331),s=a.i(69622),t=a.i(28058),u=a.i(33596),v=a.i(77072),w=a.i(69024),x=a.i(25377),y=a.i(17566);function z({knowledgeBase:a}){let c,d=(c=(0,v.useQueryClient)(),(0,u.useMutation)({mutationFn:a=>(0,w.updateKnowledgeBase)(a),onSuccess:()=>{(0,x.invalidateKnowledgeBaseQueries)(c)}})),e=(0,f.useForm)({resolver:(0,g.zodResolver)(y.updateKBSchema),defaultValues:{knowledgeBaseName:a.knowledgeBaseName,description:a.description??"",tags:a.tags??[],retrievalConfiguration:{searchType:a.retrievalConfiguration?.searchType??["DENSE_VECTOR"],denseVectorSearchConfiguration:a.retrievalConfiguration?.denseVectorSearchConfiguration??{numberOfResults:a.retrievalConfiguration?.rerankingConfiguration?.numberOfResults??20},fullTextSearchConfiguration:a.retrievalConfiguration?.fullTextSearchConfiguration??{numberOfResults:a.retrievalConfiguration?.rerankingConfiguration?.numberOfResults??20},rerankingConfiguration:{type:a.retrievalConfiguration?.rerankingConfiguration?.type??"RRF",numberOfResults:a.retrievalConfiguration?.rerankingConfiguration?.numberOfResults??20,rrfConfiguration:a.retrievalConfiguration?.rerankingConfiguration?.rrfConfiguration??{denseVectorSearchWeight:.6,fullTextSearchWeight:.4,k:60},weightConfiguration:a.retrievalConfiguration?.rerankingConfiguration?.weightConfiguration??{denseVectorSearchWeight:.7,fullTextSearchWeight:.3},modelConfiguration:a.retrievalConfiguration?.rerankingConfiguration?.modelConfiguration??{provider:"bailian",model:"gte-rerank-v2"}}}}}),C=e.watch("retrievalConfiguration.rerankingConfiguration.type"),D=a=>"space-y-4 rounded-md border p-4 transition-colors "+(a?"border-[hsl(var(--primary)/0.4)] bg-[hsl(var(--primary)/0.04)]":"border-[hsl(var(--border))] bg-[hsl(var(--background))]");async function E(a){try{let b={...a,retrievalConfiguration:a.retrievalConfiguration?(0,t.buildKnowledgeBaseRetrievalConfiguration)(a.retrievalConfiguration):void 0};await d.mutateAsync(b),h.toast.success("知识库设置已更新")}catch(b){let a=b instanceof Error?b.message:"更新设置失败";h.toast.error(a)}}let F=a.embeddingConfiguration,G=a.metadata??[];return(0,b.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[minmax(0,1fr)_320px]",children:[(0,b.jsx)(n.Form,{...e,children:(0,b.jsxs)("form",{onSubmit:e.handleSubmit(E),className:"space-y-6",children:[(0,b.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,b.jsx)(A,{title:"基本信息",description:"调整知识库说明和标签,帮助团队快速识别用途。"}),(0,b.jsx)(n.FormField,{control:e.control,name:"description",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"描述"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(m.Textarea,{placeholder:"描述这个知识库的用途...",className:"resize-none",rows:3,...a})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:e.control,name:"tags",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"标签"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(r.TagInput,{value:a.value??[],onChange:a.onChange,placeholder:"输入标签后按回车"})}),(0,b.jsx)(n.FormMessage,{})]})})]}),(0,b.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,b.jsx)(A,{title:"检索配置",description:"控制默认召回方式、返回规模和 Rerank 策略。"}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.searchType",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"搜索类型"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsxs)(p.ToggleGroup,{type:"multiple",value:a.value??[],onValueChange:b=>{b?.length&&a.onChange(b)},className:"grid w-full grid-cols-2 gap-0 overflow-hidden rounded-lg border border-border bg-[hsl(var(--muted)/0.4)] p-0 sm:max-w-md",children:[(0,b.jsxs)(p.ToggleGroupItem,{value:"DENSE_VECTOR",className:"h-9 gap-1.5",children:[a.value?.includes("DENSE_VECTOR")&&(0,b.jsx)(i.Check,{className:"h-3.5 w-3.5 text-[hsl(var(--primary))]"}),"向量检索"]}),(0,b.jsxs)(p.ToggleGroupItem,{value:"FULL_TEXT",className:"h-9 gap-1.5",children:[a.value?.includes("FULL_TEXT")&&(0,b.jsx)(i.Check,{className:"h-3.5 w-3.5 text-[hsl(var(--primary))]"}),"全文检索"]})]})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[hsl(var(--foreground))]",children:"返回数量"}),(0,b.jsx)("p",{className:"text-xs text-[hsl(var(--muted-foreground))]",children:"控制每路召回参与排序的候选数,以及 Rerank 后实际返回的片段数。"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(min(260px,100%),1fr))] gap-3",children:[(0,b.jsx)(s.RetrievalResultCountField,{control:e.control,name:"retrievalConfiguration.denseVectorSearchConfiguration.numberOfResults",label:"向量召回数",description:"向量检索参与后续排序的候选片段数。",max:100,muted:!e.watch("retrievalConfiguration.searchType")?.includes("DENSE_VECTOR")}),(0,b.jsx)(s.RetrievalResultCountField,{control:e.control,name:"retrievalConfiguration.fullTextSearchConfiguration.numberOfResults",label:"全文召回数",description:"全文检索参与后续排序的候选片段数。",max:100,muted:!e.watch("retrievalConfiguration.searchType")?.includes("FULL_TEXT")})]}),(0,b.jsx)(s.RetrievalResultCountField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.numberOfResults",label:"重排序返回数",description:"Rerank 后保留并返回的片段数。",max:200})]}),(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.type",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"Rerank 策略"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsxs)(p.ToggleGroup,{type:"single",value:a.value??"",onValueChange:b=>{b&&a.onChange(b)},className:"grid w-full grid-cols-3 gap-0 overflow-hidden rounded-lg border border-border bg-[hsl(var(--muted)/0.4)] p-0 sm:max-w-md",children:[(0,b.jsx)(p.ToggleGroupItem,{value:"MODEL",className:"h-9",children:"Model"}),(0,b.jsx)(p.ToggleGroupItem,{value:"WEIGHT",className:"h-9",children:"Weight"}),(0,b.jsx)(p.ToggleGroupItem,{value:"RRF",className:"h-9",children:"RRF"})]})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsxs)("div",{className:D("RRF"===C),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[hsl(var(--muted-foreground))]",children:"RRF 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.denseVectorSearchWeight",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"向量检索权重"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{type:"number",step:"0.1",placeholder:"0.6",...a,value:a.value??"",onChange:(0,j.handleNumberInput)(a.onChange)})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.fullTextSearchWeight",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"全文检索权重"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{type:"number",step:"0.1",placeholder:"0.4",...a,value:a.value??"",onChange:(0,j.handleNumberInput)(a.onChange)})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.k",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"K 值"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{type:"number",placeholder:"60",...a,value:a.value??"",onChange:(0,j.handleNumberInput)(a.onChange)})}),(0,b.jsx)(n.FormMessage,{})]})})]})]}),(0,b.jsxs)("div",{className:D("WEIGHT"===C),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[hsl(var(--muted-foreground))]",children:"Weight 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.weightConfiguration.denseVectorSearchWeight",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"向量检索权重"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{type:"number",step:"0.1",min:"0",max:"1",placeholder:"0.7",...a,value:a.value??"",onChange:(0,j.handleNumberInput)(a.onChange)})}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.weightConfiguration.fullTextSearchWeight",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"全文检索权重"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{type:"number",step:"0.1",min:"0",max:"1",placeholder:"0.3",...a,value:a.value??"",onChange:(0,j.handleNumberInput)(a.onChange)})}),(0,b.jsx)(n.FormMessage,{})]})})]})]}),(0,b.jsxs)("div",{className:D("MODEL"===C),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-[hsl(var(--muted-foreground))]",children:"Model 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"提供方"}),(0,b.jsxs)(o.Select,{onValueChange:a.onChange,value:a.value??"",children:[(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(o.SelectTrigger,{children:(0,b.jsx)(o.SelectValue,{placeholder:"选择提供方"})})}),(0,b.jsx)(o.SelectContent,{children:(0,b.jsx)(o.SelectItem,{value:"bailian",children:"百炼 (Bailian)"})})]}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.modelConfiguration.model",render:({field:a})=>{let c=e.watch("retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider");return(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"模型名称"}),(0,b.jsx)(n.FormControl,{children:"bailian"===c?(0,b.jsxs)(o.Select,{onValueChange:a.onChange,value:a.value??"",children:[(0,b.jsx)(o.SelectTrigger,{children:(0,b.jsx)(o.SelectValue,{placeholder:"选择模型"})}),(0,b.jsxs)(o.SelectContent,{children:[(0,b.jsx)(o.SelectItem,{value:"gte-rerank-v2",children:"gte-rerank-v2"}),(0,b.jsx)(o.SelectItem,{value:"qwen3-rerank",children:"qwen3-rerank"})]})]}):(0,b.jsx)(l.Input,{placeholder:"输入模型名称",...a,value:a.value??""})}),(0,b.jsx)(n.FormMessage,{})]})}})]})]})]}),(0,b.jsx)("div",{className:"flex justify-end border-t border-[hsl(var(--border-light))] pt-4",children:(0,b.jsx)(k.Button,{type:"submit",disabled:d.isPending,children:d.isPending?"保存中...":"保存更改"})})]})]})}),(0,b.jsxs)("aside",{className:"space-y-6",children:[(0,b.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,b.jsx)(A,{title:"Embedding 配置",description:"创建后不可修改"}),(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(B,{label:"提供方",value:F?.provider==="bailian"?"百炼 (Bailian)":"自定义 (Custom)"}),(0,b.jsx)(B,{label:"模型",value:F?.model??"—"}),(0,b.jsx)(B,{label:"维度",value:F?.dimension?.toString()??"—"}),F?.provider==="custom"&&F?.url&&(0,b.jsx)(B,{label:"API URL",value:F.url})]})]}),(0,b.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,b.jsx)(A,{title:"Metadata Schema",description:"创建后不可修改"}),G.length>0?(0,b.jsx)("div",{className:"overflow-hidden rounded-md border border-[hsl(var(--border-light))]",children:(0,b.jsxs)(q.Table,{children:[(0,b.jsx)(q.TableHeader,{children:(0,b.jsxs)(q.TableRow,{children:[(0,b.jsx)(q.TableHead,{children:"字段名"}),(0,b.jsx)(q.TableHead,{children:"类型"})]})}),(0,b.jsx)(q.TableBody,{children:G.map(a=>(0,b.jsxs)(q.TableRow,{children:[(0,b.jsx)(q.TableCell,{className:"font-mono text-sm",children:a.name}),(0,b.jsx)(q.TableCell,{className:"text-sm text-muted-foreground",children:a.type})]},a.name))})]})}):(0,b.jsx)("p",{className:"rounded-md bg-[hsl(var(--muted)/0.35)] px-3 py-2 text-sm text-muted-foreground",children:"未定义 Metadata Schema"})]})]})]})}function A({title:a,description:c}){return(0,b.jsxs)("header",{className:"mb-4 border-b border-[hsl(var(--border-light))] pb-3",children:[(0,b.jsx)("h3",{className:"text-[15px] font-semibold leading-tight text-[hsl(var(--foreground))]",children:a}),(0,b.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:c})]})}function B({label:a,value:c}){return(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:a}),(0,b.jsx)("span",{className:"text-sm font-medium",children:c})]})}a.s(["default",0,function(){let a=decodeURIComponent((0,c.useParams)().name),{data:f,isLoading:g}=(0,e.useKnowledgeBase)(a);return g?(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(d.Skeleton,{className:"h-8 w-48"}),(0,b.jsx)(d.Skeleton,{className:"h-32 w-full"}),(0,b.jsx)(d.Skeleton,{className:"h-32 w-full"})]}):f?(0,b.jsx)("div",{className:"max-w-5xl",children:(0,b.jsx)(z,{knowledgeBase:f})}):(0,b.jsx)("div",{className:"text-center py-12 text-[hsl(var(--muted-foreground))]",children:"知识库不存在"})}],77086)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=0e95_src_app_%28dashboard%29_knowledge-base_%5Bname%5D_settings_settings-client_tsx_13312zk._.js.map
|
package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0aqzu8w._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[98018,a=>{"use strict";let b=(0,a.i(50053).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);a.s(["Send",0,b],98018)},31710,a=>{"use strict";let b=(0,a.i(50053).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],31710)},31687,a=>{"use strict";let b=(0,a.i(50053).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],31687)},42210,a=>{"use strict";let b=(0,a.i(50053).default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);a.s(["BookOpen",0,b],42210)},42216,a=>a.a(async(b,c)=>{try{let b=await a.y("shiki-2963fa3a20578463");a.n(b),c()}catch(a){c(a)}},!0),23195,a=>a.a(async(b,c)=>{try{let b=await a.y("shiki-2963fa3a20578463/engine/javascript");a.n(b),c()}catch(a){c(a)}},!0),28778,a=>a.a(async(b,c)=>{try{var d=a.i(42216),e=a.i(23195),f=b([d,e]);[d,e]=f.then?(await f)():f;var g=(0,e.createJavaScriptRegexEngine)({forgiving:!0}),h=Object.fromEntries(d.bundledLanguagesInfo.flatMap(a=>{var b;return(null!=(b=a.aliases)?b:[]).map(b=>[b,a.id])})),i=new Set(Object.keys(d.bundledLanguages)),j=a=>{let b=a.trim().toLowerCase();return h[b]||(i.has(b),b)},k=new Map,l=new Map,m=new Map,n=a=>{var b;return"string"==typeof a?a:null!=(b=a.name)?b:"custom"},o=function(a={}){var b;let c=null!=(b=a.themes)?b:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(a){let b=j(a);return i.has(b)},getSupportedLanguages:()=>Array.from(i),getThemes:()=>c,highlight({code:a,language:b,themes:c},e){let f,h,o=j(b),p=[n(c[0]),n(c[1])],q=(f=a.slice(0,100),h=a.length>100?a.slice(-100):"",`${o}:${p[0]}:${p[1]}:${a.length}:${f}:${h}`);if(l.has(q))return l.get(q);e&&(m.has(q)||m.set(q,new Set),m.get(q).add(e));let r=i.has(o)?o:"text";return((a,b)=>{let c=`${a}-${n(b[0])}-${n(b[1])}`;if(k.has(c))return k.get(c);let e=(0,d.createHighlighter)({themes:b,langs:[a],engine:g});return k.set(c,e),e})(r,c).then(b=>{let c=b.getLoadedLanguages().includes(o)?o:"text",d=b.codeToTokens(a,{lang:c,themes:{light:p[0],dark:p[1]}});l.set(q,d);let e=m.get(q);if(e){for(let a of e)a(d);m.delete(q)}}).catch(a=>{console.error("[Streamdown Code] Failed to highlight code:",a),m.delete(q)}),null}}}();a.s(["code",0,o]),c()}catch(a){c(a)}},!1),26925,a=>{"use strict";a.i(2617),a.s([])},46400,a=>{"use strict";var b=a.i(2617);a.s(["Streamdown",()=>b.C])},93280,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(53520),e=a.i(16772),f=a.i(64565);a.s(["CodeBlock",0,function({className:a,children:g,node:h,...i}){let j=(0,c.useRef)(null),[k,l]=(0,c.useState)(!1),m=function(a){for(let b of c.Children.toArray(a)){if(!(0,c.isValidElement)(b))continue;let a=b.props;if("string"!=typeof a?.className)continue;let d=a.className.match(/language-([a-z0-9+#-]+)/i);if(d)return d[1]}}(g)??"",n=(0,c.useCallback)(async()=>{let a=j.current?.innerText??"";if(a)try{await navigator.clipboard.writeText(a),l(!0),window.setTimeout(()=>l(!1),2e3)}catch{}},[]);return(0,b.jsxs)("div",{className:"group relative my-2 overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.5)]",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.8)] px-3 py-1.5",children:[(0,b.jsx)("span",{className:"font-mono text-[11px] uppercase tracking-wide text-muted-foreground",children:m||"text"}),(0,b.jsx)("button",{type:"button",onClick:n,className:(0,f.cn)("inline-flex items-center gap-1 rounded px-2 py-0.5 text-[11px] text-muted-foreground","opacity-0 transition-opacity hover:bg-[hsl(var(--accent))] hover:text-foreground","group-hover:opacity-100 focus-visible:opacity-100",k&&"opacity-100 text-primary"),"aria-label":"复制代码",children:k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),"已复制"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.Copy,{className:"h-3 w-3"}),"复制"]})})]}),(0,b.jsx)("pre",{ref:j,className:(0,f.cn)("overflow-x-auto p-3 text-xs leading-relaxed","[&_code]:bg-transparent [&_code]:p-0",a),...i,children:g})]})}])},13562,a=>a.a(async(b,c)=>{try{var d=a.i(34020),e=a.i(28778);a.i(26925);var f=a.i(46400),g=a.i(64565),h=a.i(93280),i=b([e]);[e]=i.then?(await i)():i;let j=["https://","http://","mailto:","#","/"],k=["https://","data:image/"],l=(a,b)=>{let c=a.toLowerCase();return("src"===b?k:j).some(a=>c.startsWith(a))?a:""};a.s(["Markdown",0,function({children:a,className:b}){return(0,d.jsx)("div",{className:(0,g.cn)("text-sm leading-relaxed text-foreground/90","[&_p]:my-2 [&_ul]:my-2 [&_ol]:my-2 [&_li]:my-0.5","[&_ul]:list-disc [&_ul]:pl-5 [&_ol]:list-decimal [&_ol]:pl-5","[&_h1]:mt-4 [&_h1]:mb-2 [&_h1]:text-lg [&_h1]:font-semibold","[&_h2]:mt-3 [&_h2]:mb-2 [&_h2]:text-base [&_h2]:font-semibold","[&_h3]:mt-3 [&_h3]:mb-1.5 [&_h3]:text-sm [&_h3]:font-semibold","[&_a]:text-primary [&_a]:underline [&_a]:underline-offset-2","[&_:not(pre)>code]:rounded [&_:not(pre)>code]:bg-[hsl(var(--muted))] [&_:not(pre)>code]:px-1 [&_:not(pre)>code]:py-0.5 [&_:not(pre)>code]:text-[0.85em]","[&_table]:my-2 [&_table]:w-full [&_table]:border-collapse","[&_th]:border [&_th]:border-[hsl(var(--border))] [&_th]:px-2 [&_th]:py-1 [&_th]:text-left [&_th]:font-semibold","[&_td]:border [&_td]:border-[hsl(var(--border))] [&_td]:px-2 [&_td]:py-1","[&_blockquote]:my-2 [&_blockquote]:border-l-2 [&_blockquote]:border-[hsl(var(--border))] [&_blockquote]:pl-3 [&_blockquote]:text-muted-foreground","[&_hr]:my-3 [&_hr]:border-[hsl(var(--border))]",b),children:(0,d.jsx)(f.Streamdown,{parseIncompleteMarkdown:!0,skipHtml:!0,urlTransform:l,plugins:{code:e.code},components:{pre:h.CodeBlock},controls:{code:!1,table:!1,mermaid:!1},children:a})})}]),c()}catch(a){c(a)}},!1),73570,a=>a.a(async(b,c)=>{try{var d=a.i(34020),e=a.i(71938),f=a.i(31687),g=a.i(37102),h=a.i(42210),i=a.i(47845),j=a.i(1927),k=a.i(16772),l=a.i(12537),m=a.i(16106),n=a.i(9380),o=a.i(98018),p=a.i(55295),q=a.i(63265),r=a.i(76192),s=a.i(36890),t=a.i(27692),u=a.i(70535),v=a.i(24567),w=a.i(64565),x=a.i(13562),y=b([x]);[x]=y.then?(await y)():y;let J=(0,e.memo)(function({message:a,busy:b,onDelete:c,onResend:e,onRegenerate:f,onEditSave:g}){return"user"===a.role?(0,d.jsx)(D,{message:a,busy:b,onDelete:c,onResend:e,onEditSave:g}):(0,d.jsx)(E,{message:a,busy:b,onDelete:c,onRegenerate:f})},(a,b)=>a.message===b.message&&a.busy===b.busy);function z({align:a,disabled:b,onCopy:c,onDelete:e,onEdit:f,onResend:g,onRegenerate:h}){return(0,d.jsxs)("div",{className:(0,w.cn)("mt-1 flex items-center gap-0.5 opacity-0 transition-opacity duration-150","group-hover:opacity-100 group-focus-within:opacity-100","group-data-[touched=true]:opacity-100","right"===a?"justify-end":"justify-start"),children:[(0,d.jsx)(A,{title:"复制",disabled:b,onClick:c,children:(0,d.jsx)(k.Copy,{className:"h-3.5 w-3.5"})}),f&&(0,d.jsx)(A,{title:"编辑",disabled:b,onClick:f,children:(0,d.jsx)(l.Pencil,{className:"h-3.5 w-3.5"})}),g&&(0,d.jsx)(A,{title:"重新发送",disabled:b,onClick:g,children:(0,d.jsx)(o.Send,{className:"h-3.5 w-3.5"})}),h&&(0,d.jsx)(A,{title:"重新生成",disabled:b,onClick:h,children:(0,d.jsx)(m.RotateCcw,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(A,{title:"删除",disabled:b,onClick:e,destructive:!0,children:(0,d.jsx)(p.Trash2,{className:"h-3.5 w-3.5"})})]})}function A({title:a,disabled:b,destructive:c,onClick:e,children:f}){return(0,d.jsx)(r.Button,{type:"button",variant:"ghost",size:"icon",title:a,"aria-label":a,disabled:b,onClick:e,className:(0,w.cn)("h-7 w-7 text-muted-foreground hover:text-foreground",c&&"hover:text-[hsl(var(--destructive))] hover:bg-[hsl(var(--destructive))]/10"),children:f})}function B({rewriteFailed:a,rewriteError:b,failedKbCount:c,failedKbDetails:e}){let f=!!a,g=(c??0)>0;return f||g?(0,d.jsxs)("div",{className:"space-y-1.5",children:[f&&(0,d.jsx)(C,{label:"意图重写失败 · 已回退到原问题",detail:b??"rewriter 返回空结果或抛错"}),g&&e&&(0,d.jsx)(C,{label:`${c} 个知识库检索失败`,detail:e.map(a=>`• ${a.name}: ${a.reason}`).join("\n")})]}):null}function C({label:a,detail:b}){let[c,f]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"rounded-md border border-amber-500/30 bg-amber-500/5",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>f(a=>!a),className:(0,w.cn)("flex w-full items-center gap-1.5 px-2 py-1 text-xs","text-amber-700 hover:bg-amber-500/10 dark:text-amber-300"),children:[(0,d.jsx)(g.AlertTriangle,{className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{className:"flex-1 text-left",children:a}),(0,d.jsx)(j.ChevronDown,{className:(0,w.cn)("h-3 w-3 opacity-60 transition-transform duration-150",c&&"rotate-180")})]}),c&&(0,d.jsx)("pre",{className:"border-t border-amber-500/20 px-2 py-1.5 text-[11px] leading-relaxed text-amber-700/80 dark:text-amber-300/80 whitespace-pre-wrap font-mono",children:b})]})}function D({message:a,busy:b,onDelete:c,onResend:f,onEditSave:g}){let[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(a.content),[n,o]=(0,e.useState)(!1),[p,t]=(0,e.useState)(!1),[w,x]=(0,e.useState)(!0),y=(0,e.useCallback)(()=>{navigator.clipboard.writeText(a.content),q.toast.success("已复制")},[a.content]),A=(0,e.useCallback)(()=>{let b=l.trim();if(!b||b===a.content){k(!1),m(a.content);return}k(!1),g(a.id,b)},[l,a.content,a.id,g]),B=(0,e.useCallback)(()=>{m(a.content),k(!1)},[a.content]),C=(0,e.useCallback)(a=>{"Escape"===a.key?(a.preventDefault(),B()):"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),A())},[A,B]);return(0,d.jsxs)("div",{className:"group flex justify-end","data-touched":h?"true":void 0,onClickCapture:()=>i(!0),children:[(0,d.jsxs)("div",{className:"flex max-w-[85%] flex-col items-end",children:[j?(0,d.jsxs)("div",{className:"w-full max-w-2xl rounded-2xl border border-[hsl(var(--primary))] bg-[hsl(var(--background))] p-2",children:[(0,d.jsx)(u.Textarea,{autoFocus:!0,value:l,onChange:a=>m(a.target.value),onKeyDown:C,className:"min-h-[80px] resize-y border-0 p-2 text-sm shadow-none focus-visible:ring-0"}),(0,d.jsxs)("div",{className:"mt-1 flex justify-end gap-2",children:[(0,d.jsx)(r.Button,{type:"button",variant:"ghost",size:"sm",onClick:B,children:"取消"}),(0,d.jsx)(r.Button,{type:"button",size:"sm",disabled:!l.trim()||l.trim()===a.content,onClick:A,children:"保存并重发"})]})]}):(0,d.jsx)("div",{className:"rounded-2xl rounded-tr-sm bg-[hsl(var(--muted)/0.7)] px-4 py-2.5 text-sm leading-relaxed text-foreground whitespace-pre-wrap",children:a.content}),!j&&(0,d.jsx)(z,{align:"right",disabled:b,onCopy:y,onEdit:()=>{m(a.content),k(!0)},onResend:()=>t(!0),onDelete:()=>o(!0)})]}),(0,d.jsx)(v.ConfirmDialog,{open:n,onOpenChange:o,title:"删除此消息?",description:"该操作不可撤销。",confirmText:"删除",variant:"danger",onConfirm:()=>{c(a.id,{withNextAssistant:w}),o(!1)},children:(0,d.jsxs)("label",{className:"flex items-center gap-2 text-sm text-foreground",children:[(0,d.jsx)(s.Checkbox,{checked:w,onCheckedChange:a=>x(!0===a)}),"同时删除下方的 AI 回复"]})}),(0,d.jsx)(v.ConfirmDialog,{open:p,onOpenChange:t,title:"重新发送此消息?",description:"将丢弃下方所有消息并重新生成回答。",confirmText:"重新发送",onConfirm:()=>{t(!1),f(a.id)}})]})}function E({message:a,busy:b,onDelete:c,onRegenerate:g}){let[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(!1),o="streaming"===a.status,p="error"===a.status,r=(a.reasoning?.length??0)>0,s=(a.content?.length??0)>0,t=r||o&&!s,u=!!a.usingRag&&!a.retrievalQuery,w=!!a.retrievalQuery&&!a.retrievedChunks,y=(a.retrievalGroups??[]).filter(a=>a.error).map(a=>({name:a.knowledgeBaseName,reason:a.error??""})),A=(0,e.useCallback)(()=>{navigator.clipboard.writeText(a.content),q.toast.success("已复制")},[a.content]);return(0,d.jsxs)("div",{className:"group space-y-3 text-sm leading-relaxed","data-touched":h?"true":void 0,onClickCapture:()=>i(!0),children:[t?(0,d.jsx)(F,{reasoning:a.reasoning??"",streaming:o,startedAt:a.reasoningStartedAt,completedAt:a.reasoningCompletedAt,intentExtracting:u,retrievalInFlight:w}):null,(0,d.jsx)(B,{rewriteFailed:a.queryRewriteFailed,rewriteError:a.queryRewriteError,failedKbCount:y.length,failedKbDetails:y}),a.retrievalQueryRewritten&&a.retrievalQuery?(0,d.jsxs)("div",{className:"inline-flex max-w-full items-center gap-1.5 rounded-md bg-[hsl(var(--muted)/0.4)] px-2 py-1 text-xs text-muted-foreground",children:[(0,d.jsx)(n.Search,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{className:"font-medium shrink-0",children:"检索关键词:"}),(0,d.jsx)("span",{className:"truncate font-mono text-foreground/80",children:a.retrievalQuery})]}):null,a.retrievedChunks&&a.retrievedChunks.length>0?(0,d.jsx)(G,{chunks:a.retrievedChunks,groups:a.retrievalGroups}):null,p?(0,d.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-[hsl(var(--destructive))/0.3] bg-[hsl(var(--destructive))/0.05] px-3 py-2 text-[hsl(var(--destructive))]",children:[(0,d.jsx)(f.AlertCircle,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,d.jsx)("span",{className:"text-xs",children:a.errorMessage??"生成失败"})]}):(0,d.jsxs)("div",{className:"text-foreground/90",children:[(0,d.jsx)(x.Markdown,{children:a.content}),o?(0,d.jsx)("span",{className:"ml-0.5 inline-block h-3.5 w-1.5 animate-pulse bg-foreground align-baseline"}):null]}),(0,d.jsx)(z,{align:"left",disabled:b||o,onCopy:A,onRegenerate:()=>m(!0),onDelete:()=>k(!0)}),(0,d.jsx)(v.ConfirmDialog,{open:j,onOpenChange:k,title:"删除此回复?",description:"该操作不可撤销。",confirmText:"删除",variant:"danger",onConfirm:()=>{c(a.id),k(!1)}}),(0,d.jsx)(v.ConfirmDialog,{open:l,onOpenChange:m,title:"重新生成此回复?",description:"将丢弃下方所有消息并重新生成。",confirmText:"重新生成",onConfirm:()=>{m(!1),g(a.id)}})]})}function F({reasoning:a,streaming:b,startedAt:c,completedAt:f,intentExtracting:g,retrievalInFlight:h}){var k,l;let m,n,o,[p,q]=(0,e.useState)(!1),r=function(a,b){let[c,d]=(0,e.useState)(()=>Date.now());return((0,e.useEffect)(()=>{if(!a||b)return;let c=window.setInterval(()=>d(Date.now()),250);return()=>window.clearInterval(c)},[a,b]),a)?Math.max(0,(b??c)-a):null}(c,f),s=null!=r?(k=r,l=!b||!!f,m=Math.floor(k/1e3),n=Math.floor(m/60),o=m%60,l?0===n?`用时 ${o} 秒`:`用时 ${n} 分 ${o} 秒`:`${n}:${String(o).padStart(2,"0")}`):null,u=b&&!f,v=a.length>0,x="正在思考";return v?x="深度思考中":h?x="正在检索知识库":g&&(x="检索意图提取"),(0,d.jsxs)(t.Collapsible,{open:p,onOpenChange:q,children:[(0,d.jsx)(t.CollapsibleTrigger,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",disabled:!v,className:(0,w.cn)("group inline-flex items-center gap-2 rounded-full pl-1.5 pr-2.5 py-1 text-xs font-medium transition-all duration-200",u?"bg-[hsl(var(--primary)/0.08)] text-[hsl(var(--primary))] ring-1 ring-[hsl(var(--primary)/0.25)] shadow-[0_0_0_4px_hsl(var(--primary)/0.06)]":"bg-[hsl(var(--muted)/0.6)] text-muted-foreground hover:bg-[hsl(var(--accent))] hover:text-foreground",!v&&"cursor-default"),"aria-live":u?"polite":"off",children:[(0,d.jsxs)("span",{className:"relative inline-flex h-5 w-5 items-center justify-center",children:[u&&(0,d.jsx)("span",{"aria-hidden":!0,className:"absolute inset-0 rounded-full bg-[hsl(var(--primary))] opacity-40 blur-[6px] animate-thinking-aurora"}),(0,d.jsx)(i.Brain,{className:(0,w.cn)("relative h-3.5 w-3.5",u&&"animate-thinking-icon text-[hsl(var(--primary))]")})]}),u?(0,d.jsx)("span",{className:"animate-text-shimmer bg-[linear-gradient(90deg,hsl(var(--primary)/0.55)_0%,hsl(var(--primary))_50%,hsl(var(--primary)/0.55)_100%)] bg-[length:200%_100%] bg-clip-text text-transparent",children:x}):(0,d.jsx)("span",{children:"已深度思考"}),s&&(0,d.jsxs)("span",{className:(0,w.cn)("tabular-nums text-[11px]",u?"text-[hsl(var(--primary)/0.75)]":"text-muted-foreground/80"),children:["· ",s]}),v&&(0,d.jsx)(j.ChevronDown,{className:(0,w.cn)("h-3 w-3 opacity-60 transition-transform duration-200",p&&"rotate-180",u&&"text-[hsl(var(--primary))]")})]})}),v&&(0,d.jsx)(t.CollapsibleContent,{children:(0,d.jsx)("div",{className:"mt-2 border-l-2 border-[hsl(var(--border))] pl-3 text-xs leading-relaxed text-muted-foreground whitespace-pre-wrap",children:a})})]})}function G({chunks:a,groups:b}){let[c,f]=(0,e.useState)(!1),g=new Map;a.forEach((a,b)=>{g.set(`${a.docId}#${a.chunkId}`,b+1)});let i=(b??[]).filter(a=>!a.error),k=(b??[]).filter(a=>a.error),l=i.length>=2||k.length>0;return(0,d.jsxs)(t.Collapsible,{open:c,onOpenChange:f,children:[(0,d.jsx)(t.CollapsibleTrigger,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-[hsl(var(--accent))] hover:text-foreground",children:[(0,d.jsx)(h.BookOpen,{className:"h-3.5 w-3.5"}),"查看 ",a.length," 个引用",l?(0,d.jsxs)("span",{className:"text-muted-foreground/70",children:["· ",i.length," 个知识库",k.length>0?`(${k.length} 失败)`:""]}):null,(0,d.jsx)(j.ChevronDown,{className:(0,w.cn)("h-3 w-3 transition-transform duration-200",c&&"rotate-180")})]})}),(0,d.jsx)(t.CollapsibleContent,{children:(0,d.jsx)("div",{className:"mt-2 space-y-3",children:l?(0,d.jsxs)(d.Fragment,{children:[i.map(a=>(0,d.jsx)(H,{group:a,indexByKey:g},`ok-${a.knowledgeBaseName}`)),k.map(a=>(0,d.jsxs)("div",{className:"rounded-md border border-[hsl(var(--destructive))/0.3] bg-[hsl(var(--destructive))/0.05] px-3 py-2 text-xs text-[hsl(var(--destructive))]",children:[(0,d.jsx)("span",{className:"font-medium",children:a.knowledgeBaseName}),(0,d.jsxs)("span",{className:"ml-2 text-[hsl(var(--destructive))/0.8]",children:["检索失败:",a.error]})]},`err-${a.knowledgeBaseName}`))]}):(0,d.jsx)("div",{className:"space-y-2",children:a.map((a,b)=>(0,d.jsx)(I,{chunk:a,index:b+1},`${a.docId}-${a.chunkId}`))})})})]})}function H({group:a,indexByKey:b}){return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs font-medium text-muted-foreground",children:[(0,d.jsx)("span",{className:"text-foreground/80",children:a.knowledgeBaseName}),(0,d.jsxs)("span",{children:["· ",a.chunks.length," 条"]})]}),(0,d.jsx)("div",{className:"space-y-2 border-l-2 border-[hsl(var(--border))] pl-3",children:a.chunks.map(a=>{let c=`${a.docId}#${a.chunkId}`,e=b.get(c)??0;return(0,d.jsx)(I,{chunk:a,index:e},`${a.docId}-${a.chunkId}`)})})]})}function I({chunk:a,index:b}){let c=a.ossKey?.split("/").pop()||a.ossKey||"未知文件";return(0,d.jsxs)("div",{className:"rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.3)] p-3",children:[(0,d.jsxs)("div",{className:"mb-1.5 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{className:"inline-flex h-5 w-5 items-center justify-center rounded-full bg-[hsl(var(--primary-50))] font-semibold text-primary",children:b>0?b:"–"}),(0,d.jsx)("span",{className:"font-medium text-foreground/80",children:c}),(0,d.jsxs)("span",{children:["Chunk #",a.chunkId]}),(0,d.jsx)("span",{className:"ml-auto font-mono",children:a.score.toFixed(4)})]}),(0,d.jsx)("p",{className:"line-clamp-4 whitespace-pre-wrap text-xs text-foreground/80",children:a.content})]})}J.displayName="QaMessage",a.s(["QaMessage",0,J]),c()}catch(a){c(a)}},!1),57900,a=>a.a(async(b,c)=>{try{var d=a.i(34020),e=a.i(71938),f=a.i(88189),g=a.i(98018),h=a.i(31710),i=a.i(76192),j=a.i(70535),k=a.i(10215),l=a.i(64565),m=a.i(73570),n=b([m]);[m]=n.then?(await n)():n,a.s(["QaChatPanel",0,function({messages:a,isStreaming:b,canSend:c,error:n,onSend:o,onStop:p,onDelete:q,onResend:r,onRegenerate:s,onEditSave:t,emptyState:u,disabledPlaceholder:v}){let[w,x]=(0,e.useState)(""),y=(0,e.useRef)(null),z=(0,e.useRef)(a.length);(0,e.useEffect)(()=>{let b=y.current;if(!b)return;let c=a.length>z.current;(z.current=a.length,c)?requestAnimationFrame(()=>{b.scrollTo({top:b.scrollHeight,behavior:"smooth"})}):b.scrollHeight-b.scrollTop-b.clientHeight<120&&b.scrollTo({top:b.scrollHeight,behavior:"smooth"})},[a]);let A=()=>{let a=w.trim();a&&c&&!b&&(o(a),x(""))};return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-1 flex-col bg-[hsl(var(--card))]",children:[(0,d.jsx)("div",{ref:y,role:"log","aria-live":"polite","aria-relevant":"additions text","aria-busy":b,className:"flex-1 space-y-6 overflow-y-auto px-6 py-5",children:0===a.length?(0,d.jsx)("div",{className:"flex h-full min-h-[320px] items-center justify-center",children:(0,d.jsx)(k.EmptyState,{icon:f.MessageSquare,title:u?.title??"开始对话",description:u?.description??"输入问题,系统会先从知识库检索相关内容,再让大模型基于检索结果回答",action:u?.actionLabel&&u?.onAction?(0,d.jsx)(i.Button,{type:"button",onClick:u.onAction,children:u.actionLabel}):void 0})}):a.map(a=>(0,d.jsx)(m.QaMessage,{message:a,busy:b,onDelete:q,onResend:r,onRegenerate:s,onEditSave:t},a.id))}),(0,d.jsxs)("div",{className:"border-t border-[hsl(var(--border))] bg-[hsl(var(--surface)/0.6)] px-4 py-3",children:[n&&(0,d.jsx)("p",{className:"mb-2 text-xs text-[hsl(var(--destructive))]",children:n}),(0,d.jsxs)("div",{className:"flex items-end gap-2",children:[(0,d.jsx)(j.Textarea,{value:w,onChange:a=>x(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),A())},placeholder:c?"输入问题,Enter 发送,Shift+Enter 换行":v??"请先在左侧选择模型...",disabled:!c,className:(0,l.cn)("min-h-[44px] max-h-40 resize-none text-sm"),rows:1}),b?(0,d.jsx)(i.Button,{type:"button",variant:"outline",size:"icon",onClick:p,title:"停止",children:(0,d.jsx)(h.Square,{className:"h-4 w-4 fill-current"})}):(0,d.jsx)(i.Button,{type:"button",size:"icon",disabled:!c||!w.trim(),onClick:A,title:"发送",children:(0,d.jsx)(g.Send,{className:"h-4 w-4"})})]})]})]})}]),c()}catch(a){c(a)}},!1),64363,32191,87951,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(53520),e=a.i(82725),f=a.i(81619),g=a.i(25825),h=a.i(68826),i=a.i(76192),j=/[\\\/_+.#"@\[\(\{&]/,k=/[\\\/_+.#"@\[\(\{&]/g,l=/[\s-]/,m=/[\s-]/g;function n(a){return a.toLowerCase().replace(m," ")}var o=a.i(88619),p=a.i(5305),q=a.i(59231),r=a.i(68189),s='[cmdk-group=""]',t='[cmdk-group-items=""]',u='[cmdk-item=""]',v=`${u}:not([aria-disabled="true"])`,w="cmdk-item-select",x="data-value",y=(a,b,c)=>{var d;return d=a,function a(b,c,d,e,f,g,h){if(g===c.length)return f===b.length?1:.99;var i=`${f},${g}`;if(void 0!==h[i])return h[i];for(var n,o,p,q,r=e.charAt(g),s=d.indexOf(r,f),t=0;s>=0;)(n=a(b,c,d,e,s+1,g+1,h))>t&&(s===f?n*=1:j.test(b.charAt(s-1))?(n*=.8,(p=b.slice(f,s-1).match(k))&&f>0&&(n*=Math.pow(.999,p.length))):l.test(b.charAt(s-1))?(n*=.9,(q=b.slice(f,s-1).match(m))&&f>0&&(n*=Math.pow(.999,q.length))):(n*=.17,f>0&&(n*=Math.pow(.999,s-f))),b.charAt(s)!==c.charAt(g)&&(n*=.9999)),(n<.1&&d.charAt(s-1)===e.charAt(g+1)||e.charAt(g+1)===e.charAt(g)&&d.charAt(s-1)!==e.charAt(g))&&.1*(o=a(b,c,d,e,s+1,g+2,h))>n&&(n=.1*o),n>t&&(t=n),s=d.indexOf(r,s+1);return h[i]=t,t}(d=c&&c.length>0?`${d+" "+c.join(" ")}`:d,b,n(d),n(b),0,0,{})},z=c.createContext(void 0),A=c.createContext(void 0),B=c.createContext(void 0),C=c.forwardRef((a,b)=>{let d=M(()=>{var b,c;return{search:"",value:null!=(c=null!=(b=a.value)?b:a.defaultValue)?c:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),e=M(()=>new Set),f=M(()=>new Map),g=M(()=>new Map),h=M(()=>new Set),i=K(a),{label:j,children:k,value:l,onValueChange:m,filter:n,shouldFilter:o,loop:r,disablePointerSelection:B=!1,vimBindings:C=!0,...D}=a,E=(0,q.useId)(),F=(0,q.useId)(),G=(0,q.useId)(),H=c.useRef(null),I=P();L(()=>{if(void 0!==l){let a=l.trim();d.current.value=a,J.emit()}},[l]),L(()=>{I(6,V)},[]);let J=c.useMemo(()=>({subscribe:a=>(h.current.add(a),()=>h.current.delete(a)),snapshot:()=>d.current,setState:(a,b,c)=>{var e,f,g,h;if(!Object.is(d.current[a],b)){if(d.current[a]=b,"search"===a)U(),S(),I(1,T);else if("value"===a){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let a=document.getElementById(G);a?a.focus():null==(e=document.getElementById(E))||e.focus()}if(I(7,()=>{var a;d.current.selectedItemId=null==(a=W())?void 0:a.id,J.emit()}),c||I(5,V),(null==(f=i.current)?void 0:f.value)!==void 0){null==(h=(g=i.current).onValueChange)||h.call(g,null!=b?b:"");return}}J.emit()}},emit:()=>{h.current.forEach(a=>a())}}),[]),N=c.useMemo(()=>({value:(a,b,c)=>{var e;b!==(null==(e=g.current.get(a))?void 0:e.value)&&(g.current.set(a,{value:b,keywords:c}),d.current.filtered.items.set(a,O(b,c)),I(2,()=>{S(),J.emit()}))},item:(a,b)=>(e.current.add(a),b&&(f.current.has(b)?f.current.get(b).add(a):f.current.set(b,new Set([a]))),I(3,()=>{U(),S(),d.current.value||T(),J.emit()}),()=>{g.current.delete(a),e.current.delete(a),d.current.filtered.items.delete(a);let b=W();I(4,()=>{U(),(null==b?void 0:b.getAttribute("id"))===a&&T(),J.emit()})}),group:a=>(f.current.has(a)||f.current.set(a,new Set),()=>{g.current.delete(a),f.current.delete(a)}),filter:()=>i.current.shouldFilter,label:j||a["aria-label"],getDisablePointerSelection:()=>i.current.disablePointerSelection,listId:E,inputId:G,labelId:F,listInnerRef:H}),[]);function O(a,b){var c,e;let f=null!=(e=null==(c=i.current)?void 0:c.filter)?e:y;return a?f(a,d.current.search,b):0}function S(){if(!d.current.search||!1===i.current.shouldFilter)return;let a=d.current.filtered.items,b=[];d.current.filtered.groups.forEach(c=>{let d=f.current.get(c),e=0;d.forEach(b=>{e=Math.max(a.get(b),e)}),b.push([c,e])});let c=H.current;X().sort((b,c)=>{var d,e;let f=b.getAttribute("id"),g=c.getAttribute("id");return(null!=(d=a.get(g))?d:0)-(null!=(e=a.get(f))?e:0)}).forEach(a=>{let b=a.closest(t);b?b.appendChild(a.parentElement===b?a:a.closest(`${t} > *`)):c.appendChild(a.parentElement===c?a:a.closest(`${t} > *`))}),b.sort((a,b)=>b[1]-a[1]).forEach(a=>{var b;let c=null==(b=H.current)?void 0:b.querySelector(`${s}[${x}="${encodeURIComponent(a[0])}"]`);null==c||c.parentElement.appendChild(c)})}function T(){let a=X().find(a=>"true"!==a.getAttribute("aria-disabled")),b=null==a?void 0:a.getAttribute(x);J.setState("value",b||void 0)}function U(){var a,b,c,h;if(!d.current.search||!1===i.current.shouldFilter){d.current.filtered.count=e.current.size;return}d.current.filtered.groups=new Set;let j=0;for(let f of e.current){let e=O(null!=(b=null==(a=g.current.get(f))?void 0:a.value)?b:"",null!=(h=null==(c=g.current.get(f))?void 0:c.keywords)?h:[]);d.current.filtered.items.set(f,e),e>0&&j++}for(let[a,b]of f.current)for(let c of b)if(d.current.filtered.items.get(c)>0){d.current.filtered.groups.add(a);break}d.current.filtered.count=j}function V(){var a,b,c;let d=W();d&&((null==(a=d.parentElement)?void 0:a.firstChild)===d&&(null==(c=null==(b=d.closest(s))?void 0:b.querySelector('[cmdk-group-heading=""]'))||c.scrollIntoView({block:"nearest"})),d.scrollIntoView({block:"nearest"}))}function W(){var a;return null==(a=H.current)?void 0:a.querySelector(`${u}[aria-selected="true"]`)}function X(){var a;return Array.from((null==(a=H.current)?void 0:a.querySelectorAll(v))||[])}function Y(a){let b=X()[a];b&&J.setState("value",b.getAttribute(x))}function Z(a){var b;let c=W(),d=X(),e=d.findIndex(a=>a===c),f=d[e+a];null!=(b=i.current)&&b.loop&&(f=e+a<0?d[d.length-1]:e+a===d.length?d[0]:d[e+a]),f&&J.setState("value",f.getAttribute(x))}function $(a){let b=W(),c=null==b?void 0:b.closest(s),d;for(;c&&!d;)d=null==(c=a>0?function(a,b){let c=a.nextElementSibling;for(;c;){if(c.matches(b))return c;c=c.nextElementSibling}}(c,s):function(a,b){let c=a.previousElementSibling;for(;c;){if(c.matches(b))return c;c=c.previousElementSibling}}(c,s))?void 0:c.querySelector(v);d?J.setState("value",d.getAttribute(x)):Z(a)}let _=()=>Y(X().length-1),aa=a=>{a.preventDefault(),a.metaKey?_():a.altKey?$(1):Z(1)},ab=a=>{a.preventDefault(),a.metaKey?Y(0):a.altKey?$(-1):Z(-1)};return c.createElement(p.Primitive.div,{ref:b,tabIndex:-1,...D,"cmdk-root":"",onKeyDown:a=>{var b;null==(b=D.onKeyDown)||b.call(D,a);let c=a.nativeEvent.isComposing||229===a.keyCode;if(!(a.defaultPrevented||c))switch(a.key){case"n":case"j":C&&a.ctrlKey&&aa(a);break;case"ArrowDown":aa(a);break;case"p":case"k":C&&a.ctrlKey&&ab(a);break;case"ArrowUp":ab(a);break;case"Home":a.preventDefault(),Y(0);break;case"End":a.preventDefault(),_();break;case"Enter":{a.preventDefault();let b=W();if(b){let a=new Event(w);b.dispatchEvent(a)}}}}},c.createElement("label",{"cmdk-label":"",htmlFor:N.inputId,id:N.labelId,style:R},j),Q(a,a=>c.createElement(A.Provider,{value:J},c.createElement(z.Provider,{value:N},a))))}),D=c.forwardRef((a,b)=>{var d,e;let f=(0,q.useId)(),g=c.useRef(null),h=c.useContext(B),i=c.useContext(z),j=K(a),k=null!=(e=null==(d=j.current)?void 0:d.forceMount)?e:null==h?void 0:h.forceMount;L(()=>{if(!k)return i.item(f,null==h?void 0:h.id)},[k]);let l=O(f,g,[a.value,a.children,g],a.keywords),m=c.useContext(A),n=N(a=>a.value&&a.value===l.current),o=N(a=>!!k||!1===i.filter()||!a.search||a.filtered.items.get(f)>0);function s(){var a,b;t(),null==(b=(a=j.current).onSelect)||b.call(a,l.current)}function t(){m.setState("value",l.current,!0)}if(c.useEffect(()=>{let b=g.current;if(!(!b||a.disabled))return b.addEventListener(w,s),()=>b.removeEventListener(w,s)},[o,a.onSelect,a.disabled]),!o)return null;let{disabled:u,value:v,onSelect:x,forceMount:y,keywords:C,...D}=a;return c.createElement(p.Primitive.div,{ref:(0,r.composeRefs)(g,b),...D,id:f,"cmdk-item":"",role:"option","aria-disabled":!!u,"aria-selected":!!n,"data-disabled":!!u,"data-selected":!!n,onPointerMove:u||i.getDisablePointerSelection()?void 0:t,onClick:u?void 0:s},a.children)}),E=c.forwardRef((a,b)=>{let{heading:d,children:e,forceMount:f,...g}=a,h=(0,q.useId)(),i=c.useRef(null),j=c.useRef(null),k=(0,q.useId)(),l=c.useContext(z),m=N(a=>!!f||!1===l.filter()||!a.search||a.filtered.groups.has(h));L(()=>l.group(h),[]),O(h,i,[a.value,a.heading,j]);let n=c.useMemo(()=>({id:h,forceMount:f}),[f]);return c.createElement(p.Primitive.div,{ref:(0,r.composeRefs)(i,b),...g,"cmdk-group":"",role:"presentation",hidden:!m||void 0},d&&c.createElement("div",{ref:j,"cmdk-group-heading":"","aria-hidden":!0,id:k},d),Q(a,a=>c.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":d?k:void 0},c.createElement(B.Provider,{value:n},a))))}),F=c.forwardRef((a,b)=>{let{alwaysRender:d,...e}=a,f=c.useRef(null),g=N(a=>!a.search);return d||g?c.createElement(p.Primitive.div,{ref:(0,r.composeRefs)(f,b),...e,"cmdk-separator":"",role:"separator"}):null}),G=c.forwardRef((a,b)=>{let{onValueChange:d,...e}=a,f=null!=a.value,g=c.useContext(A),h=N(a=>a.search),i=N(a=>a.selectedItemId),j=c.useContext(z);return c.useEffect(()=>{null!=a.value&&g.setState("search",a.value)},[a.value]),c.createElement(p.Primitive.input,{ref:b,...e,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":j.listId,"aria-labelledby":j.labelId,"aria-activedescendant":i,id:j.inputId,type:"text",value:f?a.value:h,onChange:a=>{f||g.setState("search",a.target.value),null==d||d(a.target.value)}})}),H=c.forwardRef((a,b)=>{let{children:d,label:e="Suggestions",...f}=a,g=c.useRef(null),h=c.useRef(null),i=N(a=>a.selectedItemId),j=c.useContext(z);return c.useEffect(()=>{if(h.current&&g.current){let a=h.current,b=g.current,c,d=new ResizeObserver(()=>{c=requestAnimationFrame(()=>{let c=a.offsetHeight;b.style.setProperty("--cmdk-list-height",c.toFixed(1)+"px")})});return d.observe(a),()=>{cancelAnimationFrame(c),d.unobserve(a)}}},[]),c.createElement(p.Primitive.div,{ref:(0,r.composeRefs)(g,b),...f,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":i,"aria-label":e,id:j.listId},Q(a,a=>c.createElement("div",{ref:(0,r.composeRefs)(h,j.listInnerRef),"cmdk-list-sizer":""},a)))}),I=c.forwardRef((a,b)=>{let{open:d,onOpenChange:e,overlayClassName:f,contentClassName:g,container:h,...i}=a;return c.createElement(o.Root,{open:d,onOpenChange:e},c.createElement(o.Portal,{container:h},c.createElement(o.Overlay,{"cmdk-overlay":"",className:f}),c.createElement(o.Content,{"aria-label":a.label,"cmdk-dialog":"",className:g},c.createElement(C,{ref:b,...i}))))}),J=Object.assign(C,{List:H,Item:D,Input:G,Group:E,Separator:F,Dialog:I,Empty:c.forwardRef((a,b)=>N(a=>0===a.filtered.count)?c.createElement(p.Primitive.div,{ref:b,...a,"cmdk-empty":"",role:"presentation"}):null),Loading:c.forwardRef((a,b)=>{let{progress:d,children:e,label:f="Loading...",...g}=a;return c.createElement(p.Primitive.div,{ref:b,...g,"cmdk-loading":"",role:"progressbar","aria-valuenow":d,"aria-valuemin":0,"aria-valuemax":100,"aria-label":f},Q(a,a=>c.createElement("div",{"aria-hidden":!0},a)))})});function K(a){let b=c.useRef(a);return L(()=>{b.current=a}),b}var L=c.useEffect;function M(a){let b=c.useRef();return void 0===b.current&&(b.current=a()),b}function N(a){let b=c.useContext(A),d=()=>a(b.snapshot());return c.useSyncExternalStore(b.subscribe,d,d)}function O(a,b,d,e=[]){let f=c.useRef(),g=c.useContext(z);return L(()=>{var c;let h=(()=>{var a;for(let b of d){if("string"==typeof b)return b.trim();if("object"==typeof b&&"current"in b)return b.current?null==(a=b.current.textContent)?void 0:a.trim():f.current}})(),i=e.map(a=>a.trim());g.value(a,h,i),null==(c=b.current)||c.setAttribute(x,h),f.current=h}),f}var P=()=>{let[a,b]=c.useState(),d=M(()=>new Map);return L(()=>{d.current.forEach(a=>a()),d.current=new Map},[a]),(a,c)=>{d.current.set(a,c),b({})}};function Q({asChild:a,children:b},d){let e;return a&&c.isValidElement(b)?c.cloneElement("function"==typeof(e=b.type)?e(b.props):"render"in e?e.render(b.props):b,{ref:b.ref},d(b.props.children)):d(b)}var R={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},S=a.i(9380),T=a.i(64565);a.i(43836);let U=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(J,{ref:d,className:(0,T.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...c}));U.displayName=J.displayName;let V=c.forwardRef(({className:a,...c},d)=>(0,b.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[(0,b.jsx)(S.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,b.jsx)(J.Input,{ref:d,className:(0,T.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",a),...c})]}));V.displayName=J.Input.displayName;let W=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(J.List,{ref:d,className:(0,T.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",a),...c}));W.displayName=J.List.displayName;let X=c.forwardRef((a,c)=>(0,b.jsx)(J.Empty,{ref:c,className:"py-6 text-center text-sm",...a}));X.displayName=J.Empty.displayName;let Y=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(J.Group,{ref:d,className:(0,T.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",a),...c}));Y.displayName=J.Group.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(J.Separator,{ref:d,className:(0,T.cn)("-mx-1 h-px bg-border",a),...c})).displayName=J.Separator.displayName;let Z=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(J.Item,{ref:d,className:(0,T.cn)("relative flex cursor-pointer gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled=true]:pointer-events-none data-[selected=true]:bg-[hsl(var(--primary-soft))] data-[selected=true]:text-[hsl(var(--primary))] data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",a),...c}));Z.displayName=J.Item.displayName;var $=a.i(62491),_=a.i(84252),aa=a.i(63525),ab=a.i(37255),ac=a.i(83366),ad=a.i(83917),ae=a.i(25377),af=a.i(39096);function ag({value:a,options:f,onChange:h,disabled:j,fetching:k}){let[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(""),p=n.trim(),q=(0,c.useMemo)(()=>{if(!p)return f;let a=p.toLowerCase();return f.filter(b=>b.toLowerCase().includes(a))},[f,p]),r=f.some(a=>a.toLowerCase()===p.toLowerCase()),s=p.length>0&&!r,t=a=>{h(a),o(""),m(!1)};return(0,b.jsxs)(_.Popover,{open:l,onOpenChange:m,children:[(0,b.jsx)(_.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)(i.Button,{type:"button",variant:"outline",role:"combobox","aria-expanded":l,disabled:j,className:"w-full justify-between font-normal",children:[(0,b.jsx)("span",{className:(0,T.cn)("truncate text-left",!a&&"text-[hsl(var(--subtle))]"),children:a||"选择或输入模型名"}),(0,b.jsx)(e.ChevronsUpDown,{className:"h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(_.PopoverContent,{align:"start",className:"w-[var(--radix-popover-trigger-width)] p-0",children:(0,b.jsxs)(U,{shouldFilter:!1,children:[(0,b.jsx)(V,{placeholder:"搜索或输入模型名",value:n,onValueChange:o}),(0,b.jsxs)(W,{children:[0!==q.length||s?null:(0,b.jsx)(X,{children:k?"正在拉取模型列表...":0===f.length?"点击「刷新列表」拉取可用模型":"无匹配结果"}),q.length>0&&(0,b.jsx)(Y,{heading:s?"可选模型":void 0,children:q.map(c=>(0,b.jsxs)(Z,{value:c,onSelect:()=>t(c),children:[(0,b.jsx)(d.Check,{className:(0,T.cn)("h-4 w-4",a===c?"opacity-100":"opacity-0")}),(0,b.jsx)("span",{className:"truncate",children:c})]},c))}),s&&(0,b.jsx)(Y,{heading:"使用自定义",children:(0,b.jsxs)(Z,{value:`__custom__${p}`,onSelect:()=>t(p),children:[(0,b.jsx)(g.Plus,{className:"h-4 w-4 text-[hsl(var(--primary))]"}),(0,b.jsxs)("span",{className:"truncate",children:['使用 "',p,'"']})]})})]})]})})]})}a.s(["LLMModelSelector",0,function({providerId:a,model:d,onProviderChange:e,onModelChange:g,autoSelectFirst:j=!1,providerLabel:k="Provider",modelLabel:l="Model"}){let{data:m=[],isLoading:n}=(0,ab.useLLMProviders)(),{data:o,isFetching:p,refetch:q}=function(a,b={}){let{context:c,ready:d}=(0,af.useRuntimeContext)();return(0,ac.useQuery)({queryKey:ae.queryKeys.llmProviderModels(c.dataScopeKey,a),queryFn:()=>(0,ad.fetchProviderModels)(a),enabled:d&&!!a&&(b.enabled??!0),staleTime:3e5,retry:!1})}(a||void 0,{enabled:!!a});(0,c.useEffect)(()=>{if(!j||a||0===m.length)return;let b=m[0];e(b.id,b.defaultModel??"")},[j,a,m]);let r=(0,c.useMemo)(()=>{let b=new Set;for(let a of(d&&b.add(d),o??[]))b.add(a.id);let c=m.find(b=>b.id===a);return c?.defaultModel&&b.add(c.defaultModel),Array.from(b)},[d,o,m,a]);return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)($.Label,{className:"text-sm font-medium",children:k}),(0,b.jsxs)(aa.Select,{value:a,onValueChange:a=>{let b=m.find(b=>b.id===a);e(a,b?.defaultModel??"")},disabled:n||0===m.length,children:[(0,b.jsx)(aa.SelectTrigger,{children:(0,b.jsx)(aa.SelectValue,{placeholder:n?"加载中...":0===m.length?"请先在「模型提供商」中创建配置":"选择 Provider"})}),(0,b.jsx)(aa.SelectContent,{children:m.map(a=>(0,b.jsx)(aa.SelectItem,{value:a.id,children:a.name},a.id))})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)($.Label,{className:"text-sm font-medium",children:l}),(0,b.jsxs)(i.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 px-2 text-xs",disabled:!a||p,onClick:()=>q(),children:[p?(0,b.jsx)(f.Loader2,{className:"mr-1 h-3 w-3 animate-spin"}):(0,b.jsx)(h.RefreshCw,{className:"mr-1 h-3 w-3"}),"刷新列表"]})]}),(0,b.jsx)(ag,{value:d,options:r,onChange:g,disabled:!a,fetching:p})]})]})}],64363);var ah=a.i(70535);a.s(["SystemPromptInput",0,function({value:a,onChange:c,placeholder:d,helperText:e,rows:f=3,label:g="系统提示词"}){return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)($.Label,{className:"text-sm font-medium",children:g}),(0,b.jsx)(ah.Textarea,{rows:f,value:a,onChange:a=>c(a.target.value),placeholder:d,className:"text-sm"}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:e})]})}],32191);var ai=a.i(50681);a.s(["TemperatureSlider",0,function({value:a,onChange:c,min:d=0,max:e=2,step:f=.05,fallback:g=.7,label:h="温度"}){let i=(a??g).toFixed(2);return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,b.jsx)("span",{className:"font-medium",children:h}),(0,b.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:i})]}),(0,b.jsx)(ai.Slider,{value:[a??g],min:d,max:e,step:f,onValueChange:a=>c(a[0]??g)})]})}],87951)},83643,a=>{"use strict";a.s(["newId",0,function(a="id"){return"u">typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${a}_${Date.now()}_${Math.random().toString(36).slice(2)}`}])},76446,a=>{"use strict";a.s(["findUserAnchorAbove",0,function(a,b){let c=a.findIndex(a=>a.id===b);if(c<0)return null;for(let b=c-1;b>=0;b-=1)if("user"===a[b].role)return a[b];return null},"removeAt",0,function(a,b){let c=a.findIndex(a=>a.id===b);if(c<0)return a;let d=a.slice();return d.splice(c,1),d},"removePair",0,function(a,b){let c=a.findIndex(a=>a.id===b);if(c<0)return a;let d=a.slice(),e=a[c+1]&&"assistant"===a[c+1].role?2:1;return d.splice(c,e),d},"truncateUpToAndIncluding",0,function(a,b){let c=a.findIndex(a=>a.id===b);return c<0?a:a.slice(0,c+1)}])},9135,a=>{"use strict";var b=a.i(71938);async function*c(a,b){let c=await fetch("/api/v1/llm/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a),signal:b});if(!c.ok||!c.body){let a=`Chat request failed with status ${c.status}`,b="STREAM_ERROR";try{let d=await c.json();a=d.message??a,b=d.code??b}catch{}yield{type:"error",code:b,message:a};return}let e=c.body.getReader(),f=new TextDecoder("utf-8"),g="";for(;;){let{value:a,done:b}=await e.read();if(b)break;let c=(g+=f.decode(a,{stream:!0})).indexOf("\n\n");for(;-1!==c;){let a=g.slice(0,c);g=g.slice(c+2);let b=d(a);b&&(yield b),c=g.indexOf("\n\n")}}if(g.trim()){let a=d(g);a&&(yield a)}}function d(a){let b=a.split("\n"),c=[];for(let a of b)!(!a||a.startsWith(":"))&&a.startsWith("data:")&&c.push(a.slice(5).trimStart());if(0===c.length)return null;try{return JSON.parse(c.join("\n"))}catch{return null}}var e=a.i(83643),f=a.i(76446);a.s(["useQaChat",0,function(a){let[d,g]=(0,b.useState)([]),[h,i]=(0,b.useState)(!1),[j,k]=(0,b.useState)(null),l=(0,b.useRef)(null),m=(0,b.useRef)(a.onPersist);m.current=a.onPersist;let n=(0,b.useRef)(d);n.current=d;let o=(0,b.useRef)(a);o.current=a;let p=(0,b.useRef)(h);p.current=h;let q=(0,b.useRef)(new Map),r=(0,b.useRef)(null),s=(0,b.useCallback)(()=>{r.current=null;let a=q.current;if(0===a.size)return;let b=new Map(a);a.clear(),g(a=>a.map(a=>{let c=b.get(a.id);return c?{...a,...c.content?{content:a.content+c.content}:null,...c.reasoning?{reasoning:(a.reasoning??"")+c.reasoning}:null}:a}))},[]),t=(0,b.useCallback)(()=>{if(null===r.current){if("u"<typeof requestAnimationFrame)return void s();r.current=requestAnimationFrame(s)}},[s]),u=(0,b.useCallback)(()=>{null!==r.current&&"u">typeof cancelAnimationFrame&&cancelAnimationFrame(r.current),r.current=null},[]);(0,b.useEffect)(()=>u,[u]);let v=(0,b.useCallback)(()=>{l.current?.abort()},[]),w=(0,b.useCallback)(()=>{l.current?.abort(),n.current=[],g([]),k(null)},[]),x=(0,b.useCallback)(a=>{l.current?.abort(),n.current=a,g(a),k(null)},[]),y=(0,b.useCallback)(async(a,b)=>{let d=o.current,e=new AbortController;l.current=e;let f={current:!1},h={current:!1},j=b=>{g(c=>c.map(c=>c.id===a?{...c,...b}:c))};try{let g={activeInstance:d.activeInstance,providerId:d.providerId,model:d.model,messages:b,systemPrompt:d.systemPrompt,temperature:d.temperature,rag:d.rag};for await(let b of c(g,e.signal))if("query.rewritten"===b.type)j({retrievalQuery:b.query,retrievalQueryRewritten:b.query!==b.original});else if("query.fallback"===b.type)j({retrievalQuery:b.original,retrievalQueryRewritten:!1,queryRewriteFailed:!0,queryRewriteError:b.reason});else if("retrieval.done"===b.type)j({retrievedChunks:b.chunks,retrievalGroups:b.byKnowledgeBase});else if("reasoning.delta"===b.type){let c=q.current.get(a)??{};c.reasoning=(c.reasoning??"")+b.delta,q.current.set(a,c),f.current||(f.current=!0,j({reasoningStartedAt:Date.now()})),t()}else if("content.delta"===b.type){let c=q.current.get(a)??{};c.content=(c.content??"")+b.delta,q.current.set(a,c),f.current&&!h.current&&(h.current=!0,j({reasoningCompletedAt:Date.now()})),t()}else if("error"===b.type){u(),s();let a={status:"error",errorMessage:`${b.code}: ${b.message}`};f.current&&!h.current&&(a.reasoningCompletedAt=Date.now()),j(a),k(b.message);break}else if("done"===b.type){u(),s();let a={status:"done"};f.current&&!h.current&&(a.reasoningCompletedAt=Date.now()),j(a);break}}catch(c){u(),s();let a=c instanceof DOMException&&"AbortError"===c.name,b=f.current&&!h.current?{reasoningCompletedAt:Date.now()}:void 0;if(a)j({status:"done",...b});else{let a=c instanceof Error?c.message:String(c);j({status:"error",errorMessage:a,...b}),k(a)}}finally{i(!1),l.current=null;let a=m.current;a&&g(b=>(a(b),b))}},[t,s,u]),z=(0,b.useCallback)(async a=>{let b=a.trim();if(!b||p.current)return;let c=o.current;if(!c.providerId||!c.model)return void k("请先选择模型与 Provider");k(null);let d={id:(0,e.newId)(),role:"user",content:b,createdAt:Date.now(),status:"done"},f=(0,e.newId)(),h=(c.rag?.knowledgeBases?.length??0)>0,j={id:f,role:"assistant",content:"",reasoning:"",createdAt:Date.now(),status:"streaming",usingRag:h},l=[...n.current,d].map(a=>({role:a.role,content:a.content})),m=[...n.current,d,j];n.current=m,g(m),i(!0),await y(f,l)},[y]),A=(0,b.useCallback)(async a=>{if(p.current)return;let b=o.current;if(!b.providerId||!b.model)return void k("请先选择模型与 Provider");let c=(0,f.truncateUpToAndIncluding)(n.current,a),d=c[c.length-1];if(!d||"user"!==d.role)return;k(null);let h=(0,e.newId)(),j=(b.rag?.knowledgeBases?.length??0)>0,l={id:h,role:"assistant",content:"",reasoning:"",createdAt:Date.now(),status:"streaming",usingRag:j},m=c.map(a=>({role:a.role,content:a.content})),q=[...c,l];n.current=q,g(q),i(!0),await y(h,m)},[y]);return{messages:d,isStreaming:h,error:j,send:z,reissueTurn:A,deleteMessage:(0,b.useCallback)((a,b)=>{if(p.current)return;let c=n.current,d=c.find(b=>b.id===a);if(!d)return;let e="user"===d.role&&b?.withNextAssistant?(0,f.removePair)(c,a):(0,f.removeAt)(c,a);n.current=e,g(e),m.current?.(e)},[]),editUserMessage:(0,b.useCallback)((a,b)=>{let c=n.current,d=c.findIndex(b=>b.id===a);if(d<0||"user"!==c[d].role)return null;let e=c.slice();return e[d]={...c[d],content:b},n.current=e,g(e),a},[]),stop:v,clear:w,setMessages:x}}],9135)},82424,a=>{"use strict";var b=a.i(39096);a.s(["useActiveInstance",0,function(){let{context:a,ready:c}=(0,b.useRuntimeContext)();return{activeInstance:a.activeInstance,ready:c,dataScopeKey:a.dataScopeKey,configRevision:a.configRevision}}])}];
|
|
1
|
+
module.exports=[98018,a=>{"use strict";let b=(0,a.i(50053).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);a.s(["Send",0,b],98018)},31710,a=>{"use strict";let b=(0,a.i(50053).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],31710)},31687,a=>{"use strict";let b=(0,a.i(50053).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],31687)},42210,a=>{"use strict";let b=(0,a.i(50053).default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);a.s(["BookOpen",0,b],42210)},42216,a=>a.a(async(b,c)=>{try{let b=await a.y("shiki-2963fa3a20578463");a.n(b),c()}catch(a){c(a)}},!0),23195,a=>a.a(async(b,c)=>{try{let b=await a.y("shiki-2963fa3a20578463/engine/javascript");a.n(b),c()}catch(a){c(a)}},!0),28778,a=>a.a(async(b,c)=>{try{var d=a.i(42216),e=a.i(23195),f=b([d,e]);[d,e]=f.then?(await f)():f;var g=(0,e.createJavaScriptRegexEngine)({forgiving:!0}),h=Object.fromEntries(d.bundledLanguagesInfo.flatMap(a=>{var b;return(null!=(b=a.aliases)?b:[]).map(b=>[b,a.id])})),i=new Set(Object.keys(d.bundledLanguages)),j=a=>{let b=a.trim().toLowerCase();return h[b]||(i.has(b),b)},k=new Map,l=new Map,m=new Map,n=a=>{var b;return"string"==typeof a?a:null!=(b=a.name)?b:"custom"},o=function(a={}){var b;let c=null!=(b=a.themes)?b:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(a){let b=j(a);return i.has(b)},getSupportedLanguages:()=>Array.from(i),getThemes:()=>c,highlight({code:a,language:b,themes:c},e){let f,h,o=j(b),p=[n(c[0]),n(c[1])],q=(f=a.slice(0,100),h=a.length>100?a.slice(-100):"",`${o}:${p[0]}:${p[1]}:${a.length}:${f}:${h}`);if(l.has(q))return l.get(q);e&&(m.has(q)||m.set(q,new Set),m.get(q).add(e));let r=i.has(o)?o:"text";return((a,b)=>{let c=`${a}-${n(b[0])}-${n(b[1])}`;if(k.has(c))return k.get(c);let e=(0,d.createHighlighter)({themes:b,langs:[a],engine:g});return k.set(c,e),e})(r,c).then(b=>{let c=b.getLoadedLanguages().includes(o)?o:"text",d=b.codeToTokens(a,{lang:c,themes:{light:p[0],dark:p[1]}});l.set(q,d);let e=m.get(q);if(e){for(let a of e)a(d);m.delete(q)}}).catch(a=>{console.error("[Streamdown Code] Failed to highlight code:",a),m.delete(q)}),null}}}();a.s(["code",0,o]),c()}catch(a){c(a)}},!1),26925,a=>{"use strict";a.i(2617),a.s([])},46400,a=>{"use strict";var b=a.i(2617);a.s(["Streamdown",()=>b.C])},93280,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(53520),e=a.i(16772),f=a.i(64565);a.s(["CodeBlock",0,function({className:a,children:g,node:h,...i}){let j=(0,c.useRef)(null),[k,l]=(0,c.useState)(!1),m=function(a){for(let b of c.Children.toArray(a)){if(!(0,c.isValidElement)(b))continue;let a=b.props;if("string"!=typeof a?.className)continue;let d=a.className.match(/language-([a-z0-9+#-]+)/i);if(d)return d[1]}}(g)??"",n=(0,c.useCallback)(async()=>{let a=j.current?.innerText??"";if(a)try{await navigator.clipboard.writeText(a),l(!0),window.setTimeout(()=>l(!1),2e3)}catch{}},[]);return(0,b.jsxs)("div",{className:"group relative my-2 overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.5)]",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.8)] px-3 py-1.5",children:[(0,b.jsx)("span",{className:"font-mono text-[11px] uppercase tracking-wide text-muted-foreground",children:m||"text"}),(0,b.jsx)("button",{type:"button",onClick:n,className:(0,f.cn)("inline-flex items-center gap-1 rounded px-2 py-0.5 text-[11px] text-muted-foreground","opacity-0 transition-opacity hover:bg-[hsl(var(--accent))] hover:text-foreground","group-hover:opacity-100 focus-visible:opacity-100",k&&"opacity-100 text-primary"),"aria-label":"复制代码",children:k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),"已复制"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.Copy,{className:"h-3 w-3"}),"复制"]})})]}),(0,b.jsx)("pre",{ref:j,className:(0,f.cn)("overflow-x-auto p-3 text-xs leading-relaxed","[&_code]:bg-transparent [&_code]:p-0",a),...i,children:g})]})}])},13562,a=>a.a(async(b,c)=>{try{var d=a.i(34020),e=a.i(28778);a.i(26925);var f=a.i(46400),g=a.i(64565),h=a.i(93280),i=b([e]);[e]=i.then?(await i)():i;let j=["https://","http://","mailto:","#","/"],k=["https://","data:image/"],l=(a,b)=>{let c=a.toLowerCase();return("src"===b?k:j).some(a=>c.startsWith(a))?a:""};a.s(["Markdown",0,function({children:a,className:b}){return(0,d.jsx)("div",{className:(0,g.cn)("text-sm leading-relaxed text-foreground/90","[&_p]:my-2 [&_ul]:my-2 [&_ol]:my-2 [&_li]:my-0.5","[&_ul]:list-disc [&_ul]:pl-5 [&_ol]:list-decimal [&_ol]:pl-5","[&_h1]:mt-4 [&_h1]:mb-2 [&_h1]:text-lg [&_h1]:font-semibold","[&_h2]:mt-3 [&_h2]:mb-2 [&_h2]:text-base [&_h2]:font-semibold","[&_h3]:mt-3 [&_h3]:mb-1.5 [&_h3]:text-sm [&_h3]:font-semibold","[&_a]:text-primary [&_a]:underline [&_a]:underline-offset-2","[&_:not(pre)>code]:rounded [&_:not(pre)>code]:bg-[hsl(var(--muted))] [&_:not(pre)>code]:px-1 [&_:not(pre)>code]:py-0.5 [&_:not(pre)>code]:text-[0.85em]","[&_table]:my-2 [&_table]:w-full [&_table]:border-collapse","[&_th]:border [&_th]:border-[hsl(var(--border))] [&_th]:px-2 [&_th]:py-1 [&_th]:text-left [&_th]:font-semibold","[&_td]:border [&_td]:border-[hsl(var(--border))] [&_td]:px-2 [&_td]:py-1","[&_blockquote]:my-2 [&_blockquote]:border-l-2 [&_blockquote]:border-[hsl(var(--border))] [&_blockquote]:pl-3 [&_blockquote]:text-muted-foreground","[&_hr]:my-3 [&_hr]:border-[hsl(var(--border))]",b),children:(0,d.jsx)(f.Streamdown,{parseIncompleteMarkdown:!0,skipHtml:!0,urlTransform:l,plugins:{code:e.code},components:{pre:h.CodeBlock},controls:{code:!1,table:!1,mermaid:!1},children:a})})}]),c()}catch(a){c(a)}},!1),73570,a=>a.a(async(b,c)=>{try{var d=a.i(34020),e=a.i(71938),f=a.i(31687),g=a.i(37102),h=a.i(42210),i=a.i(47845),j=a.i(1927),k=a.i(16772),l=a.i(12537),m=a.i(16106),n=a.i(9380),o=a.i(98018),p=a.i(55295),q=a.i(63265),r=a.i(76192),s=a.i(36890),t=a.i(27692),u=a.i(70535),v=a.i(24567),w=a.i(64565),x=a.i(13562),y=b([x]);[x]=y.then?(await y)():y;let J=(0,e.memo)(function({message:a,busy:b,onDelete:c,onResend:e,onRegenerate:f,onEditSave:g}){return"user"===a.role?(0,d.jsx)(D,{message:a,busy:b,onDelete:c,onResend:e,onEditSave:g}):(0,d.jsx)(E,{message:a,busy:b,onDelete:c,onRegenerate:f})},(a,b)=>a.message===b.message&&a.busy===b.busy);function z({align:a,disabled:b,onCopy:c,onDelete:e,onEdit:f,onResend:g,onRegenerate:h}){return(0,d.jsxs)("div",{className:(0,w.cn)("mt-1 flex items-center gap-0.5 opacity-0 transition-opacity duration-150","group-hover:opacity-100 group-focus-within:opacity-100","group-data-[touched=true]:opacity-100","right"===a?"justify-end":"justify-start"),children:[(0,d.jsx)(A,{title:"复制",disabled:b,onClick:c,children:(0,d.jsx)(k.Copy,{className:"h-3.5 w-3.5"})}),f&&(0,d.jsx)(A,{title:"编辑",disabled:b,onClick:f,children:(0,d.jsx)(l.Pencil,{className:"h-3.5 w-3.5"})}),g&&(0,d.jsx)(A,{title:"重新发送",disabled:b,onClick:g,children:(0,d.jsx)(o.Send,{className:"h-3.5 w-3.5"})}),h&&(0,d.jsx)(A,{title:"重新生成",disabled:b,onClick:h,children:(0,d.jsx)(m.RotateCcw,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(A,{title:"删除",disabled:b,onClick:e,destructive:!0,children:(0,d.jsx)(p.Trash2,{className:"h-3.5 w-3.5"})})]})}function A({title:a,disabled:b,destructive:c,onClick:e,children:f}){return(0,d.jsx)(r.Button,{type:"button",variant:"ghost",size:"icon",title:a,"aria-label":a,disabled:b,onClick:e,className:(0,w.cn)("h-7 w-7 text-muted-foreground hover:text-foreground",c&&"hover:text-[hsl(var(--destructive))] hover:bg-[hsl(var(--destructive))]/10"),children:f})}function B({rewriteFailed:a,rewriteError:b,failedKbCount:c,failedKbDetails:e}){let f=!!a,g=(c??0)>0;return f||g?(0,d.jsxs)("div",{className:"space-y-1.5",children:[f&&(0,d.jsx)(C,{label:"意图重写失败 · 已回退到原问题",detail:b??"rewriter 返回空结果或抛错"}),g&&e&&(0,d.jsx)(C,{label:`${c} 个知识库检索失败`,detail:e.map(a=>`• ${a.name}: ${a.reason}`).join("\n")})]}):null}function C({label:a,detail:b}){let[c,f]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"rounded-md border border-amber-500/30 bg-amber-500/5",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>f(a=>!a),className:(0,w.cn)("flex w-full items-center gap-1.5 px-2 py-1 text-xs","text-amber-700 hover:bg-amber-500/10 dark:text-amber-300"),children:[(0,d.jsx)(g.AlertTriangle,{className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{className:"flex-1 text-left",children:a}),(0,d.jsx)(j.ChevronDown,{className:(0,w.cn)("h-3 w-3 opacity-60 transition-transform duration-150",c&&"rotate-180")})]}),c&&(0,d.jsx)("pre",{className:"border-t border-amber-500/20 px-2 py-1.5 text-[11px] leading-relaxed text-amber-700/80 dark:text-amber-300/80 whitespace-pre-wrap font-mono",children:b})]})}function D({message:a,busy:b,onDelete:c,onResend:f,onEditSave:g}){let[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(a.content),[n,o]=(0,e.useState)(!1),[p,t]=(0,e.useState)(!1),[w,x]=(0,e.useState)(!0),y=(0,e.useCallback)(()=>{navigator.clipboard.writeText(a.content),q.toast.success("已复制")},[a.content]),A=(0,e.useCallback)(()=>{let b=l.trim();if(!b||b===a.content){k(!1),m(a.content);return}k(!1),g(a.id,b)},[l,a.content,a.id,g]),B=(0,e.useCallback)(()=>{m(a.content),k(!1)},[a.content]),C=(0,e.useCallback)(a=>{"Escape"===a.key?(a.preventDefault(),B()):"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),A())},[A,B]);return(0,d.jsxs)("div",{className:"group flex justify-end","data-touched":h?"true":void 0,onClickCapture:()=>i(!0),children:[(0,d.jsxs)("div",{className:"flex max-w-[85%] flex-col items-end",children:[j?(0,d.jsxs)("div",{className:"w-full max-w-2xl rounded-2xl border border-[hsl(var(--primary))] bg-[hsl(var(--background))] p-2",children:[(0,d.jsx)(u.Textarea,{autoFocus:!0,value:l,onChange:a=>m(a.target.value),onKeyDown:C,className:"min-h-[80px] resize-y border-0 p-2 text-sm shadow-none focus-visible:ring-0"}),(0,d.jsxs)("div",{className:"mt-1 flex justify-end gap-2",children:[(0,d.jsx)(r.Button,{type:"button",variant:"ghost",size:"sm",onClick:B,children:"取消"}),(0,d.jsx)(r.Button,{type:"button",size:"sm",disabled:!l.trim()||l.trim()===a.content,onClick:A,children:"保存并重发"})]})]}):(0,d.jsx)("div",{className:"rounded-2xl rounded-tr-sm bg-[hsl(var(--muted)/0.7)] px-4 py-2.5 text-sm leading-relaxed text-foreground whitespace-pre-wrap",children:a.content}),!j&&(0,d.jsx)(z,{align:"right",disabled:b,onCopy:y,onEdit:()=>{m(a.content),k(!0)},onResend:()=>t(!0),onDelete:()=>o(!0)})]}),(0,d.jsx)(v.ConfirmDialog,{open:n,onOpenChange:o,title:"删除此消息?",description:"该操作不可撤销。",confirmText:"删除",variant:"danger",onConfirm:()=>{c(a.id,{withNextAssistant:w}),o(!1)},children:(0,d.jsxs)("label",{className:"flex items-center gap-2 text-sm text-foreground",children:[(0,d.jsx)(s.Checkbox,{checked:w,onCheckedChange:a=>x(!0===a)}),"同时删除下方的 AI 回复"]})}),(0,d.jsx)(v.ConfirmDialog,{open:p,onOpenChange:t,title:"重新发送此消息?",description:"将丢弃下方所有消息并重新生成回答。",confirmText:"重新发送",onConfirm:()=>{t(!1),f(a.id)}})]})}function E({message:a,busy:b,onDelete:c,onRegenerate:g}){let[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(!1),o="streaming"===a.status,p="error"===a.status,r=(a.reasoning?.length??0)>0,s=(a.content?.length??0)>0,t=r||o&&!s,u=!!a.usingRag&&!a.retrievalQuery,w=!!a.retrievalQuery&&!a.retrievedChunks,y=(a.retrievalGroups??[]).filter(a=>a.error).map(a=>({name:a.knowledgeBaseName,reason:a.error??""})),A=(0,e.useCallback)(()=>{navigator.clipboard.writeText(a.content),q.toast.success("已复制")},[a.content]);return(0,d.jsxs)("div",{className:"group space-y-3 text-sm leading-relaxed","data-touched":h?"true":void 0,onClickCapture:()=>i(!0),children:[t?(0,d.jsx)(F,{reasoning:a.reasoning??"",streaming:o,startedAt:a.reasoningStartedAt,completedAt:a.reasoningCompletedAt,intentExtracting:u,retrievalInFlight:w}):null,(0,d.jsx)(B,{rewriteFailed:a.queryRewriteFailed,rewriteError:a.queryRewriteError,failedKbCount:y.length,failedKbDetails:y}),a.retrievalQueryRewritten&&a.retrievalQuery?(0,d.jsxs)("div",{className:"inline-flex max-w-full items-center gap-1.5 rounded-md bg-[hsl(var(--muted)/0.4)] px-2 py-1 text-xs text-muted-foreground",children:[(0,d.jsx)(n.Search,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{className:"font-medium shrink-0",children:"检索关键词:"}),(0,d.jsx)("span",{className:"truncate font-mono text-foreground/80",children:a.retrievalQuery})]}):null,a.retrievedChunks&&a.retrievedChunks.length>0?(0,d.jsx)(G,{chunks:a.retrievedChunks,groups:a.retrievalGroups}):null,p?(0,d.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-[hsl(var(--destructive))/0.3] bg-[hsl(var(--destructive))/0.05] px-3 py-2 text-[hsl(var(--destructive))]",children:[(0,d.jsx)(f.AlertCircle,{className:"mt-0.5 h-4 w-4 shrink-0"}),(0,d.jsx)("span",{className:"text-xs",children:a.errorMessage??"生成失败"})]}):(0,d.jsxs)("div",{className:"text-foreground/90",children:[(0,d.jsx)(x.Markdown,{children:a.content}),o?(0,d.jsx)("span",{className:"ml-0.5 inline-block h-3.5 w-1.5 animate-pulse bg-foreground align-baseline"}):null]}),(0,d.jsx)(z,{align:"left",disabled:b||o,onCopy:A,onRegenerate:()=>m(!0),onDelete:()=>k(!0)}),(0,d.jsx)(v.ConfirmDialog,{open:j,onOpenChange:k,title:"删除此回复?",description:"该操作不可撤销。",confirmText:"删除",variant:"danger",onConfirm:()=>{c(a.id),k(!1)}}),(0,d.jsx)(v.ConfirmDialog,{open:l,onOpenChange:m,title:"重新生成此回复?",description:"将丢弃下方所有消息并重新生成。",confirmText:"重新生成",onConfirm:()=>{m(!1),g(a.id)}})]})}function F({reasoning:a,streaming:b,startedAt:c,completedAt:f,intentExtracting:g,retrievalInFlight:h}){var k,l;let m,n,o,[p,q]=(0,e.useState)(!1),r=function(a,b){let[c,d]=(0,e.useState)(()=>Date.now());return((0,e.useEffect)(()=>{if(!a||b)return;let c=window.setInterval(()=>d(Date.now()),250);return()=>window.clearInterval(c)},[a,b]),a)?Math.max(0,(b??c)-a):null}(c,f),s=null!=r?(k=r,l=!b||!!f,m=Math.floor(k/1e3),n=Math.floor(m/60),o=m%60,l?0===n?`用时 ${o} 秒`:`用时 ${n} 分 ${o} 秒`:`${n}:${String(o).padStart(2,"0")}`):null,u=b&&!f,v=a.length>0,x="正在思考";return v?x="深度思考中":h?x="正在检索知识库":g&&(x="检索意图提取"),(0,d.jsxs)(t.Collapsible,{open:p,onOpenChange:q,children:[(0,d.jsx)(t.CollapsibleTrigger,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",disabled:!v,className:(0,w.cn)("group inline-flex items-center gap-2 rounded-full pl-1.5 pr-2.5 py-1 text-xs font-medium transition-all duration-200",u?"bg-[hsl(var(--primary)/0.08)] text-[hsl(var(--primary))] ring-1 ring-[hsl(var(--primary)/0.25)] shadow-[0_0_0_4px_hsl(var(--primary)/0.06)]":"bg-[hsl(var(--muted)/0.6)] text-muted-foreground hover:bg-[hsl(var(--accent))] hover:text-foreground",!v&&"cursor-default"),"aria-live":u?"polite":"off",children:[(0,d.jsxs)("span",{className:"relative inline-flex h-5 w-5 items-center justify-center",children:[u&&(0,d.jsx)("span",{"aria-hidden":!0,className:"absolute inset-0 rounded-full bg-[hsl(var(--primary))] opacity-40 blur-[6px] animate-thinking-aurora"}),(0,d.jsx)(i.Brain,{className:(0,w.cn)("relative h-3.5 w-3.5",u&&"animate-thinking-icon text-[hsl(var(--primary))]")})]}),u?(0,d.jsx)("span",{className:"animate-text-shimmer bg-[linear-gradient(90deg,hsl(var(--primary)/0.55)_0%,hsl(var(--primary))_50%,hsl(var(--primary)/0.55)_100%)] bg-[length:200%_100%] bg-clip-text text-transparent",children:x}):(0,d.jsx)("span",{children:"已深度思考"}),s&&(0,d.jsxs)("span",{className:(0,w.cn)("tabular-nums text-[11px]",u?"text-[hsl(var(--primary)/0.75)]":"text-muted-foreground/80"),children:["· ",s]}),v&&(0,d.jsx)(j.ChevronDown,{className:(0,w.cn)("h-3 w-3 opacity-60 transition-transform duration-200",p&&"rotate-180",u&&"text-[hsl(var(--primary))]")})]})}),v&&(0,d.jsx)(t.CollapsibleContent,{children:(0,d.jsx)("div",{className:"mt-2 border-l-2 border-[hsl(var(--border))] pl-3 text-xs leading-relaxed text-muted-foreground whitespace-pre-wrap",children:a})})]})}function G({chunks:a,groups:b}){let[c,f]=(0,e.useState)(!1),g=new Map;a.forEach((a,b)=>{g.set(`${a.docId}#${a.chunkId}`,b+1)});let i=(b??[]).filter(a=>!a.error),k=(b??[]).filter(a=>a.error),l=i.length>=2||k.length>0;return(0,d.jsxs)(t.Collapsible,{open:c,onOpenChange:f,children:[(0,d.jsx)(t.CollapsibleTrigger,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-[hsl(var(--accent))] hover:text-foreground",children:[(0,d.jsx)(h.BookOpen,{className:"h-3.5 w-3.5"}),"查看 ",a.length," 个引用",l?(0,d.jsxs)("span",{className:"text-muted-foreground/70",children:["· ",i.length," 个知识库",k.length>0?`(${k.length} 失败)`:""]}):null,(0,d.jsx)(j.ChevronDown,{className:(0,w.cn)("h-3 w-3 transition-transform duration-200",c&&"rotate-180")})]})}),(0,d.jsx)(t.CollapsibleContent,{children:(0,d.jsx)("div",{className:"mt-2 space-y-3",children:l?(0,d.jsxs)(d.Fragment,{children:[i.map(a=>(0,d.jsx)(H,{group:a,indexByKey:g},`ok-${a.knowledgeBaseName}`)),k.map(a=>(0,d.jsxs)("div",{className:"rounded-md border border-[hsl(var(--destructive))/0.3] bg-[hsl(var(--destructive))/0.05] px-3 py-2 text-xs text-[hsl(var(--destructive))]",children:[(0,d.jsx)("span",{className:"font-medium",children:a.knowledgeBaseName}),(0,d.jsxs)("span",{className:"ml-2 text-[hsl(var(--destructive))/0.8]",children:["检索失败:",a.error]})]},`err-${a.knowledgeBaseName}`))]}):(0,d.jsx)("div",{className:"space-y-2",children:a.map((a,b)=>(0,d.jsx)(I,{chunk:a,index:b+1},`${a.docId}-${a.chunkId}`))})})})]})}function H({group:a,indexByKey:b}){return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs font-medium text-muted-foreground",children:[(0,d.jsx)("span",{className:"text-foreground/80",children:a.knowledgeBaseName}),(0,d.jsxs)("span",{children:["· ",a.chunks.length," 条"]})]}),(0,d.jsx)("div",{className:"space-y-2 border-l-2 border-[hsl(var(--border))] pl-3",children:a.chunks.map(a=>{let c=`${a.docId}#${a.chunkId}`,e=b.get(c)??0;return(0,d.jsx)(I,{chunk:a,index:e},`${a.docId}-${a.chunkId}`)})})]})}function I({chunk:a,index:b}){let c=a.ossKey?.split("/").pop()||a.ossKey||"未知文件";return(0,d.jsxs)("div",{className:"rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.3)] p-3",children:[(0,d.jsxs)("div",{className:"mb-1.5 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{className:"inline-flex h-5 w-5 items-center justify-center rounded-full bg-[hsl(var(--primary-50))] font-semibold text-primary",children:b>0?b:"–"}),(0,d.jsx)("span",{className:"font-medium text-foreground/80",children:c}),(0,d.jsxs)("span",{children:["Chunk #",a.chunkId]}),(0,d.jsx)("span",{className:"ml-auto font-mono",children:a.score.toFixed(4)})]}),(0,d.jsx)("p",{className:"line-clamp-4 whitespace-pre-wrap text-xs text-foreground/80",children:a.content})]})}J.displayName="QaMessage",a.s(["QaMessage",0,J]),c()}catch(a){c(a)}},!1),57900,a=>a.a(async(b,c)=>{try{var d=a.i(34020),e=a.i(71938),f=a.i(88189),g=a.i(98018),h=a.i(31710),i=a.i(76192),j=a.i(70535),k=a.i(10215),l=a.i(64565),m=a.i(73570),n=b([m]);[m]=n.then?(await n)():n,a.s(["QaChatPanel",0,function({messages:a,isStreaming:b,canSend:c,error:n,onSend:o,onStop:p,onDelete:q,onResend:r,onRegenerate:s,onEditSave:t,emptyState:u,disabledPlaceholder:v}){let[w,x]=(0,e.useState)(""),y=(0,e.useRef)(null),z=(0,e.useRef)(a.length);(0,e.useEffect)(()=>{let b=y.current;if(!b)return;let c=a.length>z.current;(z.current=a.length,c)?requestAnimationFrame(()=>{b.scrollTo({top:b.scrollHeight,behavior:"smooth"})}):b.scrollHeight-b.scrollTop-b.clientHeight<120&&b.scrollTo({top:b.scrollHeight,behavior:"smooth"})},[a]);let A=()=>{let a=w.trim();a&&c&&!b&&(o(a),x(""))};return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-1 flex-col bg-[hsl(var(--card))]",children:[(0,d.jsx)("div",{ref:y,role:"log","aria-live":"polite","aria-relevant":"additions text","aria-busy":b,className:"flex-1 space-y-6 overflow-y-auto px-6 py-5",children:0===a.length?(0,d.jsx)("div",{className:"flex h-full min-h-[320px] items-center justify-center",children:(0,d.jsx)(k.EmptyState,{icon:f.MessageSquare,title:u?.title??"开始对话",description:u?.description??"输入问题,系统会先从知识库检索相关内容,再让大模型基于检索结果回答",action:u?.actionLabel&&u?.onAction?(0,d.jsx)(i.Button,{type:"button",onClick:u.onAction,children:u.actionLabel}):void 0})}):a.map(a=>(0,d.jsx)(m.QaMessage,{message:a,busy:b,onDelete:q,onResend:r,onRegenerate:s,onEditSave:t},a.id))}),(0,d.jsxs)("div",{className:"border-t border-[hsl(var(--border))] bg-[hsl(var(--surface)/0.6)] px-4 py-3",children:[n&&(0,d.jsx)("p",{className:"mb-2 text-xs text-[hsl(var(--destructive))]",children:n}),(0,d.jsxs)("div",{className:"flex items-end gap-2",children:[(0,d.jsx)(j.Textarea,{value:w,onChange:a=>x(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),A())},placeholder:c?"输入问题,Enter 发送,Shift+Enter 换行":v??"请先在左侧选择模型...",disabled:!c,className:(0,l.cn)("min-h-[44px] max-h-40 resize-none text-sm"),rows:1}),b?(0,d.jsx)(i.Button,{type:"button",variant:"outline",size:"icon",onClick:p,title:"停止",children:(0,d.jsx)(h.Square,{className:"h-4 w-4 fill-current"})}):(0,d.jsx)(i.Button,{type:"button",size:"icon",disabled:!c||!w.trim(),onClick:A,title:"发送",children:(0,d.jsx)(g.Send,{className:"h-4 w-4"})})]})]})]})}]),c()}catch(a){c(a)}},!1),64363,55553,32191,87951,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(53520),e=a.i(82725),f=a.i(81619),g=a.i(25825),h=a.i(68826),i=a.i(76192),j=/[\\\/_+.#"@\[\(\{&]/,k=/[\\\/_+.#"@\[\(\{&]/g,l=/[\s-]/,m=/[\s-]/g;function n(a){return a.toLowerCase().replace(m," ")}var o=a.i(88619),p=a.i(5305),q=a.i(59231),r=a.i(68189),s='[cmdk-group=""]',t='[cmdk-group-items=""]',u='[cmdk-item=""]',v=`${u}:not([aria-disabled="true"])`,w="cmdk-item-select",x="data-value",y=(a,b,c)=>{var d;return d=a,function a(b,c,d,e,f,g,h){if(g===c.length)return f===b.length?1:.99;var i=`${f},${g}`;if(void 0!==h[i])return h[i];for(var n,o,p,q,r=e.charAt(g),s=d.indexOf(r,f),t=0;s>=0;)(n=a(b,c,d,e,s+1,g+1,h))>t&&(s===f?n*=1:j.test(b.charAt(s-1))?(n*=.8,(p=b.slice(f,s-1).match(k))&&f>0&&(n*=Math.pow(.999,p.length))):l.test(b.charAt(s-1))?(n*=.9,(q=b.slice(f,s-1).match(m))&&f>0&&(n*=Math.pow(.999,q.length))):(n*=.17,f>0&&(n*=Math.pow(.999,s-f))),b.charAt(s)!==c.charAt(g)&&(n*=.9999)),(n<.1&&d.charAt(s-1)===e.charAt(g+1)||e.charAt(g+1)===e.charAt(g)&&d.charAt(s-1)!==e.charAt(g))&&.1*(o=a(b,c,d,e,s+1,g+2,h))>n&&(n=.1*o),n>t&&(t=n),s=d.indexOf(r,s+1);return h[i]=t,t}(d=c&&c.length>0?`${d+" "+c.join(" ")}`:d,b,n(d),n(b),0,0,{})},z=c.createContext(void 0),A=c.createContext(void 0),B=c.createContext(void 0),C=c.forwardRef((a,b)=>{let d=M(()=>{var b,c;return{search:"",value:null!=(c=null!=(b=a.value)?b:a.defaultValue)?c:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),e=M(()=>new Set),f=M(()=>new Map),g=M(()=>new Map),h=M(()=>new Set),i=K(a),{label:j,children:k,value:l,onValueChange:m,filter:n,shouldFilter:o,loop:r,disablePointerSelection:B=!1,vimBindings:C=!0,...D}=a,E=(0,q.useId)(),F=(0,q.useId)(),G=(0,q.useId)(),H=c.useRef(null),I=P();L(()=>{if(void 0!==l){let a=l.trim();d.current.value=a,J.emit()}},[l]),L(()=>{I(6,V)},[]);let J=c.useMemo(()=>({subscribe:a=>(h.current.add(a),()=>h.current.delete(a)),snapshot:()=>d.current,setState:(a,b,c)=>{var e,f,g,h;if(!Object.is(d.current[a],b)){if(d.current[a]=b,"search"===a)U(),S(),I(1,T);else if("value"===a){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let a=document.getElementById(G);a?a.focus():null==(e=document.getElementById(E))||e.focus()}if(I(7,()=>{var a;d.current.selectedItemId=null==(a=W())?void 0:a.id,J.emit()}),c||I(5,V),(null==(f=i.current)?void 0:f.value)!==void 0){null==(h=(g=i.current).onValueChange)||h.call(g,null!=b?b:"");return}}J.emit()}},emit:()=>{h.current.forEach(a=>a())}}),[]),N=c.useMemo(()=>({value:(a,b,c)=>{var e;b!==(null==(e=g.current.get(a))?void 0:e.value)&&(g.current.set(a,{value:b,keywords:c}),d.current.filtered.items.set(a,O(b,c)),I(2,()=>{S(),J.emit()}))},item:(a,b)=>(e.current.add(a),b&&(f.current.has(b)?f.current.get(b).add(a):f.current.set(b,new Set([a]))),I(3,()=>{U(),S(),d.current.value||T(),J.emit()}),()=>{g.current.delete(a),e.current.delete(a),d.current.filtered.items.delete(a);let b=W();I(4,()=>{U(),(null==b?void 0:b.getAttribute("id"))===a&&T(),J.emit()})}),group:a=>(f.current.has(a)||f.current.set(a,new Set),()=>{g.current.delete(a),f.current.delete(a)}),filter:()=>i.current.shouldFilter,label:j||a["aria-label"],getDisablePointerSelection:()=>i.current.disablePointerSelection,listId:E,inputId:G,labelId:F,listInnerRef:H}),[]);function O(a,b){var c,e;let f=null!=(e=null==(c=i.current)?void 0:c.filter)?e:y;return a?f(a,d.current.search,b):0}function S(){if(!d.current.search||!1===i.current.shouldFilter)return;let a=d.current.filtered.items,b=[];d.current.filtered.groups.forEach(c=>{let d=f.current.get(c),e=0;d.forEach(b=>{e=Math.max(a.get(b),e)}),b.push([c,e])});let c=H.current;X().sort((b,c)=>{var d,e;let f=b.getAttribute("id"),g=c.getAttribute("id");return(null!=(d=a.get(g))?d:0)-(null!=(e=a.get(f))?e:0)}).forEach(a=>{let b=a.closest(t);b?b.appendChild(a.parentElement===b?a:a.closest(`${t} > *`)):c.appendChild(a.parentElement===c?a:a.closest(`${t} > *`))}),b.sort((a,b)=>b[1]-a[1]).forEach(a=>{var b;let c=null==(b=H.current)?void 0:b.querySelector(`${s}[${x}="${encodeURIComponent(a[0])}"]`);null==c||c.parentElement.appendChild(c)})}function T(){let a=X().find(a=>"true"!==a.getAttribute("aria-disabled")),b=null==a?void 0:a.getAttribute(x);J.setState("value",b||void 0)}function U(){var a,b,c,h;if(!d.current.search||!1===i.current.shouldFilter){d.current.filtered.count=e.current.size;return}d.current.filtered.groups=new Set;let j=0;for(let f of e.current){let e=O(null!=(b=null==(a=g.current.get(f))?void 0:a.value)?b:"",null!=(h=null==(c=g.current.get(f))?void 0:c.keywords)?h:[]);d.current.filtered.items.set(f,e),e>0&&j++}for(let[a,b]of f.current)for(let c of b)if(d.current.filtered.items.get(c)>0){d.current.filtered.groups.add(a);break}d.current.filtered.count=j}function V(){var a,b,c;let d=W();d&&((null==(a=d.parentElement)?void 0:a.firstChild)===d&&(null==(c=null==(b=d.closest(s))?void 0:b.querySelector('[cmdk-group-heading=""]'))||c.scrollIntoView({block:"nearest"})),d.scrollIntoView({block:"nearest"}))}function W(){var a;return null==(a=H.current)?void 0:a.querySelector(`${u}[aria-selected="true"]`)}function X(){var a;return Array.from((null==(a=H.current)?void 0:a.querySelectorAll(v))||[])}function Y(a){let b=X()[a];b&&J.setState("value",b.getAttribute(x))}function Z(a){var b;let c=W(),d=X(),e=d.findIndex(a=>a===c),f=d[e+a];null!=(b=i.current)&&b.loop&&(f=e+a<0?d[d.length-1]:e+a===d.length?d[0]:d[e+a]),f&&J.setState("value",f.getAttribute(x))}function $(a){let b=W(),c=null==b?void 0:b.closest(s),d;for(;c&&!d;)d=null==(c=a>0?function(a,b){let c=a.nextElementSibling;for(;c;){if(c.matches(b))return c;c=c.nextElementSibling}}(c,s):function(a,b){let c=a.previousElementSibling;for(;c;){if(c.matches(b))return c;c=c.previousElementSibling}}(c,s))?void 0:c.querySelector(v);d?J.setState("value",d.getAttribute(x)):Z(a)}let _=()=>Y(X().length-1),aa=a=>{a.preventDefault(),a.metaKey?_():a.altKey?$(1):Z(1)},ab=a=>{a.preventDefault(),a.metaKey?Y(0):a.altKey?$(-1):Z(-1)};return c.createElement(p.Primitive.div,{ref:b,tabIndex:-1,...D,"cmdk-root":"",onKeyDown:a=>{var b;null==(b=D.onKeyDown)||b.call(D,a);let c=a.nativeEvent.isComposing||229===a.keyCode;if(!(a.defaultPrevented||c))switch(a.key){case"n":case"j":C&&a.ctrlKey&&aa(a);break;case"ArrowDown":aa(a);break;case"p":case"k":C&&a.ctrlKey&&ab(a);break;case"ArrowUp":ab(a);break;case"Home":a.preventDefault(),Y(0);break;case"End":a.preventDefault(),_();break;case"Enter":{a.preventDefault();let b=W();if(b){let a=new Event(w);b.dispatchEvent(a)}}}}},c.createElement("label",{"cmdk-label":"",htmlFor:N.inputId,id:N.labelId,style:R},j),Q(a,a=>c.createElement(A.Provider,{value:J},c.createElement(z.Provider,{value:N},a))))}),D=c.forwardRef((a,b)=>{var d,e;let f=(0,q.useId)(),g=c.useRef(null),h=c.useContext(B),i=c.useContext(z),j=K(a),k=null!=(e=null==(d=j.current)?void 0:d.forceMount)?e:null==h?void 0:h.forceMount;L(()=>{if(!k)return i.item(f,null==h?void 0:h.id)},[k]);let l=O(f,g,[a.value,a.children,g],a.keywords),m=c.useContext(A),n=N(a=>a.value&&a.value===l.current),o=N(a=>!!k||!1===i.filter()||!a.search||a.filtered.items.get(f)>0);function s(){var a,b;t(),null==(b=(a=j.current).onSelect)||b.call(a,l.current)}function t(){m.setState("value",l.current,!0)}if(c.useEffect(()=>{let b=g.current;if(!(!b||a.disabled))return b.addEventListener(w,s),()=>b.removeEventListener(w,s)},[o,a.onSelect,a.disabled]),!o)return null;let{disabled:u,value:v,onSelect:x,forceMount:y,keywords:C,...D}=a;return c.createElement(p.Primitive.div,{ref:(0,r.composeRefs)(g,b),...D,id:f,"cmdk-item":"",role:"option","aria-disabled":!!u,"aria-selected":!!n,"data-disabled":!!u,"data-selected":!!n,onPointerMove:u||i.getDisablePointerSelection()?void 0:t,onClick:u?void 0:s},a.children)}),E=c.forwardRef((a,b)=>{let{heading:d,children:e,forceMount:f,...g}=a,h=(0,q.useId)(),i=c.useRef(null),j=c.useRef(null),k=(0,q.useId)(),l=c.useContext(z),m=N(a=>!!f||!1===l.filter()||!a.search||a.filtered.groups.has(h));L(()=>l.group(h),[]),O(h,i,[a.value,a.heading,j]);let n=c.useMemo(()=>({id:h,forceMount:f}),[f]);return c.createElement(p.Primitive.div,{ref:(0,r.composeRefs)(i,b),...g,"cmdk-group":"",role:"presentation",hidden:!m||void 0},d&&c.createElement("div",{ref:j,"cmdk-group-heading":"","aria-hidden":!0,id:k},d),Q(a,a=>c.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":d?k:void 0},c.createElement(B.Provider,{value:n},a))))}),F=c.forwardRef((a,b)=>{let{alwaysRender:d,...e}=a,f=c.useRef(null),g=N(a=>!a.search);return d||g?c.createElement(p.Primitive.div,{ref:(0,r.composeRefs)(f,b),...e,"cmdk-separator":"",role:"separator"}):null}),G=c.forwardRef((a,b)=>{let{onValueChange:d,...e}=a,f=null!=a.value,g=c.useContext(A),h=N(a=>a.search),i=N(a=>a.selectedItemId),j=c.useContext(z);return c.useEffect(()=>{null!=a.value&&g.setState("search",a.value)},[a.value]),c.createElement(p.Primitive.input,{ref:b,...e,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":j.listId,"aria-labelledby":j.labelId,"aria-activedescendant":i,id:j.inputId,type:"text",value:f?a.value:h,onChange:a=>{f||g.setState("search",a.target.value),null==d||d(a.target.value)}})}),H=c.forwardRef((a,b)=>{let{children:d,label:e="Suggestions",...f}=a,g=c.useRef(null),h=c.useRef(null),i=N(a=>a.selectedItemId),j=c.useContext(z);return c.useEffect(()=>{if(h.current&&g.current){let a=h.current,b=g.current,c,d=new ResizeObserver(()=>{c=requestAnimationFrame(()=>{let c=a.offsetHeight;b.style.setProperty("--cmdk-list-height",c.toFixed(1)+"px")})});return d.observe(a),()=>{cancelAnimationFrame(c),d.unobserve(a)}}},[]),c.createElement(p.Primitive.div,{ref:(0,r.composeRefs)(g,b),...f,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":i,"aria-label":e,id:j.listId},Q(a,a=>c.createElement("div",{ref:(0,r.composeRefs)(h,j.listInnerRef),"cmdk-list-sizer":""},a)))}),I=c.forwardRef((a,b)=>{let{open:d,onOpenChange:e,overlayClassName:f,contentClassName:g,container:h,...i}=a;return c.createElement(o.Root,{open:d,onOpenChange:e},c.createElement(o.Portal,{container:h},c.createElement(o.Overlay,{"cmdk-overlay":"",className:f}),c.createElement(o.Content,{"aria-label":a.label,"cmdk-dialog":"",className:g},c.createElement(C,{ref:b,...i}))))}),J=Object.assign(C,{List:H,Item:D,Input:G,Group:E,Separator:F,Dialog:I,Empty:c.forwardRef((a,b)=>N(a=>0===a.filtered.count)?c.createElement(p.Primitive.div,{ref:b,...a,"cmdk-empty":"",role:"presentation"}):null),Loading:c.forwardRef((a,b)=>{let{progress:d,children:e,label:f="Loading...",...g}=a;return c.createElement(p.Primitive.div,{ref:b,...g,"cmdk-loading":"",role:"progressbar","aria-valuenow":d,"aria-valuemin":0,"aria-valuemax":100,"aria-label":f},Q(a,a=>c.createElement("div",{"aria-hidden":!0},a)))})});function K(a){let b=c.useRef(a);return L(()=>{b.current=a}),b}var L=c.useEffect;function M(a){let b=c.useRef();return void 0===b.current&&(b.current=a()),b}function N(a){let b=c.useContext(A),d=()=>a(b.snapshot());return c.useSyncExternalStore(b.subscribe,d,d)}function O(a,b,d,e=[]){let f=c.useRef(),g=c.useContext(z);return L(()=>{var c;let h=(()=>{var a;for(let b of d){if("string"==typeof b)return b.trim();if("object"==typeof b&&"current"in b)return b.current?null==(a=b.current.textContent)?void 0:a.trim():f.current}})(),i=e.map(a=>a.trim());g.value(a,h,i),null==(c=b.current)||c.setAttribute(x,h),f.current=h}),f}var P=()=>{let[a,b]=c.useState(),d=M(()=>new Map);return L(()=>{d.current.forEach(a=>a()),d.current=new Map},[a]),(a,c)=>{d.current.set(a,c),b({})}};function Q({asChild:a,children:b},d){let e;return a&&c.isValidElement(b)?c.cloneElement("function"==typeof(e=b.type)?e(b.props):"render"in e?e.render(b.props):b,{ref:b.ref},d(b.props.children)):d(b)}var R={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},S=a.i(9380),T=a.i(64565);a.i(43836);let U=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(J,{ref:d,className:(0,T.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...c}));U.displayName=J.displayName;let V=c.forwardRef(({className:a,...c},d)=>(0,b.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[(0,b.jsx)(S.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,b.jsx)(J.Input,{ref:d,className:(0,T.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",a),...c})]}));V.displayName=J.Input.displayName;let W=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(J.List,{ref:d,className:(0,T.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",a),...c}));W.displayName=J.List.displayName;let X=c.forwardRef((a,c)=>(0,b.jsx)(J.Empty,{ref:c,className:"py-6 text-center text-sm",...a}));X.displayName=J.Empty.displayName;let Y=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(J.Group,{ref:d,className:(0,T.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",a),...c}));Y.displayName=J.Group.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(J.Separator,{ref:d,className:(0,T.cn)("-mx-1 h-px bg-border",a),...c})).displayName=J.Separator.displayName;let Z=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(J.Item,{ref:d,className:(0,T.cn)("relative flex cursor-pointer gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled=true]:pointer-events-none data-[selected=true]:bg-[hsl(var(--primary-soft))] data-[selected=true]:text-[hsl(var(--primary))] data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",a),...c}));Z.displayName=J.Item.displayName,a.s(["Command",0,U,"CommandEmpty",0,X,"CommandGroup",0,Y,"CommandInput",0,V,"CommandItem",0,Z,"CommandList",0,W],55553);var $=a.i(62491),_=a.i(84252),aa=a.i(63525),ab=a.i(37255),ac=a.i(83366),ad=a.i(83917),ae=a.i(25377),af=a.i(39096);function ag({value:a,options:f,onChange:h,disabled:j,fetching:k}){let[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(""),p=n.trim(),q=(0,c.useMemo)(()=>{if(!p)return f;let a=p.toLowerCase();return f.filter(b=>b.toLowerCase().includes(a))},[f,p]),r=f.some(a=>a.toLowerCase()===p.toLowerCase()),s=p.length>0&&!r,t=a=>{h(a),o(""),m(!1)};return(0,b.jsxs)(_.Popover,{open:l,onOpenChange:m,children:[(0,b.jsx)(_.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)(i.Button,{type:"button",variant:"outline",role:"combobox","aria-expanded":l,disabled:j,className:"w-full justify-between font-normal",children:[(0,b.jsx)("span",{className:(0,T.cn)("truncate text-left",!a&&"text-[hsl(var(--subtle))]"),children:a||"选择或输入模型名"}),(0,b.jsx)(e.ChevronsUpDown,{className:"h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(_.PopoverContent,{align:"start",className:"w-[var(--radix-popover-trigger-width)] p-0",children:(0,b.jsxs)(U,{shouldFilter:!1,children:[(0,b.jsx)(V,{placeholder:"搜索或输入模型名",value:n,onValueChange:o}),(0,b.jsxs)(W,{children:[0!==q.length||s?null:(0,b.jsx)(X,{children:k?"正在拉取模型列表...":0===f.length?"点击「刷新列表」拉取可用模型":"无匹配结果"}),q.length>0&&(0,b.jsx)(Y,{heading:s?"可选模型":void 0,children:q.map(c=>(0,b.jsxs)(Z,{value:c,onSelect:()=>t(c),children:[(0,b.jsx)(d.Check,{className:(0,T.cn)("h-4 w-4",a===c?"opacity-100":"opacity-0")}),(0,b.jsx)("span",{className:"truncate",children:c})]},c))}),s&&(0,b.jsx)(Y,{heading:"使用自定义",children:(0,b.jsxs)(Z,{value:`__custom__${p}`,onSelect:()=>t(p),children:[(0,b.jsx)(g.Plus,{className:"h-4 w-4 text-[hsl(var(--primary))]"}),(0,b.jsxs)("span",{className:"truncate",children:['使用 "',p,'"']})]})})]})]})})]})}a.s(["LLMModelSelector",0,function({providerId:a,model:d,onProviderChange:e,onModelChange:g,autoSelectFirst:j=!1,providerLabel:k="Provider",modelLabel:l="Model"}){let{data:m=[],isLoading:n}=(0,ab.useLLMProviders)(),{data:o,isFetching:p,refetch:q}=function(a,b={}){let{context:c,ready:d}=(0,af.useRuntimeContext)();return(0,ac.useQuery)({queryKey:ae.queryKeys.llmProviderModels(c.dataScopeKey,a),queryFn:()=>(0,ad.fetchProviderModels)(a),enabled:d&&!!a&&(b.enabled??!0),staleTime:3e5,retry:!1})}(a||void 0,{enabled:!!a});(0,c.useEffect)(()=>{if(!j||a||0===m.length)return;let b=m[0];e(b.id,b.defaultModel??"")},[j,a,m]);let r=(0,c.useMemo)(()=>{let b=new Set;for(let a of(d&&b.add(d),o??[]))b.add(a.id);let c=m.find(b=>b.id===a);return c?.defaultModel&&b.add(c.defaultModel),Array.from(b)},[d,o,m,a]);return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)($.Label,{className:"text-sm font-medium",children:k}),(0,b.jsxs)(aa.Select,{value:a,onValueChange:a=>{let b=m.find(b=>b.id===a);e(a,b?.defaultModel??"")},disabled:n||0===m.length,children:[(0,b.jsx)(aa.SelectTrigger,{children:(0,b.jsx)(aa.SelectValue,{placeholder:n?"加载中...":0===m.length?"请先在「模型提供商」中创建配置":"选择 Provider"})}),(0,b.jsx)(aa.SelectContent,{children:m.map(a=>(0,b.jsx)(aa.SelectItem,{value:a.id,children:a.name},a.id))})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)($.Label,{className:"text-sm font-medium",children:l}),(0,b.jsxs)(i.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 px-2 text-xs",disabled:!a||p,onClick:()=>q(),children:[p?(0,b.jsx)(f.Loader2,{className:"mr-1 h-3 w-3 animate-spin"}):(0,b.jsx)(h.RefreshCw,{className:"mr-1 h-3 w-3"}),"刷新列表"]})]}),(0,b.jsx)(ag,{value:d,options:r,onChange:g,disabled:!a,fetching:p})]})]})}],64363);var ah=a.i(70535);a.s(["SystemPromptInput",0,function({value:a,onChange:c,placeholder:d,helperText:e,rows:f=3,label:g="系统提示词"}){return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)($.Label,{className:"text-sm font-medium",children:g}),(0,b.jsx)(ah.Textarea,{rows:f,value:a,onChange:a=>c(a.target.value),placeholder:d,className:"text-sm"}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:e})]})}],32191);var ai=a.i(50681);a.s(["TemperatureSlider",0,function({value:a,onChange:c,min:d=0,max:e=2,step:f=.05,fallback:g=.7,label:h="温度"}){let i=(a??g).toFixed(2);return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,b.jsx)("span",{className:"font-medium",children:h}),(0,b.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:i})]}),(0,b.jsx)(ai.Slider,{value:[a??g],min:d,max:e,step:f,onValueChange:a=>c(a[0]??g)})]})}],87951)},83643,a=>{"use strict";a.s(["newId",0,function(a="id"){return"u">typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${a}_${Date.now()}_${Math.random().toString(36).slice(2)}`}])},76446,a=>{"use strict";a.s(["findUserAnchorAbove",0,function(a,b){let c=a.findIndex(a=>a.id===b);if(c<0)return null;for(let b=c-1;b>=0;b-=1)if("user"===a[b].role)return a[b];return null},"removeAt",0,function(a,b){let c=a.findIndex(a=>a.id===b);if(c<0)return a;let d=a.slice();return d.splice(c,1),d},"removePair",0,function(a,b){let c=a.findIndex(a=>a.id===b);if(c<0)return a;let d=a.slice(),e=a[c+1]&&"assistant"===a[c+1].role?2:1;return d.splice(c,e),d},"truncateUpToAndIncluding",0,function(a,b){let c=a.findIndex(a=>a.id===b);return c<0?a:a.slice(0,c+1)}])},9135,a=>{"use strict";var b=a.i(71938);async function*c(a,b){let c=await fetch("/api/v1/llm/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a),signal:b});if(!c.ok||!c.body){let a=`Chat request failed with status ${c.status}`,b="STREAM_ERROR";try{let d=await c.json();a=d.message??a,b=d.code??b}catch{}yield{type:"error",code:b,message:a};return}let e=c.body.getReader(),f=new TextDecoder("utf-8"),g="";for(;;){let{value:a,done:b}=await e.read();if(b)break;let c=(g+=f.decode(a,{stream:!0})).indexOf("\n\n");for(;-1!==c;){let a=g.slice(0,c);g=g.slice(c+2);let b=d(a);b&&(yield b),c=g.indexOf("\n\n")}}if(g.trim()){let a=d(g);a&&(yield a)}}function d(a){let b=a.split("\n"),c=[];for(let a of b)!(!a||a.startsWith(":"))&&a.startsWith("data:")&&c.push(a.slice(5).trimStart());if(0===c.length)return null;try{return JSON.parse(c.join("\n"))}catch{return null}}var e=a.i(83643),f=a.i(76446);a.s(["useQaChat",0,function(a){let[d,g]=(0,b.useState)([]),[h,i]=(0,b.useState)(!1),[j,k]=(0,b.useState)(null),l=(0,b.useRef)(null),m=(0,b.useRef)(a.onPersist);m.current=a.onPersist;let n=(0,b.useRef)(d);n.current=d;let o=(0,b.useRef)(a);o.current=a;let p=(0,b.useRef)(h);p.current=h;let q=(0,b.useRef)(new Map),r=(0,b.useRef)(null),s=(0,b.useCallback)(()=>{r.current=null;let a=q.current;if(0===a.size)return;let b=new Map(a);a.clear(),g(a=>a.map(a=>{let c=b.get(a.id);return c?{...a,...c.content?{content:a.content+c.content}:null,...c.reasoning?{reasoning:(a.reasoning??"")+c.reasoning}:null}:a}))},[]),t=(0,b.useCallback)(()=>{if(null===r.current){if("u"<typeof requestAnimationFrame)return void s();r.current=requestAnimationFrame(s)}},[s]),u=(0,b.useCallback)(()=>{null!==r.current&&"u">typeof cancelAnimationFrame&&cancelAnimationFrame(r.current),r.current=null},[]);(0,b.useEffect)(()=>u,[u]);let v=(0,b.useCallback)(()=>{l.current?.abort()},[]),w=(0,b.useCallback)(()=>{l.current?.abort(),n.current=[],g([]),k(null)},[]),x=(0,b.useCallback)(a=>{l.current?.abort(),n.current=a,g(a),k(null)},[]),y=(0,b.useCallback)(async(a,b)=>{let d=o.current,e=new AbortController;l.current=e;let f={current:!1},h={current:!1},j=b=>{g(c=>c.map(c=>c.id===a?{...c,...b}:c))};try{let g={activeInstance:d.activeInstance,providerId:d.providerId,model:d.model,messages:b,systemPrompt:d.systemPrompt,temperature:d.temperature,rag:d.rag};for await(let b of c(g,e.signal))if("query.rewritten"===b.type)j({retrievalQuery:b.query,retrievalQueryRewritten:b.query!==b.original});else if("query.fallback"===b.type)j({retrievalQuery:b.original,retrievalQueryRewritten:!1,queryRewriteFailed:!0,queryRewriteError:b.reason});else if("retrieval.done"===b.type)j({retrievedChunks:b.chunks,retrievalGroups:b.byKnowledgeBase});else if("reasoning.delta"===b.type){let c=q.current.get(a)??{};c.reasoning=(c.reasoning??"")+b.delta,q.current.set(a,c),f.current||(f.current=!0,j({reasoningStartedAt:Date.now()})),t()}else if("content.delta"===b.type){let c=q.current.get(a)??{};c.content=(c.content??"")+b.delta,q.current.set(a,c),f.current&&!h.current&&(h.current=!0,j({reasoningCompletedAt:Date.now()})),t()}else if("error"===b.type){u(),s();let a={status:"error",errorMessage:`${b.code}: ${b.message}`};f.current&&!h.current&&(a.reasoningCompletedAt=Date.now()),j(a),k(b.message);break}else if("done"===b.type){u(),s();let a={status:"done"};f.current&&!h.current&&(a.reasoningCompletedAt=Date.now()),j(a);break}}catch(c){u(),s();let a=c instanceof DOMException&&"AbortError"===c.name,b=f.current&&!h.current?{reasoningCompletedAt:Date.now()}:void 0;if(a)j({status:"done",...b});else{let a=c instanceof Error?c.message:String(c);j({status:"error",errorMessage:a,...b}),k(a)}}finally{i(!1),l.current=null;let a=m.current;a&&g(b=>(a(b),b))}},[t,s,u]),z=(0,b.useCallback)(async a=>{let b=a.trim();if(!b||p.current)return;let c=o.current;if(!c.providerId||!c.model)return void k("请先选择模型与 Provider");k(null);let d={id:(0,e.newId)(),role:"user",content:b,createdAt:Date.now(),status:"done"},f=(0,e.newId)(),h=(c.rag?.knowledgeBases?.length??0)>0,j={id:f,role:"assistant",content:"",reasoning:"",createdAt:Date.now(),status:"streaming",usingRag:h},l=[...n.current,d].map(a=>({role:a.role,content:a.content})),m=[...n.current,d,j];n.current=m,g(m),i(!0),await y(f,l)},[y]),A=(0,b.useCallback)(async a=>{if(p.current)return;let b=o.current;if(!b.providerId||!b.model)return void k("请先选择模型与 Provider");let c=(0,f.truncateUpToAndIncluding)(n.current,a),d=c[c.length-1];if(!d||"user"!==d.role)return;k(null);let h=(0,e.newId)(),j=(b.rag?.knowledgeBases?.length??0)>0,l={id:h,role:"assistant",content:"",reasoning:"",createdAt:Date.now(),status:"streaming",usingRag:j},m=c.map(a=>({role:a.role,content:a.content})),q=[...c,l];n.current=q,g(q),i(!0),await y(h,m)},[y]);return{messages:d,isStreaming:h,error:j,send:z,reissueTurn:A,deleteMessage:(0,b.useCallback)((a,b)=>{if(p.current)return;let c=n.current,d=c.find(b=>b.id===a);if(!d)return;let e="user"===d.role&&b?.withNextAssistant?(0,f.removePair)(c,a):(0,f.removeAt)(c,a);n.current=e,g(e),m.current?.(e)},[]),editUserMessage:(0,b.useCallback)((a,b)=>{let c=n.current,d=c.findIndex(b=>b.id===a);if(d<0||"user"!==c[d].role)return null;let e=c.slice();return e[d]={...c[d],content:b},n.current=e,g(e),a},[]),stop:v,clear:w,setMessages:x}}],9135)},82424,a=>{"use strict";var b=a.i(39096);a.s(["useActiveInstance",0,function(){let{context:a,ready:c}=(0,b.useRuntimeContext)();return{activeInstance:a.activeInstance,ready:c,dataScopeKey:a.dataScopeKey,configRevision:a.configRevision}}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0aqzu8w._.js.map
|
package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0hozzu6._.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},68826,a=>{"use strict";let b=(0,a.i(50053).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],68826)},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})]})}])},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)},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)},12537,a=>{"use strict";let b=(0,a.i(50053).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],12537)},81619,a=>{"use strict";let b=(0,a.i(50053).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],81619)},83917,a=>{"use strict";var b=a.i(53141);async function c(){return(await (0,b.apiGet)("/api/v1/llm/providers")).providers}async function d(a){return(await (0,b.apiGet)(`/api/v1/llm/providers/${encodeURIComponent(a)}`)).provider}async function e(a){return(await (0,b.apiPost)("/api/v1/llm/providers",a)).provider}async function f(a,c){return(await (0,b.apiPut)(`/api/v1/llm/providers/${encodeURIComponent(a)}`,c)).provider}async function g(a){await (0,b.apiDelete)(`/api/v1/llm/providers/${encodeURIComponent(a)}`)}async function h(a){return(await (0,b.apiGet)(`/api/v1/llm/providers/${encodeURIComponent(a)}/models`)).models}async function i(a){return(await (0,b.apiPost)(`/api/v1/llm/providers/${encodeURIComponent(a)}/test`)).result}a.s(["createProvider",0,e,"deleteProvider",0,g,"fetchProviderModels",0,h,"getProvider",0,d,"listProviders",0,c,"testProviderConnectivity",0,i,"updateProvider",0,f])},37255,a=>{"use strict";var b=a.i(83366),c=a.i(83917),d=a.i(25377),e=a.i(39096);a.s(["useLLMProviders",0,function(){let{context:a,ready:f}=(0,e.useRuntimeContext)();return(0,b.useQuery)({queryKey:d.queryKeys.llmProviders(a.dataScopeKey),queryFn:c.listProviders,enabled:f,staleTime:3e4})}])},24567,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(43836),e=a.i(76192),f=a.i(72518);a.s(["ConfirmDialog",0,function({open:a,onOpenChange:g,title:h,description:i,confirmText:j="确认",cancelText:k="取消",variant:l="default",onConfirm:m,confirmInput:n,children:o}){let[p,q]=(0,c.useState)(""),r=void 0!==n&&""!==n,s=r&&p!==n,t=(0,c.useCallback)(()=>{s||(m(),q(""))},[s,m]),u=(0,c.useCallback)(a=>{a||q(""),g(a)},[g]);return(0,b.jsx)(d.Dialog,{open:a,onOpenChange:u,children:(0,b.jsxs)(d.DialogContent,{className:"sm:max-w-120",children:[(0,b.jsxs)(d.DialogHeader,{children:[(0,b.jsx)(d.DialogTitle,{children:h}),(0,b.jsx)(d.DialogDescription,{className:"break-all",children:i})]}),r&&(0,b.jsxs)("div",{className:"py-2",children:[(0,b.jsxs)("p",{className:"mb-2 text-sm text-muted-foreground",children:["请输入 ",(0,b.jsx)("strong",{children:n})," 以确认操作"]}),(0,b.jsx)(f.Input,{value:p,onChange:a=>q(a.target.value),placeholder:n,autoFocus:!0})]}),o&&(0,b.jsx)("div",{className:"py-1",children:o}),(0,b.jsxs)(d.DialogFooter,{children:[(0,b.jsx)(e.Button,{variant:"outline",onClick:()=>u(!1),children:k}),(0,b.jsx)(e.Button,{variant:"danger"===l?"destructive":"default",onClick:t,disabled:s,children:j})]})]})})}])},16106,a=>{"use strict";let b=(0,a.i(50053).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",0,b],16106)},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)},89104,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(71562),e=a.i(71071),f=a.i(9380),g=a.i(76192),h=a.i(72518),i=a.i(92942),j=a.i(18236),k=a.i(99016),l=a.i(15325),m=a.i(64363),n=a.i(32191),o=a.i(87951);let p="你是基于知识库回答问题的助手。请严格依据下方「检索结果」作答;若检索结果未涵盖相关信息,请如实说明未在知识库中找到,不要编造。";a.s(["QaForm",0,function({knowledgeBaseName:a,knowledgeBase:q,onChange:r,onClearConversation:s,disabled:t}){let u=(0,c.useRef)(null),v=(0,d.useForm)({resolver:(0,e.zodResolver)(l.retrievalSchema),defaultValues:{...(0,k.retrievalDefaultsFromKB)(a,q),query:"__qa_placeholder__"}}),[w,x]=(0,c.useState)(""),[y,z]=(0,c.useState)(""),[A,B]=(0,c.useState)(.7),[C,D]=(0,c.useState)(p),E=v.watch(),F=JSON.stringify(E);return(0,c.useEffect)(()=>{if(!w||!y)return;let b=u.current?.getFilter(),c=(0,k.assembleRetrievalRequest)(a,{...E,query:"placeholder"},b);r({providerId:w,model:y,temperature:A,systemPrompt:C,rag:{knowledgeBases:[{knowledgeBaseName:a,...c.subspace?.length?{subspace:c.subspace}:{},...c.retrievalConfiguration?{retrievalConfiguration:c.retrievalConfiguration}:{}}]}})},[w,y,A,C,F,a]),(0,b.jsx)(i.Form,{...v,children:(0,b.jsxs)("form",{className:"space-y-5",onSubmit:a=>a.preventDefault(),children:[(0,b.jsxs)("div",{className:"space-y-4 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.25)] p-4",children:[(0,b.jsx)(m.LLMModelSelector,{providerId:w,model:y,onProviderChange:(a,b)=>{x(a),z(b??"")},onModelChange:z,allowFreeText:!0,autoSelectFirst:!0,providerLabel:"大模型",modelLabel:"模型"}),(0,b.jsx)(o.TemperatureSlider,{value:A,onChange:B})]}),(0,b.jsx)(n.SystemPromptInput,{value:C,onChange:D,placeholder:p,helperText:"检索到的 chunks 会自动拼接在提示词之后作为上下文",rows:4}),(0,b.jsx)(i.FormField,{control:v.control,name:"query",render:()=>(0,b.jsxs)(i.FormItem,{className:"sr-only",children:[(0,b.jsx)(i.FormLabel,{children:"query placeholder"}),(0,b.jsx)(i.FormControl,{children:(0,b.jsx)(h.Input,{})}),(0,b.jsx)(i.FormMessage,{})]})}),(0,b.jsx)("div",{className:"space-y-5",children:(0,b.jsx)(j.RetrievalParamsFields,{form:v,knowledgeBase:q,filterRef:u,topKLabel:"检索 TopK"})}),(0,b.jsxs)("p",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,b.jsx)(f.Search,{className:"h-3 w-3"}),"每轮用户消息都会触发一次检索,结果注入系统提示词"]}),(0,b.jsx)(g.Button,{type:"button",variant:"outline",className:"w-full",disabled:t,onClick:s,children:"清空对话"})]})})}])},93693,a=>a.a(async(b,c)=>{try{var d=a.i(34020),e=a.i(71938),f=a.i(99443),g=a.i(57900),h=a.i(89104),i=a.i(33280),j=a.i(82424),k=a.i(9135),l=a.i(76446),m=b([g]);[g]=m.then?(await m)():m,a.s(["default",0,function({params:a}){let{name:b}=(0,e.use)(a),c=decodeURIComponent(b),{data:m}=(0,i.useKnowledgeBase)(c),n=(0,j.useActiveInstance)(),[o,p]=(0,e.useState)(null),q=(0,k.useQaChat)({activeInstance:n.activeInstance,providerId:o?.providerId??"",model:o?.model??"",systemPrompt:o?.systemPrompt??"",temperature:o?.temperature??.7,rag:o?.rag}),r=n.ready&&!!(o?.providerId&&o?.model),s=(0,e.useCallback)((a,b)=>{q.editUserMessage(a,b),q.reissueTurn(a)},[q]),t=(0,e.useCallback)(a=>{let b=(0,l.findUserAnchorAbove)(q.messages,a);b&&q.reissueTurn(b.id)},[q]);return(0,d.jsx)(f.WorkbenchLayout,{aside:(0,d.jsx)(h.QaForm,{knowledgeBaseName:c,knowledgeBase:m,onChange:p,onClearConversation:q.clear,disabled:q.isStreaming}),children:(0,d.jsx)(g.QaChatPanel,{messages:q.messages,isStreaming:q.isStreaming,canSend:r,error:q.error,onSend:q.send,onStop:q.stop,onDelete:q.deleteMessage,onResend:q.reissueTurn,onRegenerate:t,onEditSave:s})})}]),c()}catch(a){c(a)}},!1),11097,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0w08_streamdown_dist_highlighted-body-OFNGDK62_03c0toy.js"].map(b=>a.l(b))).then(()=>b(37971)))},91275,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0w08_streamdown_dist_mermaid-GHXKKRXX_03ew1fz.js"].map(b=>a.l(b))).then(()=>b(91395)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0hozzu6._.js.map
|