@tablestore/tablestore-agent-cli 0.2.5 → 0.2.7
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/dashboard-runtime/dashboard/.next/BUILD_ID +1 -1
- package/dist/dashboard-runtime/dashboard/.next/build-manifest.json +3 -3
- package/dist/dashboard-runtime/dashboard/.next/prerender-manifest.json +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/api-keys/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/api-keys/page_client-reference-manifest.js +1 -1
- 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.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.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.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.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.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.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.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.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.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.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]/dream/[dreamId]/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/[dreamId]/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/page_client-reference-manifest.js +1 -1
- 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.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.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.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.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]/tasks/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/tasks/page_client-reference-manifest.js +1 -1
- 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.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.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.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.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_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/custom-policy/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/custom-policy/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/effective-permissions/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/effective-permissions/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/policies/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/policies/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/filter-by-permission/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/filter-by-permission/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js +1 -1
- 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 +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/apply/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/apply/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/cancel/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/cancel/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/scopes/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/scopes/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/[requestId]/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/[requestId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_full.segment.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_head.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +17 -17
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +17 -17
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_head.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_index.segment.rsc +10 -10
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding.segment.rsc +4 -4
- package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.y01v.._.js +40 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0wa~r66._.js +40 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/{[root-of-the-server]__0cfc26g._.js → [root-of-the-server]__10k~3sa._.js} +10 -10
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__07fra.0._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0st_2qm._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0odjvc.._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0lf_p5l._.js → _0pe9ntc._.js} +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tej2s.._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_00ofp7q._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0l1.0wg._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_dream_[dreamId]_page_tsx_0wy3tv6._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_dream_page_tsx_0uzzpvs._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_layout_tsx_0rbi41w._.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]_tasks_page_tsx_0a_bgx4._.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_providers_runtime-context-provider_tsx_0wmj66z._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_00arje5._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/middleware-build-manifest.js +3 -3
- 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/{0ayu19bfberc6.js → 0-0n226yihtlx.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/05d8-45s941bx.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{154l918khtf32.js → 076wjt8-f7ws0.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{1080w.jlkizc-.js → 09fuq3fiw1zq8.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0axe89r5c7p_b.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0czi-68m5cma3.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ezfzygzl1hw8.css +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0gqhfku~on4t1.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0i_66eb3teu-..js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0p7-v~ggg-k3s.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0xnm11dm1-qw2.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0za3q13g~ihb2.js → 0yqx-vizpechs.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/11daw7hfc5lbv.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{06qgro8gk178k.js → 12ju37ebul3bw.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0oh~.z3b9_qzy.js → 17l3ij7h2.vna.js} +1 -1
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/dream/[dreamId]/page.tsx +79 -19
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/dream/page.tsx +57 -14
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/layout.tsx +1 -1
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/search/page.tsx +4 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/units/page.tsx +1 -2
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-create-form.tsx +35 -1
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-dream-actions-table.tsx +176 -82
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-dream-apply-confirm-dialog.tsx +2 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-dream-create-dialog.tsx +130 -83
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-form.tsx +22 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-results.tsx +4 -1
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-settings-form.tsx +52 -7
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-tasks-table.tsx +8 -37
- package/dist/dashboard-runtime/dashboard/src/components/qa/qa-message.tsx +2 -3
- package/dist/dashboard-runtime/dashboard/src/components/retrieval/retrieval-result-card.tsx +2 -1
- package/dist/dashboard-runtime/dashboard/src/hooks/use-task-source-messages.ts +179 -0
- package/dist/dashboard-runtime/dashboard/src/lib/utils.ts +4 -0
- package/dist/dashboard-runtime/dashboard/src/types/memory.ts +32 -2
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/package.json +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/package.json +1 -1
- package/package.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0pfdi-.._.js +0 -40
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0qi223x._.js +0 -40
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0gep_x_._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0.b6bx-29l5e2.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/05ny4_cp6fkfu.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/097px3urt-4kr.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0c08tbxyly68e.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0frefg2bkdon0.css +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0w6-j4p-7fybc.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/126jyzsu33t60.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/12~tfkzir29.4.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/14teeoxc_1i46.js +0 -1
- /package/dist/dashboard-runtime/dashboard/.next/static/{w-aME93lY9vOGA0PZdBaI → -pCWSBA7OQIF0pN0Rem9H}/_buildManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{w-aME93lY9vOGA0PZdBaI → -pCWSBA7OQIF0pN0Rem9H}/_clientMiddlewareManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{w-aME93lY9vOGA0PZdBaI → -pCWSBA7OQIF0pN0Rem9H}/_ssgManifest.js +0 -0
package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0lf_p5l._.js → _0pe9ntc._.js}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[310215,a=>{"use strict";var b=a.i(634020);a.s(["EmptyState",0,function({icon:a,title:c,description:d,action:e,illustration:f}){return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 px-4 text-center",children:[f??(0,b.jsx)("div",{className:"mb-5 flex h-20 w-20 items-center justify-center rounded-full bg-[hsl(var(--primary)/0.08)] ring-8 ring-[hsl(var(--primary)/0.04)]",children:(0,b.jsx)(a,{className:"text-primary",size:36,strokeWidth:1.75})}),(0,b.jsx)("h3",{className:"mb-2 text-base font-semibold text-foreground",children:c}),(0,b.jsx)("p",{className:"mb-6 max-w-sm text-sm text-muted-foreground",children:d}),e&&(0,b.jsx)("div",{children:e})]})}])},968826,a=>{"use strict";let b=(0,a.i(750053).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],968826)},223301,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(364565);let e=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{className:"relative w-full overflow-auto",children:(0,b.jsx)("table",{ref:e,className:(0,d.cn)("w-full caption-bottom text-sm",a),...c})}));e.displayName="Table";let f=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("thead",{ref:e,className:(0,d.cn)("[&_tr]:border-b [&_tr]:border-[hsl(var(--border))] [&_tr]:bg-[hsl(var(--secondary))]",a),...c}));f.displayName="TableHeader";let g=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tbody",{ref:e,className:(0,d.cn)("[&_tr:last-child]:border-0",a),...c}));g.displayName="TableBody",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tfoot",{ref:e,className:(0,d.cn)("border-t border-[hsl(var(--border))] bg-[hsl(var(--secondary)/0.5)] font-medium [&>tr]:last:border-b-0",a),...c})).displayName="TableFooter";let h=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tr",{ref:e,className:(0,d.cn)("border-b border-[hsl(var(--border-light))] transition-colors hover:bg-[hsl(var(--secondary)/0.5)] data-[state=selected]:bg-[hsl(var(--primary-soft))]",a),...c}));h.displayName="TableRow";let i=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("th",{ref:e,className:(0,d.cn)("h-9 px-3 text-left align-middle text-xs font-medium text-[hsl(var(--muted-foreground))] [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...c}));i.displayName="TableHead";let j=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("td",{ref:e,className:(0,d.cn)("px-3 py-2 align-middle text-sm [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...c}));j.displayName="TableCell",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("caption",{ref:e,className:(0,d.cn)("mt-4 text-sm text-[hsl(var(--muted-foreground))]",a),...c})).displayName="TableCaption",a.s(["Table",0,e,"TableBody",0,g,"TableCell",0,j,"TableHead",0,i,"TableHeader",0,f,"TableRow",0,h])},887617,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(968826),e=a.i(776192),f=a.i(364565);a.s(["RefreshButton",0,function({loading:a,onClick:g,title:h="刷新",className:i,size:j="icon",label:k,variant:l="ghost"}){let m=(0,c.useRef)(null),n=(0,c.useRef)(null),o=(0,c.useRef)(a),p=()=>{let a=m.current;if(!a||n.current)return;let b=a.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:800,easing:"linear",iterations:1,fill:"none"});n.current=b,b.addEventListener("finish",()=>{n.current=null,o.current&&p()}),b.addEventListener("cancel",()=>{n.current=null})};(0,c.useEffect)(()=>{o.current=a},[a]),(0,c.useEffect)(()=>{a&&p()},[a]),(0,c.useEffect)(()=>()=>{n.current?.cancel(),n.current=null},[]);let q="icon"!==j&&!!k;return(0,b.jsxs)(e.Button,{type:"button",variant:l,size:j,onClick:()=>{a||(p(),g())},title:h,"aria-label":k??h,"aria-busy":a||void 0,className:(0,f.cn)("group text-muted-foreground transition-colors duration-150","hover:text-foreground active:scale-[0.96]","ghost"===l&&"hover:bg-[hsl(var(--accent))]",i),children:[(0,b.jsx)("span",{ref:m,"aria-hidden":!0,className:(0,f.cn)("inline-flex transform-gpu",q&&"mr-1.5"),children:(0,b.jsx)(d.RefreshCw,{className:"sm"===j?"h-3.5 w-3.5":"h-4 w-4"})}),q&&k]})}])},87491,a=>{"use strict";let b=(0,a.i(750053).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],87491)},726436,a=>{"use strict";var b=a.i(983366),c=a.i(421347),d=a.i(225377),e=a.i(739096);a.s(["useMemoryUnit",0,function(a,f,g,h=!0){let{context:i,ready:j}=(0,e.useRuntimeContext)();return(0,b.useQuery)({queryKey:d.queryKeys.memoryUnit(i.dataScopeKey,a,f,g),queryFn:()=>(0,c.getMemoryUnit)({memoryStoreName:a,memoryId:f,scope:g}),enabled:j&&h&&!!a&&!!g?.appId&&!!f&&"-"!==f})}])}
|
|
1
|
+
module.exports=[310215,a=>{"use strict";var b=a.i(634020);a.s(["EmptyState",0,function({icon:a,title:c,description:d,action:e,illustration:f}){return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 px-4 text-center",children:[f??(0,b.jsx)("div",{className:"mb-5 flex h-20 w-20 items-center justify-center rounded-full bg-[hsl(var(--primary)/0.08)] ring-8 ring-[hsl(var(--primary)/0.04)]",children:(0,b.jsx)(a,{className:"text-primary",size:36,strokeWidth:1.75})}),(0,b.jsx)("h3",{className:"mb-2 text-base font-semibold text-foreground",children:c}),(0,b.jsx)("p",{className:"mb-6 max-w-sm text-sm text-muted-foreground",children:d}),e&&(0,b.jsx)("div",{children:e})]})}])},968826,a=>{"use strict";let b=(0,a.i(750053).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],968826)},223301,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(364565);let e=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{className:"relative w-full overflow-auto",children:(0,b.jsx)("table",{ref:e,className:(0,d.cn)("w-full caption-bottom text-sm",a),...c})}));e.displayName="Table";let f=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("thead",{ref:e,className:(0,d.cn)("[&_tr]:border-b [&_tr]:border-[hsl(var(--border))] [&_tr]:bg-[hsl(var(--secondary))]",a),...c}));f.displayName="TableHeader";let g=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tbody",{ref:e,className:(0,d.cn)("[&_tr:last-child]:border-0",a),...c}));g.displayName="TableBody",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tfoot",{ref:e,className:(0,d.cn)("border-t border-[hsl(var(--border))] bg-[hsl(var(--secondary)/0.5)] font-medium [&>tr]:last:border-b-0",a),...c})).displayName="TableFooter";let h=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("tr",{ref:e,className:(0,d.cn)("border-b border-[hsl(var(--border-light))] transition-colors hover:bg-[hsl(var(--secondary)/0.5)] data-[state=selected]:bg-[hsl(var(--primary-soft))]",a),...c}));h.displayName="TableRow";let i=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("th",{ref:e,className:(0,d.cn)("h-9 px-3 text-left align-middle text-xs font-medium text-[hsl(var(--muted-foreground))] [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...c}));i.displayName="TableHead";let j=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("td",{ref:e,className:(0,d.cn)("px-3 py-2 align-middle text-sm [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...c}));j.displayName="TableCell",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("caption",{ref:e,className:(0,d.cn)("mt-4 text-sm text-[hsl(var(--muted-foreground))]",a),...c})).displayName="TableCaption",a.s(["Table",0,e,"TableBody",0,g,"TableCell",0,j,"TableHead",0,i,"TableHeader",0,f,"TableRow",0,h])},887617,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(968826),e=a.i(776192),f=a.i(364565);a.s(["RefreshButton",0,function({loading:a,onClick:g,title:h="刷新",className:i,size:j="icon",label:k,variant:l="ghost"}){let m=(0,c.useRef)(null),n=(0,c.useRef)(null),o=(0,c.useRef)(a),p=()=>{let a=m.current;if(!a||n.current)return;let b=a.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:800,easing:"linear",iterations:1,fill:"none"});n.current=b,b.addEventListener("finish",()=>{n.current=null,o.current&&p()}),b.addEventListener("cancel",()=>{n.current=null})};(0,c.useEffect)(()=>{o.current=a},[a]),(0,c.useEffect)(()=>{a&&p()},[a]),(0,c.useEffect)(()=>()=>{n.current?.cancel(),n.current=null},[]);let q="icon"!==j&&!!k;return(0,b.jsxs)(e.Button,{type:"button",variant:l,size:j,onClick:()=>{a||(p(),g())},title:h,"aria-label":k??h,"aria-busy":a||void 0,className:(0,f.cn)("group text-muted-foreground transition-colors duration-150","hover:text-foreground active:scale-[0.96]","ghost"===l&&"hover:bg-[hsl(var(--accent))]",i),children:[(0,b.jsx)("span",{ref:m,"aria-hidden":!0,className:(0,f.cn)("inline-flex transform-gpu",q&&"mr-1.5"),children:(0,b.jsx)(d.RefreshCw,{className:"sm"===j?"h-3.5 w-3.5":"h-4 w-4"})}),q&&k]})}])},87491,a=>{"use strict";let b=(0,a.i(750053).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],87491)},726436,a=>{"use strict";var b=a.i(983366),c=a.i(421347),d=a.i(225377),e=a.i(739096);a.s(["useMemoryUnit",0,function(a,f,g,h=!0){let{context:i,ready:j}=(0,e.useRuntimeContext)();return(0,b.useQuery)({queryKey:d.queryKeys.memoryUnit(i.dataScopeKey,a,f,g),queryFn:()=>(0,c.getMemoryUnit)({memoryStoreName:a,memoryId:f,scope:g}),enabled:j&&h&&!!a&&!!g?.appId&&!!f&&"-"!==f})}])}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_0pe9ntc._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[881619,a=>{"use strict";let b=(0,a.i(750053).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],881619)},435733,a=>{"use strict";let b=(0,a.i(750053).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);a.s(["Calendar",0,b],435733)},901953,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(880470);let e=(0,a.i(750053).default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);var f=a.i(225896),g=a.i(881619),h=a.i(688189),i=a.i(776192),j=a.i(604395),k=a.i(364565),l=a.i(908264),m=a.i(983366),n=a.i(421347),o=a.i(225377),p=a.i(739096);function q(a){let b=a.metadata?.speaker;if(b)return b;let c=(a.role??"user").toLowerCase();return"assistant"===c?"Assistant":"system"===c?"System":"User"}function r(a){if(!a)return"";try{return new Date(a).toDateString()}catch{return""}}function s(a){if(!a)return"";try{let b=new Date(a);if(isNaN(b.getTime()))return"";return b.toISOString()}catch{return""}}let t=[{bg:"bg-blue-600",text:"text-white"},{bg:"bg-emerald-600",text:"text-white"},{bg:"bg-violet-600",text:"text-white"},{bg:"bg-amber-500",text:"text-white"},{bg:"bg-rose-600",text:"text-white"},{bg:"bg-cyan-600",text:"text-white"},{bg:"bg-indigo-600",text:"text-white"},{bg:"bg-pink-600",text:"text-white"}];function u({label:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 py-3",children:[(0,b.jsx)("div",{className:"h-px flex-1 bg-border"}),(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-muted px-3 py-1 text-[11px] font-medium text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"h-px flex-1 bg-border"})]})}let v=(0,c.memo)(function({message:a,showAvatar:c,showName:d,showTime:e}){var f;let g="user"===(a.role??"user").toLowerCase(),h=q(a),i=h?h.charAt(0).toUpperCase():"?",j=function(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return t[Math.abs(b)%t.length]}(h),l=function(a){if(!a)return"";try{let b=new Date(a);if(isNaN(b.getTime()))return"";return b.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"})}catch{return""}}(a.timestamp),m=(f=a.content)?f.replace(/^\[.*?\]\s*(?:\w+:\s*)?/,"").trim():"";return(0,b.jsxs)("div",{className:(0,k.cn)("flex gap-2.5",g?"flex-row-reverse":"flex-row",d?"mt-4":"mt-1"),children:[(0,b.jsx)("div",{className:"flex w-8 shrink-0 items-start pt-0.5",children:c&&(0,b.jsx)("div",{className:(0,k.cn)("flex h-8 w-8 items-center justify-center rounded-full text-xs font-semibold shadow-sm",j.bg,j.text),children:i})}),(0,b.jsxs)("div",{className:(0,k.cn)("flex max-w-[70%] flex-col",g?"items-end":"items-start"),children:[d&&(0,b.jsx)("span",{className:"mb-1 px-1 text-xs font-medium text-muted-foreground",children:h}),(0,b.jsx)("div",{className:(0,k.cn)("rounded-2xl px-3.5 py-2.5 text-[13.5px] leading-relaxed",g?"bg-blue-600 text-white rounded-tr-md":"bg-[hsl(var(--muted))] text-[hsl(var(--foreground))] rounded-tl-md"),children:(0,b.jsx)("p",{className:"whitespace-pre-wrap break-words",children:m})}),e&&l&&(0,b.jsx)("span",{className:"mt-1 px-1 text-[10px] text-muted-foreground/50",children:l})]})]})});var w=a.i(435733),x=a.i(172518),y=a.i(962491);function z({windowMinutes:a,onWindowChange:c,useCustom:d,customMin:e,customMax:f,onCustomMinChange:g,onCustomMaxChange:h,onToggleCustom:j}){return(0,b.jsxs)("div",{className:"flex flex-wrap items-end gap-3 border-b bg-background/80 px-5 py-3",children:[(0,b.jsx)(w.Calendar,{className:"h-4 w-4 shrink-0 text-muted-foreground mt-1"}),d?(0,b.jsxs)("div",{className:"flex items-end gap-2",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(y.Label,{className:"text-[11px] text-muted-foreground",children:"起始时间"}),(0,b.jsx)(x.Input,{type:"datetime-local",value:e,onChange:a=>g(a.target.value),className:"h-8 w-[190px] text-xs"})]}),(0,b.jsx)("span",{className:"pb-1.5 text-xs text-muted-foreground",children:"—"}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(y.Label,{className:"text-[11px] text-muted-foreground",children:"结束时间"}),(0,b.jsx)(x.Input,{type:"datetime-local",value:f,onChange:a=>h(a.target.value),className:"h-8 w-[190px] text-xs"})]}),(0,b.jsx)(i.Button,{variant:"link",size:"sm",className:"text-xs h-8",onClick:j,children:"快速选择"})]}):(0,b.jsxs)("div",{className:"flex items-end gap-2",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(y.Label,{className:"text-[11px] text-muted-foreground",children:"时间窗口"}),(0,b.jsxs)("select",{className:"h-8 rounded-md border bg-background px-2 text-sm",value:a,onChange:a=>c(Number(a.target.value)),children:[(0,b.jsx)("option",{value:5,children:"最近 5 分钟"}),(0,b.jsx)("option",{value:30,children:"最近 30 分钟"}),(0,b.jsx)("option",{value:60,children:"最近 1 小时"}),(0,b.jsx)("option",{value:360,children:"最近 6 小时"}),(0,b.jsx)("option",{value:1440,children:"最近 1 天"}),(0,b.jsx)("option",{value:4320,children:"最近 3 天"}),(0,b.jsx)("option",{value:10080,children:"最近 7 天"}),(0,b.jsx)("option",{value:0,children:"不限"})]})]}),(0,b.jsx)(i.Button,{variant:"link",size:"sm",className:"text-xs h-8",onClick:j,children:"自定义范围"})]})]})}a.s(["default",0,function(){let a=(0,d.useParams)(),t=(0,d.useSearchParams)(),w=decodeURIComponent(a.store),x=t.toString(),y=(0,c.useMemo)(()=>(0,l.buildMemoryScope)(new URLSearchParams(x)),[x]),[A,B]=(0,c.useState)(1440),[C,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)(""),[G,H]=(0,c.useState)(""),I=(0,c.useMemo)(()=>{if(C){let a={};return E&&(a.minTimestamp=s(E)),G&&(a.maxTimestamp=s(G)),Object.keys(a).length>0?a:void 0}if(0===A)return;let a=new Date;return{minTimestamp:new Date(a.getTime()-6e4*A).toISOString(),maxTimestamp:a.toISOString()}},[A,C,E,G]),J=JSON.stringify(I),K=(0,c.useRef)(J);(0,c.useEffect)(()=>{K.current!==J&&(K.current=J,M(void 0),O(new Set),Q(new Map),W([]))},[J]);let[L,M]=(0,c.useState)(void 0),[N,O]=(0,c.useState)(new Set),[P,Q]=(0,c.useState)(new Map),[R,S]=(0,c.useState)(!0),T=(0,c.useRef)(null),[U]=(0,c.useState)(50),[V,W]=(0,c.useState)([]),X=(0,l.hasPreciseScope)(y),Y=function(a,b,c,d=50,e=!0,f){let{context:g,ready:h}=(0,p.useRuntimeContext)();return(0,m.useQuery)({queryKey:o.queryKeys.memoryMessages(g.dataScopeKey,a,b,c,d,f),queryFn:()=>(0,n.listMemoryMessages)(a,b,{nextToken:c,limit:d,minTimestamp:f?.minTimestamp,maxTimestamp:f?.maxTimestamp}),enabled:h&&e&&!!a&&!!b?.appId,staleTime:3e4})}(w,X?y:null,L,U,X,I);(0,c.useEffect)(()=>{if(!Y.data||!Y.isFetched)return;let a=[...Y.data.items??[]].reverse(),b=Y.data.nextToken;N.has(L??"__initial__")||(W(b=>void 0===L?a:[...a,...b]),O(a=>new Set(a).add(L??"__initial__"))),void 0!==L&&Q(a=>new Map(a).set(L,b))},[Y.data,Y.isFetched]),(0,c.useEffect)(()=>{!Y.isFetching&&R&&T.current&&(T.current.scrollTop=T.current.scrollHeight)},[V,Y.isFetching,R]);let Z=(0,c.useCallback)(()=>{let a=T.current;a&&S(a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),$=(0,c.useCallback)(()=>{T.current?.scrollTo({top:T.current.scrollHeight,behavior:"smooth"}),S(!0)},[]),_=(0,c.useCallback)(()=>{if(Y.isFetching)return;let a=L??"__initial__",b=void 0===L?Y.data?.nextToken:P.get(a);b&&M(b)},[L,Y.isFetching,Y.data?.nextToken,P]),aa=void 0===L?Y.data?.nextToken:P.get(L??"__initial__"),ab=void 0!==aa&&""!==aa,ac=!!y.appId,ad={windowMinutes:A,onWindowChange:B,useCustom:C,customMin:E,customMax:G,onCustomMinChange:F,onCustomMaxChange:H,onToggleCustom:()=>D(a=>!a)};return ac?X?Y.isLoading&&0===V.length?(0,b.jsxs)("div",{className:"rounded-xl border bg-muted/20",children:[(0,b.jsx)(z,{...ad}),(0,b.jsx)("div",{className:"space-y-3 p-6",children:Array.from({length:5}).map((a,c)=>(0,b.jsxs)("div",{className:(0,k.cn)("flex gap-3",c%2==0?"":"flex-row-reverse"),children:[(0,b.jsx)(j.Skeleton,{className:"h-8 w-8 shrink-0 rounded-full"}),(0,b.jsx)(j.Skeleton,{className:(0,k.cn)("h-14 rounded-2xl",c%2==0?"w-3/5":"w-2/5")})]},c))})]}):(0,b.jsxs)("div",{className:"relative flex flex-col rounded-xl border bg-muted/20",children:[(0,b.jsx)(z,{...ad}),!R&&(0,b.jsx)("div",{className:"absolute bottom-12 right-4 z-10",children:(0,b.jsx)(i.Button,{variant:"secondary",size:"icon",className:"h-9 w-9 rounded-full shadow-lg border",onClick:$,children:(0,b.jsx)(e,{className:"h-4 w-4"})})}),(0,b.jsxs)("div",{ref:T,onScroll:Z,className:"flex max-h-[calc(100vh-440px)] min-h-[320px] flex-col overflow-y-auto px-5 py-4",children:[ab&&(0,b.jsx)("div",{className:"mb-2 flex justify-center",children:(0,b.jsx)(i.Button,{variant:"ghost",size:"sm",onClick:_,disabled:Y.isFetching,className:"gap-1.5 text-xs text-muted-foreground hover:text-foreground",children:Y.isFetching?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),"加载中…"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.ChevronUp,{className:"h-3.5 w-3.5"}),"加载更早的消息"]})})}),!ab&&V.length>0&&(0,b.jsx)("p",{className:"mb-2 text-center text-[11px] text-muted-foreground/50",children:"— 已加载全部消息 —"}),function(){if(0===V.length)return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 text-muted-foreground",children:[(0,b.jsx)(h.MessageSquare,{className:"mb-2 h-5 w-5"}),(0,b.jsx)("span",{className:"text-sm",children:I?"该时间范围内暂无消息":"当前范围下暂无消息记录"})]});let a=[],c="",d="";return V.forEach((e,f)=>{let g=r(e.timestamp),h=function(a){if(!a)return"";try{let b=new Date(a);if(isNaN(b.getTime()))return"";let c=new Date,d=new Date(c);if(d.setDate(d.getDate()-1),b.toDateString()===c.toDateString())return"今天";if(b.toDateString()===d.toDateString())return"昨天";return b.toLocaleDateString("zh-CN",{year:"numeric",month:"long",day:"numeric"})}catch{return""}}(e.timestamp),i=q(e);g&&g!==c&&(a.push((0,b.jsx)(u,{label:h},`date-${g}-${f}`)),d="",c=g);let j=V[f+1],k=j?q(j):"",l=j?r(j.timestamp):"",m=!j||k!==i||l!==g,n=i!==d;a.push((0,b.jsx)(v,{message:e,showAvatar:n,showName:n,showTime:m},e.messageId??`${e.timestamp}-${f}`)),d=i}),a}()]}),V.length>0&&(0,b.jsx)("div",{className:"border-t px-5 py-2.5",children:(0,b.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:["共 ",V.length," 条消息"]})})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center rounded-xl border border-dashed py-16 text-muted-foreground",children:[(0,b.jsx)(h.MessageSquare,{className:"mb-2 h-5 w-5"}),(0,b.jsx)("span",{className:"text-sm",children:"请在上方范围栏中为所有字段设置具体值以查询短期记忆"})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center rounded-xl border border-dashed py-16 text-muted-foreground",children:[(0,b.jsx)(h.MessageSquare,{className:"mb-2 h-5 w-5"}),(0,b.jsx)("span",{className:"text-sm",children:"请先在上方范围栏中填写「应用」"})]})}],901953)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0tej2s.._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[310215,a=>{"use strict";var b=a.i(634020);a.s(["EmptyState",0,function({icon:a,title:c,description:d,action:e,illustration:f}){return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 px-4 text-center",children:[f??(0,b.jsx)("div",{className:"mb-5 flex h-20 w-20 items-center justify-center rounded-full bg-[hsl(var(--primary)/0.08)] ring-8 ring-[hsl(var(--primary)/0.04)]",children:(0,b.jsx)(a,{className:"text-primary",size:36,strokeWidth:1.75})}),(0,b.jsx)("h3",{className:"mb-2 text-base font-semibold text-foreground",children:c}),(0,b.jsx)("p",{className:"mb-6 max-w-sm text-sm text-muted-foreground",children:d}),e&&(0,b.jsx)("div",{children:e})]})}])},521989,a=>{"use strict";var b=a.i(634020),c=a.i(142261),d=a.i(364565);let e=(0,c.cva)("inline-flex items-center rounded border px-2 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-[hsl(var(--primary)/0.3)] focus:ring-offset-1",{variants:{variant:{default:"border-transparent bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] hover:opacity-90",secondary:"border-transparent bg-[hsl(var(--secondary))] text-[hsl(var(--secondary-foreground))] hover:opacity-80",destructive:"border-transparent bg-[hsl(var(--destructive))] text-[hsl(var(--destructive-foreground))] hover:opacity-90",outline:"border-[hsl(var(--border))] text-[hsl(var(--foreground))] bg-[hsl(var(--card))]",primary:"border-transparent bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]",success:"border-transparent bg-[hsl(var(--success-soft))] text-[hsl(var(--success))]",warning:"border-transparent bg-[hsl(var(--warning-soft))] text-[hsl(var(--warning))]",danger:"border-transparent bg-[hsl(var(--danger-soft))] text-[hsl(var(--danger))]",purple:"border-transparent bg-[hsl(var(--purple-soft))] text-[hsl(var(--purple))]"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:c,...f}){return(0,b.jsx)("div",{className:(0,d.cn)(e({variant:c}),a),...f})}])},36890,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(268189),e=a.i(484694),f=a.i(559653),g=a.i(483370),h=a.i(420251),i=a.i(866394),j=a.i(798392),k=a.i(558036),l="Checkbox",[m,n]=(0,e.createContextScope)(l),[o,p]=m(l);function q(a){let{__scopeCheckbox:d,checked:e,children:f,defaultChecked:h,disabled:i,form:j,name:k,onCheckedChange:m,required:n,value:p="on",internal_do_not_use_render:q}=a,[r,s]=(0,g.useControllableState)({prop:e,defaultProp:h??!1,onChange:m,caller:l}),[t,u]=c.useState(null),[v,w]=c.useState(null),x=c.useRef(!1),z=!t||!!j||!!t.closest("form"),A={checked:r,disabled:i,setChecked:s,control:t,setControl:u,name:k,form:j,value:p,hasConsumerStoppedPropagationRef:x,required:n,defaultChecked:!y(h)&&h,isFormControl:z,bubbleInput:v,setBubbleInput:w};return(0,b.jsx)(o,{scope:d,...A,children:"function"==typeof q?q(A):f})}var r="CheckboxTrigger",s=c.forwardRef(({__scopeCheckbox:a,onKeyDown:e,onClick:g,...h},i)=>{let{control:j,value:l,disabled:m,checked:n,required:o,setControl:q,setChecked:s,hasConsumerStoppedPropagationRef:t,isFormControl:u,bubbleInput:v}=p(r,a),w=(0,d.useComposedRefs)(i,q),x=c.useRef(n);return c.useEffect(()=>{let a=j?.form;if(a){let b=()=>s(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[j,s]),(0,b.jsx)(k.Primitive.button,{type:"button",role:"checkbox","aria-checked":y(n)?"mixed":n,"aria-required":o,"data-state":z(n),"data-disabled":m?"":void 0,disabled:m,value:l,...h,ref:w,onKeyDown:(0,f.composeEventHandlers)(e,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,f.composeEventHandlers)(g,a=>{s(a=>!!y(a)||!a),v&&u&&(t.current=a.isPropagationStopped(),t.current||a.stopPropagation())})})});s.displayName=r;var t=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,name:e,checked:f,defaultChecked:g,required:h,disabled:i,value:j,onCheckedChange:k,form:l,...m}=a;return(0,b.jsx)(q,{__scopeCheckbox:d,checked:f,defaultChecked:g,disabled:i,required:h,onCheckedChange:k,name:e,form:l,value:j,internal_do_not_use_render:({isFormControl:a})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{...m,ref:c,__scopeCheckbox:d}),a&&(0,b.jsx)(x,{__scopeCheckbox:d})]})})});t.displayName=l;var u="CheckboxIndicator",v=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,forceMount:e,...f}=a,g=p(u,d);return(0,b.jsx)(j.Presence,{present:e||y(g.checked)||!0===g.checked,children:(0,b.jsx)(k.Primitive.span,{"data-state":z(g.checked),"data-disabled":g.disabled?"":void 0,...f,ref:c,style:{pointerEvents:"none",...a.style}})})});v.displayName=u;var w="CheckboxBubbleInput",x=c.forwardRef(({__scopeCheckbox:a,...e},f)=>{let{control:g,hasConsumerStoppedPropagationRef:j,checked:l,defaultChecked:m,required:n,disabled:o,name:q,value:r,form:s,bubbleInput:t,setBubbleInput:u}=p(w,a),v=(0,d.useComposedRefs)(f,u),x=(0,h.usePrevious)(l),z=(0,i.useSize)(g);c.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!j.current;if(x!==l&&a){let c=new Event("click",{bubbles:b});t.indeterminate=y(l),a.call(t,!y(l)&&l),t.dispatchEvent(c)}},[t,x,l,j]);let A=c.useRef(!y(l)&&l);return(0,b.jsx)(k.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:m??A.current,required:n,disabled:o,name:q,value:r,form:s,...e,tabIndex:-1,ref:v,style:{...e.style,...z,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function y(a){return"indeterminate"===a}function z(a){return y(a)?"indeterminate":a?"checked":"unchecked"}x.displayName=w;var A=a.i(53520),B=a.i(364565);let C=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(t,{ref:d,className:(0,B.cn)("grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...c,children:(0,b.jsx)(v,{className:(0,B.cn)("grid place-content-center text-current"),children:(0,b.jsx)(A.Check,{className:"h-4 w-4"})})}));C.displayName=t.displayName,a.s(["Checkbox",0,C],36890)},421458,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(880470),e=a.i(263265),f=a.i(933596),g=a.i(421347),h=a.i(908264),i=a.i(776192),j=a.i(36890),k=a.i(172518),l=a.i(962491),m=a.i(470535);function n({scope:a,isLoading:d,onSubmit:e}){let[f,g]=(0,c.useState)(""),[o,p]=(0,c.useState)(10),[q,r]=(0,c.useState)(!0),[s,t]=(0,c.useState)(""),[u,v]=(0,c.useState)(null),w=(0,h.hasSearchableScope)(a);async function x(b){if(b.preventDefault(),v(null),!w)return void v("请先在范围栏中设置「应用」和「租户」的具体值");if(!f.trim())return void v("请输入检索内容");if(o<0||o>50)return void v("Top K 必须在 0 到 50 之间");try{await e({query:f.trim(),scope:a,topK:o,enableRerank:q,metadata:(0,h.parseJsonObject)(s)})}catch(a){v(a instanceof Error?a.message:"搜索失败")}}return(0,b.jsxs)("form",{onSubmit:x,className:"space-y-4 rounded-lg border p-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:"记忆检索"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"新增记忆后,搜索结果可能有短暂延迟。若未立即命中,请稍后重试或刷新。"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{children:"检索内容"}),(0,b.jsx)(m.Textarea,{value:f,onChange:a=>g(a.target.value),placeholder:"用户喜欢吃什么?",rows:4})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{children:"Top K"}),(0,b.jsx)(k.Input,{type:"number",min:1,max:50,value:o,onChange:a=>p(Number(a.target.value))})]}),(0,b.jsx)("div",{className:"flex items-end pb-1",children:(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(j.Checkbox,{checked:q,onCheckedChange:a=>r(!0===a)}),"启用重排序"]})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{children:"元数据过滤(JSON)"}),(0,b.jsx)(m.Textarea,{value:s,onChange:a=>t(a.target.value),placeholder:'{"source":"dashboard"}',rows:4})]}),u&&(0,b.jsx)("p",{className:"text-sm text-[hsl(var(--destructive))]",children:u}),(0,b.jsx)(i.Button,{type:"submit",disabled:d||!w,children:d?"搜索中...":"搜索"}),!w&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"请先在范围栏中设置「应用」和「租户」的具体值。"})]})}var o=a.i(147845),p=a.i(521989),q=a.i(473524),r=a.i(310215);function s({results:a,elapsedMs:c}){return a?a.length?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("h3",{className:"text-lg font-semibold",children:["搜索结果 (",a.length,")"]}),void 0!==c&&(0,b.jsxs)("span",{className:"text-sm text-muted-foreground",children:[c," ms"]})]}),(0,b.jsx)("div",{className:"space-y-3",children:a.map((a,c)=>(0,b.jsx)(q.Card,{children:(0,b.jsxs)(q.CardContent,{className:"space-y-3 p-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[void 0!==a.score&&(0,b.jsxs)(p.Badge,{variant:"secondary",children:["相似度 ",a.score.toFixed(4)]}),a.source&&(0,b.jsx)(p.Badge,{variant:"outline",children:a.source}),a.unit.unit_type&&(0,b.jsx)(p.Badge,{variant:"outline",children:a.unit.unit_type})]}),(0,b.jsx)("p",{className:"whitespace-pre-wrap text-sm",children:a.unit.text}),(0,b.jsxs)("div",{className:"grid gap-2 text-xs text-muted-foreground sm:grid-cols-2",children:[(0,b.jsxs)("span",{children:["ID:",a.unit.id??a.unit.memoryId??"-"]}),(0,b.jsxs)("span",{children:["范围:",(0,h.formatScope)(a.unit.scope)]}),(0,b.jsxs)("span",{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.unit.created_at)]}),(0,b.jsxs)("span",{children:["版本:",a.unit.version??"-"]})]})]})},`${a.unit.id??a.unit.memoryId??c}-${c}`))})]}):(0,b.jsx)(r.EmptyState,{icon:o.Brain,title:"没有搜索结果",description:"如果刚添加了新记忆,可能需要等待索引生效后重试"}):(0,b.jsx)(r.EmptyState,{icon:o.Brain,title:"尚未搜索",description:"填写左侧查询条件后,可以验证当前范围下的记忆检索效果"})}var t=a.i(99443);a.s(["default",0,function(){let a=(0,d.useParams)(),i=(0,d.useSearchParams)(),j=decodeURIComponent(a.store),k=i.toString(),l=(0,c.useMemo)(()=>(0,h.buildMemoryScope)(new URLSearchParams(k)),[k]),m=(0,f.useMutation)({mutationFn:a=>(0,g.searchMemory)(a)}),[o,p]=(0,c.useState)(null),[q,r]=(0,c.useState)();async function u(a){let b=Date.now();try{let c=await m.mutateAsync({memoryStoreName:j,query:a.query,scope:a.scope,topK:a.topK,enableRerank:a.enableRerank,metadata:a.metadata});p(c.results??[]),r(Date.now()-b)}catch(a){e.toast.error(a instanceof Error?a.message:"搜索失败")}}return(0,b.jsx)(t.WorkbenchLayout,{asideWidth:400,aside:(0,b.jsx)(n,{scope:l,isLoading:m.isPending,onSubmit:u}),children:(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-7 py-5 max-md:px-4",children:(0,b.jsx)(s,{results:o,elapsedMs:q})})})}],421458)}];
|
|
1
|
+
module.exports=[310215,a=>{"use strict";var b=a.i(634020);a.s(["EmptyState",0,function({icon:a,title:c,description:d,action:e,illustration:f}){return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 px-4 text-center",children:[f??(0,b.jsx)("div",{className:"mb-5 flex h-20 w-20 items-center justify-center rounded-full bg-[hsl(var(--primary)/0.08)] ring-8 ring-[hsl(var(--primary)/0.04)]",children:(0,b.jsx)(a,{className:"text-primary",size:36,strokeWidth:1.75})}),(0,b.jsx)("h3",{className:"mb-2 text-base font-semibold text-foreground",children:c}),(0,b.jsx)("p",{className:"mb-6 max-w-sm text-sm text-muted-foreground",children:d}),e&&(0,b.jsx)("div",{children:e})]})}])},521989,a=>{"use strict";var b=a.i(634020),c=a.i(142261),d=a.i(364565);let e=(0,c.cva)("inline-flex items-center rounded border px-2 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-[hsl(var(--primary)/0.3)] focus:ring-offset-1",{variants:{variant:{default:"border-transparent bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] hover:opacity-90",secondary:"border-transparent bg-[hsl(var(--secondary))] text-[hsl(var(--secondary-foreground))] hover:opacity-80",destructive:"border-transparent bg-[hsl(var(--destructive))] text-[hsl(var(--destructive-foreground))] hover:opacity-90",outline:"border-[hsl(var(--border))] text-[hsl(var(--foreground))] bg-[hsl(var(--card))]",primary:"border-transparent bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]",success:"border-transparent bg-[hsl(var(--success-soft))] text-[hsl(var(--success))]",warning:"border-transparent bg-[hsl(var(--warning-soft))] text-[hsl(var(--warning))]",danger:"border-transparent bg-[hsl(var(--danger-soft))] text-[hsl(var(--danger))]",purple:"border-transparent bg-[hsl(var(--purple-soft))] text-[hsl(var(--purple))]"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:c,...f}){return(0,b.jsx)("div",{className:(0,d.cn)(e({variant:c}),a),...f})}])},36890,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(268189),e=a.i(484694),f=a.i(559653),g=a.i(483370),h=a.i(420251),i=a.i(866394),j=a.i(798392),k=a.i(558036),l="Checkbox",[m,n]=(0,e.createContextScope)(l),[o,p]=m(l);function q(a){let{__scopeCheckbox:d,checked:e,children:f,defaultChecked:h,disabled:i,form:j,name:k,onCheckedChange:m,required:n,value:p="on",internal_do_not_use_render:q}=a,[r,s]=(0,g.useControllableState)({prop:e,defaultProp:h??!1,onChange:m,caller:l}),[t,u]=c.useState(null),[v,w]=c.useState(null),x=c.useRef(!1),z=!t||!!j||!!t.closest("form"),A={checked:r,disabled:i,setChecked:s,control:t,setControl:u,name:k,form:j,value:p,hasConsumerStoppedPropagationRef:x,required:n,defaultChecked:!y(h)&&h,isFormControl:z,bubbleInput:v,setBubbleInput:w};return(0,b.jsx)(o,{scope:d,...A,children:"function"==typeof q?q(A):f})}var r="CheckboxTrigger",s=c.forwardRef(({__scopeCheckbox:a,onKeyDown:e,onClick:g,...h},i)=>{let{control:j,value:l,disabled:m,checked:n,required:o,setControl:q,setChecked:s,hasConsumerStoppedPropagationRef:t,isFormControl:u,bubbleInput:v}=p(r,a),w=(0,d.useComposedRefs)(i,q),x=c.useRef(n);return c.useEffect(()=>{let a=j?.form;if(a){let b=()=>s(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[j,s]),(0,b.jsx)(k.Primitive.button,{type:"button",role:"checkbox","aria-checked":y(n)?"mixed":n,"aria-required":o,"data-state":z(n),"data-disabled":m?"":void 0,disabled:m,value:l,...h,ref:w,onKeyDown:(0,f.composeEventHandlers)(e,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,f.composeEventHandlers)(g,a=>{s(a=>!!y(a)||!a),v&&u&&(t.current=a.isPropagationStopped(),t.current||a.stopPropagation())})})});s.displayName=r;var t=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,name:e,checked:f,defaultChecked:g,required:h,disabled:i,value:j,onCheckedChange:k,form:l,...m}=a;return(0,b.jsx)(q,{__scopeCheckbox:d,checked:f,defaultChecked:g,disabled:i,required:h,onCheckedChange:k,name:e,form:l,value:j,internal_do_not_use_render:({isFormControl:a})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{...m,ref:c,__scopeCheckbox:d}),a&&(0,b.jsx)(x,{__scopeCheckbox:d})]})})});t.displayName=l;var u="CheckboxIndicator",v=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,forceMount:e,...f}=a,g=p(u,d);return(0,b.jsx)(j.Presence,{present:e||y(g.checked)||!0===g.checked,children:(0,b.jsx)(k.Primitive.span,{"data-state":z(g.checked),"data-disabled":g.disabled?"":void 0,...f,ref:c,style:{pointerEvents:"none",...a.style}})})});v.displayName=u;var w="CheckboxBubbleInput",x=c.forwardRef(({__scopeCheckbox:a,...e},f)=>{let{control:g,hasConsumerStoppedPropagationRef:j,checked:l,defaultChecked:m,required:n,disabled:o,name:q,value:r,form:s,bubbleInput:t,setBubbleInput:u}=p(w,a),v=(0,d.useComposedRefs)(f,u),x=(0,h.usePrevious)(l),z=(0,i.useSize)(g);c.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!j.current;if(x!==l&&a){let c=new Event("click",{bubbles:b});t.indeterminate=y(l),a.call(t,!y(l)&&l),t.dispatchEvent(c)}},[t,x,l,j]);let A=c.useRef(!y(l)&&l);return(0,b.jsx)(k.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:m??A.current,required:n,disabled:o,name:q,value:r,form:s,...e,tabIndex:-1,ref:v,style:{...e.style,...z,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function y(a){return"indeterminate"===a}function z(a){return y(a)?"indeterminate":a?"checked":"unchecked"}x.displayName=w;var A=a.i(53520),B=a.i(364565);let C=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(t,{ref:d,className:(0,B.cn)("grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...c,children:(0,b.jsx)(v,{className:(0,B.cn)("grid place-content-center text-current"),children:(0,b.jsx)(A.Check,{className:"h-4 w-4"})})}));C.displayName=t.displayName,a.s(["Checkbox",0,C],36890)},421458,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(880470),e=a.i(263265),f=a.i(933596),g=a.i(421347),h=a.i(908264),i=a.i(776192),j=a.i(36890),k=a.i(172518),l=a.i(962491),m=a.i(470535);function n({scope:a,isLoading:d,onSubmit:e}){let[f,g]=(0,c.useState)(""),[o,p]=(0,c.useState)(10),[q,r]=(0,c.useState)(!0),[s,t]=(0,c.useState)(0),[u,v]=(0,c.useState)(""),[w,x]=(0,c.useState)(null),y=(0,h.hasSearchableScope)(a);async function z(b){if(b.preventDefault(),x(null),!y)return void x("请先在范围栏中设置「应用」和「租户」的具体值");if(!f.trim())return void x("请输入检索内容");if(o<0||o>50)return void x("Top K 必须在 0 到 50 之间");if(s<0||s>1)return void x("相似度阈值必须在 0 到 1 之间");try{await e({query:f.trim(),scope:a,topK:o,enableRerank:q,minSimilarity:s,metadata:(0,h.parseJsonObject)(u)})}catch(a){x(a instanceof Error?a.message:"搜索失败")}}return(0,b.jsxs)("form",{onSubmit:z,className:"space-y-4 rounded-lg border p-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:"记忆检索"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"新增记忆后,搜索结果可能有短暂延迟。若未立即命中,请稍后重试或刷新。"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{children:"检索内容"}),(0,b.jsx)(m.Textarea,{value:f,onChange:a=>g(a.target.value),placeholder:"用户喜欢吃什么?",rows:4})]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{children:"Top K"}),(0,b.jsx)(k.Input,{type:"number",min:1,max:50,value:o,onChange:a=>p(Number(a.target.value))})]}),(0,b.jsx)("div",{className:"flex items-end pb-1",children:(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(j.Checkbox,{checked:q,onCheckedChange:a=>r(!0===a)}),"启用重排序"]})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{children:"相似度阈值"}),(0,b.jsx)(k.Input,{type:"number",min:0,max:1,step:.05,value:s,onChange:a=>t(Number(a.target.value))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"按归一化余弦相似度(0–1)过滤结果,0 表示不过滤。仅返回相似度不低于该值的命中。"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(l.Label,{children:"元数据过滤(JSON)"}),(0,b.jsx)(m.Textarea,{value:u,onChange:a=>v(a.target.value),placeholder:'{"source":"dashboard"}',rows:4})]}),w&&(0,b.jsx)("p",{className:"text-sm text-[hsl(var(--destructive))]",children:w}),(0,b.jsx)(i.Button,{type:"submit",disabled:d||!y,children:d?"搜索中...":"搜索"}),!y&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"请先在范围栏中设置「应用」和「租户」的具体值。"})]})}var o=a.i(147845),p=a.i(521989),q=a.i(473524),r=a.i(310215);function s({results:a,elapsedMs:c}){return a?a.length?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("h3",{className:"text-lg font-semibold",children:["搜索结果 (",a.length,")"]}),void 0!==c&&(0,b.jsxs)("span",{className:"text-sm text-muted-foreground",children:[c," ms"]})]}),(0,b.jsx)("div",{className:"space-y-3",children:a.map((a,c)=>(0,b.jsx)(q.Card,{children:(0,b.jsxs)(q.CardContent,{className:"space-y-3 p-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[void 0!==a.similarity&&(0,b.jsxs)(p.Badge,{variant:"secondary",children:["相似度 ",a.similarity.toFixed(4)]}),void 0!==a.score&&(0,b.jsxs)(p.Badge,{variant:"outline",children:["相关度 ",a.score.toFixed(4)]}),a.source&&(0,b.jsx)(p.Badge,{variant:"outline",children:a.source}),a.unit.unit_type&&(0,b.jsx)(p.Badge,{variant:"outline",children:a.unit.unit_type})]}),(0,b.jsx)("p",{className:"whitespace-pre-wrap text-sm",children:a.unit.text}),(0,b.jsxs)("div",{className:"grid gap-2 text-xs text-muted-foreground sm:grid-cols-2",children:[(0,b.jsxs)("span",{children:["ID:",a.unit.id??a.unit.memoryId??"-"]}),(0,b.jsxs)("span",{children:["范围:",(0,h.formatScope)(a.unit.scope)]}),(0,b.jsxs)("span",{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.unit.created_at)]}),(0,b.jsxs)("span",{children:["版本:",a.unit.version??"-"]})]})]})},`${a.unit.id??a.unit.memoryId??c}-${c}`))})]}):(0,b.jsx)(r.EmptyState,{icon:o.Brain,title:"没有搜索结果",description:"如果刚添加了新记忆,可能需要等待索引生效后重试"}):(0,b.jsx)(r.EmptyState,{icon:o.Brain,title:"尚未搜索",description:"填写左侧查询条件后,可以验证当前范围下的记忆检索效果"})}var t=a.i(99443);a.s(["default",0,function(){let a=(0,d.useParams)(),i=(0,d.useSearchParams)(),j=decodeURIComponent(a.store),k=i.toString(),l=(0,c.useMemo)(()=>(0,h.buildMemoryScope)(new URLSearchParams(k)),[k]),m=(0,f.useMutation)({mutationFn:a=>(0,g.searchMemory)(a)}),[o,p]=(0,c.useState)(null),[q,r]=(0,c.useState)();async function u(a){let b=Date.now();try{let c=await m.mutateAsync({memoryStoreName:j,query:a.query,scope:a.scope,topK:a.topK,enableRerank:a.enableRerank,...a.minSimilarity>0?{minSimilarity:a.minSimilarity}:{},metadata:a.metadata});p(c.results??[]),r(Date.now()-b)}catch(a){e.toast.error(a instanceof Error?a.message:"搜索失败")}}return(0,b.jsx)(t.WorkbenchLayout,{asideWidth:400,aside:(0,b.jsx)(n,{scope:l,isLoading:m.isPending,onSubmit:u}),children:(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-7 py-5 max-md:px-4",children:(0,b.jsx)(s,{results:o,elapsedMs:q})})})}],421458)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_00ofp7q._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[502482,a=>{"use strict";var b=a.i(634020),c=a.i(412583),d=a.i(880470),e=a.i(907704),f=a.i(364565);let g={"knowledge-base":"知识库",memory:"记忆库","llm-providers":"大模型",projects:"项目管理",documents:"文档",retrieval:"检索测试",qa:"问答测试",search:"记忆检索",units:"长期记忆",messages:"短期记忆",requests:"请求审计",settings:"设置",create:"新建",new:"新建",chat:"对话"};a.s(["PageHeader",0,function({title:a,description:h,hideBreadcrumb:i,children:j,className:k}){let l=(0,d.usePathname)()??"/",m=i?[]:function(a){if(/^\/knowledge-base\/[^/]+(?:\/.*)?$/.test(a)||/^\/memory\/[^/]+(?:\/.*)?$/.test(a))return[];let b=a.split("/").filter(Boolean);if(0===b.length)return[];let c=[],d="";return b.forEach((a,e)=>{d+=`/${a}`;let f=decodeURIComponent(a),h=g[f]??f;c.push({label:h,href:e<b.length-1?d:void 0})}),c}(l);return(0,b.jsxs)("div",{className:(0,f.cn)("mb-5 flex flex-col gap-2",k),children:[m.length>1&&(0,b.jsxs)("nav",{"aria-label":"面包屑",className:"flex items-center gap-1 text-[13px] text-[hsl(var(--muted-foreground))]",children:[(0,b.jsx)(c.default,{href:"/",className:"transition-colors hover:text-[hsl(var(--foreground))]",children:"主页"}),m.map((a,d)=>(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(e.ChevronRight,{className:"h-3 w-3 opacity-60"}),a.href?(0,b.jsx)(c.default,{href:a.href,className:"transition-colors hover:text-[hsl(var(--foreground))]",children:a.label}):(0,b.jsx)("span",{className:"font-medium text-[hsl(var(--foreground))]",children:a.label})]},`${a.label}-${d}`))]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("h1",{className:"text-xl font-semibold leading-tight text-[hsl(var(--foreground))]",children:a}),h&&(0,b.jsx)("p",{className:"text-[13px] text-[hsl(var(--muted-foreground))]",children:h})]}),j&&(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:j})]})]})}])},28303,a=>{"use strict";var b=a.i(634020),c=a.i(502482),d=a.i(880470),e=a.i(71562),f=a.i(771071),g=a.i(680904),h=a.i(263265),i=a.i(147845),j=a.i(1078),k=a.i(776192),l=a.i(172518),m=a.i(470535),n=a.i(692942),o=a.i(933596),p=a.i(895487),q=a.i(421347),r=a.i(225377);let s=g.z.object({memoryStoreName:g.z.string().trim().min(1,"名称不能为空").max(32,"名称不能超过 32 个字符").regex(/^[a-zA-Z0-9_]+$/,"只能包含字母、数字和下划线"),description:g.z.string().trim().max(256,"描述不超过 256 字").optional()});function t(){let a,c=(0,d.useRouter)(),g=(a=(0,p.useQueryClient)(),(0,o.useMutation)({mutationFn:a=>(0,q.createMemoryStore)(a),onSuccess:()=>{(0,r.invalidateMemoryQueries)(a)}})),i=(0,e.useForm)({resolver:(0,f.zodResolver)(s),defaultValues:{memoryStoreName:"",description:""}});async function j(a){try{await g.mutateAsync({memoryStoreName:a.memoryStoreName,description:a.description?.length?a.description:void 0}),h.toast.success("记忆库创建成功"),c.push("/memory")}catch(a){h.toast.error(a instanceof Error?a.message:"创建记忆库失败")}}return(0,b.jsx)(n.Form,{...i,children:(0,b.jsxs)("form",{onSubmit:i.handleSubmit(j),className:"space-y-6",children:[(0,b.jsx)(u,{}),(0,b.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,b.jsx)(v,{title:"基本信息",description:"名称用于 CLI 的 --store 参数与控制台路由,创建后不可修改;描述帮助团队识别记忆库用途。"}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(n.FormField,{control:i.control,name:"memoryStoreName",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsxs)(n.FormLabel,{children:["名称 ",(0,b.jsx)("span",{className:"text-[hsl(var(--destructive))]",children:"*"})]}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{placeholder:"my_memory_store",...a})}),(0,b.jsx)(n.FormDescription,{children:"仅支持字母、数字和下划线,最多 32 个字符。"}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:i.control,name:"description",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"描述"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(m.Textarea,{placeholder:"描述这个记忆库的用途...",className:"resize-none",rows:4,...a})}),(0,b.jsx)(n.FormMessage,{})]})})]})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-3 border-t border-[hsl(var(--border-light))] pt-4",children:[(0,b.jsx)(k.Button,{type:"button",variant:"outline",onClick:()=>c.push("/memory"),children:"取消"}),(0,b.jsx)(k.Button,{type:"submit",disabled:g.isPending,children:g.isPending?"创建中...":"创建记忆库"})]})]})})}function u(){return(0,b.jsxs)("div",{className:"animate-home-reveal relative overflow-hidden rounded-lg border border-dashed border-[hsl(var(--primary)/0.35)] bg-gradient-to-br from-[hsl(var(--primary-soft))] via-[hsl(var(--surface))] to-[hsl(var(--surface))] px-5 py-5",role:"region","aria-label":"创建记忆库引导",children:[(0,b.jsx)(j.Sparkles,{className:"pointer-events-none absolute right-3 top-3 h-3.5 w-3.5 text-[hsl(var(--primary)/0.45)]","aria-hidden":!0}),(0,b.jsxs)("div",{className:"flex items-start gap-4",children:[(0,b.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-[hsl(var(--primary-soft))] ring-1 ring-[hsl(var(--primary)/0.18)]",children:(0,b.jsx)(i.Brain,{className:"h-5 w-5 text-[hsl(var(--primary))]"})}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-[hsl(var(--foreground))]",children:"智能体的长期记忆"}),(0,b.jsxs)("p",{className:"text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:["记忆库存放对话中沉淀下来的事实、偏好与上下文, 供后续对话在",(0,b.jsx)("code",{className:"mx-1 rounded bg-[hsl(var(--muted))] px-1 py-0.5 font-mono text-[10px]",children:"应用"}),"+",(0,b.jsx)("code",{className:"mx-1 rounded bg-[hsl(var(--muted))] px-1 py-0.5 font-mono text-[10px]",children:"租户"}),"维度内自动检索与写回。"]})]})]})]})}function v({title:a,description:c}){return(0,b.jsxs)("header",{className:"mb-4 border-b border-[hsl(var(--border-light))] pb-3",children:[(0,b.jsx)("h3",{className:"text-[15px] font-semibold leading-tight text-[hsl(var(--foreground))]",children:a}),(0,b.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:c})]})}a.s(["default",0,function(){return(0,b.jsxs)("div",{className:"mx-auto max-w-3xl space-y-6",children:[(0,b.jsx)(c.PageHeader,{title:"创建记忆库",description:"登记一个新的记忆库;记忆库是同一应用 + 租户下记忆条目的共享容器"}),(0,b.jsx)(t,{})]})}],28303)}];
|
|
1
|
+
module.exports=[502482,a=>{"use strict";var b=a.i(634020),c=a.i(412583),d=a.i(880470),e=a.i(907704),f=a.i(364565);let g={"knowledge-base":"知识库",memory:"记忆库","llm-providers":"大模型",projects:"项目管理",documents:"文档",retrieval:"检索测试",qa:"问答测试",search:"记忆检索",units:"长期记忆",messages:"短期记忆",requests:"请求审计",settings:"设置",create:"新建",new:"新建",chat:"对话"};a.s(["PageHeader",0,function({title:a,description:h,hideBreadcrumb:i,children:j,className:k}){let l=(0,d.usePathname)()??"/",m=i?[]:function(a){if(/^\/knowledge-base\/[^/]+(?:\/.*)?$/.test(a)||/^\/memory\/[^/]+(?:\/.*)?$/.test(a))return[];let b=a.split("/").filter(Boolean);if(0===b.length)return[];let c=[],d="";return b.forEach((a,e)=>{d+=`/${a}`;let f=decodeURIComponent(a),h=g[f]??f;c.push({label:h,href:e<b.length-1?d:void 0})}),c}(l);return(0,b.jsxs)("div",{className:(0,f.cn)("mb-5 flex flex-col gap-2",k),children:[m.length>1&&(0,b.jsxs)("nav",{"aria-label":"面包屑",className:"flex items-center gap-1 text-[13px] text-[hsl(var(--muted-foreground))]",children:[(0,b.jsx)(c.default,{href:"/",className:"transition-colors hover:text-[hsl(var(--foreground))]",children:"主页"}),m.map((a,d)=>(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(e.ChevronRight,{className:"h-3 w-3 opacity-60"}),a.href?(0,b.jsx)(c.default,{href:a.href,className:"transition-colors hover:text-[hsl(var(--foreground))]",children:a.label}):(0,b.jsx)("span",{className:"font-medium text-[hsl(var(--foreground))]",children:a.label})]},`${a.label}-${d}`))]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("h1",{className:"text-xl font-semibold leading-tight text-[hsl(var(--foreground))]",children:a}),h&&(0,b.jsx)("p",{className:"text-[13px] text-[hsl(var(--muted-foreground))]",children:h})]}),j&&(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:j})]})]})}])},28303,a=>{"use strict";var b=a.i(634020),c=a.i(502482),d=a.i(880470),e=a.i(71562),f=a.i(771071),g=a.i(680904),h=a.i(263265),i=a.i(147845),j=a.i(1078),k=a.i(776192),l=a.i(172518),m=a.i(470535),n=a.i(692942),o=a.i(933596),p=a.i(895487),q=a.i(421347),r=a.i(225377);let s=g.z.object({memoryStoreName:g.z.string().trim().min(1,"名称不能为空").max(32,"名称不能超过 32 个字符").regex(/^[a-zA-Z0-9_]+$/,"只能包含字母、数字和下划线"),description:g.z.string().trim().max(256,"描述不超过 256 字").optional(),extractInstructions:g.z.string().trim().max(4096,"抽取指令不超过 4096 字").optional()});function t(){let a,c=(0,d.useRouter)(),g=(a=(0,p.useQueryClient)(),(0,o.useMutation)({mutationFn:a=>(0,q.createMemoryStore)(a),onSuccess:()=>{(0,r.invalidateMemoryQueries)(a)}})),i=(0,e.useForm)({resolver:(0,f.zodResolver)(s),defaultValues:{memoryStoreName:"",description:"",extractInstructions:""}});async function j(a){try{await g.mutateAsync({memoryStoreName:a.memoryStoreName,description:a.description?.length?a.description:void 0,extractInstructions:a.extractInstructions?.length?a.extractInstructions:void 0}),h.toast.success("记忆库创建成功"),c.push("/memory")}catch(a){h.toast.error(a instanceof Error?a.message:"创建记忆库失败")}}return(0,b.jsx)(n.Form,{...i,children:(0,b.jsxs)("form",{onSubmit:i.handleSubmit(j),className:"space-y-6",children:[(0,b.jsx)(u,{}),(0,b.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,b.jsx)(v,{title:"基本信息",description:"名称用于 CLI 的 --store 参数与控制台路由,创建后不可修改;描述帮助团队识别记忆库用途。"}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(n.FormField,{control:i.control,name:"memoryStoreName",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsxs)(n.FormLabel,{children:["名称 ",(0,b.jsx)("span",{className:"text-[hsl(var(--destructive))]",children:"*"})]}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(l.Input,{placeholder:"my_memory_store",...a})}),(0,b.jsx)(n.FormDescription,{children:"仅支持字母、数字和下划线,最多 32 个字符。"}),(0,b.jsx)(n.FormMessage,{})]})}),(0,b.jsx)(n.FormField,{control:i.control,name:"description",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"描述"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(m.Textarea,{placeholder:"描述这个记忆库的用途...",className:"resize-none",rows:4,...a})}),(0,b.jsx)(n.FormMessage,{})]})})]})]}),(0,b.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,b.jsx)(v,{title:"记忆抽取指令",description:"可选。这里填写的指令会注入到后台记忆抽取的提示词中,用于引导从对话里提炼哪些信息、忽略哪些信息。留空则使用默认抽取策略。"}),(0,b.jsx)(n.FormField,{control:i.control,name:"extractInstructions",render:({field:a})=>(0,b.jsxs)(n.FormItem,{children:[(0,b.jsx)(n.FormLabel,{children:"抽取指令"}),(0,b.jsx)(n.FormControl,{children:(0,b.jsx)(m.Textarea,{placeholder:"例如:重点关注用户的医疗术语与用药偏好;忽略寒暄与客套内容。",className:"resize-none",rows:5,...a})}),(0,b.jsx)(n.FormDescription,{children:"最多 4096 个字符。创建后可在记忆库设置中修改。"}),(0,b.jsx)(n.FormMessage,{})]})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-3 border-t border-[hsl(var(--border-light))] pt-4",children:[(0,b.jsx)(k.Button,{type:"button",variant:"outline",onClick:()=>c.push("/memory"),children:"取消"}),(0,b.jsx)(k.Button,{type:"submit",disabled:g.isPending,children:g.isPending?"创建中...":"创建记忆库"})]})]})})}function u(){return(0,b.jsxs)("div",{className:"animate-home-reveal relative overflow-hidden rounded-lg border border-dashed border-[hsl(var(--primary)/0.35)] bg-gradient-to-br from-[hsl(var(--primary-soft))] via-[hsl(var(--surface))] to-[hsl(var(--surface))] px-5 py-5",role:"region","aria-label":"创建记忆库引导",children:[(0,b.jsx)(j.Sparkles,{className:"pointer-events-none absolute right-3 top-3 h-3.5 w-3.5 text-[hsl(var(--primary)/0.45)]","aria-hidden":!0}),(0,b.jsxs)("div",{className:"flex items-start gap-4",children:[(0,b.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-[hsl(var(--primary-soft))] ring-1 ring-[hsl(var(--primary)/0.18)]",children:(0,b.jsx)(i.Brain,{className:"h-5 w-5 text-[hsl(var(--primary))]"})}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-[hsl(var(--foreground))]",children:"智能体的长期记忆"}),(0,b.jsxs)("p",{className:"text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:["记忆库存放对话中沉淀下来的事实、偏好与上下文, 供后续对话在",(0,b.jsx)("code",{className:"mx-1 rounded bg-[hsl(var(--muted))] px-1 py-0.5 font-mono text-[10px]",children:"应用"}),"+",(0,b.jsx)("code",{className:"mx-1 rounded bg-[hsl(var(--muted))] px-1 py-0.5 font-mono text-[10px]",children:"租户"}),"维度内自动检索与写回。"]})]})]})]})}function v({title:a,description:c}){return(0,b.jsxs)("header",{className:"mb-4 border-b border-[hsl(var(--border-light))] pb-3",children:[(0,b.jsx)("h3",{className:"text-[15px] font-semibold leading-tight text-[hsl(var(--foreground))]",children:a}),(0,b.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:c})]})}a.s(["default",0,function(){return(0,b.jsxs)("div",{className:"mx-auto max-w-3xl space-y-6",children:[(0,b.jsx)(c.PageHeader,{title:"创建记忆库",description:"登记一个新的记忆库;记忆库是同一应用 + 租户下记忆条目的共享容器"}),(0,b.jsx)(t,{})]})}],28303)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_0l1.0wg._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[909598,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(880470),e=a.i(263265),f=a.i(700623),g=a.i(637102),h=a.i(776192),i=a.i(604395),j=a.i(843836),k=a.i(887617),l=a.i(324567),m=a.i(865271),n=a.i(983366),o=a.i(421347),p=a.i(225377),q=a.i(739096);let r=new Set(["completed","completed_with_failures","failed","cancelled"]);var s=a.i(933596),t=a.i(895487),u=a.i(1078),v=a.i(36890),w=a.i(663525),x=a.i(350681),y=a.i(109734),z=a.i(223301),A=a.i(434841),B=a.i(726436),C=a.i(364565);let D={ADD:"bg-success-soft text-success",UPDATE:"bg-info-soft text-info",DELETE:"bg-danger-soft text-danger",MERGE:"bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]",NOOP:"bg-muted text-muted-foreground"};function E({open:a,onOpenChange:c,memoryStoreName:d,selected:e,onConfirm:f,busy:g}){let i={};for(let a of e)i[a.action]=(i[a.action]??0)+1;let k=(i.DELETE??0)>0,l=e.slice(0,6),m=e.length-l.length;return(0,b.jsx)(j.Dialog,{open:a,onOpenChange:c,children:(0,b.jsxs)(j.DialogContent,{className:"max-w-xl",children:[(0,b.jsxs)(j.DialogHeader,{children:[(0,b.jsx)(j.DialogTitle,{children:"确认应用所选动作"}),(0,b.jsxs)(j.DialogDescription,{children:["将对记忆库 ",(0,b.jsx)("span",{className:"font-mono",children:d})," ","应用 ",e.length," 条动作。该操作会写入记忆库,无法自动撤销。"]})]}),(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2 rounded border border-[hsl(var(--border-light))] bg-[hsl(var(--muted)/0.3)] p-2",children:Object.keys(i).map(a=>(0,b.jsxs)("span",{className:(0,C.cn)("inline-flex items-center gap-1 rounded px-2 py-0.5 text-xs font-mono font-semibold",D[a]??"bg-muted text-muted-foreground"),children:[a," ",(0,b.jsxs)("span",{className:"font-normal opacity-80",children:["×",i[a]]})]},a))}),k&&(0,b.jsx)("p",{className:"rounded border border-[hsl(var(--destructive)/0.3)] bg-danger-soft/40 px-3 py-2 text-xs text-danger",children:"所选动作包含 DELETE,应用后对应记忆将被删除。"}),(0,b.jsxs)("ul",{className:"max-h-72 space-y-1.5 overflow-auto rounded border border-[hsl(var(--border-light))] p-2",children:[l.map(a=>(0,b.jsxs)("li",{className:"flex items-start gap-2 text-xs",children:[(0,b.jsx)("span",{className:(0,C.cn)("mt-0.5 shrink-0 rounded px-1.5 py-0.5 font-mono text-[10px] font-semibold",D[a.action]??"bg-muted text-muted-foreground"),children:a.action}),(0,b.jsx)("span",{className:"line-clamp-2 flex-1 text-foreground/85",children:a.newMemory?.text??a.reason??`(${a.actionId.slice(0,12)}…)`})]},a.actionId)),m>0&&(0,b.jsxs)("li",{className:"pt-1 text-center text-[11px] italic text-muted-foreground",children:[(0,b.jsx)(u.Sparkles,{className:"mr-1 inline-block h-3 w-3"}),"还有 ",m," 条动作未在此预览"]})]})]}),(0,b.jsxs)(j.DialogFooter,{children:[(0,b.jsx)(h.Button,{variant:"outline",onClick:()=>c(!1),disabled:g,children:"取消"}),(0,b.jsx)(h.Button,{variant:k?"destructive":"default",onClick:f,disabled:g,children:g?"应用中…":`确认应用 ${e.length} 条`})]})]})})}let F=[{value:"all",label:"全部状态"},{value:"proposed",label:"待应用"},{value:"applied",label:"已应用"},{value:"skipped",label:"已跳过"},{value:"failed",label:"失败"}],G=[{value:"all",label:"全部类型"},{value:"ADD",label:"ADD"},{value:"UPDATE",label:"UPDATE"},{value:"DELETE",label:"DELETE"},{value:"MERGE",label:"MERGE"},{value:"NOOP",label:"NOOP"}],H=[{value:"created_at_asc",label:"创建时间 ↑"},{value:"created_at_desc",label:"创建时间 ↓"},{value:"confidence_desc",label:"置信度 ↓"}],I={proposed:"bg-info-soft text-info",applied:"bg-success-soft text-success",skipped:"bg-muted text-muted-foreground",failed:"bg-danger-soft text-danger"},J={proposed:"待应用",applied:"已应用",skipped:"已跳过",failed:"失败"},K={ADD:"bg-success-soft text-success",UPDATE:"bg-info-soft text-info",DELETE:"bg-danger-soft text-danger",MERGE:"bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]",NOOP:"bg-muted text-muted-foreground"};function L({action:a}){return(0,b.jsx)("span",{className:(0,C.cn)("inline-flex items-center rounded px-1.5 py-0.5 text-[10px] font-mono font-semibold",K[a]??"bg-muted text-muted-foreground"),children:a})}function M({action:a,memoryStoreName:c}){let{action:d,newMemory:e,targetMemoryId:f,targetScope:g,reason:h}=a;if("ADD"===d||"UPDATE"===d){let a=e?.text;return a?(0,b.jsxs)("span",{className:"line-clamp-2 text-xs",children:["UPDATE"===d&&(0,b.jsx)("span",{className:"mr-1 rounded bg-info-soft px-1 py-px text-[10px] text-info",children:"新"}),a]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"})}return"NOOP"===d?(0,b.jsx)("span",{className:"line-clamp-2 text-xs italic text-muted-foreground",children:h||"无操作"}):(0,b.jsx)(N,{memoryStoreName:c,memoryId:f,scope:g,verbPrefix:"DELETE"===d?"删除":"合并"})}function N({memoryStoreName:a,memoryId:c,scope:d,verbPrefix:e}){let f=(0,B.useMemoryUnit)(a,c,d);if(!c)return(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"});if(f.isLoading)return(0,b.jsx)(i.Skeleton,{className:"h-3 w-32"});let g=f.data?.memory?.text;return g?(0,b.jsxs)("span",{className:"line-clamp-2 text-xs",children:[(0,b.jsx)("span",{className:"mr-1 rounded bg-warning-soft px-1 py-px text-[10px] text-warning",children:e}),g]}):(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[e,":原记忆已不可读"]})}function O({status:a}){return(0,b.jsx)("span",{className:(0,C.cn)("inline-flex items-center rounded-full px-2 py-0.5 text-[11px] font-medium select-none whitespace-nowrap",I[a]??"bg-muted text-muted-foreground"),children:J[a]??a})}function P(a){return a&&[a.appId,a.tenantId,a.agentId,a.runId].filter(Boolean).join(" / ")||"-"}function Q({memoryStoreName:a,dreamId:d}){let f,[g,j]=(0,c.useState)("all"),[k,l]=(0,c.useState)("all"),[m,r]=(0,c.useState)("created_at_asc"),[B,C]=(0,c.useState)(0),D=function(a,b,c,d){let{context:e,ready:f}=(0,q.useRuntimeContext)();return(0,n.useQuery)({queryKey:p.queryKeys.dreamActions(e.dataScopeKey,a,b,c,d?.nextToken,d?.limit),queryFn:()=>(0,o.listDreamActions)(a,b,c,d),enabled:f&&!!a&&!!b})}(a,d,(0,c.useMemo)(()=>{let a={orderBy:m};return"all"!==g&&(a.status=g),"all"!==k&&(a.action=k),B>0&&(a.minConfidence=B),a},[g,k,m,B]),{limit:100}),I=D.data?.items??[],[J,K]=(0,c.useState)(new Set),[N,R]=(0,c.useState)(null),[T,U]=(0,c.useState)(!1),V=(f=(0,t.useQueryClient)(),(0,s.useMutation)({mutationFn:({actionIds:b,applier:c})=>(0,o.applyDreamActions)(a,d,b,c),onSuccess:()=>{f.invalidateQueries({queryKey:["memory"],predicate:b=>Array.isArray(b.queryKey)&&b.queryKey.includes(a)&&b.queryKey.includes(d)}),f.invalidateQueries({queryKey:["memory"],predicate:b=>Array.isArray(b.queryKey)&&b.queryKey.includes(a)&&(b.queryKey.includes("units")||b.queryKey.includes("scopes"))})}})),W=I.filter(a=>"proposed"===a.status).length,X=W>0&&I.every(a=>"proposed"!==a.status||J.has(a.actionId)),Y=async()=>{try{let a=await V.mutateAsync({actionIds:Array.from(J)});e.toast.success(`Apply 完成:成功 ${a.applied},失败 ${a.failed}`),K(new Set),U(!1)}catch(b){let a=b instanceof Error?b.message:"应用失败";e.toast.error(a)}};return(0,b.jsx)(A.TooltipProvider,{children:(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 rounded-md border border-[hsl(var(--border-light))] p-3",children:[(0,b.jsxs)(w.Select,{value:g,onValueChange:j,children:[(0,b.jsx)(w.SelectTrigger,{className:"h-8 w-32 text-sm",children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsx)(w.SelectContent,{children:F.map(a=>(0,b.jsx)(w.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsxs)(w.Select,{value:k,onValueChange:l,children:[(0,b.jsx)(w.SelectTrigger,{className:"h-8 w-32 text-sm",children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsx)(w.SelectContent,{children:G.map(a=>(0,b.jsx)(w.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsxs)(w.Select,{value:m,onValueChange:a=>r(a),children:[(0,b.jsx)(w.SelectTrigger,{className:"h-8 w-32 text-sm",children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsx)(w.SelectContent,{children:H.map(a=>(0,b.jsx)(w.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"最小置信度"}),(0,b.jsx)(x.Slider,{value:[B],max:1,step:.05,onValueChange:a=>C(a[0]??0),className:"w-32"}),(0,b.jsx)("span",{className:"font-mono text-xs",children:B.toFixed(2)})]}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["已选 ",J.size]}),(0,b.jsx)(h.Button,{size:"sm",disabled:0===J.size||V.isPending,onClick:()=>U(!0),children:V.isPending?"应用中…":`Apply selected (${J.size})`})]})]}),D.isLoading?(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(i.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(i.Skeleton,{className:"h-10 w-full"})]}):0===I.length?(0,b.jsxs)("div",{className:"rounded-lg border border-dashed border-[hsl(var(--border))] py-10 text-center text-sm text-muted-foreground",children:[(0,b.jsx)(u.Sparkles,{className:"mx-auto mb-2 h-6 w-6 text-muted-foreground/60"}),"当前过滤条件下暂无动作"]}):(0,b.jsx)("div",{className:"rounded-lg border border-[hsl(var(--border))]",children:(0,b.jsxs)(z.Table,{children:[(0,b.jsx)(z.TableHeader,{children:(0,b.jsxs)(z.TableRow,{children:[(0,b.jsx)(z.TableHead,{className:"w-8",children:(0,b.jsx)(v.Checkbox,{checked:X,onCheckedChange:()=>{X?K(new Set):K(new Set(I.filter(a=>"proposed"===a.status).map(a=>a.actionId)))},disabled:0===W,"aria-label":"全选可应用动作"})}),(0,b.jsx)(z.TableHead,{children:"类型"}),(0,b.jsx)(z.TableHead,{children:"状态"}),(0,b.jsx)(z.TableHead,{children:"目标 scope"}),(0,b.jsx)(z.TableHead,{children:"影响"}),(0,b.jsx)(z.TableHead,{className:"text-right",children:"置信度"})]})}),(0,b.jsx)(z.TableBody,{children:I.map(c=>{let d="proposed"===c.status;return(0,b.jsxs)(z.TableRow,{className:"cursor-pointer hover:bg-[hsl(var(--accent))]",onClick:()=>R(c),children:[(0,b.jsx)(z.TableCell,{onClick:a=>a.stopPropagation(),children:d?(0,b.jsx)(v.Checkbox,{checked:J.has(c.actionId),onCheckedChange:()=>{var a;return a=c.actionId,void K(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},"aria-label":"选择此动作"}):(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{children:(0,b.jsx)(v.Checkbox,{checked:!1,disabled:!0,"aria-label":"不可选"})})}),(0,b.jsx)(A.TooltipContent,{children:"仅 proposed 状态的动作可以 apply"})]})}),(0,b.jsx)(z.TableCell,{children:(0,b.jsx)(L,{action:c.action})}),(0,b.jsx)(z.TableCell,{children:(0,b.jsx)(O,{status:c.status})}),(0,b.jsx)(z.TableCell,{className:"text-xs",children:P(c.targetScope)}),(0,b.jsx)(z.TableCell,{className:"max-w-md",children:(0,b.jsx)(M,{action:c,memoryStoreName:a})}),(0,b.jsx)(z.TableCell,{className:"text-right font-mono text-xs",children:void 0!==c.confidence?c.confidence.toFixed(2):"-"})]},c.actionId)})})]})}),(0,b.jsx)(y.Sheet,{open:null!==N,onOpenChange:a=>!a&&R(null),children:(0,b.jsx)(y.SheetContent,{className:"w-[560px] sm:max-w-[560px]",children:N&&(0,b.jsx)(S,{detail:N,memoryStoreName:a})})}),(0,b.jsx)(E,{open:T,onOpenChange:U,memoryStoreName:a,selected:I.filter(a=>J.has(a.actionId)),onConfirm:Y,busy:V.isPending})]})})}function R({detail:a,memoryStoreName:c}){let d="UPDATE"===a.action||"DELETE"===a.action||"MERGE"===a.action,e=(0,B.useMemoryUnit)(c,d?a.targetMemoryId:void 0,d?a.targetScope:null,d),f=a.newMemory?.text;if("NOOP"===a.action)return(0,b.jsx)("div",{className:"rounded border border-dashed border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.2)] p-3 text-xs italic text-muted-foreground",children:"NOOP — 无记忆变更"});let g=e.data?.memory?.text,h=e.data?.memory?.unit_type;return(0,b.jsxs)("div",{className:"space-y-3",children:[d&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"rounded bg-warning-soft px-1.5 py-px text-[10px] font-semibold text-warning",children:"修改前"}),"目标记忆",h&&(0,b.jsxs)("span",{className:"font-mono text-[10px] text-muted-foreground",children:["· ",h]})]}),e.isLoading?(0,b.jsx)(i.Skeleton,{className:"h-16 w-full"}):g?(0,b.jsx)("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap rounded bg-[hsl(var(--muted)/0.4)] p-2 text-xs",children:g}):(0,b.jsx)("p",{className:"rounded border border-dashed border-[hsl(var(--border))] p-2 text-xs italic text-muted-foreground",children:"原始记忆已不可读(可能已被其他 dream 任务删除或合并)"})]}),f&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,C.cn)("rounded px-1.5 py-px text-[10px] font-semibold","ADD"===a.action?"bg-success-soft text-success":"bg-info-soft text-info"),children:"ADD"===a.action?"将新增":"修改后"}),"新记忆",a.newMemory?.unitType&&(0,b.jsxs)("span",{className:"font-mono text-[10px] text-muted-foreground",children:["· ",a.newMemory.unitType]})]}),(0,b.jsx)("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap rounded bg-[hsl(var(--muted)/0.4)] p-2 text-xs",children:f})]}),"DELETE"===a.action&&(0,b.jsx)("p",{className:"rounded border border-dashed border-[hsl(var(--destructive)/0.3)] bg-danger-soft/40 p-2 text-xs text-danger",children:"应用后这条记忆将被删除。"}),"MERGE"===a.action&&(0,b.jsx)("p",{className:"rounded border border-dashed border-[hsl(var(--border))] p-2 text-xs text-muted-foreground",children:"应用后这条记忆将被合并入相关记忆。"})]})}function S({detail:a,memoryStoreName:c}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(y.SheetHeader,{children:[(0,b.jsxs)(y.SheetTitle,{children:[(0,b.jsx)(L,{action:a.action})," 动作详情"]}),(0,b.jsx)(y.SheetDescription,{className:"font-mono text-xs break-all",children:a.actionId})]}),(0,b.jsxs)("div",{className:"space-y-4 overflow-auto py-4 text-sm",children:[(0,b.jsx)(R,{detail:a,memoryStoreName:c}),(0,b.jsxs)("div",{className:"space-y-2 rounded border border-[hsl(var(--border-light))] p-3",children:[(0,b.jsx)(T,{label:"状态",children:(0,b.jsx)(O,{status:a.status})}),(0,b.jsx)(T,{label:"置信度",value:void 0!==a.confidence?a.confidence.toFixed(2):"-"}),(0,b.jsx)(T,{label:"目标 scope",value:P(a.targetScope)}),a.targetMemoryId&&(0,b.jsx)(T,{label:"目标 memory ID",value:a.targetMemoryId,mono:!0}),a.resultMemoryId&&(0,b.jsx)(T,{label:"结果 memory ID",value:a.resultMemoryId,mono:!0})]}),a.reason&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"推理依据"}),(0,b.jsx)("pre",{className:"max-h-40 overflow-auto whitespace-pre-wrap rounded bg-[hsl(var(--muted)/0.4)] p-2 text-xs",children:a.reason})]}),a.skippedReason&&(0,b.jsx)(T,{label:"跳过原因",value:`${a.skippedReason}${a.skippedReasonDetail?`(${a.skippedReasonDetail})`:""}`}),a.error&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"错误"}),(0,b.jsx)("pre",{className:"max-h-40 overflow-auto whitespace-pre-wrap rounded bg-danger-soft p-2 text-xs text-danger",children:a.error})]})]})]})}function T({label:a,value:c,mono:d,children:e}){return(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("p",{className:"w-28 shrink-0 text-xs text-muted-foreground",children:a}),e?(0,b.jsx)("div",{children:e}):(0,b.jsx)("p",{className:(0,C.cn)("flex-1 text-sm",d&&"font-mono"),children:c??"-"})]})}var U=a.i(601170);let V={queued:"bg-info-soft text-info",running:"bg-info-soft text-info",planning:"bg-info-soft text-info",applying:"bg-info-soft text-info",completed:"bg-success-soft text-success",completed_with_failures:"bg-warning-soft text-warning",failed:"bg-danger-soft text-danger",cancelled:"bg-muted text-muted-foreground"},W={queued:"排队中",running:"运行中",planning:"规划中",applying:"应用中",completed:"已完成",completed_with_failures:"完成(含失败)",failed:"失败",cancelled:"已取消"};function X({status:a}){let c=!r.has(a);return(0,b.jsxs)("span",{className:(0,C.cn)("inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium select-none whitespace-nowrap",V[a]??"bg-muted text-muted-foreground"),children:[c&&(0,b.jsxs)("span",{className:"relative flex h-1.5 w-1.5",children:[(0,b.jsx)("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-current opacity-60"}),(0,b.jsx)("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-current"})]}),W[a]??a]})}function Y({label:a,value:c}){return(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)("span",{className:"text-base font-semibold tabular-nums",children:c})]})}a.s(["default",0,function(){let a,u=(0,d.useParams)(),v=(0,d.useRouter)(),w=decodeURIComponent(u.store),x=decodeURIComponent(u.dreamId),y=function(a,b){let{context:c,ready:d}=(0,q.useRuntimeContext)();return(0,n.useQuery)({queryKey:p.queryKeys.dreamTask(c.dataScopeKey,a,b),queryFn:()=>(0,o.getDreamTask)(a,b),enabled:d&&!!a&&!!b,refetchInterval:a=>{let b=a.state.data;return b?!r.has(b.status)&&5e3:5e3},refetchIntervalInBackground:!1})}(w,x),z=(a=(0,t.useQueryClient)(),(0,s.useMutation)({mutationFn:a=>(0,o.cancelDreamTask)(w,a),onSuccess:()=>{a.invalidateQueries({queryKey:["memory"],predicate:a=>Array.isArray(a.queryKey)&&a.queryKey.includes("dream-tasks")&&a.queryKey.includes(w)})}})),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(!1);if(y.error instanceof Error&&"code"in y.error&&"DREAMING_DISABLED"===y.error.code)return(0,b.jsx)(U.MemoryDreamDisabled,{});let E=y.data,F=E&&r.has(E.status),G=async()=>{try{await z.mutateAsync(x),e.toast.success("已取消任务"),B(!1)}catch(b){let a=b instanceof Error?b.message:"取消失败";e.toast.error(a)}};return(0,b.jsxs)("div",{className:"space-y-5",children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:(0,b.jsxs)(h.Button,{variant:"ghost",size:"sm",onClick:()=>v.push(`/memory/${encodeURIComponent(w)}/dream`),children:[(0,b.jsx)(f.ArrowLeft,{className:"mr-1 h-3.5 w-3.5"}),"返回记忆整理列表"]})}),y.isLoading?(0,b.jsx)(i.Skeleton,{className:"h-32 w-full"}):E?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"rounded-lg border border-[hsl(var(--border))] p-5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("h2",{className:"font-mono text-base",children:E.dreamId}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsx)(X,{status:E.status}),(0,b.jsx)("span",{children:"safe_auto"===E.applyMode?"应用模式:安全变更自动应用":"应用模式:建议(手动 apply)"}),(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)("span",{children:["Scope 输出:","promote_scope"===E.scopeOutputMode?"提升":"保留"]}),!F&&(0,b.jsx)("span",{className:"ml-1 italic",children:"· 每 5 秒自动刷新"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k.RefreshButton,{onClick:()=>y.refetch(),loading:y.isRefetching}),E.lastError&&(0,b.jsxs)(h.Button,{size:"sm",variant:"outline",onClick:()=>D(!0),className:"text-[hsl(var(--destructive))]",children:[(0,b.jsx)(g.AlertTriangle,{className:"mr-1 h-3.5 w-3.5"}),"查看错误"]}),!F&&(0,b.jsx)(h.Button,{size:"sm",variant:"outline",onClick:()=>B(!0),disabled:z.isPending,children:"取消任务"})]})]}),(0,b.jsxs)("div",{className:"mt-5 grid grid-cols-2 gap-4 sm:grid-cols-4",children:[(0,b.jsx)(Y,{label:"会话数",value:E.input.sessionCount}),(0,b.jsx)(Y,{label:"消息数",value:E.input.messageCount}),(0,b.jsx)(Y,{label:"记忆数",value:E.input.memoryCount}),(0,b.jsx)(Y,{label:"动作总数",value:E.actions.total}),(0,b.jsx)(Y,{label:"待应用",value:E.actions.proposed}),(0,b.jsx)(Y,{label:"已应用",value:E.actions.applied}),(0,b.jsx)(Y,{label:"跳过",value:E.actions.skipped}),(0,b.jsx)(Y,{label:"失败",value:E.actions.failed})]}),(0,b.jsxs)("div",{className:"mt-5 flex flex-wrap gap-x-6 gap-y-1 text-xs text-muted-foreground",children:[(0,b.jsxs)("span",{children:["创建:",(0,b.jsx)(m.RelativeTime,{timestamp:new Date(E.createdAt).getTime()})]}),(0,b.jsxs)("span",{children:["更新:",(0,b.jsx)(m.RelativeTime,{timestamp:new Date(E.updatedAt).getTime()})]}),E.finishedAt&&(0,b.jsxs)("span",{children:["完成:",(0,b.jsx)(m.RelativeTime,{timestamp:new Date(E.finishedAt).getTime()})]}),E.input.scopes&&E.input.scopes.length>0&&(0,b.jsxs)("span",{children:["输入 scopes:",E.input.scopes.map(a=>[a.appId,a.tenantId,a.agentId,a.runId].filter(Boolean).join(" / ")||"-").slice(0,3).join(" | "),E.input.scopes.length>3&&` +${E.input.scopes.length-3}`]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"mb-3 text-sm font-semibold",children:"动作"}),(0,b.jsx)(Q,{memoryStoreName:w,dreamId:x})]}),(0,b.jsx)(l.ConfirmDialog,{open:A,onOpenChange:B,title:"确认取消记忆整理任务",description:"任务将停止后续动作生成,已应用的动作不会回滚。",variant:"danger",onConfirm:G}),(0,b.jsx)(j.Dialog,{open:C,onOpenChange:D,children:(0,b.jsxs)(j.DialogContent,{className:"max-w-2xl",children:[(0,b.jsx)(j.DialogHeader,{children:(0,b.jsx)(j.DialogTitle,{children:"最后一次错误"})}),(0,b.jsx)("pre",{className:"max-h-96 overflow-auto rounded bg-danger-soft p-3 text-xs text-danger",children:E.lastError})]})})]}):(0,b.jsx)("div",{className:"rounded-lg border border-dashed py-10 text-center text-sm text-muted-foreground",children:"任务不存在或已被删除"})]})}],909598)}];
|
|
1
|
+
module.exports=[909598,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(880470),e=a.i(263265),f=a.i(700623),g=a.i(637102),h=a.i(776192),i=a.i(604395),j=a.i(843836),k=a.i(887617),l=a.i(324567),m=a.i(865271),n=a.i(983366),o=a.i(421347),p=a.i(225377),q=a.i(739096);let r=new Set(["completed","completed_with_failures","failed","cancelled"]);var s=a.i(933596),t=a.i(895487),u=a.i(1078),v=a.i(36890),w=a.i(663525),x=a.i(350681),y=a.i(109734),z=a.i(223301),A=a.i(434841),B=a.i(726436),C=a.i(364565);let D={ADD:"bg-success-soft text-success",UPDATE:"bg-info-soft text-info",DELETE:"bg-danger-soft text-danger",MERGE:"bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]",NOOP:"bg-muted text-muted-foreground",EMIT_SKILL:"bg-success-soft text-success",EMIT_PROFILE:"bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]"};function E({open:a,onOpenChange:c,memoryStoreName:d,selected:e,onConfirm:f,busy:g}){let i={};for(let a of e)i[a.action]=(i[a.action]??0)+1;let k=(i.DELETE??0)>0,l=e.slice(0,6),m=e.length-l.length;return(0,b.jsx)(j.Dialog,{open:a,onOpenChange:c,children:(0,b.jsxs)(j.DialogContent,{className:"max-w-xl",children:[(0,b.jsxs)(j.DialogHeader,{children:[(0,b.jsx)(j.DialogTitle,{children:"确认应用所选动作"}),(0,b.jsxs)(j.DialogDescription,{children:["将对记忆库 ",(0,b.jsx)("span",{className:"font-mono",children:d})," ","应用 ",e.length," 条动作。该操作会写入记忆库,无法自动撤销。"]})]}),(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-2 rounded border border-[hsl(var(--border-light))] bg-[hsl(var(--muted)/0.3)] p-2",children:Object.keys(i).map(a=>(0,b.jsxs)("span",{className:(0,C.cn)("inline-flex items-center gap-1 rounded px-2 py-0.5 text-xs font-mono font-semibold",D[a]??"bg-muted text-muted-foreground"),children:[a," ",(0,b.jsxs)("span",{className:"font-normal opacity-80",children:["×",i[a]]})]},a))}),k&&(0,b.jsx)("p",{className:"rounded border border-[hsl(var(--destructive)/0.3)] bg-danger-soft/40 px-3 py-2 text-xs text-danger",children:"所选动作包含 DELETE,应用后对应记忆将被删除。"}),(0,b.jsxs)("ul",{className:"max-h-72 space-y-1.5 overflow-auto rounded border border-[hsl(var(--border-light))] p-2",children:[l.map(a=>(0,b.jsxs)("li",{className:"flex items-start gap-2 text-xs",children:[(0,b.jsx)("span",{className:(0,C.cn)("mt-0.5 shrink-0 rounded px-1.5 py-0.5 font-mono text-[10px] font-semibold",D[a.action]??"bg-muted text-muted-foreground"),children:a.action}),(0,b.jsx)("span",{className:"line-clamp-2 flex-1 text-foreground/85",children:a.newMemory?.text??a.reason??`(${a.actionId.slice(0,12)}…)`})]},a.actionId)),m>0&&(0,b.jsxs)("li",{className:"pt-1 text-center text-[11px] italic text-muted-foreground",children:[(0,b.jsx)(u.Sparkles,{className:"mr-1 inline-block h-3 w-3"}),"还有 ",m," 条动作未在此预览"]})]})]}),(0,b.jsxs)(j.DialogFooter,{children:[(0,b.jsx)(h.Button,{variant:"outline",onClick:()=>c(!1),disabled:g,children:"取消"}),(0,b.jsx)(h.Button,{variant:k?"destructive":"default",onClick:f,disabled:g,children:g?"应用中…":`确认应用 ${e.length} 条`})]})]})})}let F=[{value:"all",label:"全部状态"},{value:"proposed",label:"待应用"},{value:"applied",label:"已应用"},{value:"skipped",label:"已跳过"},{value:"failed",label:"失败"}],G=[{value:"all",label:"全部类型"},{value:"ADD",label:"ADD"},{value:"UPDATE",label:"UPDATE"},{value:"DELETE",label:"DELETE"},{value:"MERGE",label:"MERGE"},{value:"NOOP",label:"NOOP"},{value:"EMIT_SKILL",label:"EMIT_SKILL"},{value:"EMIT_PROFILE",label:"EMIT_PROFILE"}],H=[{value:"created_at_asc",label:"创建时间 ↑"},{value:"created_at_desc",label:"创建时间 ↓"},{value:"confidence_desc",label:"置信度 ↓"}],I={proposed:"bg-info-soft text-info",applied:"bg-success-soft text-success",skipped:"bg-muted text-muted-foreground",failed:"bg-danger-soft text-danger"},J={proposed:"待应用",applied:"已应用",skipped:"已跳过",failed:"失败"},K={ADD:"bg-success-soft text-success",UPDATE:"bg-info-soft text-info",DELETE:"bg-danger-soft text-danger",MERGE:"bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]",NOOP:"bg-muted text-muted-foreground",EMIT_SKILL:"bg-success-soft text-success",EMIT_PROFILE:"bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]"};function L({action:a}){return(0,b.jsx)("span",{className:(0,C.cn)("inline-flex items-center rounded px-1.5 py-0.5 text-[10px] font-mono font-semibold",K[a]??"bg-muted text-muted-foreground"),children:a})}function M({action:a,memoryStoreName:c}){let{action:d,newMemory:e,newExtract:f,targetMemoryId:g,targetScope:h,reason:i}=a;if("EMIT_SKILL"===d||"EMIT_PROFILE"===d)return f?(0,b.jsxs)("span",{className:"line-clamp-2 text-xs",children:[(0,b.jsx)("span",{className:(0,C.cn)("mr-1 rounded px-1 py-px text-[10px] font-medium","EMIT_SKILL"===d?"bg-success-soft text-success":"bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]"),children:"EMIT_SKILL"===d?"技能":"画像"}),f.name,f.description&&(0,b.jsxs)("span",{className:"text-muted-foreground",children:[" — ",f.description]})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"});if("ADD"===d||"UPDATE"===d){let a=e?.text;return a?(0,b.jsxs)("span",{className:"line-clamp-2 text-xs",children:["UPDATE"===d&&(0,b.jsx)("span",{className:"mr-1 rounded bg-info-soft px-1 py-px text-[10px] text-info",children:"新"}),a]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"})}return"NOOP"===d?(0,b.jsx)("span",{className:"line-clamp-2 text-xs italic text-muted-foreground",children:i||"无操作"}):(0,b.jsx)(N,{memoryStoreName:c,memoryId:g,scope:h,verbPrefix:"DELETE"===d?"删除":"合并"})}function N({memoryStoreName:a,memoryId:c,scope:d,verbPrefix:e}){let f=(0,B.useMemoryUnit)(a,c,d);if(!c)return(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"});if(f.isLoading)return(0,b.jsx)(i.Skeleton,{className:"h-3 w-32"});let g=f.data?.memory?.text;return g?(0,b.jsxs)("span",{className:"line-clamp-2 text-xs",children:[(0,b.jsx)("span",{className:"mr-1 rounded bg-warning-soft px-1 py-px text-[10px] text-warning",children:e}),g]}):(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[e,":原记忆已不可读"]})}function O({status:a}){return(0,b.jsx)("span",{className:(0,C.cn)("inline-flex items-center rounded-full px-2 py-0.5 text-[11px] font-medium select-none whitespace-nowrap",I[a]??"bg-muted text-muted-foreground"),children:J[a]??a})}function P(a){return a&&[a.appId,a.tenantId,a.agentId,a.runId].filter(Boolean).join(" / ")||"-"}function Q({memoryStoreName:a,dreamId:d,taskType:f}){let g,j="skill"===f||"profile"===f,[k,l]=(0,c.useState)("all"),[m,r]=(0,c.useState)("all"),[B,C]=(0,c.useState)("created_at_asc"),[D,I]=(0,c.useState)(0),J=function(a,b,c,d){let{context:e,ready:f}=(0,q.useRuntimeContext)();return(0,n.useQuery)({queryKey:p.queryKeys.dreamActions(e.dataScopeKey,a,b,c,d?.nextToken,d?.limit),queryFn:()=>(0,o.listDreamActions)(a,b,c,d),enabled:f&&!!a&&!!b})}(a,d,(0,c.useMemo)(()=>{let a={orderBy:B};return"all"!==k&&(a.status=k),"all"!==m&&(a.action=m),D>0&&(a.minConfidence=D),a},[k,m,B,D]),{limit:100}),K=J.data?.items??[],[N,R]=(0,c.useState)(new Set),[T,U]=(0,c.useState)(null),[V,W]=(0,c.useState)(!1),X=(g=(0,t.useQueryClient)(),(0,s.useMutation)({mutationFn:({actionIds:b,applier:c})=>(0,o.applyDreamActions)(a,d,b,c),onSuccess:()=>{g.invalidateQueries({queryKey:["memory"],predicate:b=>Array.isArray(b.queryKey)&&b.queryKey.includes(a)&&b.queryKey.includes(d)}),g.invalidateQueries({queryKey:["memory"],predicate:b=>Array.isArray(b.queryKey)&&b.queryKey.includes(a)&&(b.queryKey.includes("units")||b.queryKey.includes("scopes"))})}})),Y=a=>"proposed"===a.status&&"EMIT_SKILL"!==a.action&&"EMIT_PROFILE"!==a.action,Z=K.filter(Y).length,$=Z>0&&K.every(a=>!Y(a)||N.has(a.actionId)),_=async()=>{try{let a=await X.mutateAsync({actionIds:Array.from(N)});e.toast.success(`Apply 完成:成功 ${a.applied},失败 ${a.failed}`),R(new Set),W(!1)}catch(b){let a=b instanceof Error?b.message:"应用失败";e.toast.error(a)}};return(0,b.jsx)(A.TooltipProvider,{children:(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 rounded-md border border-[hsl(var(--border-light))] p-3",children:[(0,b.jsxs)(w.Select,{value:k,onValueChange:l,children:[(0,b.jsx)(w.SelectTrigger,{className:"h-8 w-32 text-sm",children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsx)(w.SelectContent,{children:F.map(a=>(0,b.jsx)(w.SelectItem,{value:a.value,children:a.label},a.value))})]}),!j&&(0,b.jsxs)(w.Select,{value:m,onValueChange:r,children:[(0,b.jsx)(w.SelectTrigger,{className:"h-8 w-32 text-sm",children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsx)(w.SelectContent,{children:G.map(a=>(0,b.jsx)(w.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsxs)(w.Select,{value:B,onValueChange:a=>C(a),children:[(0,b.jsx)(w.SelectTrigger,{className:"h-8 w-32 text-sm",children:(0,b.jsx)(w.SelectValue,{})}),(0,b.jsx)(w.SelectContent,{children:H.map(a=>(0,b.jsx)(w.SelectItem,{value:a.value,children:a.label},a.value))})]}),!j&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"最小置信度"}),(0,b.jsx)(x.Slider,{value:[D],max:1,step:.05,onValueChange:a=>I(a[0]??0),className:"w-32"}),(0,b.jsx)("span",{className:"font-mono text-xs",children:D.toFixed(2)})]}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["已选 ",N.size]}),(0,b.jsx)(h.Button,{size:"sm",disabled:0===N.size||X.isPending,onClick:()=>W(!0),children:X.isPending?"应用中…":`Apply selected (${N.size})`})]})]})]}),J.isLoading?(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(i.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(i.Skeleton,{className:"h-10 w-full"})]}):0===K.length?(0,b.jsxs)("div",{className:"rounded-lg border border-dashed border-[hsl(var(--border))] py-10 text-center text-sm text-muted-foreground",children:[(0,b.jsx)(u.Sparkles,{className:"mx-auto mb-2 h-6 w-6 text-muted-foreground/60"}),j?"暂无产出结果。请确认输入 scope 下有足够的对话消息。":"当前过滤条件下暂无动作"]}):(0,b.jsx)("div",{className:"rounded-lg border border-[hsl(var(--border))]",children:(0,b.jsxs)(z.Table,{children:[(0,b.jsx)(z.TableHeader,{children:(0,b.jsxs)(z.TableRow,{children:[!j&&(0,b.jsx)(z.TableHead,{className:"w-8",children:(0,b.jsx)(v.Checkbox,{checked:$,onCheckedChange:()=>{$?R(new Set):R(new Set(K.filter(Y).map(a=>a.actionId)))},disabled:0===Z,"aria-label":"全选可应用动作"})}),(0,b.jsx)(z.TableHead,{children:j?"产出类型":"类型"}),(0,b.jsx)(z.TableHead,{children:"状态"}),(0,b.jsx)(z.TableHead,{children:"目标 scope"}),(0,b.jsx)(z.TableHead,{children:j?"内容":"影响"}),!j&&(0,b.jsx)(z.TableHead,{className:"text-right",children:"置信度"})]})}),(0,b.jsx)(z.TableBody,{children:K.map(c=>{let d=Y(c);return(0,b.jsxs)(z.TableRow,{className:"cursor-pointer hover:bg-[hsl(var(--accent))]",onClick:()=>U(c),children:[!j&&(0,b.jsx)(z.TableCell,{onClick:a=>a.stopPropagation(),children:d?(0,b.jsx)(v.Checkbox,{checked:N.has(c.actionId),onCheckedChange:()=>{var a;return a=c.actionId,void R(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},"aria-label":"选择此动作"}):(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{children:(0,b.jsx)(v.Checkbox,{checked:!1,disabled:!0,"aria-label":"不可选"})})}),(0,b.jsx)(A.TooltipContent,{children:"仅 proposed 状态的动作可以 apply"})]})}),(0,b.jsx)(z.TableCell,{children:(0,b.jsx)(L,{action:c.action})}),(0,b.jsx)(z.TableCell,{children:(0,b.jsx)(O,{status:c.status})}),(0,b.jsx)(z.TableCell,{className:"text-xs",children:P(c.targetScope)}),(0,b.jsx)(z.TableCell,{className:"max-w-md",children:(0,b.jsx)(M,{action:c,memoryStoreName:a})}),!j&&(0,b.jsx)(z.TableCell,{className:"text-right font-mono text-xs",children:void 0!==c.confidence?c.confidence.toFixed(2):"-"})]},c.actionId)})})]})}),(0,b.jsx)(y.Sheet,{open:null!==T,onOpenChange:a=>!a&&U(null),children:(0,b.jsx)(y.SheetContent,{className:"w-[560px] sm:max-w-[560px]",children:T&&(0,b.jsx)(S,{detail:T,memoryStoreName:a})})}),(0,b.jsx)(E,{open:V,onOpenChange:W,memoryStoreName:a,selected:K.filter(a=>N.has(a.actionId)),onConfirm:_,busy:X.isPending})]})})}function R({detail:a,memoryStoreName:c}){let d="EMIT_SKILL"===a.action||"EMIT_PROFILE"===a.action,e=!d&&("UPDATE"===a.action||"DELETE"===a.action||"MERGE"===a.action),f=(0,B.useMemoryUnit)(c,e?a.targetMemoryId:void 0,e?a.targetScope:null,e),g=a.newMemory?.text;if(d){let c=a.newExtract;if(!c)return(0,b.jsx)("div",{className:"rounded border border-dashed border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.2)] p-3 text-xs italic text-muted-foreground",children:"无抽取结果"});let d="EMIT_SKILL"===a.action||"skill"===c.kind;return(0,b.jsxs)("div",{className:"space-y-2 rounded border border-[hsl(var(--border-light))] p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:(0,C.cn)("rounded px-1.5 py-px text-[10px] font-semibold",d?"bg-success-soft text-success":"bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]"),children:d?"技能":"画像"}),(0,b.jsx)("span",{className:"text-sm font-medium",children:c.name})]}),c.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:c.description}),c.instructions&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"指令内容"}),(0,b.jsx)("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap rounded bg-[hsl(var(--muted)/0.4)] p-2 text-xs",children:c.instructions})]})]})}if("NOOP"===a.action)return(0,b.jsx)("div",{className:"rounded border border-dashed border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.2)] p-3 text-xs italic text-muted-foreground",children:"NOOP — 无记忆变更"});let h=f.data?.memory?.text,j=f.data?.memory?.unit_type;return(0,b.jsxs)("div",{className:"space-y-3",children:[e&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"rounded bg-warning-soft px-1.5 py-px text-[10px] font-semibold text-warning",children:"修改前"}),"目标记忆",j&&(0,b.jsxs)("span",{className:"font-mono text-[10px] text-muted-foreground",children:["· ",j]})]}),f.isLoading?(0,b.jsx)(i.Skeleton,{className:"h-16 w-full"}):h?(0,b.jsx)("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap rounded bg-[hsl(var(--muted)/0.4)] p-2 text-xs",children:h}):(0,b.jsx)("p",{className:"rounded border border-dashed border-[hsl(var(--border))] p-2 text-xs italic text-muted-foreground",children:"原始记忆已不可读(可能已被其他 dream 任务删除或合并)"})]}),g&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,C.cn)("rounded px-1.5 py-px text-[10px] font-semibold","ADD"===a.action?"bg-success-soft text-success":"bg-info-soft text-info"),children:"ADD"===a.action?"将新增":"修改后"}),"新记忆",a.newMemory?.unitType&&(0,b.jsxs)("span",{className:"font-mono text-[10px] text-muted-foreground",children:["· ",a.newMemory.unitType]})]}),(0,b.jsx)("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap rounded bg-[hsl(var(--muted)/0.4)] p-2 text-xs",children:g})]}),"DELETE"===a.action&&(0,b.jsx)("p",{className:"rounded border border-dashed border-[hsl(var(--destructive)/0.3)] bg-danger-soft/40 p-2 text-xs text-danger",children:"应用后这条记忆将被删除。"}),"MERGE"===a.action&&(0,b.jsx)("p",{className:"rounded border border-dashed border-[hsl(var(--border))] p-2 text-xs text-muted-foreground",children:"应用后这条记忆将被合并入相关记忆。"})]})}function S({detail:a,memoryStoreName:c}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(y.SheetHeader,{children:[(0,b.jsxs)(y.SheetTitle,{children:[(0,b.jsx)(L,{action:a.action})," 动作详情"]}),(0,b.jsx)(y.SheetDescription,{className:"font-mono text-xs break-all",children:a.actionId})]}),(0,b.jsxs)("div",{className:"space-y-4 overflow-auto py-4 text-sm",children:[(0,b.jsx)(R,{detail:a,memoryStoreName:c}),(0,b.jsxs)("div",{className:"space-y-2 rounded border border-[hsl(var(--border-light))] p-3",children:[(0,b.jsx)(T,{label:"状态",children:(0,b.jsx)(O,{status:a.status})}),(0,b.jsx)(T,{label:"置信度",value:void 0!==a.confidence?a.confidence.toFixed(2):"-"}),(0,b.jsx)(T,{label:"目标 scope",value:P(a.targetScope)}),a.targetMemoryId&&(0,b.jsx)(T,{label:"目标 memory ID",value:a.targetMemoryId,mono:!0}),a.resultMemoryId&&(0,b.jsx)(T,{label:"结果 memory ID",value:a.resultMemoryId,mono:!0})]}),a.reason&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"推理依据"}),(0,b.jsx)("pre",{className:"max-h-40 overflow-auto whitespace-pre-wrap rounded bg-[hsl(var(--muted)/0.4)] p-2 text-xs",children:a.reason})]}),a.skippedReason&&(0,b.jsx)(T,{label:"跳过原因",value:`${a.skippedReason}${a.skippedReasonDetail?`(${a.skippedReasonDetail})`:""}`}),a.error&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"错误"}),(0,b.jsx)("pre",{className:"max-h-40 overflow-auto whitespace-pre-wrap rounded bg-danger-soft p-2 text-xs text-danger",children:a.error})]})]})]})}function T({label:a,value:c,mono:d,children:e}){return(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("p",{className:"w-28 shrink-0 text-xs text-muted-foreground",children:a}),e?(0,b.jsx)("div",{children:e}):(0,b.jsx)("p",{className:(0,C.cn)("flex-1 text-sm",d&&"font-mono"),children:c??"-"})]})}var U=a.i(601170);let V={queued:"bg-info-soft text-info",running:"bg-info-soft text-info",planning:"bg-info-soft text-info",applying:"bg-info-soft text-info",completed:"bg-success-soft text-success",completed_with_failures:"bg-warning-soft text-warning",failed:"bg-danger-soft text-danger",cancelled:"bg-muted text-muted-foreground"},W={queued:"排队中",running:"运行中",planning:"规划中",applying:"应用中",completed:"已完成",completed_with_failures:"完成(含失败)",failed:"失败",cancelled:"已取消"};function X({status:a}){let c=!r.has(a);return(0,b.jsxs)("span",{className:(0,C.cn)("inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium select-none whitespace-nowrap",V[a]??"bg-muted text-muted-foreground"),children:[c&&(0,b.jsxs)("span",{className:"relative flex h-1.5 w-1.5",children:[(0,b.jsx)("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-current opacity-60"}),(0,b.jsx)("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-current"})]}),W[a]??a]})}let Y={memory:"记忆整理",skill:"技能抽取",profile:"用户画像"},Z={memory:"bg-info-soft text-info",skill:"bg-success-soft text-success",profile:"bg-[hsl(var(--primary-soft,_220_90%_96%))] text-[hsl(var(--primary))]"};function $({label:a,value:c}){return(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)("span",{className:"text-base font-semibold tabular-nums",children:c})]})}a.s(["default",0,function(){let a,u,v=(0,d.useParams)(),w=(0,d.useRouter)(),x=decodeURIComponent(v.store),y=decodeURIComponent(v.dreamId),z=function(a,b){let{context:c,ready:d}=(0,q.useRuntimeContext)();return(0,n.useQuery)({queryKey:p.queryKeys.dreamTask(c.dataScopeKey,a,b),queryFn:()=>(0,o.getDreamTask)(a,b),enabled:d&&!!a&&!!b,refetchInterval:a=>{let b=a.state.data;return b?!r.has(b.status)&&5e3:5e3},refetchIntervalInBackground:!1})}(x,y),A=(a=(0,t.useQueryClient)(),(0,s.useMutation)({mutationFn:a=>(0,o.cancelDreamTask)(x,a),onSuccess:()=>{a.invalidateQueries({queryKey:["memory"],predicate:a=>Array.isArray(a.queryKey)&&a.queryKey.includes("dream-tasks")&&a.queryKey.includes(x)})}})),[B,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)(!1);if(z.error instanceof Error&&"code"in z.error&&"DREAMING_DISABLED"===z.error.code)return(0,b.jsx)(U.MemoryDreamDisabled,{});let G=z.data,H=G&&r.has(G.status),I=G?.taskType==="skill"||G?.taskType==="profile",J=async()=>{try{await A.mutateAsync(y),e.toast.success("已取消任务"),D(!1)}catch(b){let a=b instanceof Error?b.message:"取消失败";e.toast.error(a)}};return(0,b.jsxs)("div",{className:"space-y-5",children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:(0,b.jsxs)(h.Button,{variant:"ghost",size:"sm",onClick:()=>w.push(`/memory/${encodeURIComponent(x)}/dream`),children:[(0,b.jsx)(f.ArrowLeft,{className:"mr-1 h-3.5 w-3.5"}),"返回任务列表"]})}),z.isLoading?(0,b.jsx)(i.Skeleton,{className:"h-32 w-full"}):G?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"rounded-lg border border-[hsl(var(--border))] p-5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("h2",{className:"font-mono text-base",children:G.dreamId}),(u=G.taskType||"memory",(0,b.jsx)("span",{className:(0,C.cn)("inline-flex rounded-full px-2 py-0.5 text-xs font-medium whitespace-nowrap",Z[u]??"bg-muted text-muted-foreground"),children:Y[u]??u}))]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsx)(X,{status:G.status}),(!G.taskType||"memory"===G.taskType)&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"safe_auto"===G.applyMode?"应用模式:安全变更自动应用":"应用模式:建议(手动 apply)"}),(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)("span",{children:["Scope 输出:","promote_scope"===G.scopeOutputMode?"提升":"保留"]})]}),!H&&(0,b.jsx)("span",{className:"ml-1 italic",children:"· 每 5 秒自动刷新"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k.RefreshButton,{onClick:()=>z.refetch(),loading:z.isRefetching}),G.lastError&&(0,b.jsxs)(h.Button,{size:"sm",variant:"outline",onClick:()=>F(!0),className:"text-[hsl(var(--destructive))]",children:[(0,b.jsx)(g.AlertTriangle,{className:"mr-1 h-3.5 w-3.5"}),"查看错误"]}),!H&&(0,b.jsx)(h.Button,{size:"sm",variant:"outline",onClick:()=>D(!0),disabled:A.isPending,children:"取消任务"})]})]}),(0,b.jsxs)("div",{className:"mt-5 grid grid-cols-2 gap-4 sm:grid-cols-4",children:[(0,b.jsx)($,{label:"会话数",value:G.input.sessionCount}),(0,b.jsx)($,{label:"消息数",value:G.input.messageCount}),(!G.taskType||"memory"===G.taskType)&&(0,b.jsx)($,{label:"记忆数",value:G.input.memoryCount}),(0,b.jsx)($,{label:I?"产出数":"动作总数",value:G.actions.total}),I?(0,b.jsx)($,{label:"已生效",value:G.actions.applied}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{label:"待应用",value:G.actions.proposed}),(0,b.jsx)($,{label:"已应用",value:G.actions.applied}),(0,b.jsx)($,{label:"跳过",value:G.actions.skipped})]}),G.actions.failed>0&&(0,b.jsx)($,{label:"失败",value:G.actions.failed})]}),(0,b.jsxs)("div",{className:"mt-5 flex flex-wrap gap-x-6 gap-y-1 text-xs text-muted-foreground",children:[(0,b.jsxs)("span",{children:["创建:",(0,b.jsx)(m.RelativeTime,{timestamp:new Date(G.createdAt).getTime()})]}),(0,b.jsxs)("span",{children:["更新:",(0,b.jsx)(m.RelativeTime,{timestamp:new Date(G.updatedAt).getTime()})]}),G.finishedAt&&(0,b.jsxs)("span",{children:["完成:",(0,b.jsx)(m.RelativeTime,{timestamp:new Date(G.finishedAt).getTime()})]}),G.input.scopes&&G.input.scopes.length>0&&(0,b.jsxs)("span",{children:["输入 scopes:",G.input.scopes.map(a=>[a.appId,a.tenantId,a.agentId,a.runId].filter(Boolean).join(" / ")||"-").slice(0,3).join(" | "),G.input.scopes.length>3&&` +${G.input.scopes.length-3}`]})]})]}),G.instructions&&(0,b.jsxs)("div",{className:"rounded-lg border border-[hsl(var(--border))] p-4",children:[(0,b.jsx)("h3",{className:"mb-2 text-sm font-semibold",children:"profile"===G.taskType?"画像模板":"skill"===G.taskType?"抽取指引":"额外指引"}),(0,b.jsx)("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap rounded bg-[hsl(var(--muted)/0.4)] p-3 text-xs",children:G.instructions})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"mb-3 text-sm font-semibold",children:I?"产出结果":"动作"}),(0,b.jsx)(Q,{memoryStoreName:x,dreamId:y,taskType:G.taskType})]}),(0,b.jsx)(l.ConfirmDialog,{open:B,onOpenChange:D,title:"确认取消 Dream 任务",description:"任务将停止后续动作生成,已应用的动作不会回滚。",variant:"danger",onConfirm:J}),(0,b.jsx)(j.Dialog,{open:E,onOpenChange:F,children:(0,b.jsxs)(j.DialogContent,{className:"max-w-2xl",children:[(0,b.jsx)(j.DialogHeader,{children:(0,b.jsx)(j.DialogTitle,{children:"最后一次错误"})}),(0,b.jsx)("pre",{className:"max-h-96 overflow-auto rounded bg-danger-soft p-3 text-xs text-danger",children:G.lastError})]})})]}):(0,b.jsx)("div",{className:"rounded-lg border border-dashed py-10 text-center text-sm text-muted-foreground",children:"任务不存在或已被删除"})]})}],909598)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_app_%28dashboard%29_memory_%5Bstore%5D_dream_%5BdreamId%5D_page_tsx_0wy3tv6._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[696627,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(880470),e=a.i(25825),f=a.i(1078),g=a.i(776192),h=a.i(604395),i=a.i(663525),j=a.i(223301),k=a.i(887617),l=a.i(310215),m=a.i(865271),n=a.i(983366),o=a.i(421347),p=a.i(225377),q=a.i(739096),r=a.i(908264),s=a.i(601170),t=a.i(71562),u=a.i(771071),v=a.i(680904),w=a.i(263265),x=a.i(655295),y=a.i(843836),z=a.i(172518),A=a.i(962491),B=a.i(470535),C=a.i(27692),D=a.i(692942),E=a.i(933596),F=a.i(895487);let G=v.z.object({appId:v.z.string().trim().min(1,"appId 必填"),tenantId:v.z.string().trim().optional(),agentId:v.z.string().trim().optional(),runId:v.z.string().trim().optional()}).refine(a=>Object.values(a).some(a=>a&&"*"!==a),{message:"至少指定一个非通配符字段"}),H=v.z.object({scopes:v.z.array(G).min(1,"至少一个 scope"),applyMode:v.z.enum(["proposal","safe_auto"]),scopeOutputMode:v.z.enum(["preserve_scope","promote_scope"]).optional(),minTimestamp:v.z.string().optional(),maxTimestamp:v.z.string().optional(),maxSessions:v.z.string().optional(),maxMessages:v.z.string().optional(),maxMemories:v.z.string().optional(),instructions:v.z.string().optional(),clientToken:v.z.string().optional(),thresholdAdd:v.z.string().optional(),thresholdUpdate:v.z.string().optional(),thresholdMerge:v.z.string().optional()});function I(a){if(!a)return;let b=Number(a);if(Number.isFinite(b)&&Number.isInteger(b)&&!(b<=0))return b}function J(a){if(!a)return;let b=Number(a);if(Number.isFinite(b))return b}function K({memoryStoreName:a,initialScope:f,open:h,onOpenChange:j}){let k,l=(0,d.useRouter)(),m=(k=(0,F.useQueryClient)(),(0,E.useMutation)({mutationFn:b=>(0,o.createDreamTask)(a,b),onSuccess:()=>{k.invalidateQueries({queryKey:["memory"],predicate:b=>Array.isArray(b.queryKey)&&b.queryKey.includes("dream-tasks")&&b.queryKey.includes(a)})}})),n=(0,t.useForm)({resolver:(0,u.zodResolver)(H),defaultValues:{scopes:[{appId:f?.appId&&"*"!==f.appId?f.appId:"",tenantId:f?.tenantId&&"*"!==f.tenantId?f.tenantId:"",agentId:f?.agentId&&"*"!==f.agentId?f.agentId:"",runId:f?.runId&&"*"!==f.runId?f.runId:""}],applyMode:"proposal"}}),{fields:p,append:q,remove:r}=(0,t.useFieldArray)({control:n.control,name:"scopes"}),[s,v]=(0,c.useState)(!1),[G,O]=(0,c.useState)(!1),P=async b=>{let c={},d=J(b.thresholdAdd),e=J(b.thresholdUpdate),f=J(b.thresholdMerge);void 0!==d&&(c.add=d),void 0!==e&&(c.update=e),void 0!==f&&(c.merge=f);try{let d=await m.mutateAsync({scopes:b.scopes.map(a=>{let b={appId:a.appId};return a.tenantId&&(b.tenantId=a.tenantId),a.agentId&&(b.agentId=a.agentId),a.runId&&(b.runId=a.runId),b}),applyMode:b.applyMode,...b.scopeOutputMode&&{scopeOutputMode:b.scopeOutputMode},...b.minTimestamp&&{minTimestamp:b.minTimestamp},...b.maxTimestamp&&{maxTimestamp:b.maxTimestamp},...void 0!==I(b.maxSessions)&&{maxSessions:I(b.maxSessions)},...void 0!==I(b.maxMessages)&&{maxMessages:I(b.maxMessages)},...void 0!==I(b.maxMemories)&&{maxMemories:I(b.maxMemories)},...b.instructions&&{instructions:b.instructions},...b.clientToken&&{clientToken:b.clientToken},...Object.keys(c).length>0&&{confidenceThresholds:c}});w.toast.success("记忆整理任务已创建"),j(!1),n.reset(),l.push(`/memory/${encodeURIComponent(a)}/dream/${encodeURIComponent(d.dreamId)}`)}catch(b){let a=b instanceof Error?b.message:"创建失败";w.toast.error(a)}};return(0,b.jsx)(y.Dialog,{open:h,onOpenChange:j,children:(0,b.jsxs)(y.DialogContent,{className:"max-w-2xl",children:[(0,b.jsxs)(y.DialogHeader,{children:[(0,b.jsx)(y.DialogTitle,{children:"新建记忆整理任务"}),(0,b.jsx)(y.DialogDescription,{children:"Dream 会读取所选 scopes 下的消息与已有记忆,让 LLM 识别模式后生成动作建议(或自动应用)。 建议先用「建议模式」生成提案、人工审核后再应用。"})]}),(0,b.jsx)(D.Form,{...n,children:(0,b.jsxs)("form",{onSubmit:n.handleSubmit(P),className:"space-y-5",children:[(0,b.jsxs)("section",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)(A.Label,{className:"text-sm font-medium",children:"Scope 范围"}),(0,b.jsxs)(g.Button,{type:"button",size:"sm",variant:"ghost",onClick:()=>q({appId:"",tenantId:"",agentId:"",runId:""}),children:[(0,b.jsx)(e.Plus,{className:"mr-1 h-3.5 w-3.5"}),"添加 scope"]})]}),(0,b.jsx)("div",{className:"space-y-3",children:p.map((a,c)=>(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 rounded-md border border-[hsl(var(--border-light))] p-3 sm:grid-cols-4",children:[(0,b.jsx)(L,{name:`scopes.${c}.appId`,label:"应用",form:n,required:!0}),(0,b.jsx)(L,{name:`scopes.${c}.tenantId`,label:"租户",form:n}),(0,b.jsx)(L,{name:`scopes.${c}.agentId`,label:"智能体",form:n}),(0,b.jsx)(L,{name:`scopes.${c}.runId`,label:"会话",form:n}),p.length>1&&(0,b.jsx)("div",{className:"sm:col-span-4 flex justify-end",children:(0,b.jsxs)(g.Button,{type:"button",size:"sm",variant:"ghost",onClick:()=>r(c),className:"text-[hsl(var(--destructive))]",children:[(0,b.jsx)(x.Trash2,{className:"mr-1 h-3 w-3"}),"删除"]})})]},a.id))})]}),(0,b.jsxs)("section",{className:"grid gap-3 sm:grid-cols-2",children:[(0,b.jsx)(D.FormField,{control:n.control,name:"applyMode",render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{children:"应用模式"}),(0,b.jsxs)(i.Select,{onValueChange:a.onChange,defaultValue:a.value,children:[(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(i.SelectTrigger,{children:(0,b.jsx)(i.SelectValue,{})})}),(0,b.jsxs)(i.SelectContent,{children:[(0,b.jsx)(i.SelectItem,{value:"proposal",children:"建议模式(生成后人工 apply,推荐)"}),(0,b.jsx)(i.SelectItem,{value:"safe_auto",children:"安全自动(仅 ADD/UPDATE 自动;DELETE/跨 scope 仍需人工)"})]})]}),(0,b.jsx)(D.FormMessage,{})]})}),(0,b.jsx)(D.FormField,{control:n.control,name:"scopeOutputMode",render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{children:"Scope 输出模式"}),(0,b.jsxs)(i.Select,{onValueChange:a.onChange,value:a.value??"",children:[(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(i.SelectTrigger,{children:(0,b.jsx)(i.SelectValue,{placeholder:"使用默认(preserve_scope)"})})}),(0,b.jsxs)(i.SelectContent,{children:[(0,b.jsx)(i.SelectItem,{value:"preserve_scope",children:"保留原 scope"}),(0,b.jsx)(i.SelectItem,{value:"promote_scope",children:"提升到父级 scope"})]})]}),(0,b.jsx)(D.FormMessage,{})]})})]}),(0,b.jsx)(D.FormField,{control:n.control,name:"instructions",render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{children:"指令(可选)"}),(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(B.Textarea,{rows:2,placeholder:"给 dream 规划器的额外指引",...a})})]})}),(0,b.jsxs)(C.Collapsible,{open:G,onOpenChange:O,children:[(0,b.jsx)(C.CollapsibleTrigger,{asChild:!0,children:(0,b.jsxs)(g.Button,{type:"button",variant:"ghost",size:"sm",className:"px-0",children:[G?"▾":"▸"," 置信度阈值"]})}),(0,b.jsxs)(C.CollapsibleContent,{className:"grid gap-3 pt-2 sm:grid-cols-3",children:[(0,b.jsx)(M,{name:"thresholdAdd",label:"add",form:n,placeholder:"0.7"}),(0,b.jsx)(M,{name:"thresholdUpdate",label:"update",form:n,placeholder:"0.6"}),(0,b.jsx)(M,{name:"thresholdMerge",label:"merge",form:n,placeholder:"0.6"})]})]}),(0,b.jsxs)(C.Collapsible,{open:s,onOpenChange:v,children:[(0,b.jsx)(C.CollapsibleTrigger,{asChild:!0,children:(0,b.jsxs)(g.Button,{type:"button",variant:"ghost",size:"sm",className:"px-0",children:[s?"▾":"▸"," 高级"]})}),(0,b.jsxs)(C.CollapsibleContent,{className:"grid gap-3 pt-2 sm:grid-cols-2",children:[(0,b.jsx)(M,{name:"maxSessions",label:"最大会话数",form:n}),(0,b.jsx)(M,{name:"maxMessages",label:"最大消息数",form:n}),(0,b.jsx)(M,{name:"maxMemories",label:"最大记忆数",form:n}),(0,b.jsx)(N,{name:"minTimestamp",label:"最早时间",form:n}),(0,b.jsx)(N,{name:"maxTimestamp",label:"最晚时间",form:n}),(0,b.jsx)(D.FormField,{control:n.control,name:"clientToken",render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{children:"幂等 token"}),(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(z.Input,{placeholder:"可选",...a})})]})})]})]}),(0,b.jsxs)(y.DialogFooter,{children:[(0,b.jsx)(g.Button,{type:"button",variant:"outline",onClick:()=>j(!1),children:"取消"}),(0,b.jsx)(g.Button,{type:"submit",disabled:m.isPending,children:m.isPending?"创建中…":"创建任务"})]})]})})]})})}function L({name:a,label:c,form:d,required:e}){return(0,b.jsx)(D.FormField,{control:d.control,name:a,render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsxs)(D.FormLabel,{className:"text-xs",children:[c,e&&(0,b.jsx)("span",{className:"ml-0.5 text-[hsl(var(--destructive))]",children:"*"})]}),(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(z.Input,{className:"h-8 text-sm",...a,value:a.value??""})}),(0,b.jsx)(D.FormMessage,{})]})})}function M({name:a,label:c,form:d,placeholder:e}){return(0,b.jsx)(D.FormField,{control:d.control,name:a,render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{className:"text-xs",children:c}),(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(z.Input,{type:"number",className:"h-8 text-sm",placeholder:e,...a,value:"string"==typeof a.value?a.value:""})})]})})}function N({name:a,label:c,form:d}){return(0,b.jsx)(D.FormField,{control:d.control,name:a,render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{className:"text-xs",children:c}),(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(z.Input,{type:"datetime-local",className:"h-8 text-sm",...a,value:"string"==typeof a.value?a.value:""})})]})})}var O=a.i(364565);let P=[{value:"all",label:"全部状态"},{value:"queued",label:"排队中"},{value:"running",label:"运行中"},{value:"planning",label:"规划中"},{value:"applying",label:"应用中"},{value:"completed",label:"已完成"},{value:"completed_with_failures",label:"完成(含失败)"},{value:"failed",label:"失败"},{value:"cancelled",label:"已取消"}],Q={queued:"bg-info-soft text-info",running:"bg-info-soft text-info",planning:"bg-info-soft text-info",applying:"bg-info-soft text-info",completed:"bg-success-soft text-success",completed_with_failures:"bg-warning-soft text-warning",failed:"bg-danger-soft text-danger",cancelled:"bg-muted text-muted-foreground"},R={queued:"排队中",running:"运行中",planning:"规划中",applying:"应用中",completed:"已完成",completed_with_failures:"完成(含失败)",failed:"失败",cancelled:"已取消"},S=new Set(["completed","completed_with_failures","failed","cancelled"]);function T({status:a}){let c=!S.has(a);return(0,b.jsxs)("span",{className:(0,O.cn)("inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium select-none whitespace-nowrap",Q[a]??"bg-muted text-muted-foreground"),children:[c&&(0,b.jsxs)("span",{className:"relative flex h-1.5 w-1.5",children:[(0,b.jsx)("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-current opacity-60"}),(0,b.jsx)("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-current"})]}),R[a]??a]})}a.s(["default",0,function(){let a=decodeURIComponent((0,d.useParams)().store),t=(0,d.useRouter)(),u=(0,d.useSearchParams)().toString(),v=(0,c.useMemo)(()=>(0,r.buildMemoryScope)(new URLSearchParams(u)),[u]),[w,x]=(0,c.useState)("all"),[y,z]=(0,c.useState)(!1),[A,B]=(0,c.useState)(void 0),C=function(a,b,c){let{context:d,ready:e}=(0,q.useRuntimeContext)();return(0,n.useQuery)({queryKey:p.queryKeys.dreamTasks(d.dataScopeKey,a,b,c?.nextToken,c?.limit,{status:c?.status,minTimestamp:c?.minTimestamp,maxTimestamp:c?.maxTimestamp}),queryFn:()=>(0,o.listDreamTasks)(a,b,c),enabled:e&&!!a&&!!b?.appId})}(a,v,{limit:50,nextToken:A,status:"all"===w?void 0:w});if(C.error instanceof Error&&"code"in C.error&&"DREAMING_DISABLED"===C.error.code)return(0,b.jsx)(s.MemoryDreamDisabled,{});let D=C.data?.items??[];return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:"记忆整理"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"跨会话的记忆整理任务,识别模式后产出动作建议或自动应用"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(i.Select,{value:w,onValueChange:x,children:[(0,b.jsx)(i.SelectTrigger,{className:"h-8 w-40 text-sm",children:(0,b.jsx)(i.SelectValue,{})}),(0,b.jsx)(i.SelectContent,{children:P.map(a=>(0,b.jsx)(i.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(k.RefreshButton,{onClick:()=>C.refetch(),loading:C.isRefetching}),(0,b.jsxs)(g.Button,{size:"sm",onClick:()=>z(!0),children:[(0,b.jsx)(e.Plus,{className:"mr-1 h-3.5 w-3.5"}),"新建任务"]})]})]}),C.isLoading?(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(h.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(h.Skeleton,{className:"h-10 w-full"})]}):0===D.length?(0,b.jsx)(l.EmptyState,{icon:f.Sparkles,title:"暂无记忆整理任务",description:"all"===w?"记忆整理任务跨多个会话整合记忆。第一次使用时,先确保该 scope 下已经写入过几轮对话,再点右上角创建任务。":`当前过滤为「${P.find(a=>a.value===w)?.label??w}」状态,可切到「全部状态」看看`,action:(0,b.jsxs)(g.Button,{onClick:()=>z(!0),children:[(0,b.jsx)(e.Plus,{className:"mr-1 h-3.5 w-3.5"}),"新建任务"]})}):(0,b.jsx)("div",{className:"rounded-lg border border-[hsl(var(--border))]",children:(0,b.jsxs)(j.Table,{children:[(0,b.jsx)(j.TableHeader,{children:(0,b.jsxs)(j.TableRow,{children:[(0,b.jsx)(j.TableHead,{children:"Dream ID"}),(0,b.jsx)(j.TableHead,{children:"状态"}),(0,b.jsx)(j.TableHead,{children:"应用模式"}),(0,b.jsx)(j.TableHead,{className:"text-right",children:"动作"}),(0,b.jsx)(j.TableHead,{children:"创建时间"})]})}),(0,b.jsx)(j.TableBody,{children:D.map(c=>{let d=new Date(c.createdAt).getTime();return(0,b.jsxs)(j.TableRow,{className:"cursor-pointer hover:bg-[hsl(var(--accent))]",onClick:()=>t.push(`/memory/${encodeURIComponent(a)}/dream/${encodeURIComponent(c.dreamId)}`),children:[(0,b.jsx)(j.TableCell,{className:"max-w-[220px] truncate font-mono text-xs",children:c.dreamId}),(0,b.jsx)(j.TableCell,{children:(0,b.jsx)(T,{status:c.status})}),(0,b.jsxs)(j.TableCell,{className:"text-xs",children:["safe_auto"===c.applyMode?"自动":"建议","promote_scope"===c.scopeOutputMode&&(0,b.jsx)("span",{className:"ml-1 text-muted-foreground",children:"· 提升"})]}),(0,b.jsxs)(j.TableCell,{className:"text-right text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-medium text-foreground",children:c.actionCount??0}),(0,b.jsxs)("span",{className:"ml-1",children:["(",c.proposedCount??0," 待 / ",c.appliedCount??0," 应用 /"," ",c.skippedCount??0," 跳 / ",c.failedCount??0," 败)"]})]}),(0,b.jsx)(j.TableCell,{className:"text-xs text-muted-foreground",children:Number.isFinite(d)?(0,b.jsx)(m.RelativeTime,{timestamp:d}):c.createdAt})]},c.dreamId)})})]})}),C.data?.nextToken&&(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>B(C.data?.nextToken),children:"加载下一页"})}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["当前过滤 scope:",v&&[v.appId,v.tenantId,v.agentId,v.runId].filter(Boolean).join(" / ")||"-"]}),(0,b.jsx)(K,{memoryStoreName:a,initialScope:v,open:y,onOpenChange:z})]})}],696627)}];
|
|
1
|
+
module.exports=[696627,a=>{"use strict";var b=a.i(634020),c=a.i(971938),d=a.i(880470),e=a.i(25825),f=a.i(1078),g=a.i(776192),h=a.i(604395),i=a.i(663525),j=a.i(223301),k=a.i(887617),l=a.i(310215),m=a.i(865271),n=a.i(983366),o=a.i(421347),p=a.i(225377),q=a.i(739096),r=a.i(908264),s=a.i(601170),t=a.i(71562),u=a.i(771071),v=a.i(680904),w=a.i(263265),x=a.i(655295),y=a.i(843836),z=a.i(172518),A=a.i(962491),B=a.i(470535),C=a.i(27692),D=a.i(692942),E=a.i(933596),F=a.i(895487);let G=v.z.object({appId:v.z.string().trim().min(1,"appId 必填"),tenantId:v.z.string().trim().optional(),agentId:v.z.string().trim().optional(),runId:v.z.string().trim().optional()}).refine(a=>Object.values(a).some(a=>a&&"*"!==a),{message:"至少指定一个非通配符字段"}),H=v.z.object({taskType:v.z.enum(["memory","skill","profile"]),scopes:v.z.array(G).min(1,"至少一个 scope"),applyMode:v.z.enum(["proposal","safe_auto"]),scopeOutputMode:v.z.enum(["preserve_scope","promote_scope"]).optional(),minTimestamp:v.z.string().optional(),maxTimestamp:v.z.string().optional(),maxSessions:v.z.string().optional(),maxMessages:v.z.string().optional(),maxMemories:v.z.string().optional(),instructions:v.z.string().optional(),clientToken:v.z.string().optional(),thresholdAdd:v.z.string().optional(),thresholdUpdate:v.z.string().optional(),thresholdMerge:v.z.string().optional()});function I(a){if(!a)return;let b=Number(a);if(Number.isFinite(b)&&Number.isInteger(b)&&!(b<=0))return b}function J(a){if(!a)return;let b=Number(a);if(Number.isFinite(b))return b}function K({memoryStoreName:a,initialScope:f,open:h,onOpenChange:j}){let k,l=(0,d.useRouter)(),m=(k=(0,F.useQueryClient)(),(0,E.useMutation)({mutationFn:b=>(0,o.createDreamTask)(a,b),onSuccess:()=>{k.invalidateQueries({queryKey:["memory"],predicate:b=>Array.isArray(b.queryKey)&&b.queryKey.includes("dream-tasks")&&b.queryKey.includes(a)})}})),n=(0,t.useForm)({resolver:(0,u.zodResolver)(H),defaultValues:{taskType:"memory",scopes:[{appId:f?.appId&&"*"!==f.appId?f.appId:"",tenantId:f?.tenantId&&"*"!==f.tenantId?f.tenantId:"",agentId:f?.agentId&&"*"!==f.agentId?f.agentId:"",runId:f?.runId&&"*"!==f.runId?f.runId:""}],applyMode:"proposal"}}),{fields:p,append:q,remove:r}=(0,t.useFieldArray)({control:n.control,name:"scopes"}),s=n.watch("taskType"),v="memory"===s,[G,O]=(0,c.useState)(!1),[P,Q]=(0,c.useState)(!1),R=async b=>{let c={},d=J(b.thresholdAdd),e=J(b.thresholdUpdate),f=J(b.thresholdMerge);void 0!==d&&(c.add=d),void 0!==e&&(c.update=e),void 0!==f&&(c.merge=f);let g="memory"===b.taskType;try{let d=await m.mutateAsync({scopes:b.scopes.map(a=>{let b={appId:a.appId};return a.tenantId&&(b.tenantId=a.tenantId),a.agentId&&(b.agentId=a.agentId),a.runId&&(b.runId=a.runId),b}),taskType:b.taskType,...g&&{applyMode:b.applyMode},...g&&b.scopeOutputMode&&{scopeOutputMode:b.scopeOutputMode},...b.minTimestamp&&{minTimestamp:b.minTimestamp},...b.maxTimestamp&&{maxTimestamp:b.maxTimestamp},...void 0!==I(b.maxSessions)&&{maxSessions:I(b.maxSessions)},...void 0!==I(b.maxMessages)&&{maxMessages:I(b.maxMessages)},...void 0!==I(b.maxMemories)&&{maxMemories:I(b.maxMemories)},...b.instructions&&{instructions:b.instructions},...b.clientToken&&{clientToken:b.clientToken},...g&&Object.keys(c).length>0&&{confidenceThresholds:c}});w.toast.success({memory:"记忆整理任务已创建",skill:"技能抽取任务已创建",profile:"用户画像任务已创建"}[b.taskType]),j(!1),n.reset(),l.push(`/memory/${encodeURIComponent(a)}/dream/${encodeURIComponent(d.dreamId)}`)}catch(b){let a=b instanceof Error?b.message:"创建失败";w.toast.error(a)}};return(0,b.jsx)(y.Dialog,{open:h,onOpenChange:j,children:(0,b.jsxs)(y.DialogContent,{className:"max-w-2xl",children:[(0,b.jsxs)(y.DialogHeader,{children:[(0,b.jsx)(y.DialogTitle,{children:"新建 Dream 任务"}),(0,b.jsx)(y.DialogDescription,{children:"Dream 会读取所选 scopes 下的消息与已有记忆,让 LLM 进行分析处理。 记忆整理模式建议先用「建议模式」生成提案、人工审核后再应用。"})]}),(0,b.jsx)(D.Form,{...n,children:(0,b.jsxs)("form",{onSubmit:n.handleSubmit(R),className:"space-y-5",children:[(0,b.jsx)(D.FormField,{control:n.control,name:"taskType",render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{children:"任务类型"}),(0,b.jsxs)(i.Select,{onValueChange:a.onChange,defaultValue:a.value,children:[(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(i.SelectTrigger,{children:(0,b.jsx)(i.SelectValue,{})})}),(0,b.jsxs)(i.SelectContent,{children:[(0,b.jsx)(i.SelectItem,{value:"memory",children:"记忆整理 — 整合跨会话记忆"}),(0,b.jsx)(i.SelectItem,{value:"skill",children:"技能抽取 — 从对话中提取可复用技能"}),(0,b.jsx)(i.SelectItem,{value:"profile",children:"用户画像 — 整理用户画像"})]})]}),(0,b.jsx)(D.FormMessage,{})]})}),(0,b.jsxs)("section",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)(A.Label,{className:"text-sm font-medium",children:"Scope 范围"}),(0,b.jsxs)(g.Button,{type:"button",size:"sm",variant:"ghost",onClick:()=>q({appId:"",tenantId:"",agentId:"",runId:""}),children:[(0,b.jsx)(e.Plus,{className:"mr-1 h-3.5 w-3.5"}),"添加 scope"]})]}),(0,b.jsx)("div",{className:"space-y-3",children:p.map((a,c)=>(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 rounded-md border border-[hsl(var(--border-light))] p-3 sm:grid-cols-4",children:[(0,b.jsx)(L,{name:`scopes.${c}.appId`,label:"应用",form:n,required:!0}),(0,b.jsx)(L,{name:`scopes.${c}.tenantId`,label:"租户",form:n}),(0,b.jsx)(L,{name:`scopes.${c}.agentId`,label:"智能体",form:n}),(0,b.jsx)(L,{name:`scopes.${c}.runId`,label:"会话",form:n}),p.length>1&&(0,b.jsx)("div",{className:"sm:col-span-4 flex justify-end",children:(0,b.jsxs)(g.Button,{type:"button",size:"sm",variant:"ghost",onClick:()=>r(c),className:"text-[hsl(var(--destructive))]",children:[(0,b.jsx)(x.Trash2,{className:"mr-1 h-3 w-3"}),"删除"]})})]},a.id))})]}),v&&(0,b.jsxs)("section",{className:"grid gap-3 sm:grid-cols-2",children:[(0,b.jsx)(D.FormField,{control:n.control,name:"applyMode",render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{children:"应用模式"}),(0,b.jsxs)(i.Select,{onValueChange:a.onChange,defaultValue:a.value,children:[(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(i.SelectTrigger,{children:(0,b.jsx)(i.SelectValue,{})})}),(0,b.jsxs)(i.SelectContent,{children:[(0,b.jsx)(i.SelectItem,{value:"proposal",children:"建议模式(生成后人工 apply,推荐)"}),(0,b.jsx)(i.SelectItem,{value:"safe_auto",children:"安全自动(仅 ADD/UPDATE 自动;DELETE/跨 scope 仍需人工)"})]})]}),(0,b.jsx)(D.FormMessage,{})]})}),(0,b.jsx)(D.FormField,{control:n.control,name:"scopeOutputMode",render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{children:"Scope 输出模式"}),(0,b.jsxs)(i.Select,{onValueChange:a.onChange,value:a.value??"",children:[(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(i.SelectTrigger,{children:(0,b.jsx)(i.SelectValue,{placeholder:"使用默认(preserve_scope)"})})}),(0,b.jsxs)(i.SelectContent,{children:[(0,b.jsx)(i.SelectItem,{value:"preserve_scope",children:"保留原 scope"}),(0,b.jsx)(i.SelectItem,{value:"promote_scope",children:"提升到父级 scope"})]})]}),(0,b.jsx)(D.FormMessage,{})]})})]}),(0,b.jsx)(D.FormField,{control:n.control,name:"instructions",render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{children:"指令(可选)"}),(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(B.Textarea,{rows:2,placeholder:{memory:"给 dream 规划器的额外指引",skill:"指导技能抽取的方向,例如重点关注的领域",profile:"用户画像整理的额外指引,例如需要关注的维度"}[s],...a})})]})}),v&&(0,b.jsxs)(C.Collapsible,{open:P,onOpenChange:Q,children:[(0,b.jsx)(C.CollapsibleTrigger,{asChild:!0,children:(0,b.jsxs)(g.Button,{type:"button",variant:"ghost",size:"sm",className:"px-0",children:[P?"▾":"▸"," 置信度阈值"]})}),(0,b.jsxs)(C.CollapsibleContent,{className:"grid gap-3 pt-2 sm:grid-cols-3",children:[(0,b.jsx)(M,{name:"thresholdAdd",label:"add",form:n,placeholder:"0.7"}),(0,b.jsx)(M,{name:"thresholdUpdate",label:"update",form:n,placeholder:"0.6"}),(0,b.jsx)(M,{name:"thresholdMerge",label:"merge",form:n,placeholder:"0.6"})]})]}),(0,b.jsxs)(C.Collapsible,{open:G,onOpenChange:O,children:[(0,b.jsx)(C.CollapsibleTrigger,{asChild:!0,children:(0,b.jsxs)(g.Button,{type:"button",variant:"ghost",size:"sm",className:"px-0",children:[G?"▾":"▸"," 高级"]})}),(0,b.jsxs)(C.CollapsibleContent,{className:"grid gap-3 pt-2 sm:grid-cols-2",children:[(0,b.jsx)(M,{name:"maxSessions",label:"最大会话数",form:n}),(0,b.jsx)(M,{name:"maxMessages",label:"最大消息数",form:n}),(0,b.jsx)(M,{name:"maxMemories",label:"最大记忆数",form:n}),(0,b.jsx)(N,{name:"minTimestamp",label:"最早时间",form:n}),(0,b.jsx)(N,{name:"maxTimestamp",label:"最晚时间",form:n}),(0,b.jsx)(D.FormField,{control:n.control,name:"clientToken",render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{children:"幂等 token"}),(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(z.Input,{placeholder:"可选",...a})})]})})]})]}),(0,b.jsxs)(y.DialogFooter,{children:[(0,b.jsx)(g.Button,{type:"button",variant:"outline",onClick:()=>j(!1),children:"取消"}),(0,b.jsx)(g.Button,{type:"submit",disabled:m.isPending,children:m.isPending?"创建中…":"创建任务"})]})]})})]})})}function L({name:a,label:c,form:d,required:e}){return(0,b.jsx)(D.FormField,{control:d.control,name:a,render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsxs)(D.FormLabel,{className:"text-xs",children:[c,e&&(0,b.jsx)("span",{className:"ml-0.5 text-[hsl(var(--destructive))]",children:"*"})]}),(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(z.Input,{className:"h-8 text-sm",...a,value:a.value??""})}),(0,b.jsx)(D.FormMessage,{})]})})}function M({name:a,label:c,form:d,placeholder:e}){return(0,b.jsx)(D.FormField,{control:d.control,name:a,render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{className:"text-xs",children:c}),(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(z.Input,{type:"number",className:"h-8 text-sm",placeholder:e,...a,value:"string"==typeof a.value?a.value:""})})]})})}function N({name:a,label:c,form:d}){return(0,b.jsx)(D.FormField,{control:d.control,name:a,render:({field:a})=>(0,b.jsxs)(D.FormItem,{children:[(0,b.jsx)(D.FormLabel,{className:"text-xs",children:c}),(0,b.jsx)(D.FormControl,{children:(0,b.jsx)(z.Input,{type:"datetime-local",className:"h-8 text-sm",...a,value:"string"==typeof a.value?a.value:""})})]})})}var O=a.i(364565);let P=[{value:"all",label:"全部状态"},{value:"queued",label:"排队中"},{value:"running",label:"运行中"},{value:"planning",label:"规划中"},{value:"applying",label:"应用中"},{value:"completed",label:"已完成"},{value:"completed_with_failures",label:"完成(含失败)"},{value:"failed",label:"失败"},{value:"cancelled",label:"已取消"}],Q={queued:"bg-info-soft text-info",running:"bg-info-soft text-info",planning:"bg-info-soft text-info",applying:"bg-info-soft text-info",completed:"bg-success-soft text-success",completed_with_failures:"bg-warning-soft text-warning",failed:"bg-danger-soft text-danger",cancelled:"bg-muted text-muted-foreground"},R={queued:"排队中",running:"运行中",planning:"规划中",applying:"应用中",completed:"已完成",completed_with_failures:"完成(含失败)",failed:"失败",cancelled:"已取消"},S={memory:"记忆整理",skill:"技能抽取",profile:"用户画像"},T={memory:"bg-info-soft text-info",skill:"bg-success-soft text-success",profile:"bg-[hsl(var(--primary-soft,_220_90%_96%))] text-[hsl(var(--primary))]"},U=new Set(["completed","completed_with_failures","failed","cancelled"]);function V({status:a}){let c=!U.has(a);return(0,b.jsxs)("span",{className:(0,O.cn)("inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium select-none whitespace-nowrap",Q[a]??"bg-muted text-muted-foreground"),children:[c&&(0,b.jsxs)("span",{className:"relative flex h-1.5 w-1.5",children:[(0,b.jsx)("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-current opacity-60"}),(0,b.jsx)("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-current"})]}),R[a]??a]})}a.s(["default",0,function(){let a=decodeURIComponent((0,d.useParams)().store),t=(0,d.useRouter)(),u=(0,d.useSearchParams)().toString(),v=(0,c.useMemo)(()=>(0,r.buildMemoryScope)(new URLSearchParams(u)),[u]),[w,x]=(0,c.useState)("all"),[y,z]=(0,c.useState)(!1),[A,B]=(0,c.useState)(void 0),C=function(a,b,c){let{context:d,ready:e}=(0,q.useRuntimeContext)();return(0,n.useQuery)({queryKey:p.queryKeys.dreamTasks(d.dataScopeKey,a,b,c?.nextToken,c?.limit,{status:c?.status,minTimestamp:c?.minTimestamp,maxTimestamp:c?.maxTimestamp}),queryFn:()=>(0,o.listDreamTasks)(a,b,c),enabled:e&&!!a&&!!b?.appId})}(a,v,{limit:50,nextToken:A,status:"all"===w?void 0:w});if(C.error instanceof Error&&"code"in C.error&&"DREAMING_DISABLED"===C.error.code)return(0,b.jsx)(s.MemoryDreamDisabled,{});let D=C.data?.items??[];return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:"Dream 任务管理"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"管理记忆整理、技能抽取、用户画像等离线任务"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(i.Select,{value:w,onValueChange:x,children:[(0,b.jsx)(i.SelectTrigger,{className:"h-8 w-40 text-sm",children:(0,b.jsx)(i.SelectValue,{})}),(0,b.jsx)(i.SelectContent,{children:P.map(a=>(0,b.jsx)(i.SelectItem,{value:a.value,children:a.label},a.value))})]}),(0,b.jsx)(k.RefreshButton,{onClick:()=>C.refetch(),loading:C.isRefetching}),(0,b.jsxs)(g.Button,{size:"sm",onClick:()=>z(!0),children:[(0,b.jsx)(e.Plus,{className:"mr-1 h-3.5 w-3.5"}),"新建任务"]})]})]}),C.isLoading?(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(h.Skeleton,{className:"h-10 w-full"}),(0,b.jsx)(h.Skeleton,{className:"h-10 w-full"})]}):0===D.length?(0,b.jsx)(l.EmptyState,{icon:f.Sparkles,title:"暂无 Dream 任务",description:"all"===w?"Dream 任务支持记忆整理、技能抽取、用户画像等功能。第一次使用时,先确保该 scope 下已经写入过几轮对话,再点右上角创建任务。":`当前过滤为「${P.find(a=>a.value===w)?.label??w}」状态,可切到「全部状态」看看`,action:(0,b.jsxs)(g.Button,{onClick:()=>z(!0),children:[(0,b.jsx)(e.Plus,{className:"mr-1 h-3.5 w-3.5"}),"新建任务"]})}):(0,b.jsx)("div",{className:"rounded-lg border border-[hsl(var(--border))]",children:(0,b.jsxs)(j.Table,{children:[(0,b.jsx)(j.TableHeader,{children:(0,b.jsxs)(j.TableRow,{children:[(0,b.jsx)(j.TableHead,{children:"Dream ID"}),(0,b.jsx)(j.TableHead,{children:"类型"}),(0,b.jsx)(j.TableHead,{children:"状态"}),(0,b.jsx)(j.TableHead,{children:"应用模式"}),(0,b.jsx)(j.TableHead,{className:"text-right",children:"产出"}),(0,b.jsx)(j.TableHead,{children:"创建时间"})]})}),(0,b.jsx)(j.TableBody,{children:D.map(c=>{let d,e=new Date(c.createdAt).getTime();return(0,b.jsxs)(j.TableRow,{className:"cursor-pointer hover:bg-[hsl(var(--accent))]",onClick:()=>t.push(`/memory/${encodeURIComponent(a)}/dream/${encodeURIComponent(c.dreamId)}`),children:[(0,b.jsx)(j.TableCell,{className:"max-w-[220px] truncate font-mono text-xs",children:c.dreamId}),(0,b.jsx)(j.TableCell,{children:(d=c.taskType||"memory",(0,b.jsx)("span",{className:(0,O.cn)("inline-flex rounded-full px-2 py-0.5 text-xs font-medium whitespace-nowrap",T[d]??"bg-muted text-muted-foreground"),children:S[d]??d}))}),(0,b.jsx)(j.TableCell,{children:(0,b.jsx)(V,{status:c.status})}),(0,b.jsx)(j.TableCell,{className:"text-xs",children:c.taskType&&"memory"!==c.taskType?(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"}):(0,b.jsxs)(b.Fragment,{children:["safe_auto"===c.applyMode?"自动":"建议","promote_scope"===c.scopeOutputMode&&(0,b.jsx)("span",{className:"ml-1 text-muted-foreground",children:"· 提升"})]})}),(0,b.jsxs)(j.TableCell,{className:"text-right text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-medium text-foreground",children:c.actionCount??0}),c.taskType&&"memory"!==c.taskType?(0,b.jsxs)("span",{className:"ml-1",children:["条产出",(c.failedCount??0)>0&&(0,b.jsxs)("span",{className:"text-danger",children:[" / ",c.failedCount," 败"]})]}):(0,b.jsxs)("span",{className:"ml-1",children:["(",c.proposedCount??0," 待 / ",c.appliedCount??0," 应用 /"," ",c.skippedCount??0," 跳 / ",c.failedCount??0," 败)"]})]}),(0,b.jsx)(j.TableCell,{className:"text-xs text-muted-foreground",children:Number.isFinite(e)?(0,b.jsx)(m.RelativeTime,{timestamp:e}):c.createdAt})]},c.dreamId)})})]})}),C.data?.nextToken&&(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>B(C.data?.nextToken),children:"加载下一页"})}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["当前过滤 scope:",v&&[v.appId,v.tenantId,v.agentId,v.runId].filter(Boolean).join(" / ")||"-"]}),(0,b.jsx)(K,{memoryStoreName:a,initialScope:v,open:y,onOpenChange:z})]})}],696627)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_app_%28dashboard%29_memory_%5Bstore%5D_dream_page_tsx_0uzzpvs._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[598680,a=>{"use strict";var b=a.i(634020),c=a.i(880470),d=a.i(971938),e=a.i(147845),f=a.i(123028);let g=(0,a.i(750053).default)("file-clock",[["path",{d:"M16 22h2a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v2.85",key:"ryk6xj"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 14v2.2l1.6 1",key:"6m4bie"}],["circle",{cx:"8",cy:"16",r:"6",key:"10v15b"}]]);var h=a.i(401605),i=a.i(688189),j=a.i(696844),k=a.i(160318),l=a.i(624215),m=a.i(1078),n=a.i(655295),o=a.i(604395),p=a.i(224666),q=a.i(99443),r=a.i(411697),s=a.i(98791),t=a.i(53520),u=a.i(201927),v=a.i(225896),w=a.i(882725),x=a.i(616106),y=a.i(310581),z=a.i(776192),A=a.i(473524),B=a.i(455553),C=a.i(172518),D=a.i(962491),E=a.i(84252),F=a.i(908264),G=a.i(983366),H=a.i(421347),I=a.i(225377),J=a.i(739096),K=a.i(364565);let L=[{key:"appId",label:"应用",placeholder:"app-001 或 *"},{key:"tenantId",label:"租户",placeholder:"tenant-001"},{key:"agentId",label:"智能体",placeholder:"agent-001"},{key:"runId",label:"会话",placeholder:"run-001"}],M={appId:"*",tenantId:"*",agentId:"*",runId:"*"};function N(a){return[a.appId,a.tenantId,a.agentId,a.runId].map(a=>a||"—").join(" / ")}function O(a,b){return(a.appId??"")===(b.appId??"")&&(a.tenantId??"")===(b.tenantId??"")&&(a.agentId??"")===(b.agentId??"")&&(a.runId??"")===(b.runId??"")}function P(){let a=(0,c.useRouter)(),e=(0,c.usePathname)(),f=(0,c.useSearchParams)().toString(),g=(0,d.useMemo)(()=>(0,F.buildMemoryScope)(new URLSearchParams(f)),[f]),[h,i]=(0,d.useState)(!1),[j,k]=(0,d.useState)(g),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(!1),p=e.split("/").filter(Boolean)[1],q=(0,F.hasWildcardScope)(g);(0,d.useEffect)(()=>{!p||e.includes("/create")||new URLSearchParams(f).get("appId")||a.replace(`${e}?appId=*&tenantId=*&agentId=*&runId=*`)},[f,e,a,p]),(0,d.useEffect)(()=>{k(a=>O(a,g)?a:g),m(null)},[g]);let r=function(a,b){let{context:c,ready:d}=(0,J.useRuntimeContext)(),e={appId:b?.appId||"*",tenantId:b?.tenantId||"*",agentId:b?.agentId||"*",runId:b?.runId||"*"};return(0,G.useQuery)({queryKey:[...I.queryKeys.memoryStoreScopes(c.dataScopeKey,a,e),"all"],queryFn:()=>(0,H.listAllMemoryStoreScopes)(a,e),enabled:d&&!!a,staleTime:3e4})}(p??"",M),s=r.data?.items??[],t=r.data?.truncated??!1,w=(0,F.hasWildcardScope)(g);function B(b){let c={appId:(b.appId??"").trim()||"*",tenantId:(b.tenantId??"").trim()||void 0,agentId:(b.agentId??"").trim()||void 0,runId:(b.runId??"").trim()||void 0};m(null);let d=(0,F.scopeToSearchParams)(c);a.replace(`${e}?${d.toString()}`)}function E(a){k(a),B(a),o(!1),i(!1)}return(0,b.jsx)(A.Card,{className:"border-dashed",children:(0,b.jsxs)(A.CardContent,{className:"p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,b.jsx)(y.Settings2,{className:"h-4 w-4 text-muted-foreground"}),L.map(({key:a,label:c})=>(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:c}),(0,b.jsx)("span",{className:"rounded-md bg-[hsl(var(--muted))] px-2.5 py-1 text-xs font-mono text-[hsl(var(--foreground))]",children:g[a]??"—"})]},a))]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[q&&(0,b.jsx)("span",{className:"rounded-md bg-amber-50 px-2 py-1 text-xs text-amber-700 dark:bg-amber-950 dark:text-amber-300",children:"只读"}),(0,b.jsx)(Q,{open:n,onOpenChange:o,currentScope:g,knownScopes:s,isLoading:r.isLoading,isFetching:r.isFetching,truncated:t,isWildcardSelected:w,onPickWildcard:()=>E(M),onPickScope:E,onRefresh:()=>r.refetch()}),(0,b.jsxs)(z.Button,{variant:"outline",size:"sm",onClick:()=>i(!h),children:[h?(0,b.jsx)(v.ChevronUp,{className:"mr-1 h-3.5 w-3.5"}):(0,b.jsx)(u.ChevronDown,{className:"mr-1 h-3.5 w-3.5"}),"手动编辑"]})]})]}),h&&(0,b.jsxs)("div",{className:"mt-4 space-y-4 border-t pt-4",children:[(0,b.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:L.map(({key:a,label:c,placeholder:d})=>(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)(D.Label,{htmlFor:`scope-${a}`,className:"text-xs",children:[c,"appId"===a&&(0,b.jsx)("span",{className:"ml-0.5 text-[hsl(var(--destructive))]",children:"*"})]}),(0,b.jsx)(C.Input,{id:`scope-${a}`,value:j[a]??"",placeholder:d,onChange:b=>{var c;return c=b.target.value,void("appId"===a?k(a=>({...a,appId:c})):k(b=>({...b,[a]:c||void 0})))},className:"h-8 text-sm"})]},a))}),(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[l?(0,b.jsx)("p",{className:"text-xs text-[hsl(var(--destructive))]",children:l}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"写操作需精确 scope,读 / 搜索支持通配符 *。"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(z.Button,{variant:"outline",size:"sm",onClick:function(){k(M),m(null),a.replace(`${e}?appId=*&tenantId=*&agentId=*&runId=*`)},children:[(0,b.jsx)(x.RotateCcw,{className:"mr-1 h-3 w-3"}),"重置"]}),(0,b.jsx)(z.Button,{size:"sm",onClick:function(){B(j),i(!1)},children:"应用"})]})]})]})]})})}function Q({open:a,onOpenChange:c,currentScope:d,knownScopes:e,isLoading:f,isFetching:g,truncated:h,isWildcardSelected:i,onPickWildcard:j,onPickScope:k,onRefresh:l}){let m=i?"全部数据":N(d);return(0,b.jsxs)(E.Popover,{open:a,onOpenChange:c,children:[(0,b.jsx)(E.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)(z.Button,{variant:"outline",size:"sm",className:"h-8 min-w-[200px] justify-between font-mono text-xs",children:[(0,b.jsx)("span",{className:"truncate",children:m}),(0,b.jsx)(w.ChevronsUpDown,{className:"ml-1 h-3.5 w-3.5 shrink-0 opacity-60"})]})}),(0,b.jsx)(E.PopoverContent,{align:"end",className:"w-[420px] p-0",children:(0,b.jsxs)(B.Command,{shouldFilter:!0,children:[(0,b.jsx)(B.CommandInput,{placeholder:"搜索 scope…",className:"text-xs"}),(0,b.jsxs)(B.CommandList,{className:"max-h-[360px]",children:[(0,b.jsx)(B.CommandEmpty,{children:f?"加载中…":"未找到匹配的 scope"}),(0,b.jsx)(B.CommandGroup,{heading:"预设",children:(0,b.jsxs)(B.CommandItem,{value:"* wildcard 全部数据",onSelect:j,className:"text-xs",children:[(0,b.jsx)(t.Check,{className:(0,K.cn)("mr-2 h-3.5 w-3.5",i?"opacity-100":"opacity-0")}),(0,b.jsx)("span",{className:"font-mono",children:"全部数据(*/*/*/*)"})]})}),e.length>0&&(0,b.jsx)(B.CommandGroup,{heading:h?`已有 scope(仅前 ${e.length} 条)`:`已有 scope(${e.length})`,children:e.map((a,c)=>{let e=N(a),f=!i&&O(a,d);return(0,b.jsxs)(B.CommandItem,{value:e,onSelect:()=>k(a),className:"text-xs",children:[(0,b.jsx)(t.Check,{className:(0,K.cn)("mr-2 h-3.5 w-3.5",f?"opacity-100":"opacity-0")}),(0,b.jsx)("span",{className:"font-mono truncate",children:e})]},`${e}-${c}`)})})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between border-t border-[hsl(var(--border-light))] px-2 py-1.5 text-[10px] text-muted-foreground",children:[(0,b.jsx)("span",{children:f?"查询中…":`${e.length} 条 scope${h?" · 已截断":""}`}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.preventDefault(),l()},disabled:g,className:"rounded px-1.5 py-0.5 hover:bg-[hsl(var(--accent))] disabled:opacity-50",children:"刷新"})]})]})})]})}let R=[{label:"长期记忆",segment:"units",icon:(0,b.jsx)(f.Database,{className:"h-4 w-4"})},{label:"记忆检索",segment:"search",icon:(0,b.jsx)(k.Search,{className:"h-4 w-4"})},{label:"短期记忆",segment:"messages",icon:(0,b.jsx)(i.MessageSquare,{className:"h-4 w-4"})},{label:"记忆抽取",segment:"tasks",icon:(0,b.jsx)(h.ListChecks,{className:"h-4 w-4"})},{label:"请求审计",segment:"requests",icon:(0,b.jsx)(g,{className:"h-4 w-4"})},{label:"记忆整理",segment:"dream",icon:(0,b.jsx)(m.Sparkles,{className:"h-4 w-4"})},{label:"设置",segment:"settings",icon:(0,b.jsx)(l.Settings,{className:"h-4 w-4"})}];function S(){return(0,b.jsxs)(q.DetailSidebar,{children:[(0,b.jsxs)("div",{className:"space-y-3 px-4 pt-4 pb-4 border-b border-[hsl(var(--border-light))]",children:[(0,b.jsx)(o.Skeleton,{className:"h-9 w-9 rounded-lg"}),(0,b.jsx)(o.Skeleton,{className:"h-4 w-3/4"}),(0,b.jsx)(o.Skeleton,{className:"h-3 w-1/2"})]}),(0,b.jsxs)("div",{className:"space-y-1 px-2 py-2",children:[(0,b.jsx)(o.Skeleton,{className:"h-8 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-8 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-8 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-8 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-8 w-full"})]})]})}a.s(["default",0,function({children:a}){let f=decodeURIComponent((0,c.useParams)().store),g=(0,c.useSearchParams)(),{data:h,isLoading:i}=(0,r.useMemoryStore)(f),[k,l]=(0,d.useState)(!1),m=g.toString()?`?${g.toString()}`:"",t=`/memory/${encodeURIComponent(f)}`,u=R.map(a=>({href:`${t}/${a.segment}${m}`,label:a.label,icon:a.icon}));return i?(0,b.jsx)(q.DetailLayout,{sidebar:(0,b.jsx)(S,{}),children:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(o.Skeleton,{className:"h-10 w-64"}),(0,b.jsx)(o.Skeleton,{className:"h-28 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-64 w-full"})]})}):h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q.DetailLayout,{sidebar:(0,b.jsxs)(q.DetailSidebar,{children:[(0,b.jsx)(q.DetailSidebarHeader,{icon:(0,b.jsx)(e.Brain,{}),accent:"purple",name:h.memoryStoreName,typeLabel:"记忆库 · MEMORY STORE",description:h.description,actions:(0,b.jsxs)(p.DropdownMenu,{children:[(0,b.jsx)(p.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":"更多操作",className:"flex h-7 w-7 items-center justify-center rounded-md text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",children:(0,b.jsx)(j.MoreVertical,{className:"h-4 w-4"})})}),(0,b.jsx)(p.DropdownMenuContent,{align:"end",children:(0,b.jsxs)(p.DropdownMenuItem,{onSelect:a=>{a.preventDefault(),l(!0)},className:"text-[hsl(var(--destructive))] focus:bg-[hsl(var(--danger-soft))] focus:text-[hsl(var(--destructive))] hover:bg-[hsl(var(--danger-soft))] hover:text-[hsl(var(--destructive))]",children:[(0,b.jsx)(n.Trash2,{className:"h-3.5 w-3.5"}),"删除记忆库"]})})]})}),(0,b.jsx)(q.DetailSidebarMenu,{items:u}),(0,b.jsx)(q.DetailSidebarBack,{href:"/memory",label:"返回列表"})]}),children:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(P,{}),(0,b.jsx)("div",{children:a})]})}),(0,b.jsx)(s.MemoryDeleteDialog,{memoryStoreName:f,open:k,onOpenChange:l,redirectToList:!0})]}):(0,b.jsx)(q.DetailLayout,{sidebar:(0,b.jsx)(S,{}),children:(0,b.jsx)("div",{className:"flex items-center justify-center py-20 text-muted-foreground",children:"记忆库不存在或已被删除"})})}],598680)}];
|
|
1
|
+
module.exports=[598680,a=>{"use strict";var b=a.i(634020),c=a.i(880470),d=a.i(971938),e=a.i(147845),f=a.i(123028);let g=(0,a.i(750053).default)("file-clock",[["path",{d:"M16 22h2a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v2.85",key:"ryk6xj"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 14v2.2l1.6 1",key:"6m4bie"}],["circle",{cx:"8",cy:"16",r:"6",key:"10v15b"}]]);var h=a.i(401605),i=a.i(688189),j=a.i(696844),k=a.i(160318),l=a.i(624215),m=a.i(1078),n=a.i(655295),o=a.i(604395),p=a.i(224666),q=a.i(99443),r=a.i(411697),s=a.i(98791),t=a.i(53520),u=a.i(201927),v=a.i(225896),w=a.i(882725),x=a.i(616106),y=a.i(310581),z=a.i(776192),A=a.i(473524),B=a.i(455553),C=a.i(172518),D=a.i(962491),E=a.i(84252),F=a.i(908264),G=a.i(983366),H=a.i(421347),I=a.i(225377),J=a.i(739096),K=a.i(364565);let L=[{key:"appId",label:"应用",placeholder:"app-001 或 *"},{key:"tenantId",label:"租户",placeholder:"tenant-001"},{key:"agentId",label:"智能体",placeholder:"agent-001"},{key:"runId",label:"会话",placeholder:"run-001"}],M={appId:"*",tenantId:"*",agentId:"*",runId:"*"};function N(a){return[a.appId,a.tenantId,a.agentId,a.runId].map(a=>a||"—").join(" / ")}function O(a,b){return(a.appId??"")===(b.appId??"")&&(a.tenantId??"")===(b.tenantId??"")&&(a.agentId??"")===(b.agentId??"")&&(a.runId??"")===(b.runId??"")}function P(){let a=(0,c.useRouter)(),e=(0,c.usePathname)(),f=(0,c.useSearchParams)().toString(),g=(0,d.useMemo)(()=>(0,F.buildMemoryScope)(new URLSearchParams(f)),[f]),[h,i]=(0,d.useState)(!1),[j,k]=(0,d.useState)(g),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(!1),p=e.split("/").filter(Boolean)[1],q=(0,F.hasWildcardScope)(g);(0,d.useEffect)(()=>{!p||e.includes("/create")||new URLSearchParams(f).get("appId")||a.replace(`${e}?appId=*&tenantId=*&agentId=*&runId=*`)},[f,e,a,p]),(0,d.useEffect)(()=>{k(a=>O(a,g)?a:g),m(null)},[g]);let r=function(a,b){let{context:c,ready:d}=(0,J.useRuntimeContext)(),e={appId:b?.appId||"*",tenantId:b?.tenantId||"*",agentId:b?.agentId||"*",runId:b?.runId||"*"};return(0,G.useQuery)({queryKey:[...I.queryKeys.memoryStoreScopes(c.dataScopeKey,a,e),"all"],queryFn:()=>(0,H.listAllMemoryStoreScopes)(a,e),enabled:d&&!!a,staleTime:3e4})}(p??"",M),s=r.data?.items??[],t=r.data?.truncated??!1,w=(0,F.hasWildcardScope)(g);function B(b){let c={appId:(b.appId??"").trim()||"*",tenantId:(b.tenantId??"").trim()||void 0,agentId:(b.agentId??"").trim()||void 0,runId:(b.runId??"").trim()||void 0};m(null);let d=(0,F.scopeToSearchParams)(c);a.replace(`${e}?${d.toString()}`)}function E(a){k(a),B(a),o(!1),i(!1)}return(0,b.jsx)(A.Card,{className:"border-dashed",children:(0,b.jsxs)(A.CardContent,{className:"p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,b.jsx)(y.Settings2,{className:"h-4 w-4 text-muted-foreground"}),L.map(({key:a,label:c})=>(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:c}),(0,b.jsx)("span",{className:"rounded-md bg-[hsl(var(--muted))] px-2.5 py-1 text-xs font-mono text-[hsl(var(--foreground))]",children:g[a]??"—"})]},a))]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[q&&(0,b.jsx)("span",{className:"rounded-md bg-amber-50 px-2 py-1 text-xs text-amber-700 dark:bg-amber-950 dark:text-amber-300",children:"只读"}),(0,b.jsx)(Q,{open:n,onOpenChange:o,currentScope:g,knownScopes:s,isLoading:r.isLoading,isFetching:r.isFetching,truncated:t,isWildcardSelected:w,onPickWildcard:()=>E(M),onPickScope:E,onRefresh:()=>r.refetch()}),(0,b.jsxs)(z.Button,{variant:"outline",size:"sm",onClick:()=>i(!h),children:[h?(0,b.jsx)(v.ChevronUp,{className:"mr-1 h-3.5 w-3.5"}):(0,b.jsx)(u.ChevronDown,{className:"mr-1 h-3.5 w-3.5"}),"手动编辑"]})]})]}),h&&(0,b.jsxs)("div",{className:"mt-4 space-y-4 border-t pt-4",children:[(0,b.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:L.map(({key:a,label:c,placeholder:d})=>(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)(D.Label,{htmlFor:`scope-${a}`,className:"text-xs",children:[c,"appId"===a&&(0,b.jsx)("span",{className:"ml-0.5 text-[hsl(var(--destructive))]",children:"*"})]}),(0,b.jsx)(C.Input,{id:`scope-${a}`,value:j[a]??"",placeholder:d,onChange:b=>{var c;return c=b.target.value,void("appId"===a?k(a=>({...a,appId:c})):k(b=>({...b,[a]:c||void 0})))},className:"h-8 text-sm"})]},a))}),(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[l?(0,b.jsx)("p",{className:"text-xs text-[hsl(var(--destructive))]",children:l}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"写操作需精确 scope,读 / 搜索支持通配符 *。"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(z.Button,{variant:"outline",size:"sm",onClick:function(){k(M),m(null),a.replace(`${e}?appId=*&tenantId=*&agentId=*&runId=*`)},children:[(0,b.jsx)(x.RotateCcw,{className:"mr-1 h-3 w-3"}),"重置"]}),(0,b.jsx)(z.Button,{size:"sm",onClick:function(){B(j),i(!1)},children:"应用"})]})]})]})]})})}function Q({open:a,onOpenChange:c,currentScope:d,knownScopes:e,isLoading:f,isFetching:g,truncated:h,isWildcardSelected:i,onPickWildcard:j,onPickScope:k,onRefresh:l}){let m=i?"全部数据":N(d);return(0,b.jsxs)(E.Popover,{open:a,onOpenChange:c,children:[(0,b.jsx)(E.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)(z.Button,{variant:"outline",size:"sm",className:"h-8 min-w-[200px] justify-between font-mono text-xs",children:[(0,b.jsx)("span",{className:"truncate",children:m}),(0,b.jsx)(w.ChevronsUpDown,{className:"ml-1 h-3.5 w-3.5 shrink-0 opacity-60"})]})}),(0,b.jsx)(E.PopoverContent,{align:"end",className:"w-[420px] p-0",children:(0,b.jsxs)(B.Command,{shouldFilter:!0,children:[(0,b.jsx)(B.CommandInput,{placeholder:"搜索 scope…",className:"text-xs"}),(0,b.jsxs)(B.CommandList,{className:"max-h-[360px]",children:[(0,b.jsx)(B.CommandEmpty,{children:f?"加载中…":"未找到匹配的 scope"}),(0,b.jsx)(B.CommandGroup,{heading:"预设",children:(0,b.jsxs)(B.CommandItem,{value:"* wildcard 全部数据",onSelect:j,className:"text-xs",children:[(0,b.jsx)(t.Check,{className:(0,K.cn)("mr-2 h-3.5 w-3.5",i?"opacity-100":"opacity-0")}),(0,b.jsx)("span",{className:"font-mono",children:"全部数据(*/*/*/*)"})]})}),e.length>0&&(0,b.jsx)(B.CommandGroup,{heading:h?`已有 scope(仅前 ${e.length} 条)`:`已有 scope(${e.length})`,children:e.map((a,c)=>{let e=N(a),f=!i&&O(a,d);return(0,b.jsxs)(B.CommandItem,{value:e,onSelect:()=>k(a),className:"text-xs",children:[(0,b.jsx)(t.Check,{className:(0,K.cn)("mr-2 h-3.5 w-3.5",f?"opacity-100":"opacity-0")}),(0,b.jsx)("span",{className:"font-mono truncate",children:e})]},`${e}-${c}`)})})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between border-t border-[hsl(var(--border-light))] px-2 py-1.5 text-[10px] text-muted-foreground",children:[(0,b.jsx)("span",{children:f?"查询中…":`${e.length} 条 scope${h?" · 已截断":""}`}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.preventDefault(),l()},disabled:g,className:"rounded px-1.5 py-0.5 hover:bg-[hsl(var(--accent))] disabled:opacity-50",children:"刷新"})]})]})})]})}let R=[{label:"长期记忆",segment:"units",icon:(0,b.jsx)(f.Database,{className:"h-4 w-4"})},{label:"记忆检索",segment:"search",icon:(0,b.jsx)(k.Search,{className:"h-4 w-4"})},{label:"短期记忆",segment:"messages",icon:(0,b.jsx)(i.MessageSquare,{className:"h-4 w-4"})},{label:"记忆抽取",segment:"tasks",icon:(0,b.jsx)(h.ListChecks,{className:"h-4 w-4"})},{label:"请求审计",segment:"requests",icon:(0,b.jsx)(g,{className:"h-4 w-4"})},{label:"Dream 任务",segment:"dream",icon:(0,b.jsx)(m.Sparkles,{className:"h-4 w-4"})},{label:"设置",segment:"settings",icon:(0,b.jsx)(l.Settings,{className:"h-4 w-4"})}];function S(){return(0,b.jsxs)(q.DetailSidebar,{children:[(0,b.jsxs)("div",{className:"space-y-3 px-4 pt-4 pb-4 border-b border-[hsl(var(--border-light))]",children:[(0,b.jsx)(o.Skeleton,{className:"h-9 w-9 rounded-lg"}),(0,b.jsx)(o.Skeleton,{className:"h-4 w-3/4"}),(0,b.jsx)(o.Skeleton,{className:"h-3 w-1/2"})]}),(0,b.jsxs)("div",{className:"space-y-1 px-2 py-2",children:[(0,b.jsx)(o.Skeleton,{className:"h-8 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-8 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-8 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-8 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-8 w-full"})]})]})}a.s(["default",0,function({children:a}){let f=decodeURIComponent((0,c.useParams)().store),g=(0,c.useSearchParams)(),{data:h,isLoading:i}=(0,r.useMemoryStore)(f),[k,l]=(0,d.useState)(!1),m=g.toString()?`?${g.toString()}`:"",t=`/memory/${encodeURIComponent(f)}`,u=R.map(a=>({href:`${t}/${a.segment}${m}`,label:a.label,icon:a.icon}));return i?(0,b.jsx)(q.DetailLayout,{sidebar:(0,b.jsx)(S,{}),children:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(o.Skeleton,{className:"h-10 w-64"}),(0,b.jsx)(o.Skeleton,{className:"h-28 w-full"}),(0,b.jsx)(o.Skeleton,{className:"h-64 w-full"})]})}):h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q.DetailLayout,{sidebar:(0,b.jsxs)(q.DetailSidebar,{children:[(0,b.jsx)(q.DetailSidebarHeader,{icon:(0,b.jsx)(e.Brain,{}),accent:"purple",name:h.memoryStoreName,typeLabel:"记忆库 · MEMORY STORE",description:h.description,actions:(0,b.jsxs)(p.DropdownMenu,{children:[(0,b.jsx)(p.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":"更多操作",className:"flex h-7 w-7 items-center justify-center rounded-md text-[hsl(var(--muted-foreground))] transition-colors hover:bg-[hsl(var(--background))] hover:text-[hsl(var(--foreground))]",children:(0,b.jsx)(j.MoreVertical,{className:"h-4 w-4"})})}),(0,b.jsx)(p.DropdownMenuContent,{align:"end",children:(0,b.jsxs)(p.DropdownMenuItem,{onSelect:a=>{a.preventDefault(),l(!0)},className:"text-[hsl(var(--destructive))] focus:bg-[hsl(var(--danger-soft))] focus:text-[hsl(var(--destructive))] hover:bg-[hsl(var(--danger-soft))] hover:text-[hsl(var(--destructive))]",children:[(0,b.jsx)(n.Trash2,{className:"h-3.5 w-3.5"}),"删除记忆库"]})})]})}),(0,b.jsx)(q.DetailSidebarMenu,{items:u}),(0,b.jsx)(q.DetailSidebarBack,{href:"/memory",label:"返回列表"})]}),children:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(P,{}),(0,b.jsx)("div",{children:a})]})}),(0,b.jsx)(s.MemoryDeleteDialog,{memoryStoreName:f,open:k,onOpenChange:l,redirectToList:!0})]}):(0,b.jsx)(q.DetailLayout,{sidebar:(0,b.jsx)(S,{}),children:(0,b.jsx)("div",{className:"flex items-center justify-center py-20 text-muted-foreground",children:"记忆库不存在或已被删除"})})}],598680)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_app_%28dashboard%29_memory_%5Bstore%5D_layout_tsx_0rbi41w._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[732759,a=>{"use strict";var b=a.i(634020),c=a.i(880470),d=a.i(604395),e=a.i(411697),f=a.i(71562),g=a.i(771071),h=a.i(680904),i=a.i(263265),j=a.i(776192),k=a.i(470535),l=a.i(692942),m=a.i(933596),n=a.i(895487),o=a.i(421347),p=a.i(225377);let q=h.z.object({description:h.z.string().trim().max(256,"描述不超过 256 字").optional()});function r({memoryStore:a}){let c,d=(c=(0,n.useQueryClient)(),(0,m.useMutation)({mutationFn:a=>(0,o.updateMemoryStore)(a),onSuccess:()=>{(0,p.invalidateMemoryQueries)(c)}})),e=(0,f.useForm)({resolver:(0,g.zodResolver)(q),defaultValues:{description:a.description??""}});async function h(b){try{await d.mutateAsync({memoryStoreName:a.memoryStoreName,description:b.description?.length?b.description:void 0}),i.toast.success("记忆库设置已更新")}catch(a){i.toast.error(a instanceof Error?a.message:"更新记忆库失败")}}return(0,b.jsx)(l.Form,{...e,children:(0,b.
|
|
1
|
+
module.exports=[732759,a=>{"use strict";var b=a.i(634020),c=a.i(880470),d=a.i(604395),e=a.i(411697),f=a.i(71562),g=a.i(771071),h=a.i(680904),i=a.i(263265),j=a.i(776192),k=a.i(470535),l=a.i(692942),m=a.i(933596),n=a.i(895487),o=a.i(421347),p=a.i(225377);let q=h.z.object({description:h.z.string().trim().max(256,"描述不超过 256 字").optional(),extractInstructions:h.z.string().trim().max(4096,"抽取指令不超过 4096 字").optional()});function r({memoryStore:a}){let c,d=(c=(0,n.useQueryClient)(),(0,m.useMutation)({mutationFn:a=>(0,o.updateMemoryStore)(a),onSuccess:()=>{(0,p.invalidateMemoryQueries)(c)}})),e=(0,f.useForm)({resolver:(0,g.zodResolver)(q),defaultValues:{description:a.description??"",extractInstructions:a.extractInstructions??""}});async function h(b){try{let c=a.extractInstructions??"",e=b.extractInstructions??"",f=e!==c;await d.mutateAsync({memoryStoreName:a.memoryStoreName,description:b.description?.length?b.description:void 0,...f?{extractInstructions:e}:{}}),i.toast.success("记忆库设置已更新")}catch(a){i.toast.error(a instanceof Error?a.message:"更新记忆库失败")}}return(0,b.jsx)(l.Form,{...e,children:(0,b.jsxs)("form",{onSubmit:e.handleSubmit(h),className:"space-y-6",children:[(0,b.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,b.jsx)(s,{title:"基本信息",description:"调整记忆库的描述,帮助团队识别用途。名称在创建后不可修改。"}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(t,{label:"名称",value:a.memoryStoreName}),(0,b.jsx)(l.FormField,{control:e.control,name:"description",render:({field:a})=>(0,b.jsxs)(l.FormItem,{children:[(0,b.jsx)(l.FormLabel,{children:"描述"}),(0,b.jsx)(l.FormControl,{children:(0,b.jsx)(k.Textarea,{placeholder:"描述这个记忆库的用途...",className:"resize-none",rows:4,...a})}),(0,b.jsx)(l.FormMessage,{})]})})]})]}),(0,b.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,b.jsx)(s,{title:"记忆抽取指令",description:"可选。这里填写的指令会注入到后台记忆抽取的提示词中,用于引导从对话里提炼哪些信息、忽略哪些信息。留空则使用默认抽取策略。"}),(0,b.jsx)(l.FormField,{control:e.control,name:"extractInstructions",render:({field:a})=>(0,b.jsxs)(l.FormItem,{children:[(0,b.jsx)(l.FormLabel,{children:"抽取指令"}),(0,b.jsx)(l.FormControl,{children:(0,b.jsx)(k.Textarea,{placeholder:"例如:重点关注用户的医疗术语与用药偏好;忽略寒暄与客套内容。",className:"resize-none",rows:5,...a})}),(0,b.jsx)(l.FormDescription,{children:"最多 4096 个字符。留空表示恢复默认抽取策略。"}),(0,b.jsx)(l.FormMessage,{})]})})]}),(0,b.jsx)("div",{className:"flex justify-end border-t border-[hsl(var(--border-light))] pt-4",children:(0,b.jsx)(j.Button,{type:"submit",disabled:d.isPending,children:d.isPending?"保存中...":"保存更改"})})]})})}function s({title:a,description:c}){return(0,b.jsxs)("header",{className:"mb-4 border-b border-[hsl(var(--border-light))] pb-3",children:[(0,b.jsx)("h3",{className:"text-[15px] font-semibold leading-tight text-[hsl(var(--foreground))]",children:a}),(0,b.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:c})]})}function t({label:a,value:c}){return(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:a}),(0,b.jsx)("span",{className:"text-sm font-medium",children:c})]})}function u(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)}}function v({title:a,description:c}){return(0,b.jsxs)("header",{className:"mb-4 border-b border-[hsl(var(--border-light))] pb-3",children:[(0,b.jsx)("h3",{className:"text-[15px] font-semibold leading-tight text-[hsl(var(--foreground))]",children:a}),(0,b.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:c})]})}function w({label:a,value:c}){return(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:a}),(0,b.jsx)("span",{className:"text-sm font-medium",children:c})]})}a.s(["default",0,function(){let a=decodeURIComponent((0,c.useParams)().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:"grid gap-6 xl:grid-cols-[minmax(0,1fr)_320px]",children:[(0,b.jsx)(r,{memoryStore:f}),(0,b.jsx)("aside",{className:"space-y-6",children:(0,b.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,b.jsx)(v,{title:"记忆库信息",description:"只读元数据,由服务端维护。"}),(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(w,{label:"OTS 实例",value:f.otsInstance??"-"}),(0,b.jsx)(w,{label:"创建时间",value:u(f.createdAt)}),(0,b.jsx)(w,{label:"更新时间",value:u(f.updatedAt)}),f.lastSeenAt&&(0,b.jsx)(w,{label:"最近活跃",value:u(f.lastSeenAt)})]})]})})]}):(0,b.jsx)("div",{className:"py-12 text-center text-muted-foreground",children:"记忆库不存在"})}],732759)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=dashboard_src_app_%28dashboard%29_memory_%5Bstore%5D_settings_page_tsx_0y26.xu._.js.map
|