@tablestore/tablestore-agent-cli 0.1.7 → 0.1.9
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/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +173 -4
- package/dist/commands/dashboard.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 +2 -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/required-server-files.json +2 -0
- package/dist/dashboard-runtime/dashboard/.next/routes-manifest.json +12 -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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -1
- 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 +20 -19
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +20 -19
- 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 -9
- 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 +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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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/app-paths-manifest.json +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route/build-manifest.json +9 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route/server-reference-manifest.json +4 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js +6 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.map +5 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route_client-reference-manifest.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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/runtime/context/route/app-paths-manifest.json +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route/build-manifest.json +9 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route/server-reference-manifest.json +4 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js +6 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.map +5 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route_client-reference-manifest.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +19 -18
- 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 +19 -18
- 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 -9
- 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 +1 -1
- 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 +23 -22
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +23 -22
- 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 -9
- 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.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/page.js.nft.json +1 -1
- 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 +2 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0n~ec7s.js +6 -6
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.gylau._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.hvkwy._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.qtdn4._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__02p1x3t._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04dd04u._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04ujbw-._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04zbudf._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__05eryp~._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__06fva9g._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0byveuc._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cee_lo._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cyd2qb._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ecs-9r._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ejcow5._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0fglxiw._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0i1_p1s._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/{[root-of-the-server]__0f990w9._.js → [root-of-the-server]__0lvi0g-._.js} +14 -12
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0no9qm0._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0q9fgt6._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0rx9hon._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0w_ig2a._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0zmo~nd._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__11s_zx6._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__11wq90l._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__126srko._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12e1t6o._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12ylr4n._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13g_f9w._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13~-fxp._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/dashboard__next-internal_server_app_api_v1_logs_client_route_actions_0tnhyc7.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/dashboard__next-internal_server_app_api_v1_runtime_context_route_actions_0d9d6g_.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/0p91_next_dist_shared_lib_deployment-id_0uu7yq4.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[externals]__0tqph4u._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0_r24-c._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0aqzu8w._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0jb9ccl._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__10rkv6z._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__11yei-s._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0hm68~i._.js → _0303qx7._.js} +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_03cxnik._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_04f2u4t._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_06l.12l._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_09eom0_._.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/_0dqi8bq._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0e9y.xc._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f9u8i2._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0i8py_a._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jlt.cx._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0n5uozy._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0o32d.y._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0o665bf._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0suxzcc._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tej2s.._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tyxwr3._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0u9md36._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0c7wecm._.js → _0v4jb2q._.js} +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0zn.ayc._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13l7w34._.js +1 -1
- 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_0suis9l._.js +3 -3
- 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_[name]_layout-client_tsx_05momc5._.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_app_(dashboard)_memory_[store]_settings_page_tsx_0y26.xu._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_units_page_tsx_0.6xnei._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_error_tsx_01x7ppm._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_providers_runtime-context-provider_tsx_0wmj66z._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_00arje5._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/functions-config-manifest.json +28 -1
- 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/{0osozgwmk692r.js → 0-etecbti5x22.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-xqk6wfme5fu.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/031-scv-8sah9.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/034uozc1ki09_.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/05ow1qzcjz3pz.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/087x52iesmpfe.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/08an3157he_ad.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0aak.679si-3m.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ai8f~-9ig.gz.js +138 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0c5tcbhzpwen7.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0dheju1t18upn.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{07q4gw5gnh3.d.js → 0fagnytrt.3oe.js} +2 -2
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ffr1_o~ss8r8.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{123yjh849.vzp.js → 0gjljpk5qgdmz.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0h38qfpz-dmiu.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0l1fmyhvp-k49.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pcp6pjjz7o49.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pdq-gljpy7gd.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0q6-s11w9.sgo.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rnm58mg0whfk.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rxp5ykl1_lyb.js +4 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0th7u6qvdy3x2.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v_~favugkv_a.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x3ysmon_~xsv.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x7sjde5wit~i.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0yzz97.2e6if6.js +138 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~alekqkiwwaq.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~e2n9bhosscr.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~i4llb9-utpp.css +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~kfzxrhgbkaz.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~n-y9cstar6b.js +5 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/14z_j1qzycpe1.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/154aheeo3m6bg.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/17k4h5zgalxqj.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{turbopack-0jhqjurvu9x3y.js → turbopack-0ybyy.9-.w~ub.js} +1 -1
- package/dist/dashboard-runtime/dashboard/components.json +20 -0
- package/dist/dashboard-runtime/dashboard/instrumentation-node.ts +14 -0
- package/dist/dashboard-runtime/dashboard/instrumentation.ts +18 -0
- package/dist/dashboard-runtime/dashboard/next.config.ts +56 -0
- package/dist/dashboard-runtime/dashboard/postcss.config.mjs +8 -0
- package/dist/dashboard-runtime/dashboard/server.js +1 -1
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/chat/error.tsx +44 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/chat/loading.tsx +29 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/chat/page.tsx +372 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/error.tsx +69 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/documents/documents-client.tsx +22 -11
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/qa/page.tsx +28 -2
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/layout.tsx +75 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/loading.tsx +26 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/layout.tsx +62 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/messages/_helpers.ts +109 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/messages/page.tsx +309 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/page.tsx +26 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/_helpers.ts +234 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/requests/page.tsx +323 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/search/page.tsx +49 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/settings/page.tsx +71 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/units/page.tsx +277 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/create/page.tsx +30 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/error.tsx +44 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/loading.tsx +26 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/page.tsx +27 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/projects/error.tsx +43 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/projects/loading.tsx +25 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/projects/page.tsx +174 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/auth/status/route.ts +53 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/auth/token/route.ts +113 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/instances/[name]/route.ts +196 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/instances/[name]/token/route.ts +80 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/instances/[name]/use/route.ts +91 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/instances/route.ts +274 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/chunks/route.ts +3 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.ts +3 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.ts +3 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/documents/route.ts +3 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/documents/upload/route.ts +3 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/retrieve/route.ts +3 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/[name]/route.ts +3 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/knowledge-bases/route.ts +3 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/route.ts +455 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/providers/[id]/models/route.ts +46 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/providers/[id]/route.ts +83 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/providers/[id]/test/route.ts +40 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/providers/route.ts +70 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/logs/client/route.ts +70 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/_scope.ts +84 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/messages/route.ts +64 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/requests/route.ts +65 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/route.ts +78 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/search/route.ts +49 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/units/[memoryId]/route.ts +126 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/units/route.ts +85 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/route.ts +60 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/runtime/context/route.ts +26 -0
- package/dist/dashboard-runtime/dashboard/src/app/error.tsx +84 -0
- package/dist/dashboard-runtime/dashboard/src/app/globals.css +262 -0
- package/dist/dashboard-runtime/dashboard/src/app/layout.tsx +38 -0
- package/dist/dashboard-runtime/dashboard/src/app/onboarding/error.tsx +54 -0
- package/dist/dashboard-runtime/dashboard/src/app/onboarding/layout.tsx +18 -0
- package/dist/dashboard-runtime/dashboard/src/app/onboarding/page.tsx +62 -0
- package/dist/dashboard-runtime/dashboard/src/app/page.tsx +10 -0
- package/dist/dashboard-runtime/dashboard/src/components/documents/doc-chunks-dialog.tsx +13 -4
- package/dist/dashboard-runtime/dashboard/src/components/documents/doc-upload-dialog.tsx +436 -94
- package/dist/dashboard-runtime/dashboard/src/components/instance/connect-instance-form.tsx +10 -2
- package/dist/dashboard-runtime/dashboard/src/components/instance/edit-instance-dialog.tsx +6 -2
- package/dist/dashboard-runtime/dashboard/src/components/instance/project-card.tsx +195 -0
- package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-card.tsx +8 -5
- package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-header.tsx +18 -10
- package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/kb-list.tsx +6 -1
- package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar.tsx +90 -0
- package/dist/dashboard-runtime/dashboard/src/components/logging/client-error-reporter.tsx +59 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-header.tsx +8 -12
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-list.tsx +6 -1
- package/dist/dashboard-runtime/dashboard/src/components/qa/markdown.tsx +77 -0
- package/dist/dashboard-runtime/dashboard/src/components/qa/qa-chat-panel.tsx +45 -4
- package/dist/dashboard-runtime/dashboard/src/components/qa/qa-message.tsx +636 -36
- package/dist/dashboard-runtime/dashboard/src/components/shared/confirm-dialog.tsx +8 -1
- package/dist/dashboard-runtime/dashboard/src/components/shared/error-state.tsx +54 -0
- package/dist/dashboard-runtime/dashboard/src/components/shared/refresh-button.tsx +102 -86
- package/dist/dashboard-runtime/dashboard/src/components/ui/badge.tsx +36 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/button.tsx +57 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/card.tsx +97 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/checkbox.tsx +28 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/collapsible.tsx +11 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/command.tsx +153 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/dialog.tsx +127 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/form.tsx +178 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/input.tsx +22 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/label.tsx +24 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/popover.tsx +34 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/select.tsx +162 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/separator.tsx +31 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/sheet.tsx +129 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/skeleton.tsx +49 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/slider.tsx +28 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/sonner.tsx +29 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/switch.tsx +66 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/table.tsx +120 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/tabs.tsx +69 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/textarea.tsx +22 -0
- package/dist/dashboard-runtime/dashboard/src/components/ui/tooltip.tsx +30 -0
- package/dist/dashboard-runtime/dashboard/src/config/navigation.ts +39 -0
- package/dist/dashboard-runtime/dashboard/src/hooks/use-active-instance.ts +20 -0
- package/dist/dashboard-runtime/dashboard/src/hooks/use-add-memory.ts +3 -4
- package/dist/dashboard-runtime/dashboard/src/hooks/use-chat-history.ts +212 -99
- package/dist/dashboard-runtime/dashboard/src/hooks/use-create-kb.ts +2 -1
- package/dist/dashboard-runtime/dashboard/src/hooks/use-create-llm-provider.ts +2 -3
- package/dist/dashboard-runtime/dashboard/src/hooks/use-create-memory-store.ts +2 -1
- package/dist/dashboard-runtime/dashboard/src/hooks/use-delete-documents.ts +10 -5
- package/dist/dashboard-runtime/dashboard/src/hooks/use-delete-kb.ts +2 -1
- package/dist/dashboard-runtime/dashboard/src/hooks/use-delete-llm-provider.ts +2 -3
- package/dist/dashboard-runtime/dashboard/src/hooks/use-delete-memory-store.ts +2 -1
- package/dist/dashboard-runtime/dashboard/src/hooks/use-delete-memory-unit.ts +3 -3
- package/dist/dashboard-runtime/dashboard/src/hooks/use-documents.ts +7 -5
- package/dist/dashboard-runtime/dashboard/src/hooks/use-instances.ts +38 -19
- package/dist/dashboard-runtime/dashboard/src/hooks/use-knowledge-base.ts +5 -2
- package/dist/dashboard-runtime/dashboard/src/hooks/use-knowledge-bases.ts +5 -1
- package/dist/dashboard-runtime/dashboard/src/hooks/use-llm-provider-models.ts +5 -2
- package/dist/dashboard-runtime/dashboard/src/hooks/use-llm-provider.ts +5 -2
- package/dist/dashboard-runtime/dashboard/src/hooks/use-llm-providers.ts +5 -1
- package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-messages.ts +12 -6
- package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-requests.ts +12 -2
- package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-store.ts +5 -2
- package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-stores.ts +5 -1
- package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-unit.ts +16 -2
- package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-units.ts +11 -2
- package/dist/dashboard-runtime/dashboard/src/hooks/use-qa-chat.ts +263 -58
- package/dist/dashboard-runtime/dashboard/src/hooks/use-update-kb.ts +3 -5
- package/dist/dashboard-runtime/dashboard/src/hooks/use-update-llm-provider.ts +2 -4
- package/dist/dashboard-runtime/dashboard/src/hooks/use-update-memory-store.ts +3 -5
- package/dist/dashboard-runtime/dashboard/src/hooks/use-update-memory-unit.ts +3 -2
- package/dist/dashboard-runtime/dashboard/src/hooks/use-upload-documents.ts +26 -7
- package/dist/dashboard-runtime/dashboard/src/lib/chat-message-ops.ts +76 -0
- package/dist/dashboard-runtime/dashboard/src/lib/constants.ts +22 -0
- package/dist/dashboard-runtime/dashboard/src/lib/dev-flags.ts +24 -0
- package/dist/dashboard-runtime/dashboard/src/lib/fonts.ts +9 -0
- package/dist/dashboard-runtime/dashboard/src/lib/memory.ts +69 -0
- package/dist/dashboard-runtime/dashboard/src/lib/normalize-oss-endpoint.ts +28 -0
- package/dist/dashboard-runtime/dashboard/src/lib/query-keys.ts +147 -0
- package/dist/dashboard-runtime/dashboard/src/lib/server/api-helpers.ts +193 -9
- package/dist/dashboard-runtime/dashboard/src/lib/server/chat-project-context.ts +17 -0
- package/dist/dashboard-runtime/dashboard/src/lib/server/runtime-context.ts +108 -0
- package/dist/dashboard-runtime/dashboard/src/lib/server/sdk-client.ts +250 -22
- package/dist/dashboard-runtime/dashboard/src/lib/utils.ts +15 -0
- package/dist/dashboard-runtime/dashboard/src/providers/query-provider.tsx +4 -1
- package/dist/dashboard-runtime/dashboard/src/providers/runtime-context-provider.tsx +237 -0
- package/dist/dashboard-runtime/dashboard/src/schemas/common.ts +8 -0
- package/dist/dashboard-runtime/dashboard/src/schemas/document.ts +28 -0
- package/dist/dashboard-runtime/dashboard/src/schemas/instance.ts +107 -0
- package/dist/dashboard-runtime/dashboard/src/schemas/llm-chat.ts +1 -0
- package/dist/dashboard-runtime/dashboard/src/schemas/retrieval.ts +28 -0
- package/dist/dashboard-runtime/dashboard/src/services/api-client.ts +138 -33
- package/dist/dashboard-runtime/dashboard/src/services/auth.ts +18 -0
- package/dist/dashboard-runtime/dashboard/src/services/chunks.ts +49 -0
- package/dist/dashboard-runtime/dashboard/src/services/documents.ts +208 -0
- package/dist/dashboard-runtime/dashboard/src/services/instances.ts +71 -0
- package/dist/dashboard-runtime/dashboard/src/services/memory.ts +158 -0
- package/dist/dashboard-runtime/dashboard/src/services/retrieval.ts +16 -0
- package/dist/dashboard-runtime/dashboard/src/services/runtime-context.ts +8 -0
- package/dist/dashboard-runtime/dashboard/src/types/api.ts +18 -0
- package/dist/dashboard-runtime/dashboard/src/types/instance.ts +68 -0
- package/dist/dashboard-runtime/dashboard/src/types/llm-chat.ts +21 -0
- package/dist/dashboard-runtime/dashboard/src/types/memory.ts +106 -0
- package/dist/dashboard-runtime/dashboard/src/types/retrieval.ts +43 -0
- package/dist/dashboard-runtime/dashboard/src/types/runtime-context.ts +12 -0
- package/dist/dashboard-runtime/dashboard/tailwind.config.ts +92 -0
- package/dist/dashboard-runtime/dashboard/tsconfig.json +43 -0
- package/dist/dashboard-runtime/dashboard/vitest.config.mjs +12 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts +1 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js +64 -20
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts +1 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js +62 -18
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js.map +1 -1
- 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/config.d.ts +1 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/config.d.ts.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/config.js +19 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/config.js.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/constants.d.ts.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/constants.js +4 -2
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/constants.js.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/index.d.ts +1 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/index.d.ts.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/index.js +1 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/index.js.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/logging.d.ts +78 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/logging.d.ts.map +1 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/logging.js +398 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/logging.js.map +1 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts +1 -0
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.d.ts.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js +64 -20
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/kb-client.js.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts +1 -0
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js +62 -18
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js.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/config.d.ts +1 -0
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/config.d.ts.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/config.js +19 -0
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/config.js.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/constants.d.ts.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/constants.js +4 -2
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/constants.js.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/index.d.ts +1 -0
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/index.js +1 -0
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/index.js.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/logging.d.ts +78 -0
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/logging.d.ts.map +1 -0
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/logging.js +398 -0
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/logging.js.map +1 -0
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__03742bf._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__037l_3-._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__05pd96o._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__07jfil8._.js +0 -38
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__089jtfp._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__08w-nm2._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0_o02fk._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0b50n21._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0bfezi5._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0btp1y7._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0fqdh7c._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0g9--xh._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0gqr7to._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0h71~~8._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0l1bgu.._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0lcurm3._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0n3pam7._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0nkghp7._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0r4amj5._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0td5dey._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0tsud8x._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0wl_vik._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0x7~7nk._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0xvok7r._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0~tse9o._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12lk-nv._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12sqoa8._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0e.4_sonner_dist_index_mjs_0u2em8w._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/12df_@tanstack_react-query_build_modern_0em_ajy._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[externals]__0wijiwt._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0i0y9.r._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0nwf4e.._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0r_6wpx._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0y8rrcu._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0-dlo4s._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_00f15bk._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_02e0c00._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0476v7r._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ct0n55._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0doczxg._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fg6iap._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0mzxmfh._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0naqa6h._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ti~om_._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0~s~e-0._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_11fig8y._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_00o55he._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0qzg4vh._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-mr2-dyb-szq.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0003a8l0skc88.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/00m4164p4ip7m.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/02b1c4t1dy1ri.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/055_bo6_3nt-s.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/06v~rjrrn4ugo.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/07l4dodn5t6l4.js +0 -4
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/07v08gtfpo2yk.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/07xvdo2w9s4~p.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/09qsmnfvk8dm3.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0a5ass8u78k90.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0gkonvtvjhg-p.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0hpoawl1bb10g.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0i5aqiffpm9jr.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jeb9kxtd_jq..js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0j~63ld9lbb25.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0l6znnjqw.4yw.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0m2p301.a174k.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0o-c2g8y5pw-c.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0o0i2ke2jbdvq.js +0 -138
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0rywhgbu_16tm.js +0 -5
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0r~6kt_pkm4di.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0s3mvx9_dr13c.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u2lo2lzizxy_.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v.hno.6q74nn.css +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/100.ax5hitxko.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/14-39g6hwhcgn.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/14ti2gx~1fiub.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/14vqmdm7sosj2.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/17h~onnkksf44.js +0 -138
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/17nx_vdk_qemm.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/1864_5-9a61tw.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/186jubvt5xyuj.js +0 -1
- /package/dist/dashboard-runtime/dashboard/.next/static/{wWmSSYUu4w4mIF1R_7UoM → nPPow7lCVx1fYDGH2XCxQ}/_buildManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{wWmSSYUu4w4mIF1R_7UoM → nPPow7lCVx1fYDGH2XCxQ}/_clientMiddlewareManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{wWmSSYUu4w4mIF1R_7UoM → nPPow7lCVx1fYDGH2XCxQ}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[47161,28974,a=>{"use strict";var b=a.i(33596),c=a.i(83366),d=a.i(77072),e=a.i(63265),f=a.i(53141);async function g(){return(0,f.apiGet)("/api/v1/instances")}async function h(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function i(a){return(0,f.apiPost)("/api/v1/instances",a)}async function j(a){return(0,f.apiPost)("/api/v1/instances",a)}async function k(a,b){return(0,f.apiPut)(`/api/v1/instances/${encodeURIComponent(a)}`,b)}async function l(a){return(0,f.apiDelete)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function m(a){return(0,f.apiPost)(`/api/v1/instances/${encodeURIComponent(a)}/use`)}async function n(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}/token`)}let o=["instances"];function p(a){a.invalidateQueries({queryKey:o}),a.invalidateQueries({queryKey:["knowledge-bases"]}),a.invalidateQueries({queryKey:["memory-stores"]}),a.invalidateQueries({queryKey:["llm-providers"]}),a.invalidateQueries({queryKey:["auth-status"]})}a.s(["useConnectInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>i(a),onSuccess:()=>{p(a),e.toast.success("项目已创建")},onError:a=>{e.toast.error(a instanceof Error?a.message:"创建项目失败")}})},"useDeleteInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>l(a),onSuccess:()=>{p(a),e.toast.success("项目已删除")},onError:a=>{e.toast.error(a instanceof Error?a.message:"删除项目失败")}})},"useExportInstanceToken",0,function(){return(0,b.useMutation)({mutationFn:a=>n(a),onError:a=>{e.toast.error(a instanceof Error?a.message:"导出 Token 失败")}})},"useImportInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>j(a),onSuccess:()=>{p(a),e.toast.success("Token 已导入")},onError:a=>{e.toast.error(a instanceof Error?a.message:"导入 Token 失败")}})},"useInstance",0,function(a){return(0,c.useQuery)({queryKey:["instance",a],queryFn:()=>h(a),enabled:!!a,staleTime:3e4})},"useInstances",0,function(){return(0,c.useQuery)({queryKey:o,queryFn:g,staleTime:3e4})},"useSwitchInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>m(a),onSuccess:()=>{a.removeQueries({queryKey:["knowledge-bases"]}),a.removeQueries({queryKey:["memory-stores"]}),a.removeQueries({queryKey:["llm-providers"]}),a.removeQueries({queryKey:["documents"]}),a.removeQueries({queryKey:["instance"]}),a.invalidateQueries({queryKey:o}),a.invalidateQueries({queryKey:["auth-status"]}),e.toast.success("已切换当前项目")},onError:a=>{e.toast.error(a instanceof Error?a.message:"切换项目失败")}})},"useUpdateInstance",0,function(a){let c=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:b=>k(a,b),onSuccess:()=>{p(c),c.invalidateQueries({queryKey:["instance",a]}),e.toast.success("项目已更新")},onError:a=>{e.toast.error(a instanceof Error?a.message:"更新项目失败")}})}],47161),a.s(["isImportPayload",0,function(a){return"string"==typeof a.token}],28974)},19446,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(71071),e=a.i(71562),f=a.i(44401),g=a.i(80904);let h=g.z.string().trim().regex(/^[a-z0-9-]{1,32}$/,"名称需为 1-32 位小写字母、数字或连字符").refine(a=>"default"!==a,'名称 "default" 为保留字'),i=(a,b=512)=>g.z.string().trim().min(1,`请输入${a}`).max(b),j=(a=512)=>g.z.string().trim().max(a).optional().or(g.z.literal("")),k=g.z.object({name:h,accessKeyId:i("AccessKey ID",128),accessKeySecret:i("AccessKey Secret",512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()});g.z.object({accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:j(256),otsInstanceName:j(128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]});let l=g.z.object({name:h,accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]}),m=g.z.object({token:g.z.string().trim().min(10,"Token 长度不足,无法解析").max(4096),name:h.optional(),activate:g.z.boolean().optional()});var n=a.i(76192),o=a.i(92942),p=a.i(72518),q=a.i(63525),r=a.i(16038),s=a.i(70535);let t=k.extend({otsEndpoint:g.z.string().trim().url("请输入合法的 OTS Endpoint URL"),ossEndpoint:g.z.string().trim().url("请输入合法的 OSS Endpoint URL").optional().or(g.z.literal(""))}),u=m.pick({token:!0}),v=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-hangzhou",label:"华东 1(杭州)"},{value:"cn-shanghai",label:"华东 2(上海)"},{value:"cn-shenzhen",label:"华南 1(深圳)"},{value:"__custom__",label:"其它(自定义)"}];a.s(["ConnectInstanceForm",0,function({mode:a,defaultValues:g,accessKeyIdPlaceholder:h,accessKeySecretPlaceholder:i,onSubmit:j,busy:k,lockName:m,submitLabel:w}){let[x,y]=(0,c.useState)("manual"),z="edit"===a,A=g?.region??"cn-hangzhou",B=(0,c.useMemo)(()=>v.some(a=>a.value===A),[A]),[C,D]=(0,c.useState)(B?A:"__custom__"),E=(0,c.useMemo)(()=>(0,d.zodResolver)(z?l:t),[z]),F=(0,e.useForm)({resolver:E,defaultValues:{name:g?.name??"",accessKeyId:z?"":g?.accessKeyId??"",accessKeySecret:z?"":g?.accessKeySecret??"",otsEndpoint:g?.otsEndpoint??"",otsInstanceName:g?.otsInstanceName??"",ossEndpoint:g?.ossEndpoint??"",ossBucketName:g?.ossBucketName??"",region:A}}),G=(0,e.useForm)({resolver:(0,d.zodResolver)(u),defaultValues:{token:""}});async function H(a){let b={...a,ossEndpoint:a.ossEndpoint?.trim()||void 0,ossBucketName:a.ossBucketName?.trim()||void 0};await j(b)}async function I(a){let b={token:a.token.trim()};await j(b)}let J="create"===a;return(0,b.jsxs)(r.Tabs,{value:x,onValueChange:a=>y(a),className:"w-full",children:[J&&(0,b.jsxs)(r.TabsList,{className:"grid w-full grid-cols-2",children:[(0,b.jsx)(r.TabsTrigger,{value:"manual",children:"手动填写"}),(0,b.jsx)(r.TabsTrigger,{value:"token",children:"导入 Token"})]}),(0,b.jsx)(r.TabsContent,{value:"manual",className:"mt-4",children:(0,b.jsx)(o.Form,{...F,children:(0,b.jsxs)("form",{onSubmit:F.handleSubmit(H),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"name",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目名称"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"prod-main",disabled:m||k,autoComplete:"off"})}),(0,b.jsx)(o.FormDescription,{children:"仅用于本地区分,不会发送到服务端。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeyId",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey ID"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,autoComplete:"off",disabled:k,placeholder:z&&h?`${h} \xb7 留空表示保留`:void 0})}),z&&(0,b.jsx)(o.FormDescription,{children:"AK 与 SK 必须成对更新,留空则保留现有凭证。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeySecret",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey Secret"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,type:"password",autoComplete:"new-password",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"otsEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS Endpoint"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://xxx.cn-hangzhou.ots.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"otsInstanceName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS 实例名"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] px-3 py-2 text-xs text-[hsl(var(--muted-foreground))]",children:[(0,b.jsx)(f.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]"}),(0,b.jsx)("span",{children:"OSS 信息为可选项。若需上传文档到知识库,OSS Endpoint 与 Bucket 必填; 留空则项目只能用于查询与检索,文件上传功能将不可用。"})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"ossEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Endpoint(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://oss-cn-hangzhou.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"ossBucketName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Bucket(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsx)(o.FormField,{control:F.control,name:"region",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"Region"}),"__custom__"===C?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"cn-xxx",disabled:k})}),(0,b.jsx)(n.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{D("cn-hangzhou"),a.onChange("cn-hangzhou")},disabled:k,children:"使用预设"})]}):(0,b.jsxs)(q.Select,{value:C,onValueChange:b=>{D(b),"__custom__"!==b?a.onChange(b):a.onChange("")},disabled:k,children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(q.SelectTrigger,{children:(0,b.jsx)(q.SelectValue,{})})}),(0,b.jsx)(q.SelectContent,{children:v.map(a=>(0,b.jsx)(q.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"提交中...":w??("edit"===a?"保存":"创建项目")})})]})})}),J&&(0,b.jsx)(r.TabsContent,{value:"token",className:"mt-4",children:(0,b.jsx)(o.Form,{...G,children:(0,b.jsxs)("form",{onSubmit:G.handleSubmit(I),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:G.control,name:"token",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目 Token"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(s.Textarea,{...a,rows:5,placeholder:"粘贴从其他环境导出的项目 Token",disabled:k})}),(0,b.jsx)(o.FormDescription,{children:"Token 中已包含 AK/SK、Endpoint 等全部连接信息。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"导入中...":"导入并连接"})})]})})})]})}],19446)}];
|
|
1
|
+
module.exports=[47161,28974,a=>{"use strict";var b=a.i(33596),c=a.i(83366),d=a.i(77072),e=a.i(63265),f=a.i(53141);async function g(){return(0,f.apiGet)("/api/v1/instances")}async function h(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function i(a){return(0,f.apiPost)("/api/v1/instances",a)}async function j(a){return(0,f.apiPost)("/api/v1/instances",a)}async function k(a,b){return(0,f.apiPut)(`/api/v1/instances/${encodeURIComponent(a)}`,b)}async function l(a){return(0,f.apiDelete)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function m(a){return(0,f.apiPost)(`/api/v1/instances/${encodeURIComponent(a)}/use`)}async function n(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}/token`)}var o=a.i(25377),p=a.i(39096);function q(a){(0,o.invalidateInstanceScopedQueries)(a)}function r(a){(0,o.resetInstanceScopedQueries)(a)}function s(a){a.invalidateQueries({queryKey:o.RUNTIME_CONTEXT_QUERY_KEY})}a.s(["useConnectInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>i(a),onSuccess:()=>{r(a),s(a),e.toast.success("项目已创建")},onError:a=>{e.toast.error(a instanceof Error?a.message:"创建项目失败")}})},"useDeleteInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>l(a),onSuccess:()=>{q(a),s(a),e.toast.success("项目已删除")},onError:a=>{e.toast.error(a instanceof Error?a.message:"删除项目失败")}})},"useExportInstanceToken",0,function(){return(0,b.useMutation)({mutationFn:a=>n(a),onError:a=>{e.toast.error(a instanceof Error?a.message:"导出 Token 失败")}})},"useImportInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>j(a),onSuccess:()=>{r(a),s(a),e.toast.success("Token 已导入")},onError:a=>{e.toast.error(a instanceof Error?a.message:"导入 Token 失败")}})},"useInstance",0,function(a){let{context:b,ready:d}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instance(b.dataScopeKey,a),queryFn:()=>h(a),enabled:d&&!!a,staleTime:3e4})},"useInstances",0,function(){let{context:a,ready:b}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instances(a.dataScopeKey),queryFn:g,enabled:b,staleTime:3e4})},"useSwitchInstance",0,function(){let a=(0,d.useQueryClient)(),{context:c}=(0,p.useRuntimeContext)();return(0,b.useMutation)({mutationFn:a=>m(a),onSuccess:({activeInstance:b})=>{r(a),s(a),e.toast.success("已切换当前项目")},onError:a=>{e.toast.error(a instanceof Error?a.message:"切换项目失败")}})},"useUpdateInstance",0,function(a){let c=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:b=>k(a,b),onSuccess:()=>{q(c),c.invalidateQueries({queryKey:["instance"]}),s(c),e.toast.success("项目已更新")},onError:a=>{e.toast.error(a instanceof Error?a.message:"更新项目失败")}})}],47161),a.s(["isImportPayload",0,function(a){return"string"==typeof a.token}],28974)},19446,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(71071),e=a.i(71562),f=a.i(44401),g=a.i(80904);let h=g.z.string().trim().regex(/^[a-z0-9-]{1,32}$/,"名称需为 1-32 位小写字母、数字或连字符").refine(a=>"default"!==a,'名称 "default" 为保留字'),i=(a,b=512)=>g.z.string().trim().min(1,`请输入${a}`).max(b),j=(a=512)=>g.z.string().trim().max(a).optional().or(g.z.literal("")),k=g.z.object({name:h,accessKeyId:i("AccessKey ID",128),accessKeySecret:i("AccessKey Secret",512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()});g.z.object({accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:j(256),otsInstanceName:j(128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]});let l=g.z.object({name:h,accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]}),m=g.z.object({token:g.z.string().trim().min(10,"Token 长度不足,无法解析").max(4096),name:h.optional(),activate:g.z.boolean().optional()});var n=a.i(76192),o=a.i(92942),p=a.i(72518),q=a.i(63525),r=a.i(16038),s=a.i(70535);let t=k.extend({otsEndpoint:g.z.string().trim().url("请输入合法的 OTS Endpoint URL"),ossEndpoint:g.z.string().trim().url("请输入合法的 OSS Endpoint URL").optional().or(g.z.literal(""))}),u=m.pick({token:!0}),v=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-hangzhou",label:"华东 1(杭州)"},{value:"cn-shanghai",label:"华东 2(上海)"},{value:"cn-shenzhen",label:"华南 1(深圳)"},{value:"__custom__",label:"其它(自定义)"}];a.s(["ConnectInstanceForm",0,function({mode:a,defaultValues:g,accessKeyIdPlaceholder:h,accessKeySecretPlaceholder:i,onSubmit:j,busy:k,lockName:m,submitLabel:w}){let[x,y]=(0,c.useState)("manual"),z="edit"===a,A=g?.region??"cn-hangzhou",B=(0,c.useMemo)(()=>v.some(a=>a.value===A),[A]),[C,D]=(0,c.useState)(B?A:"__custom__"),E=(0,c.useMemo)(()=>(0,d.zodResolver)(z?l:t),[z]),F=(0,e.useForm)({resolver:E,defaultValues:{name:g?.name??"",accessKeyId:z?"":g?.accessKeyId??"",accessKeySecret:z?"":g?.accessKeySecret??"",otsEndpoint:g?.otsEndpoint??"",otsInstanceName:g?.otsInstanceName??"",ossEndpoint:g?.ossEndpoint??"",ossBucketName:g?.ossBucketName??"",region:A}}),G=(0,e.useForm)({resolver:(0,d.zodResolver)(u),defaultValues:{token:""}});async function H(a){let b=a.ossEndpoint?.trim()||void 0,c=a.ossBucketName?.trim()||void 0;b&&c&&(b=function(a,b){try{let c=new URL(a);if(c.hostname.startsWith(`${b}.`))return c.hostname=c.hostname.slice(b.length+1),c.toString().replace(/\/$/,"")}catch{}return a}(b,c));let d={...a,ossEndpoint:b,ossBucketName:c};await j(d)}async function I(a){let b={token:a.token.trim()};await j(b)}let J="create"===a;return(0,b.jsxs)(r.Tabs,{value:x,onValueChange:a=>y(a),className:"w-full",children:[J&&(0,b.jsxs)(r.TabsList,{className:"grid w-full grid-cols-2",children:[(0,b.jsx)(r.TabsTrigger,{value:"manual",children:"手动填写"}),(0,b.jsx)(r.TabsTrigger,{value:"token",children:"导入 Token"})]}),(0,b.jsx)(r.TabsContent,{value:"manual",className:"mt-4",children:(0,b.jsx)(o.Form,{...F,children:(0,b.jsxs)("form",{onSubmit:F.handleSubmit(H),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"name",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目名称"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"prod-main",disabled:m||k,autoComplete:"off"})}),(0,b.jsx)(o.FormDescription,{children:"仅用于本地区分,不会发送到服务端。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeyId",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey ID"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,autoComplete:"off",disabled:k,placeholder:z&&h?`${h} \xb7 留空表示保留`:void 0})}),z&&(0,b.jsx)(o.FormDescription,{children:"AK 与 SK 必须成对更新,留空则保留现有凭证。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeySecret",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey Secret"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,type:"password",autoComplete:"new-password",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"otsEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS Endpoint"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://xxx.cn-hangzhou.ots.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"otsInstanceName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS 实例名"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] px-3 py-2 text-xs text-[hsl(var(--muted-foreground))]",children:[(0,b.jsx)(f.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]"}),(0,b.jsx)("span",{children:"OSS 信息为可选项。若需上传文档到知识库,OSS Endpoint 与 Bucket 必填; 留空则项目只能用于查询与检索,文件上传功能将不可用。"})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"ossEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Endpoint(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://oss-cn-hangzhou.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"ossBucketName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Bucket(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsx)(o.FormField,{control:F.control,name:"region",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"Region"}),"__custom__"===C?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"cn-xxx",disabled:k})}),(0,b.jsx)(n.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{D("cn-hangzhou"),a.onChange("cn-hangzhou")},disabled:k,children:"使用预设"})]}):(0,b.jsxs)(q.Select,{value:C,onValueChange:b=>{D(b),"__custom__"!==b?a.onChange(b):a.onChange("")},disabled:k,children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(q.SelectTrigger,{children:(0,b.jsx)(q.SelectValue,{})})}),(0,b.jsx)(q.SelectContent,{children:v.map(a=>(0,b.jsx)(q.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"提交中...":w??("edit"===a?"保存":"创建项目")})})]})})}),J&&(0,b.jsx)(r.TabsContent,{value:"token",className:"mt-4",children:(0,b.jsx)(o.Form,{...G,children:(0,b.jsxs)("form",{onSubmit:G.handleSubmit(I),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:G.control,name:"token",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目 Token"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(s.Textarea,{...a,rows:5,placeholder:"粘贴从其他环境导出的项目 Token",disabled:k})}),(0,b.jsx)(o.FormDescription,{children:"Token 中已包含 AK/SK、Endpoint 等全部连接信息。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"导入中...":"导入并连接"})})]})})})]})}],19446)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_0y49vhd._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[19446,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(71071),e=a.i(71562),f=a.i(44401),g=a.i(80904);let h=g.z.string().trim().regex(/^[a-z0-9-]{1,32}$/,"名称需为 1-32 位小写字母、数字或连字符").refine(a=>"default"!==a,'名称 "default" 为保留字'),i=(a,b=512)=>g.z.string().trim().min(1,`请输入${a}`).max(b),j=(a=512)=>g.z.string().trim().max(a).optional().or(g.z.literal("")),k=g.z.object({name:h,accessKeyId:i("AccessKey ID",128),accessKeySecret:i("AccessKey Secret",512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()});g.z.object({accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:j(256),otsInstanceName:j(128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]});let l=g.z.object({name:h,accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]}),m=g.z.object({token:g.z.string().trim().min(10,"Token 长度不足,无法解析").max(4096),name:h.optional(),activate:g.z.boolean().optional()});var n=a.i(76192),o=a.i(92942),p=a.i(72518),q=a.i(63525),r=a.i(16038),s=a.i(70535);let t=k.extend({otsEndpoint:g.z.string().trim().url("请输入合法的 OTS Endpoint URL"),ossEndpoint:g.z.string().trim().url("请输入合法的 OSS Endpoint URL").optional().or(g.z.literal(""))}),u=m.pick({token:!0}),v=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-hangzhou",label:"华东 1(杭州)"},{value:"cn-shanghai",label:"华东 2(上海)"},{value:"cn-shenzhen",label:"华南 1(深圳)"},{value:"__custom__",label:"其它(自定义)"}];a.s(["ConnectInstanceForm",0,function({mode:a,defaultValues:g,accessKeyIdPlaceholder:h,accessKeySecretPlaceholder:i,onSubmit:j,busy:k,lockName:m,submitLabel:w}){let[x,y]=(0,c.useState)("manual"),z="edit"===a,A=g?.region??"cn-hangzhou",B=(0,c.useMemo)(()=>v.some(a=>a.value===A),[A]),[C,D]=(0,c.useState)(B?A:"__custom__"),E=(0,c.useMemo)(()=>(0,d.zodResolver)(z?l:t),[z]),F=(0,e.useForm)({resolver:E,defaultValues:{name:g?.name??"",accessKeyId:z?"":g?.accessKeyId??"",accessKeySecret:z?"":g?.accessKeySecret??"",otsEndpoint:g?.otsEndpoint??"",otsInstanceName:g?.otsInstanceName??"",ossEndpoint:g?.ossEndpoint??"",ossBucketName:g?.ossBucketName??"",region:A}}),G=(0,e.useForm)({resolver:(0,d.zodResolver)(u),defaultValues:{token:""}});async function H(a){let b={...a,ossEndpoint:a.ossEndpoint?.trim()||void 0,ossBucketName:a.ossBucketName?.trim()||void 0};await j(b)}async function I(a){let b={token:a.token.trim()};await j(b)}let J="create"===a;return(0,b.jsxs)(r.Tabs,{value:x,onValueChange:a=>y(a),className:"w-full",children:[J&&(0,b.jsxs)(r.TabsList,{className:"grid w-full grid-cols-2",children:[(0,b.jsx)(r.TabsTrigger,{value:"manual",children:"手动填写"}),(0,b.jsx)(r.TabsTrigger,{value:"token",children:"导入 Token"})]}),(0,b.jsx)(r.TabsContent,{value:"manual",className:"mt-4",children:(0,b.jsx)(o.Form,{...F,children:(0,b.jsxs)("form",{onSubmit:F.handleSubmit(H),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"name",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目名称"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"prod-main",disabled:m||k,autoComplete:"off"})}),(0,b.jsx)(o.FormDescription,{children:"仅用于本地区分,不会发送到服务端。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeyId",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey ID"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,autoComplete:"off",disabled:k,placeholder:z&&h?`${h} \xb7 留空表示保留`:void 0})}),z&&(0,b.jsx)(o.FormDescription,{children:"AK 与 SK 必须成对更新,留空则保留现有凭证。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeySecret",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey Secret"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,type:"password",autoComplete:"new-password",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"otsEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS Endpoint"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://xxx.cn-hangzhou.ots.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"otsInstanceName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS 实例名"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] px-3 py-2 text-xs text-[hsl(var(--muted-foreground))]",children:[(0,b.jsx)(f.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]"}),(0,b.jsx)("span",{children:"OSS 信息为可选项。若需上传文档到知识库,OSS Endpoint 与 Bucket 必填; 留空则项目只能用于查询与检索,文件上传功能将不可用。"})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"ossEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Endpoint(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://oss-cn-hangzhou.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"ossBucketName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Bucket(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsx)(o.FormField,{control:F.control,name:"region",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"Region"}),"__custom__"===C?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"cn-xxx",disabled:k})}),(0,b.jsx)(n.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{D("cn-hangzhou"),a.onChange("cn-hangzhou")},disabled:k,children:"使用预设"})]}):(0,b.jsxs)(q.Select,{value:C,onValueChange:b=>{D(b),"__custom__"!==b?a.onChange(b):a.onChange("")},disabled:k,children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(q.SelectTrigger,{children:(0,b.jsx)(q.SelectValue,{})})}),(0,b.jsx)(q.SelectContent,{children:v.map(a=>(0,b.jsx)(q.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"提交中...":w??("edit"===a?"保存":"创建项目")})})]})})}),J&&(0,b.jsx)(r.TabsContent,{value:"token",className:"mt-4",children:(0,b.jsx)(o.Form,{...G,children:(0,b.jsxs)("form",{onSubmit:G.handleSubmit(I),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:G.control,name:"token",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目 Token"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(s.Textarea,{...a,rows:5,placeholder:"粘贴从其他环境导出的项目 Token",disabled:k})}),(0,b.jsx)(o.FormDescription,{children:"Token 中已包含 AK/SK、Endpoint 等全部连接信息。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"导入中...":"导入并连接"})})]})})})]})}],19446)},47161,28974,a=>{"use strict";var b=a.i(33596),c=a.i(83366),d=a.i(77072),e=a.i(63265),f=a.i(53141);async function g(){return(0,f.apiGet)("/api/v1/instances")}async function h(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function i(a){return(0,f.apiPost)("/api/v1/instances",a)}async function j(a){return(0,f.apiPost)("/api/v1/instances",a)}async function k(a,b){return(0,f.apiPut)(`/api/v1/instances/${encodeURIComponent(a)}`,b)}async function l(a){return(0,f.apiDelete)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function m(a){return(0,f.apiPost)(`/api/v1/instances/${encodeURIComponent(a)}/use`)}async function n(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}/token`)}let o=["instances"];function p(a){a.invalidateQueries({queryKey:o}),a.invalidateQueries({queryKey:["knowledge-bases"]}),a.invalidateQueries({queryKey:["memory-stores"]}),a.invalidateQueries({queryKey:["llm-providers"]}),a.invalidateQueries({queryKey:["auth-status"]})}a.s(["useConnectInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>i(a),onSuccess:()=>{p(a),e.toast.success("项目已创建")},onError:a=>{e.toast.error(a instanceof Error?a.message:"创建项目失败")}})},"useDeleteInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>l(a),onSuccess:()=>{p(a),e.toast.success("项目已删除")},onError:a=>{e.toast.error(a instanceof Error?a.message:"删除项目失败")}})},"useExportInstanceToken",0,function(){return(0,b.useMutation)({mutationFn:a=>n(a),onError:a=>{e.toast.error(a instanceof Error?a.message:"导出 Token 失败")}})},"useImportInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>j(a),onSuccess:()=>{p(a),e.toast.success("Token 已导入")},onError:a=>{e.toast.error(a instanceof Error?a.message:"导入 Token 失败")}})},"useInstance",0,function(a){return(0,c.useQuery)({queryKey:["instance",a],queryFn:()=>h(a),enabled:!!a,staleTime:3e4})},"useInstances",0,function(){return(0,c.useQuery)({queryKey:o,queryFn:g,staleTime:3e4})},"useSwitchInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>m(a),onSuccess:()=>{a.removeQueries({queryKey:["knowledge-bases"]}),a.removeQueries({queryKey:["memory-stores"]}),a.removeQueries({queryKey:["llm-providers"]}),a.removeQueries({queryKey:["documents"]}),a.removeQueries({queryKey:["instance"]}),a.invalidateQueries({queryKey:o}),a.invalidateQueries({queryKey:["auth-status"]}),e.toast.success("已切换当前项目")},onError:a=>{e.toast.error(a instanceof Error?a.message:"切换项目失败")}})},"useUpdateInstance",0,function(a){let c=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:b=>k(a,b),onSuccess:()=>{p(c),c.invalidateQueries({queryKey:["instance",a]}),e.toast.success("项目已更新")},onError:a=>{e.toast.error(a instanceof Error?a.message:"更新项目失败")}})}],47161),a.s(["isImportPayload",0,function(a){return"string"==typeof a.token}],28974)}];
|
|
1
|
+
module.exports=[19446,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(71071),e=a.i(71562),f=a.i(44401),g=a.i(80904);let h=g.z.string().trim().regex(/^[a-z0-9-]{1,32}$/,"名称需为 1-32 位小写字母、数字或连字符").refine(a=>"default"!==a,'名称 "default" 为保留字'),i=(a,b=512)=>g.z.string().trim().min(1,`请输入${a}`).max(b),j=(a=512)=>g.z.string().trim().max(a).optional().or(g.z.literal("")),k=g.z.object({name:h,accessKeyId:i("AccessKey ID",128),accessKeySecret:i("AccessKey Secret",512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()});g.z.object({accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:j(256),otsInstanceName:j(128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]});let l=g.z.object({name:h,accessKeyId:j(128),accessKeySecret:j(512),otsEndpoint:i("OTS Endpoint",256),otsInstanceName:i("OTS 实例名",128),ossEndpoint:j(256),ossBucketName:j(128),region:j(64),activate:g.z.boolean().optional()}).refine(a=>{let b=!!(a.accessKeyId&&a.accessKeyId.length>0);return!!(a.accessKeySecret&&a.accessKeySecret.length>0)===b},{message:"AccessKey ID 与 Secret 必须成对更新,要么同时填写、要么同时留空",path:["accessKeySecret"]}),m=g.z.object({token:g.z.string().trim().min(10,"Token 长度不足,无法解析").max(4096),name:h.optional(),activate:g.z.boolean().optional()});var n=a.i(76192),o=a.i(92942),p=a.i(72518),q=a.i(63525),r=a.i(16038),s=a.i(70535);let t=k.extend({otsEndpoint:g.z.string().trim().url("请输入合法的 OTS Endpoint URL"),ossEndpoint:g.z.string().trim().url("请输入合法的 OSS Endpoint URL").optional().or(g.z.literal(""))}),u=m.pick({token:!0}),v=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-hangzhou",label:"华东 1(杭州)"},{value:"cn-shanghai",label:"华东 2(上海)"},{value:"cn-shenzhen",label:"华南 1(深圳)"},{value:"__custom__",label:"其它(自定义)"}];a.s(["ConnectInstanceForm",0,function({mode:a,defaultValues:g,accessKeyIdPlaceholder:h,accessKeySecretPlaceholder:i,onSubmit:j,busy:k,lockName:m,submitLabel:w}){let[x,y]=(0,c.useState)("manual"),z="edit"===a,A=g?.region??"cn-hangzhou",B=(0,c.useMemo)(()=>v.some(a=>a.value===A),[A]),[C,D]=(0,c.useState)(B?A:"__custom__"),E=(0,c.useMemo)(()=>(0,d.zodResolver)(z?l:t),[z]),F=(0,e.useForm)({resolver:E,defaultValues:{name:g?.name??"",accessKeyId:z?"":g?.accessKeyId??"",accessKeySecret:z?"":g?.accessKeySecret??"",otsEndpoint:g?.otsEndpoint??"",otsInstanceName:g?.otsInstanceName??"",ossEndpoint:g?.ossEndpoint??"",ossBucketName:g?.ossBucketName??"",region:A}}),G=(0,e.useForm)({resolver:(0,d.zodResolver)(u),defaultValues:{token:""}});async function H(a){let b=a.ossEndpoint?.trim()||void 0,c=a.ossBucketName?.trim()||void 0;b&&c&&(b=function(a,b){try{let c=new URL(a);if(c.hostname.startsWith(`${b}.`))return c.hostname=c.hostname.slice(b.length+1),c.toString().replace(/\/$/,"")}catch{}return a}(b,c));let d={...a,ossEndpoint:b,ossBucketName:c};await j(d)}async function I(a){let b={token:a.token.trim()};await j(b)}let J="create"===a;return(0,b.jsxs)(r.Tabs,{value:x,onValueChange:a=>y(a),className:"w-full",children:[J&&(0,b.jsxs)(r.TabsList,{className:"grid w-full grid-cols-2",children:[(0,b.jsx)(r.TabsTrigger,{value:"manual",children:"手动填写"}),(0,b.jsx)(r.TabsTrigger,{value:"token",children:"导入 Token"})]}),(0,b.jsx)(r.TabsContent,{value:"manual",className:"mt-4",children:(0,b.jsx)(o.Form,{...F,children:(0,b.jsxs)("form",{onSubmit:F.handleSubmit(H),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"name",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目名称"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"prod-main",disabled:m||k,autoComplete:"off"})}),(0,b.jsx)(o.FormDescription,{children:"仅用于本地区分,不会发送到服务端。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeyId",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey ID"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,autoComplete:"off",disabled:k,placeholder:z&&h?`${h} \xb7 留空表示保留`:void 0})}),z&&(0,b.jsx)(o.FormDescription,{children:"AK 与 SK 必须成对更新,留空则保留现有凭证。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"accessKeySecret",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"AccessKey Secret"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,type:"password",autoComplete:"new-password",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"otsEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS Endpoint"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://xxx.cn-hangzhou.ots.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"otsInstanceName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OTS 实例名"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] px-3 py-2 text-xs text-[hsl(var(--muted-foreground))]",children:[(0,b.jsx)(f.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]"}),(0,b.jsx)("span",{children:"OSS 信息为可选项。若需上传文档到知识库,OSS Endpoint 与 Bucket 必填; 留空则项目只能用于查询与检索,文件上传功能将不可用。"})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsx)(o.FormField,{control:F.control,name:"ossEndpoint",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Endpoint(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"https://oss-cn-hangzhou.aliyuncs.com",disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)(o.FormField,{control:F.control,name:"ossBucketName",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"OSS Bucket(可选)"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,disabled:k})}),(0,b.jsx)(o.FormMessage,{})]})})]}),(0,b.jsx)(o.FormField,{control:F.control,name:"region",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"Region"}),"__custom__"===C?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(p.Input,{...a,placeholder:"cn-xxx",disabled:k})}),(0,b.jsx)(n.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{D("cn-hangzhou"),a.onChange("cn-hangzhou")},disabled:k,children:"使用预设"})]}):(0,b.jsxs)(q.Select,{value:C,onValueChange:b=>{D(b),"__custom__"!==b?a.onChange(b):a.onChange("")},disabled:k,children:[(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(q.SelectTrigger,{children:(0,b.jsx)(q.SelectValue,{})})}),(0,b.jsx)(q.SelectContent,{children:v.map(a=>(0,b.jsx)(q.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"提交中...":w??("edit"===a?"保存":"创建项目")})})]})})}),J&&(0,b.jsx)(r.TabsContent,{value:"token",className:"mt-4",children:(0,b.jsx)(o.Form,{...G,children:(0,b.jsxs)("form",{onSubmit:G.handleSubmit(I),className:"space-y-4",children:[(0,b.jsx)(o.FormField,{control:G.control,name:"token",render:({field:a})=>(0,b.jsxs)(o.FormItem,{children:[(0,b.jsx)(o.FormLabel,{children:"项目 Token"}),(0,b.jsx)(o.FormControl,{children:(0,b.jsx)(s.Textarea,{...a,rows:5,placeholder:"粘贴从其他环境导出的项目 Token",disabled:k})}),(0,b.jsx)(o.FormDescription,{children:"Token 中已包含 AK/SK、Endpoint 等全部连接信息。"}),(0,b.jsx)(o.FormMessage,{})]})}),(0,b.jsx)("div",{className:"flex justify-end pt-2",children:(0,b.jsx)(n.Button,{type:"submit",disabled:k,children:k?"导入中...":"导入并连接"})})]})})})]})}],19446)},47161,28974,a=>{"use strict";var b=a.i(33596),c=a.i(83366),d=a.i(77072),e=a.i(63265),f=a.i(53141);async function g(){return(0,f.apiGet)("/api/v1/instances")}async function h(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function i(a){return(0,f.apiPost)("/api/v1/instances",a)}async function j(a){return(0,f.apiPost)("/api/v1/instances",a)}async function k(a,b){return(0,f.apiPut)(`/api/v1/instances/${encodeURIComponent(a)}`,b)}async function l(a){return(0,f.apiDelete)(`/api/v1/instances/${encodeURIComponent(a)}`)}async function m(a){return(0,f.apiPost)(`/api/v1/instances/${encodeURIComponent(a)}/use`)}async function n(a){return(0,f.apiGet)(`/api/v1/instances/${encodeURIComponent(a)}/token`)}var o=a.i(25377),p=a.i(39096);function q(a){(0,o.invalidateInstanceScopedQueries)(a)}function r(a){(0,o.resetInstanceScopedQueries)(a)}function s(a){a.invalidateQueries({queryKey:o.RUNTIME_CONTEXT_QUERY_KEY})}a.s(["useConnectInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>i(a),onSuccess:()=>{r(a),s(a),e.toast.success("项目已创建")},onError:a=>{e.toast.error(a instanceof Error?a.message:"创建项目失败")}})},"useDeleteInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>l(a),onSuccess:()=>{q(a),s(a),e.toast.success("项目已删除")},onError:a=>{e.toast.error(a instanceof Error?a.message:"删除项目失败")}})},"useExportInstanceToken",0,function(){return(0,b.useMutation)({mutationFn:a=>n(a),onError:a=>{e.toast.error(a instanceof Error?a.message:"导出 Token 失败")}})},"useImportInstance",0,function(){let a=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:a=>j(a),onSuccess:()=>{r(a),s(a),e.toast.success("Token 已导入")},onError:a=>{e.toast.error(a instanceof Error?a.message:"导入 Token 失败")}})},"useInstance",0,function(a){let{context:b,ready:d}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instance(b.dataScopeKey,a),queryFn:()=>h(a),enabled:d&&!!a,staleTime:3e4})},"useInstances",0,function(){let{context:a,ready:b}=(0,p.useRuntimeContext)();return(0,c.useQuery)({queryKey:o.queryKeys.instances(a.dataScopeKey),queryFn:g,enabled:b,staleTime:3e4})},"useSwitchInstance",0,function(){let a=(0,d.useQueryClient)(),{context:c}=(0,p.useRuntimeContext)();return(0,b.useMutation)({mutationFn:a=>m(a),onSuccess:({activeInstance:b})=>{r(a),s(a),e.toast.success("已切换当前项目")},onError:a=>{e.toast.error(a instanceof Error?a.message:"切换项目失败")}})},"useUpdateInstance",0,function(a){let c=(0,d.useQueryClient)();return(0,b.useMutation)({mutationFn:b=>k(a,b),onSuccess:()=>{q(c),c.invalidateQueries({queryKey:["instance"]}),s(c),e.toast.success("项目已更新")},onError:a=>{e.toast.error(a instanceof Error?a.message:"更新项目失败")}})}],47161),a.s(["isImportPayload",0,function(a){return"string"==typeof a.token}],28974)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_10dsqx~._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[17177,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(80470),e=a.i(4395),f=a.i(33280),g=a.i(21989),h=a.i(76192),i=a.i(55295),j=a.i(65271),k=a.i(53520),l=a.i(1927),m=a.i(14151),n=a.i(63265),o=a.i(72518),p=a.i(70550),q=a.i(59653),r=a.i(68189),s=a.i(84694),t=a.i(43504),u=a.i(82223),v=a.i(78731),w=a.i(59231),x=a.i(35452),y=a.i(62310),z=a.i(98392),A=a.i(58036),B=a.i(97058),C=a.i(83370),D=a.i(16164),E=a.i(73673),F="Popover",[G,H]=(0,s.createContextScope)(F,[x.createPopperScope]),I=(0,x.createPopperScope)(),[J,K]=G(F),L=a=>{let{__scopePopover:d,children:e,open:f,defaultOpen:g,onOpenChange:h,modal:i=!1}=a,j=I(d),k=c.useRef(null),[l,m]=c.useState(!1),[n,o]=(0,C.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:F});return(0,b.jsx)(x.Root,{...j,children:(0,b.jsx)(J,{scope:d,contentId:(0,w.useId)(),triggerRef:k,open:n,onOpenChange:o,onOpenToggle:c.useCallback(()=>o(a=>!a),[o]),hasCustomAnchor:l,onCustomAnchorAdd:c.useCallback(()=>m(!0),[]),onCustomAnchorRemove:c.useCallback(()=>m(!1),[]),modal:i,children:e})})};L.displayName=F;var M="PopoverAnchor";c.forwardRef((a,d)=>{let{__scopePopover:e,...f}=a,g=K(M,e),h=I(e),{onCustomAnchorAdd:i,onCustomAnchorRemove:j}=g;return c.useEffect(()=>(i(),()=>j()),[i,j]),(0,b.jsx)(x.Anchor,{...h,...f,ref:d})}).displayName=M;var N="PopoverTrigger",O=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=K(N,d),g=I(d),h=(0,r.useComposedRefs)(c,f.triggerRef),i=(0,b.jsx)(A.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":f.open,"aria-controls":f.contentId,"data-state":$(f.open),...e,ref:h,onClick:(0,q.composeEventHandlers)(a.onClick,f.onOpenToggle)});return f.hasCustomAnchor?i:(0,b.jsx)(x.Anchor,{asChild:!0,...g,children:i})});O.displayName=N;var P="PopoverPortal",[Q,R]=G(P,{forceMount:void 0}),S=a=>{let{__scopePopover:c,forceMount:d,children:e,container:f}=a,g=K(P,c);return(0,b.jsx)(Q,{scope:c,forceMount:d,children:(0,b.jsx)(z.Presence,{present:d||g.open,children:(0,b.jsx)(y.Portal,{asChild:!0,container:f,children:e})})})};S.displayName=P;var T="PopoverContent",U=c.forwardRef((a,c)=>{let d=R(T,a.__scopePopover),{forceMount:e=d.forceMount,...f}=a,g=K(T,a.__scopePopover);return(0,b.jsx)(z.Presence,{present:e||g.open,children:g.modal?(0,b.jsx)(W,{...f,ref:c}):(0,b.jsx)(X,{...f,ref:c})})});U.displayName=T;var V=(0,B.createSlot)("PopoverContent.RemoveScroll"),W=c.forwardRef((a,d)=>{let e=K(T,a.__scopePopover),f=c.useRef(null),g=(0,r.useComposedRefs)(d,f),h=c.useRef(!1);return c.useEffect(()=>{let a=f.current;if(a)return(0,D.hideOthers)(a)},[]),(0,b.jsx)(E.RemoveScroll,{as:V,allowPinchZoom:!0,children:(0,b.jsx)(Y,{...a,ref:g,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,q.composeEventHandlers)(a.onCloseAutoFocus,a=>{a.preventDefault(),h.current||e.triggerRef.current?.focus()}),onPointerDownOutside:(0,q.composeEventHandlers)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;h.current=2===b.button||c},{checkForDefaultPrevented:!1}),onFocusOutside:(0,q.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),X=c.forwardRef((a,d)=>{let e=K(T,a.__scopePopover),f=c.useRef(!1),g=c.useRef(!1);return(0,b.jsx)(Y,{...a,ref:d,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(f.current||e.triggerRef.current?.focus(),b.preventDefault()),f.current=!1,g.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(f.current=!0,"pointerdown"===b.detail.originalEvent.type&&(g.current=!0));let c=b.target;e.triggerRef.current?.contains(c)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&g.current&&b.preventDefault()}})}),Y=c.forwardRef((a,c)=>{let{__scopePopover:d,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onInteractOutside:l,...m}=a,n=K(T,d),o=I(d);return(0,u.useFocusGuards)(),(0,b.jsx)(v.FocusScope,{asChild:!0,loop:!0,trapped:e,onMountAutoFocus:f,onUnmountAutoFocus:g,children:(0,b.jsx)(t.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:h,onInteractOutside:l,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onDismiss:()=>n.onOpenChange(!1),children:(0,b.jsx)(x.Content,{"data-state":$(n.open),role:"dialog",id:n.contentId,...o,...m,ref:c,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),Z="PopoverClose";function $(a){return a?"open":"closed"}c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=K(Z,d);return(0,b.jsx)(A.Primitive.button,{type:"button",...e,ref:c,onClick:(0,q.composeEventHandlers)(a.onClick,()=>f.onOpenChange(!1))})}).displayName=Z,c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=I(d);return(0,b.jsx)(x.Arrow,{...f,...e,ref:c})}).displayName="PopoverArrow";var _=a.i(64565);let aa=c.forwardRef(({className:a,align:c="center",sideOffset:d=4,...e},f)=>(0,b.jsx)(S,{children:(0,b.jsx)(U,{ref:f,align:c,sideOffset:d,className:(0,_.cn)("z-50 w-72 rounded-md border bg-[hsl(var(--popover))] p-4 text-[hsl(var(--popover-foreground))] shadow-md outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...e})}));aa.displayName=U.displayName;var ab=a.i(78388);function ac(){let a=(0,ab.useSubspaceOptional)(),[d,e]=(0,c.useState)(!1),[f,g]=(0,c.useState)("");if(!a)return null;let{subspace:i,history:j,setSubspace:q,clearSubspace:r}=a,s=null!==i,t=()=>{let a=f.trim();if(!a||a===i){g(""),e(!1);return}q(a),g(""),e(!1)};return(0,b.jsxs)(L,{open:d,onOpenChange:e,children:[(0,b.jsx)(O,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-md bg-primary/10 text-primary text-xs font-medium hover:bg-primary/15 transition-colors cursor-pointer",children:[s?`子空间: ${i}`:"选择子空间…",(0,b.jsx)(l.ChevronDown,{className:"h-3 w-3 opacity-70"})]})}),(0,b.jsxs)(aa,{align:"start",sideOffset:6,className:"w-72 p-3 space-y-3",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:s?"切换到其他子空间":"进入子空间"}),(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)(o.Input,{autoFocus:!0,placeholder:"输入子空间名称...",value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),t())},className:"h-8 text-sm"}),(0,b.jsx)(h.Button,{size:"sm",className:"h-8 px-2.5",onClick:t,disabled:!f.trim()||f.trim()===i,children:"进入"})]})]}),j.length>0&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"最近使用"}),(0,b.jsx)("div",{className:"flex flex-col gap-0.5 max-h-[180px] overflow-y-auto",children:j.map(a=>{let c=s&&a===i;return(0,b.jsxs)("button",{type:"button",onClick:()=>{a!==i&&q(a),e(!1)},className:"flex items-center justify-between rounded-sm px-2 py-1.5 text-sm text-left hover:bg-[hsl(var(--accent))] transition-colors",children:[(0,b.jsx)("span",{className:"truncate",children:a}),c&&(0,b.jsx)(k.Check,{className:"h-3.5 w-3.5 text-primary shrink-0 ml-2"})]},a)})})]}),s&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(p.Separator,{}),(0,b.jsxs)("button",{type:"button",onClick:()=>{r(),e(!1),n.toast.success("已清除子空间作用域,请重新选择")},className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-destructive transition-colors w-full",children:[(0,b.jsx)(m.X,{className:"h-3 w-3"}),"清除选择(返回子空间选择页)"]})]})]})]})}function ad({knowledgeBase:a,onDelete:c}){let{knowledgeBaseName:d,description:e,tags:f,subspace:k,createdAt:l,updatedAt:m}=a;return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("h1",{className:"font-display text-[32px] font-semibold leading-tight tracking-tight text-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground max-w-2xl",children:e})]}),(0,b.jsxs)(h.Button,{variant:"ghost",size:"sm",className:"text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--destructive))] hover:bg-[hsl(var(--destructive))]/10",onClick:c,children:[(0,b.jsx)(i.Trash2,{className:"mr-2 h-4 w-4"}),"删除"]})]}),f&&f.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:f.map(a=>(0,b.jsx)(g.Badge,{variant:"secondary",className:"rounded-pill border-0 bg-[hsl(var(--primary-50))] text-primary text-xs font-normal",children:a},a))}),(0,b.jsxs)("div",{className:"flex items-center gap-4 text-xs text-muted-foreground",children:[k&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-green-500"}),"已开启子空间隔离"]}),(0,b.jsx)(ac,{})]}),(0,b.jsxs)("span",{children:["创建于 ",(0,b.jsx)(j.RelativeTime,{timestamp:l})]}),(0,b.jsxs)("span",{children:["更新于 ",(0,b.jsx)(j.RelativeTime,{timestamp:m})]})]})]})}var ae=a.i(12583);let af=[{label:"文档",segment:"documents"},{label:"检索测试",segment:"retrieval"},{label:"问答测试",segment:"qa"},{label:"设置",segment:"settings"}];function ag({knowledgeBaseName:a}){let c=(0,d.usePathname)(),e=(0,d.useSearchParams)(),f=`/knowledge-base/${encodeURIComponent(a)}`,g=(0,ab.useSubspaceOptional)()?.subspace??null,h=new URLSearchParams(e.toString());g?h.set("subspace",g):h.delete("subspace");let i=h.toString(),j=i?`?${i}`:"";return(0,b.jsx)("nav",{className:"flex gap-1 border-b border-[hsl(var(--border))]",children:af.map(a=>{let d=`${f}/${a.segment}`,e=`${d}${j}`,g=c.startsWith(d);return(0,b.jsxs)(ae.default,{href:e,className:(0,_.cn)("relative px-5 py-2.5 text-sm font-medium transition-colors duration-150 rounded-t-md",g?"text-[hsl(var(--primary))] bg-[hsl(var(--primary))]/5":"text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))]"),children:[a.label,(0,b.jsx)("span",{className:(0,_.cn)("absolute inset-x-0 bottom-0 h-0.5 rounded-full bg-[hsl(var(--primary))] transition-all duration-200 ease-out",g?"opacity-100 scale-x-100":"opacity-0 scale-x-50")})]},a.segment)})})}var ah=a.i(13773);a.s(["default",0,function({children:a}){let g=decodeURIComponent((0,d.useParams)().name),{data:h,isLoading:i}=(0,f.useKnowledgeBase)(g),[j,k]=(0,c.useState)(!1);return i?(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(e.Skeleton,{className:"h-10 w-64"}),(0,b.jsx)(e.Skeleton,{className:"h-4 w-96"}),(0,b.jsx)(e.Skeleton,{className:"h-4 w-48"})]}),(0,b.jsx)(e.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(e.Skeleton,{className:"h-64 w-full"})]}):h?(0,b.jsxs)("div",{children:[(0,b.jsx)(c.Suspense,{fallback:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(e.Skeleton,{className:"h-10 w-64"}),(0,b.jsx)(e.Skeleton,{className:"h-4 w-96"}),(0,b.jsx)(e.Skeleton,{className:"h-4 w-48"})]}),(0,b.jsx)(e.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(e.Skeleton,{className:"h-[400px] w-full"})]}),children:(0,b.jsx)(ab.SubspaceProvider,{knowledgeBaseName:g,children:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(ad,{knowledgeBase:h,onDelete:()=>k(!0)}),(0,b.jsx)(ag,{knowledgeBaseName:g}),(0,b.jsx)("div",{children:a})]})})}),(0,b.jsx)(ah.KBDeleteDialog,{knowledgeBaseName:g,open:j,onOpenChange:k})]}):(0,b.jsx)("div",{className:"flex items-center justify-center py-20 text-muted-foreground",children:"知识库不存在或已被删除"})}],17177)}];
|
|
1
|
+
module.exports=[17177,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(80470),e=a.i(4395),f=a.i(33280),g=a.i(21989),h=a.i(76192),i=a.i(47491),j=a.i(55295),k=a.i(65271),l=a.i(53520),m=a.i(1927),n=a.i(14151),o=a.i(63265),p=a.i(72518),q=a.i(70550),r=a.i(59653),s=a.i(68189),t=a.i(84694),u=a.i(43504),v=a.i(82223),w=a.i(78731),x=a.i(59231),y=a.i(35452),z=a.i(62310),A=a.i(98392),B=a.i(58036),C=a.i(97058),D=a.i(83370),E=a.i(16164),F=a.i(73673),G="Popover",[H,I]=(0,t.createContextScope)(G,[y.createPopperScope]),J=(0,y.createPopperScope)(),[K,L]=H(G),M=a=>{let{__scopePopover:d,children:e,open:f,defaultOpen:g,onOpenChange:h,modal:i=!1}=a,j=J(d),k=c.useRef(null),[l,m]=c.useState(!1),[n,o]=(0,D.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:G});return(0,b.jsx)(y.Root,{...j,children:(0,b.jsx)(K,{scope:d,contentId:(0,x.useId)(),triggerRef:k,open:n,onOpenChange:o,onOpenToggle:c.useCallback(()=>o(a=>!a),[o]),hasCustomAnchor:l,onCustomAnchorAdd:c.useCallback(()=>m(!0),[]),onCustomAnchorRemove:c.useCallback(()=>m(!1),[]),modal:i,children:e})})};M.displayName=G;var N="PopoverAnchor";c.forwardRef((a,d)=>{let{__scopePopover:e,...f}=a,g=L(N,e),h=J(e),{onCustomAnchorAdd:i,onCustomAnchorRemove:j}=g;return c.useEffect(()=>(i(),()=>j()),[i,j]),(0,b.jsx)(y.Anchor,{...h,...f,ref:d})}).displayName=N;var O="PopoverTrigger",P=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=L(O,d),g=J(d),h=(0,s.useComposedRefs)(c,f.triggerRef),i=(0,b.jsx)(B.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":f.open,"aria-controls":f.contentId,"data-state":_(f.open),...e,ref:h,onClick:(0,r.composeEventHandlers)(a.onClick,f.onOpenToggle)});return f.hasCustomAnchor?i:(0,b.jsx)(y.Anchor,{asChild:!0,...g,children:i})});P.displayName=O;var Q="PopoverPortal",[R,S]=H(Q,{forceMount:void 0}),T=a=>{let{__scopePopover:c,forceMount:d,children:e,container:f}=a,g=L(Q,c);return(0,b.jsx)(R,{scope:c,forceMount:d,children:(0,b.jsx)(A.Presence,{present:d||g.open,children:(0,b.jsx)(z.Portal,{asChild:!0,container:f,children:e})})})};T.displayName=Q;var U="PopoverContent",V=c.forwardRef((a,c)=>{let d=S(U,a.__scopePopover),{forceMount:e=d.forceMount,...f}=a,g=L(U,a.__scopePopover);return(0,b.jsx)(A.Presence,{present:e||g.open,children:g.modal?(0,b.jsx)(X,{...f,ref:c}):(0,b.jsx)(Y,{...f,ref:c})})});V.displayName=U;var W=(0,C.createSlot)("PopoverContent.RemoveScroll"),X=c.forwardRef((a,d)=>{let e=L(U,a.__scopePopover),f=c.useRef(null),g=(0,s.useComposedRefs)(d,f),h=c.useRef(!1);return c.useEffect(()=>{let a=f.current;if(a)return(0,E.hideOthers)(a)},[]),(0,b.jsx)(F.RemoveScroll,{as:W,allowPinchZoom:!0,children:(0,b.jsx)(Z,{...a,ref:g,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,r.composeEventHandlers)(a.onCloseAutoFocus,a=>{a.preventDefault(),h.current||e.triggerRef.current?.focus()}),onPointerDownOutside:(0,r.composeEventHandlers)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;h.current=2===b.button||c},{checkForDefaultPrevented:!1}),onFocusOutside:(0,r.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),Y=c.forwardRef((a,d)=>{let e=L(U,a.__scopePopover),f=c.useRef(!1),g=c.useRef(!1);return(0,b.jsx)(Z,{...a,ref:d,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(f.current||e.triggerRef.current?.focus(),b.preventDefault()),f.current=!1,g.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(f.current=!0,"pointerdown"===b.detail.originalEvent.type&&(g.current=!0));let c=b.target;e.triggerRef.current?.contains(c)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&g.current&&b.preventDefault()}})}),Z=c.forwardRef((a,c)=>{let{__scopePopover:d,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onInteractOutside:l,...m}=a,n=L(U,d),o=J(d);return(0,v.useFocusGuards)(),(0,b.jsx)(w.FocusScope,{asChild:!0,loop:!0,trapped:e,onMountAutoFocus:f,onUnmountAutoFocus:g,children:(0,b.jsx)(u.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:h,onInteractOutside:l,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onDismiss:()=>n.onOpenChange(!1),children:(0,b.jsx)(y.Content,{"data-state":_(n.open),role:"dialog",id:n.contentId,...o,...m,ref:c,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),$="PopoverClose";function _(a){return a?"open":"closed"}c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=L($,d);return(0,b.jsx)(B.Primitive.button,{type:"button",...e,ref:c,onClick:(0,r.composeEventHandlers)(a.onClick,()=>f.onOpenChange(!1))})}).displayName=$,c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=J(d);return(0,b.jsx)(y.Arrow,{...f,...e,ref:c})}).displayName="PopoverArrow";var aa=a.i(64565);let ab=c.forwardRef(({className:a,align:c="center",sideOffset:d=4,...e},f)=>(0,b.jsx)(T,{children:(0,b.jsx)(V,{ref:f,align:c,sideOffset:d,className:(0,aa.cn)("z-50 w-72 rounded-md border bg-[hsl(var(--popover))] p-4 text-[hsl(var(--popover-foreground))] shadow-md outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...e})}));ab.displayName=V.displayName;var ac=a.i(78388);function ad(){let a=(0,ac.useSubspaceOptional)(),[d,e]=(0,c.useState)(!1),[f,g]=(0,c.useState)("");if(!a)return null;let{subspace:i,history:j,setSubspace:k,clearSubspace:r}=a,s=null!==i,t=()=>{let a=f.trim();if(!a||a===i){g(""),e(!1);return}k(a),g(""),e(!1)};return(0,b.jsxs)(M,{open:d,onOpenChange:e,children:[(0,b.jsx)(P,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-md bg-primary/10 text-primary text-xs font-medium hover:bg-primary/15 transition-colors cursor-pointer",children:[s?`子空间: ${i}`:"选择子空间…",(0,b.jsx)(m.ChevronDown,{className:"h-3 w-3 opacity-70"})]})}),(0,b.jsxs)(ab,{align:"start",sideOffset:6,className:"w-72 p-3 space-y-3",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:s?"切换到其他子空间":"进入子空间"}),(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)(p.Input,{autoFocus:!0,placeholder:"输入子空间名称...",value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),t())},className:"h-8 text-sm"}),(0,b.jsx)(h.Button,{size:"sm",className:"h-8 px-2.5",onClick:t,disabled:!f.trim()||f.trim()===i,children:"进入"})]})]}),j.length>0&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"最近使用"}),(0,b.jsx)("div",{className:"flex flex-col gap-0.5 max-h-[180px] overflow-y-auto",children:j.map(a=>{let c=s&&a===i;return(0,b.jsxs)("button",{type:"button",onClick:()=>{a!==i&&k(a),e(!1)},className:"flex items-center justify-between rounded-sm px-2 py-1.5 text-sm text-left hover:bg-[hsl(var(--accent))] transition-colors",children:[(0,b.jsx)("span",{className:"truncate",children:a}),c&&(0,b.jsx)(l.Check,{className:"h-3.5 w-3.5 text-primary shrink-0 ml-2"})]},a)})})]}),s&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q.Separator,{}),(0,b.jsxs)("button",{type:"button",onClick:()=>{r(),e(!1),o.toast.success("已清除子空间作用域,请重新选择")},className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-destructive transition-colors w-full",children:[(0,b.jsx)(n.X,{className:"h-3 w-3"}),"清除选择(返回子空间选择页)"]})]})]})]})}function ae({knowledgeBase:a,onDelete:c}){let{knowledgeBaseName:d,description:e,tags:f,subspace:l,createdAt:m,updatedAt:n}=a;return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"rounded-lg bg-[hsl(var(--primary)/0.1)] p-2 text-primary",children:(0,b.jsx)(i.BookOpenText,{className:"h-5 w-5"})}),(0,b.jsx)("h1",{className:"truncate font-display text-[32px] font-semibold leading-tight tracking-tight text-foreground",children:d}),(0,b.jsx)(g.Badge,{variant:"secondary",className:"border-0 bg-[hsl(var(--primary-50))] text-primary",children:"Knowledge Base"})]}),e&&(0,b.jsx)("p",{className:"max-w-3xl text-sm text-muted-foreground",children:e})]}),(0,b.jsxs)(h.Button,{variant:"ghost",size:"sm",className:"text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--destructive))] hover:bg-[hsl(var(--destructive))]/10",onClick:c,children:[(0,b.jsx)(j.Trash2,{className:"mr-2 h-4 w-4"}),"删除"]})]}),f&&f.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:f.map(a=>(0,b.jsx)(g.Badge,{variant:"secondary",className:"rounded-pill border-0 bg-[hsl(var(--primary-50))] text-primary text-xs font-normal",children:a},a))}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2 text-xs text-muted-foreground",children:[l&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 shadow-[0_0_0_3px_rgb(16,185,129,0.15)]"}),"已开启子空间隔离"]}),(0,b.jsx)(ad,{})]}),(0,b.jsxs)("span",{children:["创建于 ",(0,b.jsx)(k.RelativeTime,{timestamp:m})]}),(0,b.jsxs)("span",{children:["更新于 ",(0,b.jsx)(k.RelativeTime,{timestamp:n})]})]})]})}var af=a.i(12583);let ag=[{label:"文档",segment:"documents"},{label:"检索测试",segment:"retrieval"},{label:"问答测试",segment:"qa"},{label:"设置",segment:"settings"}];function ah({knowledgeBaseName:a}){let c=(0,d.usePathname)(),e=(0,d.useSearchParams)(),f=`/knowledge-base/${encodeURIComponent(a)}`,g=(0,ac.useSubspaceOptional)()?.subspace??null,h=new URLSearchParams(e.toString());g?h.set("subspace",g):h.delete("subspace");let i=h.toString(),j=i?`?${i}`:"";return(0,b.jsx)("nav",{className:"flex gap-1 border-b border-[hsl(var(--border))]",children:ag.map(a=>{let d=`${f}/${a.segment}`,e=`${d}${j}`,g=c.startsWith(d);return(0,b.jsxs)(af.default,{href:e,className:(0,aa.cn)("relative px-5 py-2.5 text-sm font-medium transition-colors duration-150 rounded-t-md",g?"text-[hsl(var(--primary))] bg-[hsl(var(--primary))]/5":"text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))]"),children:[a.label,(0,b.jsx)("span",{className:(0,aa.cn)("absolute inset-x-0 bottom-0 h-0.5 rounded-full bg-[hsl(var(--primary))] transition-all duration-200 ease-out",g?"opacity-100 scale-x-100":"opacity-0 scale-x-50")})]},a.segment)})})}var ai=a.i(13773);a.s(["default",0,function({children:a}){let g=decodeURIComponent((0,d.useParams)().name),{data:h,isLoading:i}=(0,f.useKnowledgeBase)(g),[j,k]=(0,c.useState)(!1);return i?(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(e.Skeleton,{className:"h-10 w-64"}),(0,b.jsx)(e.Skeleton,{className:"h-4 w-96"}),(0,b.jsx)(e.Skeleton,{className:"h-4 w-48"})]}),(0,b.jsx)(e.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(e.Skeleton,{className:"h-64 w-full"})]}):h?(0,b.jsxs)("div",{children:[(0,b.jsx)(c.Suspense,{fallback:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(e.Skeleton,{className:"h-10 w-64"}),(0,b.jsx)(e.Skeleton,{className:"h-4 w-96"}),(0,b.jsx)(e.Skeleton,{className:"h-4 w-48"})]}),(0,b.jsx)(e.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(e.Skeleton,{className:"h-[400px] w-full"})]}),children:(0,b.jsx)(ac.SubspaceProvider,{knowledgeBaseName:g,children:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(ae,{knowledgeBase:h,onDelete:()=>k(!0)}),(0,b.jsx)(ah,{knowledgeBaseName:g}),(0,b.jsx)("div",{children:a})]})})}),(0,b.jsx)(ai.KBDeleteDialog,{knowledgeBaseName:g,open:j,onOpenChange:k})]}):(0,b.jsx)("div",{className:"flex items-center justify-center py-20 text-muted-foreground",children:"知识库不存在或已被删除"})}],17177)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_app_%28dashboard%29_knowledge-base_%5Bname%5D_layout-client_tsx_05momc5._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[25538,a=>{"use strict";var b=a.i(34020),c=a.i(12583),d=a.i(623),e=a.i(2482),f=a.i(80470),g=a.i(71562),h=a.i(71071),i=a.i(63265),j=a.i(1927),k=a.i(53520),l=a.i(49707),m=a.i(76192),n=a.i(72518),o=a.i(70535),p=a.i(71938),q=a.i(64565);let r=p.forwardRef(({className:a,checked:c=!1,onCheckedChange:d,disabled:e,...f},g)=>(0,b.jsx)("button",{ref:g,type:"button",role:"switch","aria-checked":c,"data-state":c?"checked":"unchecked",disabled:e,onClick:()=>d?.(!c),className:(0,q.cn)("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full transition-colors duration-200","shadow-[inset_0_0_0_1px_rgba(0,0,0,0.04),inset_0_1px_2px_rgba(0,0,0,0.06)]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background","disabled:cursor-not-allowed disabled:opacity-50",c?"bg-[hsl(var(--primary-600))]":"bg-[hsl(var(--muted))] hover:bg-[hsl(var(--muted)/0.8)]",a),...f,children:(0,b.jsx)("span",{"aria-hidden":!0,className:(0,q.cn)("pointer-events-none block h-5 w-5 rounded-full bg-white transition-transform duration-200","shadow-[0_1px_2px_rgba(0,0,0,0.1),0_2px_6px_rgba(0,0,0,0.15)] ring-1 ring-black/4","ease-[cubic-bezier(0.34,1.56,0.64,1)]",c?"translate-x-5":"translate-x-0.5")})}));r.displayName="Switch";var s=a.i(92942),t=a.i(27692),u=a.i(63525),v=a.i(36965),w=a.i(23331),x=a.i(25825),y=a.i(55295);let z=[{value:"string",label:"String"},{value:"long",label:"Long"},{value:"double",label:"Double"},{value:"boolean",label:"Boolean"},{value:"date",label:"Date"},{value:"string_list",label:"String List"},{value:"long_list",label:"Long List"},{value:"double_list",label:"Double List"},{value:"boolean_list",label:"Boolean List"},{value:"date_list",label:"Date List"}];function A({value:a,onChange:c}){let d=(0,p.useCallback)(()=>{c([...a,{name:"",type:"string"}])},[a,c]),e=(0,p.useCallback)(b=>{c(a.filter((a,c)=>c!==b))},[a,c]),f=(0,p.useCallback)((b,d)=>{c(a.map((a,c)=>c===b?{...a,...d}:a))},[a,c]);return(0,b.jsxs)("div",{className:"space-y-2",children:[a.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(n.Input,{value:a.name,onChange:a=>f(c,{name:a.target.value}),placeholder:"字段名",className:"h-9 flex-1"}),(0,b.jsxs)(u.Select,{value:a.type,onValueChange:a=>f(c,{type:a}),children:[(0,b.jsx)(u.SelectTrigger,{className:"h-9 w-[140px]",children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsx)(u.SelectContent,{children:z.map(a=>(0,b.jsx)(u.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(m.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>e(c),className:"h-9 w-9 text-muted-foreground hover:text-destructive hover:bg-destructive/10","aria-label":`删除字段 ${a.name||c+1}`,children:(0,b.jsx)(y.Trash2,{size:16})})]},c)),(0,b.jsxs)(m.Button,{type:"button",variant:"ghost",onClick:d,className:"gap-1.5 text-primary hover:bg-primary/10",children:[(0,b.jsx)(x.Plus,{size:16}),"添加字段"]})]})}let B=[1024,768,512,256,128,64],C=[2048,1536,1024,768,512,256,128,64];function D({form:a}){let c=(0,g.useWatch)({control:a.control,name:"embeddingConfiguration.provider"}),d="text-embedding-v3"===(0,g.useWatch)({control:a.control,name:"embeddingConfiguration.model"})?B:C,e=b=>{a.setValue("embeddingConfiguration.model",b),a.setValue("embeddingConfiguration.dimension",1024)};return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(s.FormField,{control:a.control,name:"embeddingConfiguration.provider",render:({field:c})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"提供方"}),(0,b.jsxs)(u.Select,{onValueChange:b=>{c.onChange(b),"bailian"===b?(a.setValue("embeddingConfiguration.model","text-embedding-v4"),a.setValue("embeddingConfiguration.dimension",1024)):a.setValue("embeddingConfiguration.model","")},defaultValue:c.value,children:[(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:"选择 Embedding 提供方"})})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"bailian",children:"百炼 (Bailian)"}),(0,b.jsx)(u.SelectItem,{value:"custom",children:"自定义 (Custom)"})]})]}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:a.control,name:"embeddingConfiguration.model",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"模型名称"}),(0,b.jsx)(s.FormControl,{children:"bailian"===c?(0,b.jsxs)(u.Select,{onValueChange:e,value:a.value,children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:"选择模型"})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"text-embedding-v3",children:"text-embedding-v3"}),(0,b.jsx)(u.SelectItem,{value:"text-embedding-v4",children:"text-embedding-v4"})]})]}):(0,b.jsx)(n.Input,{placeholder:"输入模型名称",...a})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:a.control,name:"embeddingConfiguration.dimension",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"向量维度"}),(0,b.jsx)(s.FormControl,{children:"bailian"===c?(0,b.jsxs)(u.Select,{onValueChange:b=>a.onChange(Number(b)),value:String(a.value),children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:"选择维度"})}),(0,b.jsx)(u.SelectContent,{children:d.map(a=>(0,b.jsx)(u.SelectItem,{value:String(a),children:a.toLocaleString()},a))})]}):(0,b.jsx)(n.Input,{type:"number",placeholder:"例如: 1024",...a,onChange:b=>a.onChange(Number(b.target.value))})}),(0,b.jsx)(s.FormMessage,{})]})}),"custom"===c&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s.FormField,{control:a.control,name:"embeddingConfiguration.apiKey",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"API Key"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"password",placeholder:"输入 API Key",...a,value:a.value??""})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:a.control,name:"embeddingConfiguration.url",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"API URL"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{placeholder:"https://your-embedding-service.com/v1/embeddings",...a,value:a.value??""})}),(0,b.jsx)(s.FormMessage,{})]})})]})]})}var E=a.i(33596),F=a.i(77072),G=a.i(69024),H=a.i(17566);function I(){let a,c=(0,f.useRouter)(),d=(a=(0,F.useQueryClient)(),(0,E.useMutation)({mutationFn:a=>(0,G.createKnowledgeBase)(a),onSuccess:()=>{a.invalidateQueries({queryKey:["knowledge-bases"]})}})),e=(0,g.useForm)({resolver:(0,h.zodResolver)(H.createKBSchema),defaultValues:{knowledgeBaseName:"",description:"",subspace:!1,tags:[],metadata:[],embeddingConfiguration:{provider:"bailian",model:"text-embedding-v4",dimension:1024},retrievalConfiguration:{searchType:["DENSE_VECTOR","FULL_TEXT"],rerankingConfiguration:{type:"WEIGHT",numberOfResults:20,rrfConfiguration:{denseVectorSearchWeight:.5,fullTextSearchWeight:.5,k:60},weightConfiguration:{denseVectorSearchWeight:.7,fullTextSearchWeight:.3},modelConfiguration:{provider:"bailian",model:"gte-rerank-v2"}}}}}),p=e.watch("retrievalConfiguration.rerankingConfiguration.type"),q=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-border bg-transparent");async function x(a){try{let b={...a,retrievalConfiguration:a.retrievalConfiguration?{...a.retrievalConfiguration,rerankingConfiguration:a.retrievalConfiguration.rerankingConfiguration?{...a.retrievalConfiguration.rerankingConfiguration,numberOfResults:a.retrievalConfiguration.rerankingConfiguration.numberOfResults??20}:void 0}:void 0};await d.mutateAsync(b),i.toast.success("知识库创建成功"),c.push("/knowledge-base")}catch(b){let a=b instanceof Error?b.message:"创建知识库失败";i.toast.error(a)}}return(0,b.jsx)(s.Form,{...e,children:(0,b.jsxs)("form",{onSubmit:e.handleSubmit(x),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)(s.FormField,{control:e.control,name:"knowledgeBaseName",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsxs)(s.FormLabel,{children:["名称 ",(0,b.jsx)("span",{className:"text-[hsl(var(--destructive))]",children:"*"})]}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{placeholder:"my_knowledge_base",...a})}),(0,b.jsx)(s.FormDescription,{children:"以字母开头,仅包含字母、数字和下划线,最长 64 字符"}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"description",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"描述"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(o.Textarea,{placeholder:"描述这个知识库的用途...",className:"resize-none",rows:3,...a})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"tags",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"标签"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(w.TagInput,{value:a.value??[],onChange:a.onChange,placeholder:"输入标签后按回车"})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"subspace",render:({field:a})=>(0,b.jsxs)(s.FormItem,{className:"flex flex-row items-center justify-between gap-4 space-y-0 rounded-md border border-border p-3",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)(s.FormLabel,{className:"text-sm",children:"启用 Subspace"}),(0,b.jsx)(s.FormDescription,{className:"text-xs",children:"为该知识库开启子空间隔离,不同业务线的数据互不干扰"})]}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(r,{checked:a.value??!1,onCheckedChange:a.onChange})})]})})]}),(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:"Metadata Schema"}),(0,b.jsx)(s.FormField,{control:e.control,name:"metadata",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(A,{value:a.value??[],onChange:a.onChange})}),(0,b.jsx)(s.FormMessage,{})]})})]}),(0,b.jsxs)(t.Collapsible,{children:[(0,b.jsx)(t.CollapsibleTrigger,{asChild:!0,children:(0,b.jsxs)(m.Button,{type:"button",variant:"ghost",className:"flex w-full items-center justify-between p-0 text-lg font-semibold hover:bg-transparent",children:["高级配置",(0,b.jsx)(j.ChevronDown,{className:"h-4 w-4 transition-transform duration-200 [[data-state=open]>&]:rotate-180"})]})}),(0,b.jsxs)(t.CollapsibleContent,{className:"mt-4 space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("h4",{className:"text-base font-medium text-foreground",children:"Embedding 配置"}),(0,b.jsx)(D,{form:e})]}),(0,b.jsx)("hr",{className:"border-border"}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("h4",{className:"text-base font-medium text-foreground",children:"检索配置"}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.searchType",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"搜索类型"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsxs)(v.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)(v.ToggleGroupItem,{value:"DENSE_VECTOR",className:"h-9 gap-1.5",children:[a.value?.includes("DENSE_VECTOR")&&(0,b.jsx)(k.Check,{className:"h-3.5 w-3.5 text-[hsl(var(--primary))]"}),"向量检索"]}),(0,b.jsxs)(v.ToggleGroupItem,{value:"FULL_TEXT",className:"h-9 gap-1.5",children:[a.value?.includes("FULL_TEXT")&&(0,b.jsx)(k.Check,{className:"h-3.5 w-3.5 text-[hsl(var(--primary))]"}),"全文检索"]})]})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.numberOfResults",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"返回数量 (Top K)"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",placeholder:"20",...a,value:a.value??"",onChange:b=>a.onChange(b.target.value?Number(b.target.value):void 0)})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.type",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"默认 Rerank 策略"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsxs)(v.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)(v.ToggleGroupItem,{value:"MODEL",className:"h-9",children:"Model"}),(0,b.jsx)(v.ToggleGroupItem,{value:"WEIGHT",className:"h-9",children:"Weight"}),(0,b.jsx)(v.ToggleGroupItem,{value:"RRF",className:"h-9",children:"RRF"})]})}),(0,b.jsx)(s.FormDescription,{className:"text-xs",children:"切换策略会影响检索时的默认行为;下方三套参数都会保存到知识库,方便临时切换"}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsxs)("div",{className:q("RRF"===p),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:"RRF 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.denseVectorSearchWeight",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"向量检索权重"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",step:"0.1",placeholder:"0.5",...a,value:a.value??"",onChange:(0,l.handleNumberInput)(a.onChange)})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.fullTextSearchWeight",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"全文检索权重"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",step:"0.1",placeholder:"0.5",...a,value:a.value??"",onChange:(0,l.handleNumberInput)(a.onChange)})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.k",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"K 值"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",placeholder:"60",...a,value:a.value??"",onChange:(0,l.handleNumberInput)(a.onChange)})}),(0,b.jsx)(s.FormMessage,{})]})})]})]}),(0,b.jsxs)("div",{className:q("WEIGHT"===p),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:"Weight 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.weightConfiguration.denseVectorSearchWeight",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"向量检索权重"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",step:"0.1",min:"0",max:"1",placeholder:"0.5",...a,value:a.value??"",onChange:(0,l.handleNumberInput)(a.onChange)})}),(0,b.jsx)(s.FormDescription,{children:"0 ~ 1 之间"}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.weightConfiguration.fullTextSearchWeight",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"全文检索权重"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",step:"0.1",min:"0",max:"1",placeholder:"0.5",...a,value:a.value??"",onChange:(0,l.handleNumberInput)(a.onChange)})}),(0,b.jsx)(s.FormDescription,{children:"0 ~ 1 之间"}),(0,b.jsx)(s.FormMessage,{})]})})]})]}),(0,b.jsxs)("div",{className:q("MODEL"===p),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:"Model 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"提供方"}),(0,b.jsxs)(u.Select,{onValueChange:a.onChange,value:a.value??"",children:[(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:"选择提供方"})})}),(0,b.jsx)(u.SelectContent,{children:(0,b.jsx)(u.SelectItem,{value:"bailian",children:"百炼 (Bailian)"})})]}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.modelConfiguration.model",render:({field:a})=>{let c=e.watch("retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider");return(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"模型名称"}),(0,b.jsx)(s.FormControl,{children:"bailian"===c?(0,b.jsxs)(u.Select,{onValueChange:a.onChange,value:a.value??"",children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:"选择模型"})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"gte-rerank-v2",children:"gte-rerank-v2"}),(0,b.jsx)(u.SelectItem,{value:"qwen3-rerank",children:"qwen3-rerank"})]})]}):(0,b.jsx)(n.Input,{placeholder:"输入模型名称",...a,value:a.value??""})}),(0,b.jsx)(s.FormMessage,{})]})}})]})]})]})]})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-3 pt-4 border-t",children:[(0,b.jsx)(m.Button,{type:"button",variant:"outline",onClick:()=>c.back(),children:"取消"}),(0,b.jsx)(m.Button,{type:"submit",disabled:d.isPending,children:d.isPending?"创建中...":"创建知识库"})]})]})})}a.s(["default",0,function(){return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)(c.default,{href:"/knowledge-base",className:"inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground transition-colors mb-4",children:[(0,b.jsx)(d.ArrowLeft,{className:"h-4 w-4"}),"返回知识库列表"]}),(0,b.jsx)(e.PageHeader,{title:"创建知识库"})]}),(0,b.jsx)("div",{className:"max-w-2xl",children:(0,b.jsx)(I,{})})]})}],25538)}];
|
|
1
|
+
module.exports=[25538,a=>{"use strict";var b=a.i(34020),c=a.i(12583),d=a.i(623),e=a.i(2482),f=a.i(80470),g=a.i(71562),h=a.i(71071),i=a.i(63265),j=a.i(1927),k=a.i(53520),l=a.i(49707),m=a.i(76192),n=a.i(72518),o=a.i(70535),p=a.i(71938),q=a.i(64565);let r=p.forwardRef(({className:a,checked:c=!1,onCheckedChange:d,disabled:e,...f},g)=>(0,b.jsx)("button",{ref:g,type:"button",role:"switch","aria-checked":c,"data-state":c?"checked":"unchecked",disabled:e,onClick:()=>d?.(!c),className:(0,q.cn)("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full transition-colors duration-200","shadow-[inset_0_0_0_1px_rgba(0,0,0,0.04),inset_0_1px_2px_rgba(0,0,0,0.06)]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background","disabled:cursor-not-allowed disabled:opacity-50",c?"bg-[hsl(var(--primary-600))]":"bg-[hsl(var(--muted))] hover:bg-[hsl(var(--muted)/0.8)]",a),...f,children:(0,b.jsx)("span",{"aria-hidden":!0,className:(0,q.cn)("pointer-events-none block h-5 w-5 rounded-full bg-white transition-transform duration-200","shadow-[0_1px_2px_rgba(0,0,0,0.1),0_2px_6px_rgba(0,0,0,0.15)] ring-1 ring-black/4","ease-[cubic-bezier(0.34,1.56,0.64,1)]",c?"translate-x-5":"translate-x-0.5")})}));r.displayName="Switch";var s=a.i(92942),t=a.i(27692),u=a.i(63525),v=a.i(36965),w=a.i(23331),x=a.i(25825),y=a.i(55295);let z=[{value:"string",label:"String"},{value:"long",label:"Long"},{value:"double",label:"Double"},{value:"boolean",label:"Boolean"},{value:"date",label:"Date"},{value:"string_list",label:"String List"},{value:"long_list",label:"Long List"},{value:"double_list",label:"Double List"},{value:"boolean_list",label:"Boolean List"},{value:"date_list",label:"Date List"}];function A({value:a,onChange:c}){let d=(0,p.useCallback)(()=>{c([...a,{name:"",type:"string"}])},[a,c]),e=(0,p.useCallback)(b=>{c(a.filter((a,c)=>c!==b))},[a,c]),f=(0,p.useCallback)((b,d)=>{c(a.map((a,c)=>c===b?{...a,...d}:a))},[a,c]);return(0,b.jsxs)("div",{className:"space-y-2",children:[a.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(n.Input,{value:a.name,onChange:a=>f(c,{name:a.target.value}),placeholder:"字段名",className:"h-9 flex-1"}),(0,b.jsxs)(u.Select,{value:a.type,onValueChange:a=>f(c,{type:a}),children:[(0,b.jsx)(u.SelectTrigger,{className:"h-9 w-[140px]",children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsx)(u.SelectContent,{children:z.map(a=>(0,b.jsx)(u.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(m.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>e(c),className:"h-9 w-9 text-muted-foreground hover:text-destructive hover:bg-destructive/10","aria-label":`删除字段 ${a.name||c+1}`,children:(0,b.jsx)(y.Trash2,{size:16})})]},c)),(0,b.jsxs)(m.Button,{type:"button",variant:"ghost",onClick:d,className:"gap-1.5 text-primary hover:bg-primary/10",children:[(0,b.jsx)(x.Plus,{size:16}),"添加字段"]})]})}let B=[1024,768,512,256,128,64],C=[2048,1536,1024,768,512,256,128,64];function D({form:a}){let c=(0,g.useWatch)({control:a.control,name:"embeddingConfiguration.provider"}),d="text-embedding-v3"===(0,g.useWatch)({control:a.control,name:"embeddingConfiguration.model"})?B:C,e=b=>{a.setValue("embeddingConfiguration.model",b),a.setValue("embeddingConfiguration.dimension",1024)};return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(s.FormField,{control:a.control,name:"embeddingConfiguration.provider",render:({field:c})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"提供方"}),(0,b.jsxs)(u.Select,{onValueChange:b=>{c.onChange(b),"bailian"===b?(a.setValue("embeddingConfiguration.model","text-embedding-v4"),a.setValue("embeddingConfiguration.dimension",1024)):a.setValue("embeddingConfiguration.model","")},defaultValue:c.value,children:[(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:"选择 Embedding 提供方"})})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"bailian",children:"百炼 (Bailian)"}),(0,b.jsx)(u.SelectItem,{value:"custom",children:"自定义 (Custom)"})]})]}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:a.control,name:"embeddingConfiguration.model",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"模型名称"}),(0,b.jsx)(s.FormControl,{children:"bailian"===c?(0,b.jsxs)(u.Select,{onValueChange:e,value:a.value,children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:"选择模型"})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"text-embedding-v3",children:"text-embedding-v3"}),(0,b.jsx)(u.SelectItem,{value:"text-embedding-v4",children:"text-embedding-v4"})]})]}):(0,b.jsx)(n.Input,{placeholder:"输入模型名称",...a})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:a.control,name:"embeddingConfiguration.dimension",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"向量维度"}),(0,b.jsx)(s.FormControl,{children:"bailian"===c?(0,b.jsxs)(u.Select,{onValueChange:b=>a.onChange(Number(b)),value:String(a.value),children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:"选择维度"})}),(0,b.jsx)(u.SelectContent,{children:d.map(a=>(0,b.jsx)(u.SelectItem,{value:String(a),children:a.toLocaleString()},a))})]}):(0,b.jsx)(n.Input,{type:"number",placeholder:"例如: 1024",...a,onChange:b=>a.onChange(Number(b.target.value))})}),(0,b.jsx)(s.FormMessage,{})]})}),"custom"===c&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s.FormField,{control:a.control,name:"embeddingConfiguration.apiKey",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"API Key"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"password",placeholder:"输入 API Key",...a,value:a.value??""})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:a.control,name:"embeddingConfiguration.url",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"API URL"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{placeholder:"https://your-embedding-service.com/v1/embeddings",...a,value:a.value??""})}),(0,b.jsx)(s.FormMessage,{})]})})]})]})}var E=a.i(33596),F=a.i(77072),G=a.i(69024),H=a.i(25377),I=a.i(17566);function J(){let a,c=(0,f.useRouter)(),d=(a=(0,F.useQueryClient)(),(0,E.useMutation)({mutationFn:a=>(0,G.createKnowledgeBase)(a),onSuccess:()=>{(0,H.invalidateKnowledgeBaseQueries)(a)}})),e=(0,g.useForm)({resolver:(0,h.zodResolver)(I.createKBSchema),defaultValues:{knowledgeBaseName:"",description:"",subspace:!1,tags:[],metadata:[],embeddingConfiguration:{provider:"bailian",model:"text-embedding-v4",dimension:1024},retrievalConfiguration:{searchType:["DENSE_VECTOR","FULL_TEXT"],rerankingConfiguration:{type:"WEIGHT",numberOfResults:20,rrfConfiguration:{denseVectorSearchWeight:.5,fullTextSearchWeight:.5,k:60},weightConfiguration:{denseVectorSearchWeight:.7,fullTextSearchWeight:.3},modelConfiguration:{provider:"bailian",model:"gte-rerank-v2"}}}}}),p=e.watch("retrievalConfiguration.rerankingConfiguration.type"),q=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-border bg-transparent");async function x(a){try{let b={...a,retrievalConfiguration:a.retrievalConfiguration?{...a.retrievalConfiguration,rerankingConfiguration:a.retrievalConfiguration.rerankingConfiguration?{...a.retrievalConfiguration.rerankingConfiguration,numberOfResults:a.retrievalConfiguration.rerankingConfiguration.numberOfResults??20}:void 0}:void 0};await d.mutateAsync(b),i.toast.success("知识库创建成功"),c.push("/knowledge-base")}catch(b){let a=b instanceof Error?b.message:"创建知识库失败";i.toast.error(a)}}return(0,b.jsx)(s.Form,{...e,children:(0,b.jsxs)("form",{onSubmit:e.handleSubmit(x),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)(s.FormField,{control:e.control,name:"knowledgeBaseName",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsxs)(s.FormLabel,{children:["名称 ",(0,b.jsx)("span",{className:"text-[hsl(var(--destructive))]",children:"*"})]}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{placeholder:"my_knowledge_base",...a})}),(0,b.jsx)(s.FormDescription,{children:"以字母开头,仅包含字母、数字和下划线,最长 64 字符"}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"description",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"描述"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(o.Textarea,{placeholder:"描述这个知识库的用途...",className:"resize-none",rows:3,...a})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"tags",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"标签"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(w.TagInput,{value:a.value??[],onChange:a.onChange,placeholder:"输入标签后按回车"})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"subspace",render:({field:a})=>(0,b.jsxs)(s.FormItem,{className:"flex flex-row items-center justify-between gap-4 space-y-0 rounded-md border border-border p-3",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)(s.FormLabel,{className:"text-sm",children:"启用 Subspace"}),(0,b.jsx)(s.FormDescription,{className:"text-xs",children:"为该知识库开启子空间隔离,不同业务线的数据互不干扰"})]}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(r,{checked:a.value??!1,onCheckedChange:a.onChange})})]})})]}),(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:"Metadata Schema"}),(0,b.jsx)(s.FormField,{control:e.control,name:"metadata",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(A,{value:a.value??[],onChange:a.onChange})}),(0,b.jsx)(s.FormMessage,{})]})})]}),(0,b.jsxs)(t.Collapsible,{children:[(0,b.jsx)(t.CollapsibleTrigger,{asChild:!0,children:(0,b.jsxs)(m.Button,{type:"button",variant:"ghost",className:"flex w-full items-center justify-between p-0 text-lg font-semibold hover:bg-transparent",children:["高级配置",(0,b.jsx)(j.ChevronDown,{className:"h-4 w-4 transition-transform duration-200 [[data-state=open]>&]:rotate-180"})]})}),(0,b.jsxs)(t.CollapsibleContent,{className:"mt-4 space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("h4",{className:"text-base font-medium text-foreground",children:"Embedding 配置"}),(0,b.jsx)(D,{form:e})]}),(0,b.jsx)("hr",{className:"border-border"}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("h4",{className:"text-base font-medium text-foreground",children:"检索配置"}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.searchType",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"搜索类型"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsxs)(v.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)(v.ToggleGroupItem,{value:"DENSE_VECTOR",className:"h-9 gap-1.5",children:[a.value?.includes("DENSE_VECTOR")&&(0,b.jsx)(k.Check,{className:"h-3.5 w-3.5 text-[hsl(var(--primary))]"}),"向量检索"]}),(0,b.jsxs)(v.ToggleGroupItem,{value:"FULL_TEXT",className:"h-9 gap-1.5",children:[a.value?.includes("FULL_TEXT")&&(0,b.jsx)(k.Check,{className:"h-3.5 w-3.5 text-[hsl(var(--primary))]"}),"全文检索"]})]})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.numberOfResults",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"返回数量 (Top K)"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",placeholder:"20",...a,value:a.value??"",onChange:b=>a.onChange(b.target.value?Number(b.target.value):void 0)})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.type",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"默认 Rerank 策略"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsxs)(v.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)(v.ToggleGroupItem,{value:"MODEL",className:"h-9",children:"Model"}),(0,b.jsx)(v.ToggleGroupItem,{value:"WEIGHT",className:"h-9",children:"Weight"}),(0,b.jsx)(v.ToggleGroupItem,{value:"RRF",className:"h-9",children:"RRF"})]})}),(0,b.jsx)(s.FormDescription,{className:"text-xs",children:"切换策略会影响检索时的默认行为;下方三套参数都会保存到知识库,方便临时切换"}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsxs)("div",{className:q("RRF"===p),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:"RRF 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.denseVectorSearchWeight",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"向量检索权重"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",step:"0.1",placeholder:"0.5",...a,value:a.value??"",onChange:(0,l.handleNumberInput)(a.onChange)})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.fullTextSearchWeight",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"全文检索权重"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",step:"0.1",placeholder:"0.5",...a,value:a.value??"",onChange:(0,l.handleNumberInput)(a.onChange)})}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.rrfConfiguration.k",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"K 值"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",placeholder:"60",...a,value:a.value??"",onChange:(0,l.handleNumberInput)(a.onChange)})}),(0,b.jsx)(s.FormMessage,{})]})})]})]}),(0,b.jsxs)("div",{className:q("WEIGHT"===p),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:"Weight 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.weightConfiguration.denseVectorSearchWeight",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"向量检索权重"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",step:"0.1",min:"0",max:"1",placeholder:"0.5",...a,value:a.value??"",onChange:(0,l.handleNumberInput)(a.onChange)})}),(0,b.jsx)(s.FormDescription,{children:"0 ~ 1 之间"}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.weightConfiguration.fullTextSearchWeight",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"全文检索权重"}),(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(n.Input,{type:"number",step:"0.1",min:"0",max:"1",placeholder:"0.5",...a,value:a.value??"",onChange:(0,l.handleNumberInput)(a.onChange)})}),(0,b.jsx)(s.FormDescription,{children:"0 ~ 1 之间"}),(0,b.jsx)(s.FormMessage,{})]})})]})]}),(0,b.jsxs)("div",{className:q("MODEL"===p),children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:"Model 参数"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider",render:({field:a})=>(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"提供方"}),(0,b.jsxs)(u.Select,{onValueChange:a.onChange,value:a.value??"",children:[(0,b.jsx)(s.FormControl,{children:(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:"选择提供方"})})}),(0,b.jsx)(u.SelectContent,{children:(0,b.jsx)(u.SelectItem,{value:"bailian",children:"百炼 (Bailian)"})})]}),(0,b.jsx)(s.FormMessage,{})]})}),(0,b.jsx)(s.FormField,{control:e.control,name:"retrievalConfiguration.rerankingConfiguration.modelConfiguration.model",render:({field:a})=>{let c=e.watch("retrievalConfiguration.rerankingConfiguration.modelConfiguration.provider");return(0,b.jsxs)(s.FormItem,{children:[(0,b.jsx)(s.FormLabel,{children:"模型名称"}),(0,b.jsx)(s.FormControl,{children:"bailian"===c?(0,b.jsxs)(u.Select,{onValueChange:a.onChange,value:a.value??"",children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:"选择模型"})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"gte-rerank-v2",children:"gte-rerank-v2"}),(0,b.jsx)(u.SelectItem,{value:"qwen3-rerank",children:"qwen3-rerank"})]})]}):(0,b.jsx)(n.Input,{placeholder:"输入模型名称",...a,value:a.value??""})}),(0,b.jsx)(s.FormMessage,{})]})}})]})]})]})]})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-3 pt-4 border-t",children:[(0,b.jsx)(m.Button,{type:"button",variant:"outline",onClick:()=>c.back(),children:"取消"}),(0,b.jsx)(m.Button,{type:"submit",disabled:d.isPending,children:d.isPending?"创建中...":"创建知识库"})]})]})})}a.s(["default",0,function(){return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)(c.default,{href:"/knowledge-base",className:"inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground transition-colors mb-4",children:[(0,b.jsx)(d.ArrowLeft,{className:"h-4 w-4"}),"返回知识库列表"]}),(0,b.jsx)(e.PageHeader,{title:"创建知识库"})]}),(0,b.jsx)("div",{className:"max-w-2xl",children:(0,b.jsx)(J,{})})]})}],25538)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_app_%28dashboard%29_knowledge-base_create_page_tsx_0916~g-._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[32759,a=>{"use strict";var b=a.i(34020),c=a.i(80470),d=a.i(4395),e=a.i(11697),f=a.i(71938),g=a.i(63265),h=a.i(76192),i=a.i(62491),j=a.i(70535),k=a.i(33596),l=a.i(77072),m=a.i(21347);function
|
|
1
|
+
module.exports=[32759,a=>{"use strict";var b=a.i(34020),c=a.i(80470),d=a.i(4395),e=a.i(11697),f=a.i(71938),g=a.i(63265),h=a.i(76192),i=a.i(62491),j=a.i(70535),k=a.i(33596),l=a.i(77072),m=a.i(21347),n=a.i(25377);function o({memoryStore:a}){let c,d=(c=(0,l.useQueryClient)(),(0,k.useMutation)({mutationFn:a=>(0,m.updateMemoryStore)(a),onSuccess:()=>{(0,n.invalidateMemoryQueries)(c)}})),[e,p]=(0,f.useState)(a.description??"");async function q(b){b.preventDefault();try{await d.mutateAsync({memoryStoreName:a.memoryStoreName,description:e.trim()||void 0}),g.toast.success("记忆库设置已更新")}catch(a){g.toast.error(a instanceof Error?a.message:"更新记忆库失败")}}return(0,b.jsxs)("form",{onSubmit:q,className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(i.Label,{htmlFor:"memory-settings-description",children:"描述"}),(0,b.jsx)(j.Textarea,{id:"memory-settings-description",value:e,onChange:a=>p(a.target.value),rows:5,placeholder:"描述这个记忆库的用途..."})]}),(0,b.jsx)(h.Button,{type:"submit",disabled:d.isPending,children:d.isPending?"保存中...":"保存设置"})]})}function p(a){if(!a)return"-";try{let b=new Date(a);if(isNaN(b.getTime()))return String(a);return b.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return String(a)}}a.s(["default",0,function(){let a=decodeURIComponent((0,c.useParams)().store),{data:f,isLoading:g}=(0,e.useMemoryStore)(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"})]}):f?(0,b.jsxs)("div",{className:"max-w-2xl space-y-8",children:[(0,b.jsx)(o,{memoryStore:f}),(0,b.jsxs)("div",{className:"rounded-lg border p-4",children:[(0,b.jsx)("h3",{className:"mb-4 text-sm font-semibold",children:"记忆库信息"}),(0,b.jsxs)("dl",{className:"grid gap-3 sm:grid-cols-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{className:"text-xs text-muted-foreground",children:"OTS 实例"}),(0,b.jsx)("dd",{className:"mt-0.5 text-sm font-mono",children:f.otsInstance??"-"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{className:"text-xs text-muted-foreground",children:"创建时间"}),(0,b.jsx)("dd",{className:"mt-0.5 text-sm",children:p(f.createdAt)})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("dt",{className:"text-xs text-muted-foreground",children:"更新时间"}),(0,b.jsx)("dd",{className:"mt-0.5 text-sm",children:p(f.updatedAt)})]})]})]})]}):(0,b.jsx)("div",{className:"py-12 text-center text-muted-foreground",children:"记忆库不存在"})}],32759)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_app_%28dashboard%29_memory_%5Bstore%5D_settings_page_tsx_0y26.xu._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[25909,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(80470),e=a.i(65173),f=a.i(7704),g=a.i(25825),h=a.i(9380),i=a.i(63265),j=a.i(76192),k=a.i(72518),l=a.i(2482),m=a.i(24567),n=a.i(87617),o=a.i(4395),p=a.i(34841),q=a.i(83366),r=a.i(21347),s=a.i(33596),t=a.i(77072),u=a.i(8264),v=a.i(43836),w=a.i(62491),x=a.i(70535);function y({memoryStoreName:a,scope:d,open:e,onOpenChange:f,onSuccess:g}){let h,k=(h=(0,t.useQueryClient)(),(0,s.useMutation)({mutationFn:a=>(0,r.addMemory)(a),onSuccess:(a,b)=>{h.invalidateQueries({queryKey:["memory","stores",b.memoryStoreName,"units"]}),h.invalidateQueries({queryKey:["memory","stores",b.memoryStoreName,"requests"]}),h.invalidateQueries({queryKey:["memory","stores",b.memoryStoreName,"messages"]})}})),[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)("");async function p(){try{let b=(0,u.parseJsonObject)(n);if(!l.trim())return void i.toast.error("请输入要提取为记忆的文本");await k.mutateAsync({memoryStoreName:a,scope:d,text:l.trim(),metadata:b,sync:!1}),i.toast.success("记忆正在加工中,请稍后查看"),m(""),o(""),f(!1),g?.()}catch(a){i.toast.error(a instanceof Error?a.message:"添加记忆失败")}}return(0,b.jsx)(v.Dialog,{open:e,onOpenChange:f,children:(0,b.jsxs)(v.DialogContent,{className:"max-w-xl",children:[(0,b.jsx)(v.DialogHeader,{children:(0,b.jsx)(v.DialogTitle,{children:"添加记忆"})}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.Label,{children:"Text"}),(0,b.jsx)(x.Textarea,{value:l,onChange:a=>m(a.target.value),placeholder:"输入要提取为记忆的文本...",rows:5})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.Label,{children:"Metadata JSON(可选)"}),(0,b.jsx)(x.Textarea,{value:n,onChange:a=>o(a.target.value),placeholder:'{"source":"dashboard"}',rows:3})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"记忆将通过异步方式处理,添加后可在记忆单元中查看结果。"})]}),(0,b.jsxs)(v.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"outline",onClick:()=>f(!1),children:"取消"}),(0,b.jsx)(j.Button,{onClick:p,disabled:k.isPending,children:k.isPending?"提交中...":"提交"})]})]})})}var z=a.i(87491),A=a.i(12537),B=a.i(55295),C=a.i(23301);let D="当前记忆单元缺少精确 scope 或 ID,无法操作";function E(a){return a.id??a.memoryId??"-"}let F=(0,c.memo)(function({unit:a,actionDisabled:d,onView:e,onEdit:f,onDelete:g}){let h=(0,c.useCallback)(()=>e?.(a),[e,a]),i=(0,c.useCallback)(()=>f?.(a),[f,a]),k=(0,c.useCallback)(()=>g?.(a),[g,a]);return(0,b.jsxs)(C.TableRow,{children:[(0,b.jsx)(C.TableCell,{className:"font-mono text-xs",children:E(a)}),(0,b.jsxs)(C.TableCell,{className:"max-w-[420px]",children:[(0,b.jsx)("p",{className:"line-clamp-2 text-sm",children:a.text}),a.search_text&&(0,b.jsx)("p",{className:"mt-1 line-clamp-1 text-xs text-muted-foreground",children:a.search_text})]}),(0,b.jsx)(C.TableCell,{children:a.unit_type??"-"}),(0,b.jsx)(C.TableCell,{children:a.version??"-"}),(0,b.jsx)(C.TableCell,{className:"text-xs text-muted-foreground",children:function(a){if(!a)return"-";try{let b=new Date(a);if(isNaN(b.getTime()))return String(a);return b.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}catch{return String(a)}}(a.created_at??a.createdAt)}),(0,b.jsx)(C.TableCell,{children:(0,b.jsxs)("div",{className:"flex justify-end gap-1",children:[(0,b.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon",disabled:d,onClick:h,title:d?D:"查看详情",children:(0,b.jsx)(z.Eye,{className:"h-4 w-4"})}),(0,b.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon",disabled:d,onClick:i,title:d?D:"编辑",children:(0,b.jsx)(A.Pencil,{className:"h-4 w-4"})}),(0,b.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon",disabled:d,onClick:k,title:d?D:"删除",children:(0,b.jsx)(B.Trash2,{className:"h-4 w-4 text-[hsl(var(--destructive))]"})})]})})]})});function G({units:a,readOnly:c=!1,isActionDisabled:d,onView:e,onEdit:f,onDelete:g}){return a.length?(0,b.jsx)("div",{className:"rounded-lg border",children:(0,b.jsxs)(C.Table,{children:[(0,b.jsx)(C.TableHeader,{children:(0,b.jsxs)(C.TableRow,{children:[(0,b.jsx)(C.TableHead,{className:"w-[180px]",children:"ID"}),(0,b.jsx)(C.TableHead,{children:"内容"}),(0,b.jsx)(C.TableHead,{className:"w-[140px]",children:"类型"}),(0,b.jsx)(C.TableHead,{className:"w-[120px]",children:"版本"}),(0,b.jsx)(C.TableHead,{className:"w-[170px]",children:"创建时间"}),(0,b.jsx)(C.TableHead,{className:"w-[160px] text-right",children:"操作"})]})}),(0,b.jsx)(C.TableBody,{children:a.map((a,h)=>{let i=c||d?.(a)||!1,j=E(a);return(0,b.jsx)(F,{unit:a,actionDisabled:i,onView:e,onEdit:f,onDelete:g},"-"===j?h:j)})})]})}):(0,b.jsx)("div",{className:"rounded-lg border border-dashed py-12 text-center text-sm text-muted-foreground",children:"当前 scope 下暂无记忆单元"})}function H({memoryStoreName:a,scope:c,unit:d,open:e,onOpenChange:f}){let g,h=(g=(0,t.useQueryClient)(),(0,s.useMutation)({mutationFn:a=>(0,r.updateMemoryUnit)(a),onSuccess:(a,b)=>{g.invalidateQueries({queryKey:["memory","stores",b.memoryStoreName,"units"]})}})),k=d?E(d):"empty";async function l(b){if(b.preventDefault(),!d)return;let e=E(d);if("-"===e)return void i.toast.error("记忆单元缺少 ID,无法编辑");let g=new FormData(b.currentTarget),j=String(g.get("text")??"").trim(),k=String(g.get("metadata")??"");try{await h.mutateAsync({memoryStoreName:a,memoryId:e,scope:c,text:j||void 0,metadata:(0,u.parseJsonObject)(k)}),i.toast.success("记忆单元已更新"),f(!1)}catch(a){i.toast.error(a instanceof Error?a.message:"更新记忆失败")}}return(0,b.jsx)(v.Dialog,{open:e,onOpenChange:f,children:(0,b.jsxs)(v.DialogContent,{className:"max-w-2xl",children:[(0,b.jsx)(v.DialogHeader,{children:(0,b.jsx)(v.DialogTitle,{children:"编辑记忆单元"})}),(0,b.jsxs)("form",{onSubmit:l,className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.Label,{children:"Text"}),(0,b.jsx)(x.Textarea,{name:"text",defaultValue:d?.text??"",rows:5})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.Label,{children:"Metadata JSON"}),(0,b.jsx)(x.Textarea,{name:"metadata",defaultValue:d?.metadata?JSON.stringify(d.metadata,null,2):"",rows:4})]}),(0,b.jsxs)(v.DialogFooter,{children:[(0,b.jsx)(j.Button,{type:"button",variant:"outline",onClick:()=>f(!1),children:"取消"}),(0,b.jsx)(j.Button,{type:"submit",disabled:h.isPending,children:h.isPending?"保存中...":"保存"})]})]},k)]})})}function I({label:a,children:c}){return(0,b.jsxs)("div",{className:"grid grid-cols-[120px_1fr] items-start gap-3",children:[(0,b.jsx)("span",{className:"pt-0.5 text-xs font-medium text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"min-w-0 text-sm text-foreground",children:c})]})}function J({memoryStoreName:a,scope:c,unit:d,open:e,onOpenChange:f}){let g=d?E(d):void 0,h=function(a,b,c,d=!0){return(0,q.useQuery)({queryKey:["memory","stores",a,"units","detail",b,c],queryFn:()=>(0,r.getMemoryUnit)({memoryStoreName:a,memoryId:b,scope:c}),enabled:d&&!!a&&!!c?.appId&&!!b&&"-"!==b})}(a,g,c,e),i=h.data?.memory;return(0,b.jsx)(v.Dialog,{open:e,onOpenChange:f,children:(0,b.jsxs)(v.DialogContent,{className:"max-w-2xl",children:[(0,b.jsx)(v.DialogHeader,{children:(0,b.jsx)(v.DialogTitle,{children:"记忆单元详情"})}),d?"-"===g?(0,b.jsx)("p",{className:"text-sm text-destructive",children:"记忆单元缺少 ID,无法加载详情。"}):h.isLoading?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(o.Skeleton,{className:"h-4 w-16"}),(0,b.jsx)(o.Skeleton,{className:"h-5 w-64"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(o.Skeleton,{className:"h-4 w-16"}),(0,b.jsx)(o.Skeleton,{className:"h-24 w-full"})]}),(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,b.jsx)(o.Skeleton,{className:"h-14 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-14 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-14 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-14 w-full"})]})]}):h.isError?(0,b.jsx)("p",{className:"rounded-md bg-destructive/5 p-3 text-sm text-destructive",children:h.error instanceof Error?h.error.message:"加载记忆单元详情失败"}):i?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(I,{label:"ID",children:(0,b.jsx)("span",{className:"break-all font-mono text-xs",children:i.id??i.memoryId??"-"})}),(0,b.jsx)(I,{label:"内容",children:(0,b.jsx)("p",{className:"whitespace-pre-wrap rounded-md bg-muted p-3 text-sm",children:i.text})}),i.search_text&&(0,b.jsx)(I,{label:"Search Text",children:(0,b.jsx)("p",{className:"whitespace-pre-wrap rounded-md bg-muted p-3 text-sm",children:i.search_text})}),(0,b.jsx)(I,{label:"Scope",children:(0,u.formatScope)(i.scope)}),(0,b.jsx)(I,{label:"类型",children:i.unit_type??"-"}),(0,b.jsx)(I,{label:"Salience",children:i.salience??"-"}),(0,b.jsx)(I,{label:"版本",children:i.version??"-"}),i.metadata&&(0,b.jsx)(I,{label:"Metadata",children:(0,b.jsx)("pre",{className:"overflow-auto rounded-md bg-muted p-3 text-xs",children:JSON.stringify(i.metadata,null,2)})})]}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"未找到记忆单元详情。"}):null]})})}var K=a.i(53141);a.s(["default",0,function(){let a,v=(0,d.useParams)(),w=(0,d.useSearchParams)(),x=decodeURIComponent(v.store),z=(0,c.useMemo)(()=>(0,u.buildMemoryScope)(w),[w.toString()]),A=(0,u.hasWildcardScope)(z),B=(0,c.useMemo)(()=>`${z.appId}|${z.tenantId??""}|${z.agentId??""}|${z.runId??""}`,[z.appId,z.tenantId,z.agentId,z.runId]),[C,D]=(0,c.useState)({scopeKey:B,tokenStack:[]}),[F]=(0,c.useState)(20),[I,L]=(0,c.useState)(""),[M,N]=(0,c.useState)(null),[O,P]=(0,c.useState)(!1),[Q,R]=(0,c.useState)({scopeKey:B,open:!1}),[S,T]=(0,c.useState)({scopeKey:B,unit:null}),[U,V]=(0,c.useState)({scopeKey:B,unit:null}),[W,X]=(0,c.useState)({scopeKey:B,unit:null}),Y=C.scopeKey===B?C.tokenStack:[],Z=C.scopeKey===B?C.currentToken:void 0,$=Q.scopeKey===B&&Q.open,_=S.scopeKey===B?S.unit:null,aa=U.scopeKey===B?U.unit:null,ab=W.scopeKey===B?W.unit:null,ac=function(a,b,c,d=20){return(0,q.useQuery)({queryKey:["memory","stores",a,"units",b,c,d],queryFn:()=>(0,r.listMemoryUnits)(a,b,{nextToken:c,limit:d}),enabled:!!a&&!!b?.appId,staleTime:3e4})}(x,z.appId?z:null,Z,F),ad=(a=(0,t.useQueryClient)(),(0,s.useMutation)({mutationFn:a=>(0,r.deleteMemoryUnit)(a),onSuccess:(b,c)=>{a.invalidateQueries({queryKey:["memory","stores",c.memoryStoreName,"units"]}),a.invalidateQueries({queryKey:["memory","stores",c.memoryStoreName,"requests"]})}})),ae=ac.data?.items??[];function af(a,b){return a.scope?.appId?a.scope:b}function ag(a,b){let c=E(a),d=af(a,b);return!!d.appId&&!(0,u.hasWildcardScope)(d)&&"-"!==c}let ah=_?af(_,z):z,ai=aa?af(aa,z):z,aj=ab?af(ab,z):z;async function ak(){if(!ab)return;let a=E(ab);if("-"===a)return void i.toast.error("记忆单元缺少 ID,无法删除");if(!ag(ab,z))return void i.toast.error("当前记忆单元缺少精确 scope,无法删除");try{await ad.mutateAsync({memoryStoreName:x,memoryId:a,scope:aj}),i.toast.success("记忆单元已删除"),X({scopeKey:B,unit:null}),ac.refetch()}catch(a){i.toast.error(a instanceof Error?a.message:"删除记忆单元失败")}}async function al(){if(!I.trim())return void i.toast.error("请输入 Memory ID");if(!z.appId)return void i.toast.error("请先设置精确的 Scope");P(!0);try{let a=await (0,K.apiGet)(`/api/v1/memory/stores/${encodeURIComponent(x)}/units/${encodeURIComponent(I.trim())}?${new URLSearchParams({appId:z.appId,...z.tenantId?{tenantId:z.tenantId}:{},...z.agentId?{agentId:z.agentId}:{},...z.runId?{runId:z.runId}:{}}).toString()}`);N(a.memory),i.toast.success("找到记忆单元")}catch(a){N(null),i.toast.error(a instanceof Error?a.message:"未找到该记忆单元")}finally{P(!1)}}function am(){L(""),N(null)}let an=M?[M]:ae,ao=M?1:ac.data?.totalCount??0;return ac.isLoading&&!M?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(o.Skeleton,{className:"h-8 w-48"}),(0,b.jsx)(o.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-64 w-full"})]}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(l.PageHeader,{title:`长期记忆 (${ao})`,children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(n.RefreshButton,{loading:ac.isRefetching,onClick:()=>{ac.refetch(),am()}}),A?(0,b.jsx)(p.TooltipProvider,{delayDuration:200,children:(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{tabIndex:0,className:"inline-flex",children:(0,b.jsxs)(j.Button,{disabled:!0,className:"pointer-events-none",children:[(0,b.jsx)(g.Plus,{className:"mr-2 h-4 w-4"}),"添加记忆"]})})}),(0,b.jsx)(p.TooltipContent,{side:"bottom",className:"max-w-[240px]",children:(0,b.jsx)("p",{children:"请在上方 Scope 栏中为所有字段设置具体值后再添加记忆"})})]})}):(0,b.jsxs)(j.Button,{onClick:()=>R({scopeKey:B,open:!0}),children:[(0,b.jsx)(g.Plus,{className:"mr-2 h-4 w-4"}),"添加记忆"]})]})}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(k.Input,{value:I,onChange:a=>L(a.target.value),placeholder:"输入 Memory ID 查询单条记忆...",className:"max-w-md",onKeyDown:a=>"Enter"===a.key&&al()}),(0,b.jsxs)(j.Button,{onClick:al,disabled:O||!z.appId,children:[(0,b.jsx)(h.Search,{className:"mr-1.5 h-4 w-4"}),O?"查询中...":"查询"]}),M&&(0,b.jsx)(j.Button,{variant:"outline",onClick:am,children:"返回列表"})]}),A&&!M&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"当前 scope 含通配符,仅支持只读查询,无法执行新增、查看详情、编辑或删除。"}),(0,b.jsx)(G,{units:an,readOnly:!!M,isActionDisabled:a=>!!M||!ag(a,z),onView:a=>T({scopeKey:B,unit:a}),onEdit:a=>V({scopeKey:B,unit:a}),onDelete:a=>X({scopeKey:B,unit:a})}),!M&&(0,b.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,b.jsxs)("span",{className:"text-sm text-muted-foreground",children:["第 ",Y.length+1," 页"]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)(j.Button,{variant:"outline",size:"sm",onClick:()=>{D(a=>{let b=[...a.scopeKey===B?a.tokenStack:[]],c=b.pop();return{scopeKey:B,tokenStack:b,currentToken:c||void 0}})},disabled:0===Y.length,children:[(0,b.jsx)(e.ChevronLeft,{className:"mr-1 h-4 w-4"}),"上一页"]}),(0,b.jsxs)(j.Button,{variant:"outline",size:"sm",onClick:()=>{ac.data?.nextToken&&D(a=>({scopeKey:B,tokenStack:[...a.scopeKey===B?a.tokenStack:[],Z??""],currentToken:ac.data.nextToken}))},disabled:!ac.data?.nextToken,children:["下一页",(0,b.jsx)(f.ChevronRight,{className:"ml-1 h-4 w-4"})]})]})]}),(0,b.jsx)(y,{memoryStoreName:x,scope:z,open:$,onOpenChange:a=>R({scopeKey:B,open:a}),onSuccess:()=>{ac.refetch(),am()}}),(0,b.jsx)(J,{memoryStoreName:x,scope:ah,unit:_,open:!!_&&ag(_,z),onOpenChange:a=>{a||T({scopeKey:B,unit:null})}}),(0,b.jsx)(H,{memoryStoreName:x,scope:ai,unit:aa,open:!!aa&&ag(aa,z),onOpenChange:a=>{a||V({scopeKey:B,unit:null})}}),(0,b.jsx)(m.ConfirmDialog,{open:!!ab&&ag(ab,z),onOpenChange:a=>{a||X({scopeKey:B,unit:null})},title:"删除记忆单元",description:`确定要删除记忆单元 "${ab?E(ab):""}" 吗?此操作不可撤销。`,variant:"danger",onConfirm:ak})]})}],25909)}];
|
|
1
|
+
module.exports=[25909,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(80470),e=a.i(65173),f=a.i(7704),g=a.i(25825),h=a.i(9380),i=a.i(63265),j=a.i(76192),k=a.i(72518),l=a.i(2482),m=a.i(24567),n=a.i(87617),o=a.i(4395),p=a.i(34841),q=a.i(83366),r=a.i(21347),s=a.i(25377),t=a.i(39096),u=a.i(33596),v=a.i(77072),w=a.i(8264),x=a.i(43836),y=a.i(62491),z=a.i(70535);function A({memoryStoreName:a,scope:d,open:e,onOpenChange:f,onSuccess:g}){let h,k=(h=(0,v.useQueryClient)(),(0,u.useMutation)({mutationFn:a=>(0,r.addMemory)(a),onSuccess:()=>{(0,s.invalidateMemoryQueries)(h)}})),[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)("");async function p(){try{let b=(0,w.parseJsonObject)(n);if(!l.trim())return void i.toast.error("请输入要提取为记忆的文本");await k.mutateAsync({memoryStoreName:a,scope:d,text:l.trim(),metadata:b,sync:!1}),i.toast.success("记忆正在加工中,请稍后查看"),m(""),o(""),f(!1),g?.()}catch(a){i.toast.error(a instanceof Error?a.message:"添加记忆失败")}}return(0,b.jsx)(x.Dialog,{open:e,onOpenChange:f,children:(0,b.jsxs)(x.DialogContent,{className:"max-w-xl",children:[(0,b.jsx)(x.DialogHeader,{children:(0,b.jsx)(x.DialogTitle,{children:"添加记忆"})}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(y.Label,{children:"Text"}),(0,b.jsx)(z.Textarea,{value:l,onChange:a=>m(a.target.value),placeholder:"输入要提取为记忆的文本...",rows:5})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(y.Label,{children:"Metadata JSON(可选)"}),(0,b.jsx)(z.Textarea,{value:n,onChange:a=>o(a.target.value),placeholder:'{"source":"dashboard"}',rows:3})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"记忆将通过异步方式处理,添加后可在记忆单元中查看结果。"})]}),(0,b.jsxs)(x.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"outline",onClick:()=>f(!1),children:"取消"}),(0,b.jsx)(j.Button,{onClick:p,disabled:k.isPending,children:k.isPending?"提交中...":"提交"})]})]})})}var B=a.i(87491),C=a.i(12537),D=a.i(55295),E=a.i(23301);let F="当前记忆单元缺少精确 scope 或 ID,无法操作";function G(a){return a.id??a.memoryId??"-"}let H=(0,c.memo)(function({unit:a,actionDisabled:d,onView:e,onEdit:f,onDelete:g}){let h=(0,c.useCallback)(()=>e?.(a),[e,a]),i=(0,c.useCallback)(()=>f?.(a),[f,a]),k=(0,c.useCallback)(()=>g?.(a),[g,a]);return(0,b.jsxs)(E.TableRow,{children:[(0,b.jsx)(E.TableCell,{className:"font-mono text-xs",children:G(a)}),(0,b.jsxs)(E.TableCell,{className:"max-w-[420px]",children:[(0,b.jsx)("p",{className:"line-clamp-2 text-sm",children:a.text}),a.search_text&&(0,b.jsx)("p",{className:"mt-1 line-clamp-1 text-xs text-muted-foreground",children:a.search_text})]}),(0,b.jsx)(E.TableCell,{children:a.unit_type??"-"}),(0,b.jsx)(E.TableCell,{children:a.version??"-"}),(0,b.jsx)(E.TableCell,{className:"text-xs text-muted-foreground",children:function(a){if(!a)return"-";try{let b=new Date(a);if(isNaN(b.getTime()))return String(a);return b.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}catch{return String(a)}}(a.created_at??a.createdAt)}),(0,b.jsx)(E.TableCell,{children:(0,b.jsxs)("div",{className:"flex justify-end gap-1",children:[(0,b.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon",disabled:d,onClick:h,title:d?F:"查看详情",children:(0,b.jsx)(B.Eye,{className:"h-4 w-4"})}),(0,b.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon",disabled:d,onClick:i,title:d?F:"编辑",children:(0,b.jsx)(C.Pencil,{className:"h-4 w-4"})}),(0,b.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon",disabled:d,onClick:k,title:d?F:"删除",children:(0,b.jsx)(D.Trash2,{className:"h-4 w-4 text-[hsl(var(--destructive))]"})})]})})]})});function I({units:a,readOnly:c=!1,isActionDisabled:d,onView:e,onEdit:f,onDelete:g}){return a.length?(0,b.jsx)("div",{className:"rounded-lg border",children:(0,b.jsxs)(E.Table,{children:[(0,b.jsx)(E.TableHeader,{children:(0,b.jsxs)(E.TableRow,{children:[(0,b.jsx)(E.TableHead,{className:"w-[180px]",children:"ID"}),(0,b.jsx)(E.TableHead,{children:"内容"}),(0,b.jsx)(E.TableHead,{className:"w-[140px]",children:"类型"}),(0,b.jsx)(E.TableHead,{className:"w-[120px]",children:"版本"}),(0,b.jsx)(E.TableHead,{className:"w-[170px]",children:"创建时间"}),(0,b.jsx)(E.TableHead,{className:"w-[160px] text-right",children:"操作"})]})}),(0,b.jsx)(E.TableBody,{children:a.map((a,h)=>{let i=c||d?.(a)||!1,j=G(a);return(0,b.jsx)(H,{unit:a,actionDisabled:i,onView:e,onEdit:f,onDelete:g},"-"===j?h:j)})})]})}):(0,b.jsx)("div",{className:"rounded-lg border border-dashed py-12 text-center text-sm text-muted-foreground",children:"当前 scope 下暂无记忆单元"})}function J({memoryStoreName:a,scope:c,unit:d,open:e,onOpenChange:f}){let g,h=(g=(0,v.useQueryClient)(),(0,u.useMutation)({mutationFn:a=>(0,r.updateMemoryUnit)(a),onSuccess:()=>{(0,s.invalidateMemoryQueries)(g)}})),k=d?G(d):"empty";async function l(b){if(b.preventDefault(),!d)return;let e=G(d);if("-"===e)return void i.toast.error("记忆单元缺少 ID,无法编辑");let g=new FormData(b.currentTarget),j=String(g.get("text")??"").trim(),k=String(g.get("metadata")??"");try{await h.mutateAsync({memoryStoreName:a,memoryId:e,scope:c,text:j||void 0,metadata:(0,w.parseJsonObject)(k)}),i.toast.success("记忆单元已更新"),f(!1)}catch(a){i.toast.error(a instanceof Error?a.message:"更新记忆失败")}}return(0,b.jsx)(x.Dialog,{open:e,onOpenChange:f,children:(0,b.jsxs)(x.DialogContent,{className:"max-w-2xl",children:[(0,b.jsx)(x.DialogHeader,{children:(0,b.jsx)(x.DialogTitle,{children:"编辑记忆单元"})}),(0,b.jsxs)("form",{onSubmit:l,className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(y.Label,{children:"Text"}),(0,b.jsx)(z.Textarea,{name:"text",defaultValue:d?.text??"",rows:5})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(y.Label,{children:"Metadata JSON"}),(0,b.jsx)(z.Textarea,{name:"metadata",defaultValue:d?.metadata?JSON.stringify(d.metadata,null,2):"",rows:4})]}),(0,b.jsxs)(x.DialogFooter,{children:[(0,b.jsx)(j.Button,{type:"button",variant:"outline",onClick:()=>f(!1),children:"取消"}),(0,b.jsx)(j.Button,{type:"submit",disabled:h.isPending,children:h.isPending?"保存中...":"保存"})]})]},k)]})})}function K({label:a,children:c}){return(0,b.jsxs)("div",{className:"grid grid-cols-[120px_1fr] items-start gap-3",children:[(0,b.jsx)("span",{className:"pt-0.5 text-xs font-medium text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"min-w-0 text-sm text-foreground",children:c})]})}function L({memoryStoreName:a,scope:c,unit:d,open:e,onOpenChange:f}){let g=d?G(d):void 0,h=function(a,b,c,d=!0){let{context:e,ready:f}=(0,t.useRuntimeContext)();return(0,q.useQuery)({queryKey:s.queryKeys.memoryUnit(e.dataScopeKey,a,b,c),queryFn:()=>(0,r.getMemoryUnit)({memoryStoreName:a,memoryId:b,scope:c}),enabled:f&&d&&!!a&&!!c?.appId&&!!b&&"-"!==b})}(a,g,c,e),i=h.data?.memory;return(0,b.jsx)(x.Dialog,{open:e,onOpenChange:f,children:(0,b.jsxs)(x.DialogContent,{className:"max-w-2xl",children:[(0,b.jsx)(x.DialogHeader,{children:(0,b.jsx)(x.DialogTitle,{children:"记忆单元详情"})}),d?"-"===g?(0,b.jsx)("p",{className:"text-sm text-destructive",children:"记忆单元缺少 ID,无法加载详情。"}):h.isLoading?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(o.Skeleton,{className:"h-4 w-16"}),(0,b.jsx)(o.Skeleton,{className:"h-5 w-64"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(o.Skeleton,{className:"h-4 w-16"}),(0,b.jsx)(o.Skeleton,{className:"h-24 w-full"})]}),(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,b.jsx)(o.Skeleton,{className:"h-14 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-14 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-14 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-14 w-full"})]})]}):h.isError?(0,b.jsx)("p",{className:"rounded-md bg-destructive/5 p-3 text-sm text-destructive",children:h.error instanceof Error?h.error.message:"加载记忆单元详情失败"}):i?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(K,{label:"ID",children:(0,b.jsx)("span",{className:"break-all font-mono text-xs",children:i.id??i.memoryId??"-"})}),(0,b.jsx)(K,{label:"内容",children:(0,b.jsx)("p",{className:"whitespace-pre-wrap rounded-md bg-muted p-3 text-sm",children:i.text})}),i.search_text&&(0,b.jsx)(K,{label:"Search Text",children:(0,b.jsx)("p",{className:"whitespace-pre-wrap rounded-md bg-muted p-3 text-sm",children:i.search_text})}),(0,b.jsx)(K,{label:"Scope",children:(0,w.formatScope)(i.scope)}),(0,b.jsx)(K,{label:"类型",children:i.unit_type??"-"}),(0,b.jsx)(K,{label:"Salience",children:i.salience??"-"}),(0,b.jsx)(K,{label:"版本",children:i.version??"-"}),i.metadata&&(0,b.jsx)(K,{label:"Metadata",children:(0,b.jsx)("pre",{className:"overflow-auto rounded-md bg-muted p-3 text-xs",children:JSON.stringify(i.metadata,null,2)})})]}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"未找到记忆单元详情。"}):null]})})}var M=a.i(53141);a.s(["default",0,function(){let a,x=(0,d.useParams)(),y=(0,d.useSearchParams)(),z=decodeURIComponent(x.store),B=(0,c.useMemo)(()=>(0,w.buildMemoryScope)(y),[y.toString()]),C=(0,w.hasWildcardScope)(B),D=(0,c.useMemo)(()=>`${B.appId}|${B.tenantId??""}|${B.agentId??""}|${B.runId??""}`,[B.appId,B.tenantId,B.agentId,B.runId]),[E,F]=(0,c.useState)({scopeKey:D,tokenStack:[]}),[H]=(0,c.useState)(20),[K,N]=(0,c.useState)(""),[O,P]=(0,c.useState)(null),[Q,R]=(0,c.useState)(!1),[S,T]=(0,c.useState)({scopeKey:D,open:!1}),[U,V]=(0,c.useState)({scopeKey:D,unit:null}),[W,X]=(0,c.useState)({scopeKey:D,unit:null}),[Y,Z]=(0,c.useState)({scopeKey:D,unit:null}),$=E.scopeKey===D?E.tokenStack:[],_=E.scopeKey===D?E.currentToken:void 0,aa=S.scopeKey===D&&S.open,ab=U.scopeKey===D?U.unit:null,ac=W.scopeKey===D?W.unit:null,ad=Y.scopeKey===D?Y.unit:null,ae=function(a,b,c,d=20){let{context:e,ready:f}=(0,t.useRuntimeContext)();return(0,q.useQuery)({queryKey:s.queryKeys.memoryUnits(e.dataScopeKey,a,b,c,d),queryFn:()=>(0,r.listMemoryUnits)(a,b,{nextToken:c,limit:d}),enabled:f&&!!a&&!!b?.appId,staleTime:3e4})}(z,B.appId?B:null,_,H),af=(a=(0,v.useQueryClient)(),(0,u.useMutation)({mutationFn:a=>(0,r.deleteMemoryUnit)(a),onSuccess:()=>{(0,s.invalidateMemoryQueries)(a)}})),ag=ae.data?.items??[];function ah(a,b){return a.scope?.appId?a.scope:b}function ai(a,b){let c=G(a),d=ah(a,b);return!!d.appId&&!(0,w.hasWildcardScope)(d)&&"-"!==c}let aj=ab?ah(ab,B):B,ak=ac?ah(ac,B):B,al=ad?ah(ad,B):B;async function am(){if(!ad)return;let a=G(ad);if("-"===a)return void i.toast.error("记忆单元缺少 ID,无法删除");if(!ai(ad,B))return void i.toast.error("当前记忆单元缺少精确 scope,无法删除");try{await af.mutateAsync({memoryStoreName:z,memoryId:a,scope:al}),i.toast.success("记忆单元已删除"),Z({scopeKey:D,unit:null}),ae.refetch()}catch(a){i.toast.error(a instanceof Error?a.message:"删除记忆单元失败")}}async function an(){if(!K.trim())return void i.toast.error("请输入 Memory ID");if(!B.appId)return void i.toast.error("请先设置精确的 Scope");R(!0);try{let a=await (0,M.apiGet)(`/api/v1/memory/stores/${encodeURIComponent(z)}/units/${encodeURIComponent(K.trim())}?${new URLSearchParams({appId:B.appId,...B.tenantId?{tenantId:B.tenantId}:{},...B.agentId?{agentId:B.agentId}:{},...B.runId?{runId:B.runId}:{}}).toString()}`);P(a.memory),i.toast.success("找到记忆单元")}catch(a){P(null),i.toast.error(a instanceof Error?a.message:"未找到该记忆单元")}finally{R(!1)}}function ao(){N(""),P(null)}let ap=O?[O]:ag,aq=O?1:ae.data?.totalCount??0;return ae.isLoading&&!O?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(o.Skeleton,{className:"h-8 w-48"}),(0,b.jsx)(o.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-64 w-full"})]}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(l.PageHeader,{title:`长期记忆 (${aq})`,children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(n.RefreshButton,{loading:ae.isRefetching,onClick:()=>{ae.refetch(),ao()}}),C?(0,b.jsx)(p.TooltipProvider,{delayDuration:200,children:(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{tabIndex:0,className:"inline-flex",children:(0,b.jsxs)(j.Button,{disabled:!0,className:"pointer-events-none",children:[(0,b.jsx)(g.Plus,{className:"mr-2 h-4 w-4"}),"添加记忆"]})})}),(0,b.jsx)(p.TooltipContent,{side:"bottom",className:"max-w-[240px]",children:(0,b.jsx)("p",{children:"请在上方 Scope 栏中为所有字段设置具体值后再添加记忆"})})]})}):(0,b.jsxs)(j.Button,{onClick:()=>T({scopeKey:D,open:!0}),children:[(0,b.jsx)(g.Plus,{className:"mr-2 h-4 w-4"}),"添加记忆"]})]})}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(k.Input,{value:K,onChange:a=>N(a.target.value),placeholder:"输入 Memory ID 查询单条记忆...",className:"max-w-md",onKeyDown:a=>"Enter"===a.key&&an()}),(0,b.jsxs)(j.Button,{onClick:an,disabled:Q||!B.appId,children:[(0,b.jsx)(h.Search,{className:"mr-1.5 h-4 w-4"}),Q?"查询中...":"查询"]}),O&&(0,b.jsx)(j.Button,{variant:"outline",onClick:ao,children:"返回列表"})]}),C&&!O&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"当前 scope 含通配符,仅支持只读查询,无法执行新增、查看详情、编辑或删除。"}),(0,b.jsx)(I,{units:ap,readOnly:!!O,isActionDisabled:a=>!!O||!ai(a,B),onView:a=>V({scopeKey:D,unit:a}),onEdit:a=>X({scopeKey:D,unit:a}),onDelete:a=>Z({scopeKey:D,unit:a})}),!O&&(0,b.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,b.jsxs)("span",{className:"text-sm text-muted-foreground",children:["第 ",$.length+1," 页"]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)(j.Button,{variant:"outline",size:"sm",onClick:()=>{F(a=>{let b=[...a.scopeKey===D?a.tokenStack:[]],c=b.pop();return{scopeKey:D,tokenStack:b,currentToken:c||void 0}})},disabled:0===$.length,children:[(0,b.jsx)(e.ChevronLeft,{className:"mr-1 h-4 w-4"}),"上一页"]}),(0,b.jsxs)(j.Button,{variant:"outline",size:"sm",onClick:()=>{ae.data?.nextToken&&F(a=>({scopeKey:D,tokenStack:[...a.scopeKey===D?a.tokenStack:[],_??""],currentToken:ae.data.nextToken}))},disabled:!ae.data?.nextToken,children:["下一页",(0,b.jsx)(f.ChevronRight,{className:"ml-1 h-4 w-4"})]})]})]}),(0,b.jsx)(A,{memoryStoreName:z,scope:B,open:aa,onOpenChange:a=>T({scopeKey:D,open:a}),onSuccess:()=>{ae.refetch(),ao()}}),(0,b.jsx)(L,{memoryStoreName:z,scope:aj,unit:ab,open:!!ab&&ai(ab,B),onOpenChange:a=>{a||V({scopeKey:D,unit:null})}}),(0,b.jsx)(J,{memoryStoreName:z,scope:ak,unit:ac,open:!!ac&&ai(ac,B),onOpenChange:a=>{a||X({scopeKey:D,unit:null})}}),(0,b.jsx)(m.ConfirmDialog,{open:!!ad&&ai(ad,B),onOpenChange:a=>{a||Z({scopeKey:D,unit:null})},title:"删除记忆单元",description:`确定要删除记忆单元 "${ad?G(ad):""}" 吗?此操作不可撤销。`,variant:"danger",onConfirm:am})]})}],25909)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_app_%28dashboard%29_memory_%5Bstore%5D_units_page_tsx_0.6xnei._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[97703,a=>{"use strict";var b=a.i(34020),c=a.i(71938);a.s(["default",0,function({error:a,reset:
|
|
1
|
+
module.exports=[97703,a=>{"use strict";var b=a.i(34020),c=a.i(71938),d=a.i(23834);a.s(["default",0,function({error:a,reset:e}){return(0,c.useEffect)(()=>{console.error("Global error:",a),(0,d.reportClientError)({event:"browser.error_boundary.global",message:a.message,name:a.name,stack:a.stack,digest:a.digest})},[a]),(0,b.jsxs)("div",{className:"flex min-h-screen flex-col items-center justify-center gap-4 px-6",children:[(0,b.jsx)("h2",{className:"font-display text-3xl font-semibold tracking-tight text-foreground",children:"出错了"}),(0,b.jsx)("p",{className:"max-w-md text-center text-sm text-muted-foreground",children:"页面加载时出错了,您可以重试或返回上一步。"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("button",{type:"button",onClick:e,className:"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-sm transition-colors hover:bg-primary/90",children:"重试"}),(0,b.jsx)("button",{type:"button",onClick:()=>{},className:"rounded-md border border-border bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm transition-colors hover:bg-muted",children:"返回首页"})]}),a.digest&&(0,b.jsxs)("details",{className:"mt-4 max-w-2xl rounded-md border border-border bg-muted/40 px-4 py-3 text-xs text-muted-foreground",children:[(0,b.jsx)("summary",{className:"cursor-pointer select-none font-medium",children:"技术详情"}),a.digest&&(0,b.jsxs)("p",{className:"mt-2",children:[(0,b.jsx)("span",{className:"font-medium",children:"Digest:"})," ",(0,b.jsx)("code",{className:"font-mono",children:a.digest})]}),a.message&&(0,b.jsxs)("p",{className:"mt-2",children:[(0,b.jsx)("span",{className:"font-medium",children:"Message:"})," ",(0,b.jsx)("code",{className:"font-mono break-all",children:a.message})]}),!1]})]})}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_app_error_tsx_01x7ppm._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[39096,16140,33646,58710,83366,a=>{"use strict";let b;var c=a.i(34020),d=a.i(71938),e=a.i(80470),f=a.i(21561),g=a.i(9168),h=a.i(64339),i=a.i(35686),j=a.i(91539),k=a.i(89524),l=class extends k.Removable{#a;#b;#c;#d;#e;#f;#g;constructor(a){super(),this.#g=!1,this.#f=a.defaultOptions,this.setOptions(a.options),this.observers=[],this.#d=a.client,this.#c=this.#d.getQueryCache(),this.queryKey=a.queryKey,this.queryHash=a.queryHash,this.#a=o(this.options),this.state=a.state??this.#a,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#e?.promise}setOptions(a){if(this.options={...this.#f,...a},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){let a=o(this.options);void 0!==a.data&&(this.setState(n(a.data,a.dataUpdatedAt)),this.#a=a)}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#c.remove(this)}setData(a,b){let c=(0,i.replaceData)(this.state.data,a,this.options);return this.#h({data:c,type:"success",dataUpdatedAt:b?.updatedAt,manual:b?.manual}),c}setState(a,b){this.#h({type:"setState",state:a,setStateOptions:b})}cancel(a){let b=this.#e?.promise;return this.#e?.cancel(a),b?b.then(i.noop).catch(i.noop):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#a}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(a=>!1!==(0,i.resolveEnabled)(a.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===i.skipToken||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(a=>"static"===(0,i.resolveStaleTime)(a.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(a=>a.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(a=0){return void 0===this.state.data||"static"!==a&&(!!this.state.isInvalidated||!(0,i.timeUntilStale)(this.state.dataUpdatedAt,a))}onFocus(){let a=this.observers.find(a=>a.shouldFetchOnWindowFocus());a?.refetch({cancelRefetch:!1}),this.#e?.continue()}onOnline(){let a=this.observers.find(a=>a.shouldFetchOnReconnect());a?.refetch({cancelRefetch:!1}),this.#e?.continue()}addObserver(a){this.observers.includes(a)||(this.observers.push(a),this.clearGcTimeout(),this.#c.notify({type:"observerAdded",query:this,observer:a}))}removeObserver(a){this.observers.includes(a)&&(this.observers=this.observers.filter(b=>b!==a),this.observers.length||(this.#e&&(this.#g||this.#i()?this.#e.cancel({revert:!0}):this.#e.cancelRetry()),this.scheduleGc()),this.#c.notify({type:"observerRemoved",query:this,observer:a}))}getObserversCount(){return this.observers.length}#i(){return"paused"===this.state.fetchStatus&&"pending"===this.state.status}invalidate(){this.state.isInvalidated||this.#h({type:"invalidate"})}async fetch(a,b){let c;if("idle"!==this.state.fetchStatus&&this.#e?.status()!=="rejected"){if(void 0!==this.state.data&&b?.cancelRefetch)this.cancel({silent:!0});else if(this.#e)return this.#e.continueRetry(),this.#e.promise}if(a&&this.setOptions(a),!this.options.queryFn){let a=this.observers.find(a=>a.options.queryFn);a&&this.setOptions(a.options)}let d=new AbortController,e=a=>{Object.defineProperty(a,"signal",{enumerable:!0,get:()=>(this.#g=!0,d.signal)})},f=()=>{let a,c=(0,i.ensureQueryFn)(this.options,b),d=(e(a={client:this.#d,queryKey:this.queryKey,meta:this.meta}),a);return(this.#g=!1,this.options.persister)?this.options.persister(c,d,this):c(d)},g=(e(c={fetchOptions:b,options:this.options,queryKey:this.queryKey,client:this.#d,state:this.state,fetchFn:f}),c);this.options.behavior?.onFetch(g,this),this.#b=this.state,("idle"===this.state.fetchStatus||this.state.fetchMeta!==g.fetchOptions?.meta)&&this.#h({type:"fetch",meta:g.fetchOptions?.meta}),this.#e=(0,j.createRetryer)({initialPromise:b?.initialPromise,fn:g.fetchFn,onCancel:a=>{a instanceof j.CancelledError&&a.revert&&this.setState({...this.#b,fetchStatus:"idle"}),d.abort()},onFail:(a,b)=>{this.#h({type:"failed",failureCount:a,error:b})},onPause:()=>{this.#h({type:"pause"})},onContinue:()=>{this.#h({type:"continue"})},retry:g.options.retry,retryDelay:g.options.retryDelay,networkMode:g.options.networkMode,canRun:()=>!0});try{let a=await this.#e.start();if(void 0===a)throw Error(`${this.queryHash} data is undefined`);return this.setData(a),this.#c.config.onSuccess?.(a,this),this.#c.config.onSettled?.(a,this.state.error,this),a}catch(a){if(a instanceof j.CancelledError){if(a.silent)return this.#e.promise;else if(a.revert){if(void 0===this.state.data)throw a;return this.state.data}}throw this.#h({type:"error",error:a}),this.#c.config.onError?.(a,this),this.#c.config.onSettled?.(this.state.data,a,this),a}finally{this.scheduleGc()}}#h(a){let b=b=>{switch(a.type){case"failed":return{...b,fetchFailureCount:a.failureCount,fetchFailureReason:a.error};case"pause":return{...b,fetchStatus:"paused"};case"continue":return{...b,fetchStatus:"fetching"};case"fetch":return{...b,...m(b.data,this.options),fetchMeta:a.meta??null};case"success":let c={...b,...n(a.data,a.dataUpdatedAt),dataUpdateCount:b.dataUpdateCount+1,...!a.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#b=a.manual?c:void 0,c;case"error":let d=a.error;return{...b,error:d,errorUpdateCount:b.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:b.fetchFailureCount+1,fetchFailureReason:d,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...b,isInvalidated:!0};case"setState":return{...b,...a.state}}};this.state=b(this.state),h.notifyManager.batch(()=>{this.observers.forEach(a=>{a.onQueryUpdate()}),this.#c.notify({query:this,type:"updated",action:a})})}};function m(a,b){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:(0,j.canFetch)(b.networkMode)?"fetching":"paused",...void 0===a&&{error:null,status:"pending"}}}function n(a,b){return{data:a,dataUpdatedAt:b??Date.now(),error:null,isInvalidated:!1,status:"success"}}function o(a){let b="function"==typeof a.initialData?a.initialData():a.initialData,c=void 0!==b,d=c?"function"==typeof a.initialDataUpdatedAt?a.initialDataUpdatedAt():a.initialDataUpdatedAt:0;return{data:b,dataUpdateCount:0,dataUpdatedAt:c?d??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:c?"success":"pending",fetchStatus:"idle"}}a.s(["Query",0,l,"fetchState",0,m],16140);var p=a.i(56241),q=a.i(77611),r=a.i(44652),s=class extends p.Subscribable{constructor(a,b){super(),this.options=b,this.#d=a,this.#j=null,this.#k=(0,q.pendingThenable)(),this.bindMethods(),this.setOptions(b)}#d;#l=void 0;#m=void 0;#n=void 0;#o;#p;#k;#j;#q;#r;#s;#t;#u;#v;#w=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#l.addObserver(this),t(this.#l,this.options)?this.#x():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return u(this.#l,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return u(this.#l,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#z(),this.#A(),this.#l.removeObserver(this)}setOptions(a){let b=this.options,c=this.#l;if(this.options=this.#d.defaultQueryOptions(a),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,i.resolveEnabled)(this.options.enabled,this.#l))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#B(),this.#l.setOptions(this.options),b._defaulted&&!(0,i.shallowEqualObjects)(this.options,b)&&this.#d.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#l,observer:this});let d=this.hasListeners();d&&v(this.#l,c,this.options,b)&&this.#x(),this.updateResult(),d&&(this.#l!==c||(0,i.resolveEnabled)(this.options.enabled,this.#l)!==(0,i.resolveEnabled)(b.enabled,this.#l)||(0,i.resolveStaleTime)(this.options.staleTime,this.#l)!==(0,i.resolveStaleTime)(b.staleTime,this.#l))&&this.#C();let e=this.#D();d&&(this.#l!==c||(0,i.resolveEnabled)(this.options.enabled,this.#l)!==(0,i.resolveEnabled)(b.enabled,this.#l)||e!==this.#v)&&this.#E(e)}getOptimisticResult(a){var b,c;let d=this.#d.getQueryCache().build(this.#d,a),e=this.createResult(d,a);return b=this,c=e,(0,i.shallowEqualObjects)(b.getCurrentResult(),c)||(this.#n=e,this.#p=this.options,this.#o=this.#l.state),e}getCurrentResult(){return this.#n}trackResult(a,b){return new Proxy(a,{get:(a,c)=>(this.trackProp(c),b?.(c),"promise"===c&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#k.status||this.#k.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(a,c))})}trackProp(a){this.#w.add(a)}getCurrentQuery(){return this.#l}refetch({...a}={}){return this.fetch({...a})}fetchOptimistic(a){let b=this.#d.defaultQueryOptions(a),c=this.#d.getQueryCache().build(this.#d,b);return c.fetch().then(()=>this.createResult(c,b))}fetch(a){return this.#x({...a,cancelRefetch:a.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#n))}#x(a){this.#B();let b=this.#l.fetch(this.options,a);return a?.throwOnError||(b=b.catch(i.noop)),b}#C(){this.#z();let a=(0,i.resolveStaleTime)(this.options.staleTime,this.#l);if(g.environmentManager.isServer()||this.#n.isStale||!(0,i.isValidTimeout)(a))return;let b=(0,i.timeUntilStale)(this.#n.dataUpdatedAt,a);this.#t=r.timeoutManager.setTimeout(()=>{this.#n.isStale||this.updateResult()},b+1)}#D(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#l):this.options.refetchInterval)??!1}#E(a){this.#A(),this.#v=a,!g.environmentManager.isServer()&&!1!==(0,i.resolveEnabled)(this.options.enabled,this.#l)&&(0,i.isValidTimeout)(this.#v)&&0!==this.#v&&(this.#u=r.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||f.focusManager.isFocused())&&this.#x()},this.#v))}#y(){this.#C(),this.#E(this.#D())}#z(){void 0!==this.#t&&(r.timeoutManager.clearTimeout(this.#t),this.#t=void 0)}#A(){void 0!==this.#u&&(r.timeoutManager.clearInterval(this.#u),this.#u=void 0)}createResult(a,b){let c,d=this.#l,e=this.options,f=this.#n,g=this.#o,h=this.#p,j=a!==d?a.state:this.#m,{state:k}=a,l={...k},n=!1;if(b._optimisticResults){let c=this.hasListeners(),f=!c&&t(a,b),g=c&&v(a,d,b,e);(f||g)&&(l={...l,...m(k.data,a.options)}),"isRestoring"===b._optimisticResults&&(l.fetchStatus="idle")}let{error:o,errorUpdatedAt:p,status:r}=l;c=l.data;let s=!1;if(void 0!==b.placeholderData&&void 0===c&&"pending"===r){let a;f?.isPlaceholderData&&b.placeholderData===h?.placeholderData?(a=f.data,s=!0):a="function"==typeof b.placeholderData?b.placeholderData(this.#s?.state.data,this.#s):b.placeholderData,void 0!==a&&(r="success",c=(0,i.replaceData)(f?.data,a,b),n=!0)}if(b.select&&void 0!==c&&!s)if(f&&c===g?.data&&b.select===this.#q)c=this.#r;else try{this.#q=b.select,c=b.select(c),c=(0,i.replaceData)(f?.data,c,b),this.#r=c,this.#j=null}catch(a){this.#j=a}this.#j&&(o=this.#j,c=this.#r,p=Date.now(),r="error");let u="fetching"===l.fetchStatus,x="pending"===r,y="error"===r,z=x&&u,A=void 0!==c,B={status:r,fetchStatus:l.fetchStatus,isPending:x,isSuccess:"success"===r,isError:y,isInitialLoading:z,isLoading:z,data:c,dataUpdatedAt:l.dataUpdatedAt,error:o,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:a.isFetched(),isFetchedAfterMount:l.dataUpdateCount>j.dataUpdateCount||l.errorUpdateCount>j.errorUpdateCount,isFetching:u,isRefetching:u&&!x,isLoadingError:y&&!A,isPaused:"paused"===l.fetchStatus,isPlaceholderData:n,isRefetchError:y&&A,isStale:w(a,b),refetch:this.refetch,promise:this.#k,isEnabled:!1!==(0,i.resolveEnabled)(b.enabled,a)};if(this.options.experimental_prefetchInRender){let b=void 0!==B.data,c="error"===B.status&&!b,e=a=>{c?a.reject(B.error):b&&a.resolve(B.data)},f=()=>{e(this.#k=B.promise=(0,q.pendingThenable)())},g=this.#k;switch(g.status){case"pending":a.queryHash===d.queryHash&&e(g);break;case"fulfilled":(c||B.data!==g.value)&&f();break;case"rejected":c&&B.error===g.reason||f()}}return B}updateResult(){let a=this.#n,b=this.createResult(this.#l,this.options);if(this.#o=this.#l.state,this.#p=this.options,void 0!==this.#o.data&&(this.#s=this.#l),(0,i.shallowEqualObjects)(b,a))return;this.#n=b;let c=()=>{if(!a)return!0;let{notifyOnChangeProps:b}=this.options,c="function"==typeof b?b():b;if("all"===c||!c&&!this.#w.size)return!0;let d=new Set(c??this.#w);return this.options.throwOnError&&d.add("error"),Object.keys(this.#n).some(b=>this.#n[b]!==a[b]&&d.has(b))};this.#F({listeners:c()})}#B(){let a=this.#d.getQueryCache().build(this.#d,this.options);if(a===this.#l)return;let b=this.#l;this.#l=a,this.#m=a.state,this.hasListeners()&&(b?.removeObserver(this),a.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#F(a){h.notifyManager.batch(()=>{a.listeners&&this.listeners.forEach(a=>{a(this.#n)}),this.#d.getQueryCache().notify({query:this.#l,type:"observerResultsUpdated"})})}};function t(a,b){return!1!==(0,i.resolveEnabled)(b.enabled,a)&&void 0===a.state.data&&("error"!==a.state.status||!1!==b.retryOnMount)||void 0!==a.state.data&&u(a,b,b.refetchOnMount)}function u(a,b,c){if(!1!==(0,i.resolveEnabled)(b.enabled,a)&&"static"!==(0,i.resolveStaleTime)(b.staleTime,a)){let d="function"==typeof c?c(a):c;return"always"===d||!1!==d&&w(a,b)}return!1}function v(a,b,c,d){return(a!==b||!1===(0,i.resolveEnabled)(d.enabled,a))&&(!c.suspense||"error"!==a.state.status)&&w(a,c)}function w(a,b){return!1!==(0,i.resolveEnabled)(b.enabled,a)&&a.isStaleByTime((0,i.resolveStaleTime)(b.staleTime,a))}a.s(["QueryObserver",0,s],33646);var x=a.i(77072),y=d.createContext((b=!1,{clearReset:()=>{b=!1},reset:()=>{b=!0},isReset:()=>b})),z=d.createContext(!1);z.Provider;var A=(a,b,c)=>b.fetchOptimistic(a).catch(()=>{c.clearReset()});function B(a,b,c){let e,f=d.useContext(z),j=d.useContext(y),k=(0,x.useQueryClient)(c),l=k.defaultQueryOptions(a);k.getDefaultOptions().queries?._experimental_beforeQuery?.(l);let m=k.getQueryCache().get(l.queryHash);if(l._optimisticResults=f?"isRestoring":"optimistic",l.suspense){let a=a=>"static"===a?a:Math.max(a??1e3,1e3),b=l.staleTime;l.staleTime="function"==typeof b?(...c)=>a(b(...c)):a(b),"number"==typeof l.gcTime&&(l.gcTime=Math.max(l.gcTime,1e3))}e=m?.state.error&&"function"==typeof l.throwOnError?(0,i.shouldThrowError)(l.throwOnError,[m.state.error,m]):l.throwOnError,(l.suspense||l.experimental_prefetchInRender||e)&&!j.isReset()&&(l.retryOnMount=!1),d.useEffect(()=>{j.clearReset()},[j]);let n=!k.getQueryCache().get(l.queryHash),[o]=d.useState(()=>new b(k,l)),p=o.getOptimisticResult(l),q=!f&&!1!==a.subscribed;if(d.useSyncExternalStore(d.useCallback(a=>{let b=q?o.subscribe(h.notifyManager.batchCalls(a)):i.noop;return o.updateResult(),b},[o,q]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),d.useEffect(()=>{o.setOptions(l)},[l,o]),l?.suspense&&p.isPending)throw A(l,o,j);if((({result:a,errorResetBoundary:b,throwOnError:c,query:d,suspense:e})=>a.isError&&!b.isReset()&&!a.isFetching&&d&&(e&&void 0===a.data||(0,i.shouldThrowError)(c,[a.error,d])))({result:p,errorResetBoundary:j,throwOnError:l.throwOnError,query:m,suspense:l.suspense}))throw p.error;if(k.getDefaultOptions().queries?._experimental_afterQuery?.(l,p),l.experimental_prefetchInRender&&!g.environmentManager.isServer()&&p.isLoading&&p.isFetching&&!f){let a=n?A(l,o,j):m?.promise;a?.catch(i.noop).finally(()=>{o.updateResult()})}return l.notifyOnChangeProps?p:o.trackResult(p)}function C(a,b){return B(a,s,b)}a.s(["useBaseQuery",0,B],58710),a.s(["useQuery",0,C],83366);var D=a.i(63265),E=a.i(53141);async function F(){return(0,E.apiGet)("/api/v1/runtime/context",{cache:"no-store"})}var G=a.i(25377);let H="tsagent.runtimeContextNotice",I="tsagent.runtimeContextDashboardChange",J={configured:!1,credentialSource:null,activeInstance:null,configRevision:"unknown",dataScopeKey:G.PENDING_DATA_SCOPE_KEY,hasAnyInstance:!1},K=(0,d.createContext)({context:J,ready:!1});a.s(["RuntimeContextProvider",0,function({children:a}){let b=(0,x.useQueryClient)(),f=(0,e.usePathname)(),g=(0,d.useRef)(null),{data:h}=C({queryKey:G.RUNTIME_CONTEXT_QUERY_KEY,queryFn:F,staleTime:0,refetchInterval:5e3,refetchOnWindowFocus:"always",refetchOnReconnect:"always"});(0,d.useEffect)(()=>{let a=window.sessionStorage.getItem(H);a&&(window.sessionStorage.removeItem(H),D.toast.info(a,{id:"runtime-context-changed"}))},[]),(0,d.useEffect)(()=>{if(!h)return;let a=g.current;g.current=h,function({previous:a,current:b,pathname:c,queryClient:d,location:e,storage:f,resetQueries:g=G.resetInstanceScopedQueries,now:h=Date.now()}){var i,j;if(!a||a.dataScopeKey===b.dataScopeKey)return;g(d,a.dataScopeKey);let k=function(a){if(!a)return null;if(/^\/knowledge-base\/[^/]+(?:\/.*)?$/.test(a))return"/knowledge-base";if(/^\/memory\/[^/]+(?:\/.*)?$/.test(a))return"/memory";let b=a.match(/^\/llm-providers\/([^/]+)(?:\/.*)?$/);return b&&"new"!==b[1]?"/llm-providers":null}(c);!function(a,b,c,d){let e,f;try{e=a.getItem(I)}catch{return!1}if(!e)return!1;try{f=JSON.parse(e)}catch{try{a.removeItem(I)}catch{}return!1}let g=!Number.isFinite(f.createdAt)||d-f.createdAt>3e4,h=!f.previousDataScopeKey||f.previousDataScopeKey===b.dataScopeKey,i=f.targetActiveInstance===c.activeInstance;try{a.removeItem(I)}catch{}return!g&&h&&i}(f,a,b,h)&&f.setItem(H,(i=a,j=b,i.activeInstance!==j.activeInstance?j.activeInstance?`检测到 CLI 切换项目,已刷新到 ${j.activeInstance}`:"检测到 CLI 切换配置,已刷新到当前凭据":j.activeInstance?"项目配置已更新,数据已刷新":"运行时配置已更新,数据已刷新")),e.replace(k??e.href)}({previous:a,current:h,pathname:f,queryClient:b,location:window.location,storage:window.sessionStorage})},[h,f,b]);let i=(0,d.useMemo)(()=>({context:h??J,ready:!!h}),[h]);return(0,c.jsx)(K.Provider,{value:i,children:a})},"useRuntimeContext",0,function(){return(0,d.useContext)(K)}],39096)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=dashboard_src_providers_runtime-context-provider_tsx_0wmj66z._.js.map
|