@tablestore/tablestore-agent-cli 0.2.9 → 0.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +33 -2
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/memory.d.ts.map +1 -1
- package/dist/commands/memory.js +171 -95
- package/dist/commands/memory.js.map +1 -1
- package/dist/dashboard-runtime/dashboard/.next/BUILD_ID +1 -1
- package/dist/dashboard-runtime/dashboard/.next/app-path-routes-manifest.json +1 -3
- 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/required-server-files.json +4 -4
- package/dist/dashboard-runtime/dashboard/.next/routes-manifest.json +5 -20
- 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.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +16 -16
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
- 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 +11 -11
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js +4 -4
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js +2 -2
- 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-kb-sync/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-kb-sync/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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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]/file-memory/[action]/route/app-paths-manifest.json +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/[action]/route.js +6 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/{sync → [action]}/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/[action]/route_client-reference-manifest.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/scopes/route.js +2 -2
- 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 +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/[requestId]/route.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js +2 -2
- 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 +2 -2
- 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 +15 -15
- 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 +15 -15
- 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 +11 -11
- 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.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +18 -18
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +18 -18
- 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 +11 -11
- 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.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app-paths-manifest.json +1 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/05a2_app_api_v1_memory_stores_[store]_file-memory_[action]_route_actions_0m70if_.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0n~ec7s.js +19 -12
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0--nu07._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.gylau._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.hvkwy._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.qtdn4._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__02p1x3t._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__03og44p._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04dd04u._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04ujbw-._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04zbudf._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/{[root-of-the-server]__0-3~.bv._.js → [root-of-the-server]__052epg.._.js} +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__05eryp~._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__06fva9g._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__08_2avk._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0acvvri._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0byveuc._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cee_lo._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cyd2qb._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0dzh4cj._.js +40 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ecs-9r._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ejcow5._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0es0s_~._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0fglxiw._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0g3yw6w._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0i1_p1s._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0is6qso._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0k7ex0r._.js +40 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0no9qm0._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0q8vcw8._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0q9fgt6._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0rx9hon._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0tc-.6s._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0u03tze._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ua_nqs._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0uebf40._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0v0il3n._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/{[root-of-the-server]__089es3y._.js → [root-of-the-server]__0w56nne._.js} +10 -10
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0w_ig2a._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0y0w3mg._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0zmo~nd._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__10m-wmo._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__11s_zx6._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__11wq90l._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__126srko._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12e1t6o._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12ylr4n._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13g_f9w._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13q2wbt._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13~-fxp._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0b1r_app_(dashboard)_knowledge-base_[name]_documents_documents-client_tsx_0g2uxmt._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0.ooo1s._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__01f7est._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__07fsbff._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0b5cw4e._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0cj2gsm._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0.pa1e6._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01snuz~._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_05bw0~2._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_071hi50._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0_aw2vr._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ep_q37._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ez3yia._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fttf6a._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fz3kge._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0hx2079._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0hy21o9._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0oiggmj._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0p0sh02._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0uc_gmf._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0wce254._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ww5s91._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xrd8-1._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0y4mxf8._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0y7vx.d._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12l8jkb._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_079nj-_._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0_z9696._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0bhjp9s._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0grv2wq._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_api-keys_page_tsx_0lb6fu7._.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]_messages_page_tsx_0votz-n._.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_components_memory_memory-files-browser_tsx_0o2~94-._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_i18n_i18n-context_tsx_0c39ewr._.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_0sr_ner._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/functions-config-manifest.json +1 -3
- 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/0-~e5~2eoun8n.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0.hi0qmo.f-h4.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/01xcynczarvq~.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/01xuyqw7ivp3n.js +138 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/026lyw-ynx1og.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/029zyc1pxa~4m.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/05_iqjh-v2gej.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/05f4mjbi6x-tm.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/05vzt~ml0z7~9.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/07twdccs42b_-.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{010bpq~3ntjcm.js → 08h7wustf~cl4.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/08o2~c-80nbla.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/090n1_814n.n~.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0_osn.dm_85jw.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0aj~rx1m.91ur.js +5 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0dx_8pb_z_xy6.css +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0eafb9pun~54k.js +9 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0hnqmb1a7y7x1.js +138 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jjiw-agnutux.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0k9guaejnlc0r.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0l~3_bvic.da3.js → 0ogrq_r43je48.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pxisu-1mnehf.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0r6utd8g~.cc1.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u6c8q4k~6aiy.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0uu2cjfwvbn3y.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0vn5pp.3keyh5.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0wbozn0wq-4ls.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0yvc~t7p88wsf.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{02u9ocsl0a12t.js → 0~naqbx3873~r.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/12iur8ibdfi5_.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/13kxz9vygidrz.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/14.8mq880kjoc.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/145hqnc~4wc~n.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/14rpr3z1.lmgj.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/165fwg-5at5cq.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/17b4md7atp39z.js +1 -0
- package/dist/dashboard-runtime/dashboard/server.js +1 -1
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/chat/page.tsx +1 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/qa/page.tsx +1 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/layout.tsx +59 -8
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/messages/page.tsx +15 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/tasks/page.tsx +9 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/units/page.tsx +123 -24
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/file-memory-curator.ts +491 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/file-memory-helpers.ts +12 -81
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/memory-helpers.ts +3 -3
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/route.ts +200 -39
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/[action]/route.ts +92 -0
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/_helpers.ts +26 -36
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/_request.ts +49 -0
- package/dist/dashboard-runtime/dashboard/src/components/chat/chat-config-context.tsx +48 -9
- package/dist/dashboard-runtime/dashboard/src/components/chat/memory-bind-section.tsx +66 -18
- package/dist/dashboard-runtime/dashboard/src/components/chat/memory-files-dialog.tsx +1 -1
- package/dist/dashboard-runtime/dashboard/src/components/memory/file-details-panel.tsx +91 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/file-editor.tsx +139 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/file-mutation-dialogs.tsx +181 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/file-scope-onboarding.tsx +154 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/file-version-history.tsx +201 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/file-workspace-toolbar.tsx +101 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-create-form.tsx +166 -75
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-dream-create-dialog.tsx +147 -20
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-files-browser.tsx +452 -168
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-scope-bar.tsx +27 -21
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-form.tsx +51 -14
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-results.tsx +5 -1
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-settings-form.tsx +54 -46
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-card.tsx +126 -69
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-table.tsx +5 -1
- package/dist/dashboard-runtime/dashboard/src/components/qa/qa-message.tsx +232 -38
- package/dist/dashboard-runtime/dashboard/src/components/shared/error-state.tsx +3 -2
- package/dist/dashboard-runtime/dashboard/src/hooks/use-chat-history.ts +125 -47
- package/dist/dashboard-runtime/dashboard/src/hooks/use-file-memory.ts +184 -29
- package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-store-scopes.ts +2 -1
- package/dist/dashboard-runtime/dashboard/src/hooks/use-qa-chat.ts +188 -23
- package/dist/dashboard-runtime/dashboard/src/i18n/locales/en.ts +123 -14
- package/dist/dashboard-runtime/dashboard/src/i18n/locales/zh.ts +115 -14
- package/dist/dashboard-runtime/dashboard/src/lib/api-error-toast.ts +9 -1
- package/dist/dashboard-runtime/dashboard/src/lib/browser-file-memory.ts +391 -0
- package/dist/dashboard-runtime/dashboard/src/lib/file-scope-history.ts +108 -0
- package/dist/dashboard-runtime/dashboard/src/lib/memory-storage-mode.ts +193 -31
- package/dist/dashboard-runtime/dashboard/src/lib/memory.ts +16 -4
- package/dist/dashboard-runtime/dashboard/src/lib/query-keys.ts +67 -0
- package/dist/dashboard-runtime/dashboard/src/schemas/llm-chat.ts +58 -13
- package/dist/dashboard-runtime/dashboard/src/services/file-memory.ts +88 -46
- package/dist/dashboard-runtime/dashboard/src/types/file-memory.ts +97 -0
- package/dist/dashboard-runtime/dashboard/src/types/llm-chat.ts +49 -13
- package/dist/dashboard-runtime/dashboard/src/types/memory.ts +9 -2
- package/dist/dashboard-runtime/dashboard/tsconfig.tsbuildinfo +1 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/index.d.ts +0 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/index.d.ts.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/index.js +0 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/index.js.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts +55 -8
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js +93 -11
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/oss-uploader.d.ts +56 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/oss-uploader.d.ts.map +1 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/oss-uploader.js +120 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/oss-uploader.js.map +1 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/response.d.ts.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/response.js +1 -0
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/response.js.map +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/package.json +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
- package/dist/dashboard-runtime/node_modules/semver/node_modules/.bin/semver +21 -0
- package/dist/main.js +0 -0
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/index.d.ts +0 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/index.js +0 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/index.js.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts +55 -8
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js +93 -11
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/oss-uploader.d.ts +56 -0
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/oss-uploader.d.ts.map +1 -0
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/oss-uploader.js +120 -0
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/oss-uploader.js.map +1 -0
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/response.d.ts.map +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/response.js +1 -0
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/response.js.map +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/dist/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/file/route/app-paths-manifest.json +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/file/route.js +0 -6
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/file/route.js.nft.json +0 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/file/route_client-reference-manifest.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/sync/route/app-paths-manifest.json +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/sync/route/build-manifest.json +0 -9
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/sync/route/server-reference-manifest.json +0 -4
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/sync/route.js +0 -6
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/sync/route.js.map +0 -5
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/sync/route_client-reference-manifest.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route/app-paths-manifest.json +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route/build-manifest.json +0 -9
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route/server-reference-manifest.json +0 -4
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route.js +0 -6
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route.js.map +0 -5
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route.js.nft.json +0 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route_client-reference-manifest.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/0ndq_server_app_api_v1_memory_stores_[store]_file-memory_file_route_actions_06~k01v.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/0ndq_server_app_api_v1_memory_stores_[store]_file-memory_sync_route_actions_0rt6p8e.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/0ndq_server_app_api_v1_memory_stores_[store]_file-memory_tree_route_actions_0wl_n8b.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0-dt7~s._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.-~ff4._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.l706t._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.nejw_._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__00_mrad._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__00i.7se._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__00r7uqs._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__02~yw7n._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04kpzpa._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04p1a88._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__05x0k4d._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__060s~oe._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__06fanvv._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__06tci88._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__08bzgzm._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__08d7wb.._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__08p_m_c._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__095xiwn._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__09h95i6._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ai2k_o._.js +0 -40
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0alcygi._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0aspytx._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cq-9s~._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cyiuai._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0d4zrpj._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0d~m09k._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0f1lugp._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0g1cfb7._.js +0 -40
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0gpz.~y._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0i3u9x3._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0iromt6._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0j8.u0y._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0k-pfaj._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0kcbz7k._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0nrl-.g._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0o5mf4h._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0omyr40._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ty8jgt._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ug_2kc._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0v98i9~._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0wt0ksb._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ya_8d2._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0zfg-ml._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0~9ru5n._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0~f7ckz._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__109i6ps._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__10o5zq5._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12ls5l8._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0w-2_lucide-react_dist_esm_icons_0h-3_0x._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0k0es2c._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0ky8i.~._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0ocsrt0._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0ys4x_n._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__10rkv6z._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_002mc1c._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_04f2u4t._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_06ny.4k._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0b9pl2d._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0e.ehti._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f8moq0._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f8yv4v._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fvg_xo._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0h9c.8m._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ip4ncy._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0izjcsk._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0j.62sb._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0mdbcju._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0p_s55v._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0qiamjd._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0t.h859._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xp94lc._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13730cz._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_00.1.s_._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_04o7mfc._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0qlyj-q._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_00usyu3._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0791f2k._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0--dupndun7xc.css +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0.uxk~hsm6yi8.js +0 -138
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/00eggrx~.4c55.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/00lvoeu_v3253.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/00o9vmhspv._3.js +0 -138
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/00x1.t633f041.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/02p7gke47s.2~.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/03dth-av1gl-h.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/07s0f6938um2v.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/09y30vyml4r.b.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0au0pbejtwahz.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0b-ei8-g7ceug.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0chiv044h3u58.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0fcdli-~wmvvx.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0fz_9~-rxluly.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0i55cqygnl-a9.js +0 -5
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0j8p7vk~awgs..js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0j_.hkhjix9hw.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0naliud7av3p1.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pbfl~23ac79y.js +0 -9
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u3qx.qasmdx9.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0vuh8jgeqqdy..js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0wbevjtr1_grz.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0y-gjpq3kxsbz.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0z_pq4ttgotxw.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/10i~m4_8ainxw.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/12535rmhzbk63.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/13uk2uuzuop5e.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/13vd4hv~l95-c.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/16.2aecdwo6w_.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/16yu0g~7n~33c.js +0 -1
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/file/route.ts +0 -69
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/sync/route.ts +0 -69
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/tree/route.ts +0 -44
- /package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/{file → [action]}/route/build-manifest.json +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/{file → [action]}/route/server-reference-manifest.json +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/{file → [action]}/route.js.map +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{be0fa_T3EkD9v2fJGsvLd → AgybWIwFBY3-L1V2Copiq}/_buildManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{be0fa_T3EkD9v2fJGsvLd → AgybWIwFBY3-L1V2Copiq}/_clientMiddlewareManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{be0fa_T3EkD9v2fJGsvLd → AgybWIwFBY3-L1V2Copiq}/_ssgManifest.js +0 -0
|
@@ -30,7 +30,12 @@ import { MemoryFilesDialog } from "@/components/chat/memory-files-dialog";
|
|
|
30
30
|
import { ScopeCombobox } from "@/components/memory/scope-combobox";
|
|
31
31
|
import { useI18n } from "@/i18n/i18n-context";
|
|
32
32
|
import { cn } from "@/lib/utils";
|
|
33
|
-
import {
|
|
33
|
+
import {
|
|
34
|
+
normalizeStorageMode,
|
|
35
|
+
resolveRetrievalMode,
|
|
36
|
+
storageModeCapabilities,
|
|
37
|
+
type StorageMode,
|
|
38
|
+
} from "@/lib/memory-storage-mode";
|
|
34
39
|
|
|
35
40
|
/**
|
|
36
41
|
* 抽屉里的「记忆库」区块。
|
|
@@ -51,12 +56,13 @@ export function MemoryBindSection() {
|
|
|
51
56
|
const binding = cfg.memory;
|
|
52
57
|
const topKId = useId();
|
|
53
58
|
|
|
54
|
-
// 绑定库是否为文件型(oss+ots)。storageMode 由列表 BFF 逐库富化;只有明确是
|
|
55
|
-
// oss+ots 才允许「文件记忆」检索模式。
|
|
56
59
|
const boundStore = binding
|
|
57
60
|
? stores.find((s) => s.memoryStoreName === binding.memoryStoreName)
|
|
58
61
|
: undefined;
|
|
59
|
-
const
|
|
62
|
+
const storageMode = normalizeStorageMode(boundStore?.storageMode);
|
|
63
|
+
const capabilities = storageModeCapabilities(storageMode);
|
|
64
|
+
const autoSaveAllowed =
|
|
65
|
+
capabilities.structuredAutoSave || capabilities.writableFiles;
|
|
60
66
|
|
|
61
67
|
// 纠偏:绑定的库不是文件型却残留 retrievalMode=local(切换了库、或载入了旧会话)
|
|
62
68
|
// 时,强制回落 search,避免对话时走文件记忆分支报错。等库列表就绪后再纠偏,
|
|
@@ -64,13 +70,23 @@ export function MemoryBindSection() {
|
|
|
64
70
|
const currentMode = binding?.retrievalMode;
|
|
65
71
|
useEffect(() => {
|
|
66
72
|
if (!binding || isLoading) return;
|
|
67
|
-
const corrected = resolveRetrievalMode(currentMode,
|
|
68
|
-
|
|
69
|
-
|
|
73
|
+
const corrected = resolveRetrievalMode(currentMode, storageMode);
|
|
74
|
+
const patch = {
|
|
75
|
+
...(currentMode !== corrected ? { retrievalMode: corrected } : {}),
|
|
76
|
+
...(binding.storageMode !== storageMode ? { storageMode } : {}),
|
|
77
|
+
};
|
|
78
|
+
if (Object.keys(patch).length > 0) {
|
|
79
|
+
cfg.updateMemory(patch);
|
|
70
80
|
}
|
|
71
81
|
// cfg.updateMemory 稳定;仅依赖会影响判定的原始量
|
|
72
82
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
73
|
-
}, [
|
|
83
|
+
}, [
|
|
84
|
+
binding?.memoryStoreName,
|
|
85
|
+
binding?.storageMode,
|
|
86
|
+
currentMode,
|
|
87
|
+
storageMode,
|
|
88
|
+
isLoading,
|
|
89
|
+
]);
|
|
74
90
|
|
|
75
91
|
return (
|
|
76
92
|
<div className="space-y-3 border-t border-[hsl(var(--border))] pt-4">
|
|
@@ -118,6 +134,7 @@ export function MemoryBindSection() {
|
|
|
118
134
|
onBind={() =>
|
|
119
135
|
cfg.setMemory({
|
|
120
136
|
memoryStoreName: stores[0]?.memoryStoreName ?? "",
|
|
137
|
+
storageMode: normalizeStorageMode(stores[0]?.storageMode),
|
|
121
138
|
scope: { appId: "", tenantId: "", agentId: "", runId: "" },
|
|
122
139
|
autoSave: true,
|
|
123
140
|
topK: 5,
|
|
@@ -129,13 +146,27 @@ export function MemoryBindSection() {
|
|
|
129
146
|
<MemoryStoreRow
|
|
130
147
|
value={binding.memoryStoreName}
|
|
131
148
|
stores={stores}
|
|
132
|
-
onChange={(v) =>
|
|
149
|
+
onChange={(v) => {
|
|
150
|
+
const nextMode = normalizeStorageMode(
|
|
151
|
+
stores.find((store) => store.memoryStoreName === v)
|
|
152
|
+
?.storageMode,
|
|
153
|
+
);
|
|
154
|
+
cfg.updateMemory({
|
|
155
|
+
memoryStoreName: v,
|
|
156
|
+
storageMode: nextMode,
|
|
157
|
+
retrievalMode: resolveRetrievalMode(
|
|
158
|
+
binding.retrievalMode,
|
|
159
|
+
nextMode,
|
|
160
|
+
),
|
|
161
|
+
});
|
|
162
|
+
}}
|
|
133
163
|
onUnbind={() => cfg.setMemory(undefined)}
|
|
134
164
|
/>
|
|
135
165
|
|
|
136
166
|
<RetrievalModeRow
|
|
137
|
-
mode={resolveRetrievalMode(binding.retrievalMode,
|
|
138
|
-
|
|
167
|
+
mode={resolveRetrievalMode(binding.retrievalMode, storageMode)}
|
|
168
|
+
storageMode={storageMode}
|
|
169
|
+
fileMemoryAllowed={capabilities.files}
|
|
139
170
|
onChange={(m) => cfg.updateMemory({ retrievalMode: m })}
|
|
140
171
|
memoryStoreName={binding.memoryStoreName}
|
|
141
172
|
scope={binding.scope}
|
|
@@ -148,6 +179,8 @@ export function MemoryBindSection() {
|
|
|
148
179
|
agentId={binding.scope.agentId}
|
|
149
180
|
runId={binding.scope.runId}
|
|
150
181
|
autoSave={binding.autoSave}
|
|
182
|
+
autoSaveAllowed={autoSaveAllowed}
|
|
183
|
+
fileAutoSave={capabilities.writableFiles}
|
|
151
184
|
onScopeChange={(patch) => cfg.updateMemory({ scope: patch })}
|
|
152
185
|
onAutoSaveChange={(v) => cfg.updateMemory({ autoSave: v })}
|
|
153
186
|
/>
|
|
@@ -160,18 +193,25 @@ export function MemoryBindSection() {
|
|
|
160
193
|
/**
|
|
161
194
|
* 记忆检索模式二选一 + 文件记忆入口。
|
|
162
195
|
* - 「语义检索」:服务端每轮向量检索(原行为)。
|
|
163
|
-
* -
|
|
196
|
+
* - 「文件记忆」:把该范围的服务端文件投影同步到
|
|
164
197
|
* 本地镜像目录,在文件上做词法检索,并可「查看记忆文件」浏览目录结构。
|
|
165
198
|
*/
|
|
166
199
|
function RetrievalModeRow(props: {
|
|
167
200
|
mode: "search" | "local";
|
|
168
|
-
|
|
201
|
+
storageMode: StorageMode;
|
|
169
202
|
fileMemoryAllowed: boolean;
|
|
170
203
|
onChange: (mode: "search" | "local") => void;
|
|
171
204
|
memoryStoreName: string;
|
|
172
205
|
scope: { appId: string; tenantId: string; agentId: string; runId: string };
|
|
173
206
|
}) {
|
|
174
|
-
const {
|
|
207
|
+
const {
|
|
208
|
+
mode,
|
|
209
|
+
storageMode,
|
|
210
|
+
fileMemoryAllowed,
|
|
211
|
+
onChange,
|
|
212
|
+
memoryStoreName,
|
|
213
|
+
scope,
|
|
214
|
+
} = props;
|
|
175
215
|
const { t } = useI18n();
|
|
176
216
|
const [filesOpen, setFilesOpen] = useState(false);
|
|
177
217
|
const scopeComplete =
|
|
@@ -191,6 +231,7 @@ function RetrievalModeRow(props: {
|
|
|
191
231
|
<div className="grid grid-cols-2 gap-2">
|
|
192
232
|
<ModeButton
|
|
193
233
|
active={mode === "search"}
|
|
234
|
+
disabled={storageMode === "filemem"}
|
|
194
235
|
title={t("chat.memoryBind.modeSearchTitle")}
|
|
195
236
|
desc={t("chat.memoryBind.modeSearchDesc")}
|
|
196
237
|
onClick={() => onChange("search")}
|
|
@@ -200,9 +241,11 @@ function RetrievalModeRow(props: {
|
|
|
200
241
|
disabled={!fileMemoryAllowed}
|
|
201
242
|
title={t("chat.memoryBind.modeLocalTitle")}
|
|
202
243
|
desc={
|
|
203
|
-
|
|
204
|
-
? t("chat.memoryBind.
|
|
205
|
-
:
|
|
244
|
+
storageMode === "filemem"
|
|
245
|
+
? t("chat.memoryBind.modeLocalDescWritable")
|
|
246
|
+
: fileMemoryAllowed
|
|
247
|
+
? t("chat.memoryBind.modeLocalDescEnabled")
|
|
248
|
+
: t("chat.memoryBind.modeLocalDescDisabled")
|
|
206
249
|
}
|
|
207
250
|
onClick={() => onChange("local")}
|
|
208
251
|
/>
|
|
@@ -399,6 +442,8 @@ function MemoryBindingForm(props: {
|
|
|
399
442
|
agentId: string;
|
|
400
443
|
runId: string;
|
|
401
444
|
autoSave: boolean;
|
|
445
|
+
autoSaveAllowed: boolean;
|
|
446
|
+
fileAutoSave: boolean;
|
|
402
447
|
onScopeChange: (patch: {
|
|
403
448
|
appId?: string;
|
|
404
449
|
tenantId?: string;
|
|
@@ -461,11 +506,14 @@ function MemoryBindingForm(props: {
|
|
|
461
506
|
<div className="space-y-0.5">
|
|
462
507
|
<Label className="text-sm">{t("chat.memoryBind.autoSave")}</Label>
|
|
463
508
|
<p className="text-xs text-muted-foreground">
|
|
464
|
-
{
|
|
509
|
+
{props.fileAutoSave
|
|
510
|
+
? t("chat.memoryBind.autoSaveFilememDesc")
|
|
511
|
+
: t("chat.memoryBind.autoSaveDesc")}
|
|
465
512
|
</p>
|
|
466
513
|
</div>
|
|
467
514
|
<Switch
|
|
468
515
|
checked={props.autoSave}
|
|
516
|
+
disabled={!props.autoSaveAllowed}
|
|
469
517
|
onCheckedChange={props.onAutoSaveChange}
|
|
470
518
|
/>
|
|
471
519
|
</div>
|
|
@@ -28,7 +28,7 @@ export function MemoryFilesDialog(props: {
|
|
|
28
28
|
|
|
29
29
|
return (
|
|
30
30
|
<Dialog open={open} onOpenChange={onOpenChange}>
|
|
31
|
-
<DialogContent className="flex max-h-[
|
|
31
|
+
<DialogContent className="flex h-[86vh] max-h-[900px] w-[95vw] max-w-[1400px] flex-col overflow-hidden">
|
|
32
32
|
<DialogHeader>
|
|
33
33
|
<DialogTitle className="flex items-center gap-2">
|
|
34
34
|
<FolderTree className="h-4 w-4" />
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { FileClock, Hash, HardDrive, ListOrdered } from "lucide-react";
|
|
4
|
+
|
|
5
|
+
import { useI18n } from "@/i18n/i18n-context";
|
|
6
|
+
import type { FileMemory, FileMemoryScope } from "@/types/file-memory";
|
|
7
|
+
|
|
8
|
+
import { FileVersionHistory } from "./file-version-history";
|
|
9
|
+
|
|
10
|
+
function DetailRow({
|
|
11
|
+
icon,
|
|
12
|
+
label,
|
|
13
|
+
value,
|
|
14
|
+
}: {
|
|
15
|
+
icon: React.ReactNode;
|
|
16
|
+
label: string;
|
|
17
|
+
value: React.ReactNode;
|
|
18
|
+
}) {
|
|
19
|
+
return (
|
|
20
|
+
<div className="flex items-start gap-2 py-1.5">
|
|
21
|
+
<span className="mt-0.5 text-muted-foreground">{icon}</span>
|
|
22
|
+
<div className="min-w-0">
|
|
23
|
+
<p className="text-[10px] uppercase tracking-wide text-muted-foreground">
|
|
24
|
+
{label}
|
|
25
|
+
</p>
|
|
26
|
+
<div className="break-all text-xs">{value}</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function FileDetailsPanel({
|
|
33
|
+
memoryStoreName,
|
|
34
|
+
scope,
|
|
35
|
+
file,
|
|
36
|
+
readOnly,
|
|
37
|
+
onRestored,
|
|
38
|
+
}: {
|
|
39
|
+
memoryStoreName: string;
|
|
40
|
+
scope: FileMemoryScope;
|
|
41
|
+
file: FileMemory | undefined;
|
|
42
|
+
readOnly: boolean;
|
|
43
|
+
onRestored?: (file: FileMemory, content: string) => void;
|
|
44
|
+
}) {
|
|
45
|
+
const { t } = useI18n();
|
|
46
|
+
if (!file) {
|
|
47
|
+
return (
|
|
48
|
+
<div className="flex h-full items-center justify-center p-5 text-center text-xs text-muted-foreground">
|
|
49
|
+
{t("memory.files.selectForDetails")}
|
|
50
|
+
</div>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return (
|
|
55
|
+
<div className="h-full min-h-0 overflow-auto p-3">
|
|
56
|
+
<h3 className="mb-2 text-xs font-semibold">
|
|
57
|
+
{t("memory.files.details")}
|
|
58
|
+
</h3>
|
|
59
|
+
<DetailRow
|
|
60
|
+
icon={<HardDrive className="h-3.5 w-3.5" />}
|
|
61
|
+
label={t("memory.files.size")}
|
|
62
|
+
value={`${file.contentSizeBytes.toLocaleString()} B`}
|
|
63
|
+
/>
|
|
64
|
+
<DetailRow
|
|
65
|
+
icon={<ListOrdered className="h-3.5 w-3.5" />}
|
|
66
|
+
label={t("memory.files.latestVersion")}
|
|
67
|
+
value={`v${file.latestSeq}`}
|
|
68
|
+
/>
|
|
69
|
+
<DetailRow
|
|
70
|
+
icon={<Hash className="h-3.5 w-3.5" />}
|
|
71
|
+
label="SHA-256"
|
|
72
|
+
value={
|
|
73
|
+
<span className="font-mono text-[10px]">{file.contentSha256}</span>
|
|
74
|
+
}
|
|
75
|
+
/>
|
|
76
|
+
<DetailRow
|
|
77
|
+
icon={<FileClock className="h-3.5 w-3.5" />}
|
|
78
|
+
label={t("memory.files.updatedAt")}
|
|
79
|
+
value={new Date(file.updatedAt).toLocaleString()}
|
|
80
|
+
/>
|
|
81
|
+
|
|
82
|
+
<FileVersionHistory
|
|
83
|
+
memoryStoreName={memoryStoreName}
|
|
84
|
+
scope={scope}
|
|
85
|
+
file={file}
|
|
86
|
+
readOnly={readOnly}
|
|
87
|
+
onRestored={onRestored}
|
|
88
|
+
/>
|
|
89
|
+
</div>
|
|
90
|
+
);
|
|
91
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { AlertTriangle, FileText, Loader2 } from "lucide-react";
|
|
5
|
+
|
|
6
|
+
import { Textarea } from "@/components/ui/textarea";
|
|
7
|
+
import { useI18n } from "@/i18n/i18n-context";
|
|
8
|
+
import { cn } from "@/lib/utils";
|
|
9
|
+
|
|
10
|
+
export const MAX_FILE_PATH_BYTES = 800;
|
|
11
|
+
export const MAX_FILE_CONTENT_BYTES = 100 * 1024;
|
|
12
|
+
|
|
13
|
+
export type FilePathValidationError =
|
|
14
|
+
"path-required" | "path-traversal" | "path-too-large";
|
|
15
|
+
export type FileContentValidationError = "content-too-large";
|
|
16
|
+
|
|
17
|
+
export function normalizeFileMemoryPath(value: string): string {
|
|
18
|
+
const trimmed = value.trim();
|
|
19
|
+
return `/${trimmed.replace(/^\/+/, "")}`;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function validateFileMemoryPath(
|
|
23
|
+
value: string,
|
|
24
|
+
): FilePathValidationError | null {
|
|
25
|
+
const path = normalizeFileMemoryPath(value);
|
|
26
|
+
if (path === "/") return "path-required";
|
|
27
|
+
if (path.split("/").some((segment) => segment === "..")) {
|
|
28
|
+
return "path-traversal";
|
|
29
|
+
}
|
|
30
|
+
if (new TextEncoder().encode(path).byteLength > MAX_FILE_PATH_BYTES) {
|
|
31
|
+
return "path-too-large";
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function validateFileMemoryContent(
|
|
37
|
+
value: string,
|
|
38
|
+
): FileContentValidationError | null {
|
|
39
|
+
return new TextEncoder().encode(value).byteLength > MAX_FILE_CONTENT_BYTES
|
|
40
|
+
? "content-too-large"
|
|
41
|
+
: null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function FileEditor({
|
|
45
|
+
path,
|
|
46
|
+
content,
|
|
47
|
+
dirty,
|
|
48
|
+
readOnly,
|
|
49
|
+
loading,
|
|
50
|
+
error,
|
|
51
|
+
conflict,
|
|
52
|
+
onChange,
|
|
53
|
+
}: {
|
|
54
|
+
path: string | null;
|
|
55
|
+
content: string;
|
|
56
|
+
dirty: boolean;
|
|
57
|
+
readOnly: boolean;
|
|
58
|
+
loading: boolean;
|
|
59
|
+
error?: string;
|
|
60
|
+
conflict?: string | null;
|
|
61
|
+
onChange: (content: string) => void;
|
|
62
|
+
}) {
|
|
63
|
+
const { t } = useI18n();
|
|
64
|
+
const byteLength = useMemo(
|
|
65
|
+
() => new TextEncoder().encode(content).byteLength,
|
|
66
|
+
[content],
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
if (!path) {
|
|
70
|
+
return (
|
|
71
|
+
<div className="flex h-full flex-col items-center justify-center gap-2 p-8 text-center text-muted-foreground">
|
|
72
|
+
<FileText className="h-9 w-9 opacity-30" />
|
|
73
|
+
<p className="text-sm">{t("memory.files.selectFile")}</p>
|
|
74
|
+
</div>
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (loading) {
|
|
79
|
+
return (
|
|
80
|
+
<div className="flex h-full items-center justify-center gap-2 text-sm text-muted-foreground">
|
|
81
|
+
<Loader2 className="h-4 w-4 animate-spin" />
|
|
82
|
+
{t("common.loading")}
|
|
83
|
+
</div>
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (error) {
|
|
88
|
+
return (
|
|
89
|
+
<div className="flex h-full items-center justify-center p-8 text-sm text-[hsl(var(--destructive))]">
|
|
90
|
+
{t("memory.files.readFailed", { error })}
|
|
91
|
+
</div>
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return (
|
|
96
|
+
<div className="flex h-full min-h-0 flex-col">
|
|
97
|
+
<div className="flex items-center justify-between border-b border-[hsl(var(--border))] px-3 py-2">
|
|
98
|
+
<div className="flex min-w-0 items-center gap-2">
|
|
99
|
+
<FileText className="h-4 w-4 shrink-0 text-[hsl(var(--primary))]" />
|
|
100
|
+
<span className="truncate font-mono text-xs" title={path}>
|
|
101
|
+
{path}
|
|
102
|
+
</span>
|
|
103
|
+
{dirty ? (
|
|
104
|
+
<span className="shrink-0 rounded-full bg-amber-500/15 px-2 py-0.5 text-[10px] font-medium text-amber-700 dark:text-amber-300">
|
|
105
|
+
{t("memory.files.unsaved")}
|
|
106
|
+
</span>
|
|
107
|
+
) : null}
|
|
108
|
+
</div>
|
|
109
|
+
<span
|
|
110
|
+
className={cn(
|
|
111
|
+
"shrink-0 text-[10px] text-muted-foreground",
|
|
112
|
+
byteLength > MAX_FILE_CONTENT_BYTES &&
|
|
113
|
+
"text-[hsl(var(--destructive))]",
|
|
114
|
+
)}
|
|
115
|
+
>
|
|
116
|
+
{t("memory.files.byteCount", {
|
|
117
|
+
count: byteLength,
|
|
118
|
+
limit: MAX_FILE_CONTENT_BYTES,
|
|
119
|
+
})}
|
|
120
|
+
</span>
|
|
121
|
+
</div>
|
|
122
|
+
{conflict ? (
|
|
123
|
+
<div className="flex items-start gap-2 border-b border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-800 dark:text-amber-200">
|
|
124
|
+
<AlertTriangle className="mt-0.5 h-3.5 w-3.5 shrink-0" />
|
|
125
|
+
<span>{t("memory.files.shaConflict")}</span>
|
|
126
|
+
</div>
|
|
127
|
+
) : null}
|
|
128
|
+
<Textarea
|
|
129
|
+
aria-label={t("memory.files.editorLabel")}
|
|
130
|
+
value={content}
|
|
131
|
+
onChange={(event) => onChange(event.target.value)}
|
|
132
|
+
readOnly={readOnly}
|
|
133
|
+
spellCheck={false}
|
|
134
|
+
className="min-h-0 flex-1 resize-none rounded-none border-0 bg-transparent p-4 font-mono text-xs leading-5 shadow-none focus-visible:ring-0"
|
|
135
|
+
placeholder={t("memory.files.editorPlaceholder")}
|
|
136
|
+
/>
|
|
137
|
+
</div>
|
|
138
|
+
);
|
|
139
|
+
}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
import { Loader2 } from "lucide-react";
|
|
5
|
+
|
|
6
|
+
import { Button } from "@/components/ui/button";
|
|
7
|
+
import {
|
|
8
|
+
Dialog,
|
|
9
|
+
DialogContent,
|
|
10
|
+
DialogDescription,
|
|
11
|
+
DialogFooter,
|
|
12
|
+
DialogHeader,
|
|
13
|
+
DialogTitle,
|
|
14
|
+
} from "@/components/ui/dialog";
|
|
15
|
+
import { Input } from "@/components/ui/input";
|
|
16
|
+
import { Label } from "@/components/ui/label";
|
|
17
|
+
import { Textarea } from "@/components/ui/textarea";
|
|
18
|
+
import { useI18n } from "@/i18n/i18n-context";
|
|
19
|
+
|
|
20
|
+
import {
|
|
21
|
+
normalizeFileMemoryPath,
|
|
22
|
+
type FileContentValidationError,
|
|
23
|
+
type FilePathValidationError,
|
|
24
|
+
validateFileMemoryContent,
|
|
25
|
+
validateFileMemoryPath,
|
|
26
|
+
} from "./file-editor";
|
|
27
|
+
|
|
28
|
+
export type FileMutationDialog = "create" | "rename" | "delete" | null;
|
|
29
|
+
|
|
30
|
+
const VALIDATION_MESSAGE_KEYS = {
|
|
31
|
+
"path-required": "memory.files.pathRequired",
|
|
32
|
+
"path-traversal": "memory.files.pathTraversal",
|
|
33
|
+
"path-too-large": "memory.files.pathTooLarge",
|
|
34
|
+
"content-too-large": "memory.files.contentTooLarge",
|
|
35
|
+
} as const;
|
|
36
|
+
|
|
37
|
+
export function FileMutationDialogs({
|
|
38
|
+
mode,
|
|
39
|
+
selectedPath,
|
|
40
|
+
pending,
|
|
41
|
+
onClose,
|
|
42
|
+
onCreate,
|
|
43
|
+
onRename,
|
|
44
|
+
onDelete,
|
|
45
|
+
}: {
|
|
46
|
+
mode: FileMutationDialog;
|
|
47
|
+
selectedPath: string | null;
|
|
48
|
+
pending: boolean;
|
|
49
|
+
onClose: () => void;
|
|
50
|
+
onCreate: (path: string, content: string) => Promise<void>;
|
|
51
|
+
onRename: (path: string) => Promise<void>;
|
|
52
|
+
onDelete: () => Promise<void>;
|
|
53
|
+
}) {
|
|
54
|
+
const { t } = useI18n();
|
|
55
|
+
const [path, setPath] = useState("");
|
|
56
|
+
const [content, setContent] = useState("");
|
|
57
|
+
const [error, setError] = useState<string | null>(null);
|
|
58
|
+
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
setPath(mode === "rename" ? (selectedPath ?? "") : "");
|
|
61
|
+
setContent("");
|
|
62
|
+
setError(null);
|
|
63
|
+
}, [mode, selectedPath]);
|
|
64
|
+
|
|
65
|
+
function validationMessage(
|
|
66
|
+
code: FilePathValidationError | FileContentValidationError,
|
|
67
|
+
): string {
|
|
68
|
+
return t(VALIDATION_MESSAGE_KEYS[code]);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
async function submit() {
|
|
72
|
+
setError(null);
|
|
73
|
+
try {
|
|
74
|
+
if (mode === "delete") {
|
|
75
|
+
await onDelete();
|
|
76
|
+
} else {
|
|
77
|
+
const pathError = validateFileMemoryPath(path);
|
|
78
|
+
if (pathError) {
|
|
79
|
+
setError(validationMessage(pathError));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (mode === "create") {
|
|
83
|
+
const contentError = validateFileMemoryContent(content);
|
|
84
|
+
if (contentError) {
|
|
85
|
+
setError(validationMessage(contentError));
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
await onCreate(normalizeFileMemoryPath(path), content);
|
|
89
|
+
} else if (mode === "rename") {
|
|
90
|
+
await onRename(normalizeFileMemoryPath(path));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
onClose();
|
|
94
|
+
} catch (submitError) {
|
|
95
|
+
setError(
|
|
96
|
+
submitError instanceof Error
|
|
97
|
+
? submitError.message
|
|
98
|
+
: t("common.unknownError"),
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const titles = {
|
|
104
|
+
create: t("memory.files.createTitle"),
|
|
105
|
+
rename: t("memory.files.renameTitle"),
|
|
106
|
+
delete: t("memory.files.deleteTitle"),
|
|
107
|
+
};
|
|
108
|
+
const submitLabels = {
|
|
109
|
+
create: t("common.create"),
|
|
110
|
+
rename: t("memory.files.rename"),
|
|
111
|
+
delete: t("common.delete"),
|
|
112
|
+
};
|
|
113
|
+
const title = mode ? titles[mode] : "";
|
|
114
|
+
const submitLabel = mode ? submitLabels[mode] : "";
|
|
115
|
+
|
|
116
|
+
return (
|
|
117
|
+
<Dialog open={mode !== null} onOpenChange={(open) => !open && onClose()}>
|
|
118
|
+
<DialogContent className="sm:max-w-lg">
|
|
119
|
+
<DialogHeader>
|
|
120
|
+
<DialogTitle>{title}</DialogTitle>
|
|
121
|
+
<DialogDescription>
|
|
122
|
+
{mode === "delete"
|
|
123
|
+
? t("memory.files.deleteDescription", {
|
|
124
|
+
path: selectedPath ?? "",
|
|
125
|
+
})
|
|
126
|
+
: t("memory.files.pathHelp")}
|
|
127
|
+
</DialogDescription>
|
|
128
|
+
</DialogHeader>
|
|
129
|
+
|
|
130
|
+
{mode !== "delete" ? (
|
|
131
|
+
<div className="space-y-4 py-2">
|
|
132
|
+
<div className="space-y-1.5">
|
|
133
|
+
<Label htmlFor="file-memory-path">
|
|
134
|
+
{t("memory.files.pathLabel")}
|
|
135
|
+
</Label>
|
|
136
|
+
<Input
|
|
137
|
+
id="file-memory-path"
|
|
138
|
+
autoFocus
|
|
139
|
+
value={path}
|
|
140
|
+
onChange={(event) => setPath(event.target.value)}
|
|
141
|
+
placeholder="/notes/profile.md"
|
|
142
|
+
/>
|
|
143
|
+
</div>
|
|
144
|
+
{mode === "create" ? (
|
|
145
|
+
<div className="space-y-1.5">
|
|
146
|
+
<Label htmlFor="file-memory-content">
|
|
147
|
+
{t("memory.files.initialContent")}
|
|
148
|
+
</Label>
|
|
149
|
+
<Textarea
|
|
150
|
+
id="file-memory-content"
|
|
151
|
+
value={content}
|
|
152
|
+
onChange={(event) => setContent(event.target.value)}
|
|
153
|
+
rows={8}
|
|
154
|
+
className="font-mono text-xs"
|
|
155
|
+
/>
|
|
156
|
+
</div>
|
|
157
|
+
) : null}
|
|
158
|
+
</div>
|
|
159
|
+
) : null}
|
|
160
|
+
|
|
161
|
+
{error ? (
|
|
162
|
+
<p className="text-xs text-[hsl(var(--destructive))]">{error}</p>
|
|
163
|
+
) : null}
|
|
164
|
+
<DialogFooter>
|
|
165
|
+
<Button type="button" variant="outline" onClick={onClose}>
|
|
166
|
+
{t("common.cancel")}
|
|
167
|
+
</Button>
|
|
168
|
+
<Button
|
|
169
|
+
type="button"
|
|
170
|
+
variant={mode === "delete" ? "destructive" : "default"}
|
|
171
|
+
onClick={() => void submit()}
|
|
172
|
+
disabled={pending}
|
|
173
|
+
>
|
|
174
|
+
{pending ? <Loader2 className="animate-spin" /> : null}
|
|
175
|
+
{submitLabel}
|
|
176
|
+
</Button>
|
|
177
|
+
</DialogFooter>
|
|
178
|
+
</DialogContent>
|
|
179
|
+
</Dialog>
|
|
180
|
+
);
|
|
181
|
+
}
|