@tablestore/tablestore-agent-cli 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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/required-server-files.json +4 -4
- 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]/scope/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/scope/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/[store]/wiki/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/wiki/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.nft.json +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.nft.json +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.nft.json +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.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/connectivity/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/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.nft.json +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.nft.json +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.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/[action]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js +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.nft.json +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.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/artifacts/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/ingest/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/page/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/pages/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/search/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/source/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/sources/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.nft.json +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 +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/chunks/0p91_next_dist_esm_build_templates_app-route_0n~ec7s.js +11 -11
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0-e5iv2._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__03j_ekh._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__07k_8vo._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0esucs7._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0z19yd0._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__07er-7t._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__09556l4._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0ejd~qu._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0hbevlv._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0xqm21n._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0-yhfok._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0.eh64w._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_06umrt-._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0a-deba._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0au8umj._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f3_q1r._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fz3kge._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0gt9qp0._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ih5--w._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0j4mfzx._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_06ofr7j._.js → _0j_44th._.js} +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_06.3nzk._.js → _0mn4dgd._.js} +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0d_nd-j._.js → _0nc~.w2._.js} +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0p-bup8._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0psdvqq._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0rd1b-.._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0t_-u16._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0u0~-~-._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0vw3mzw._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ww5s91._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xm2tp8._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xutx8t._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0ggq95f._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0x60pxf._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0xaihln._.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_[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]_scope_page_tsx_01rq2zq._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_search_page_tsx_0rj3dkc._.js +3 -0
- 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 +1 -1
- 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/node_modules__pnpm_03py6n-._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_08hzj0f._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0_mks~s._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0xbb09m._.js +3 -0
- 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-b36b4si6az5.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-q4fucd6l5ip.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{14t.r5~ls3k0x.js → 03qrjs4w.7yz3.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/04uxooijjqs-9.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/08tm8srceyz1j.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/08tpejw1f.2jd.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0b_~fcwy9vo2r.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0crw5ciecbvir.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0cy7y~ef_6m-s.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0dl5t6e508o8k.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0expqv.~8a3wr.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0gdmaffoezvcu.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0hoybc7spk4vg.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0k6m5~gmu0f8w.js → 0k9my4lhyvwbd.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0lfx3ykqc9uiy.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0m2j5ne9j7dft.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0m50djlkcegw9.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0mg.g5g33nh.~.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0mit8g2.vh7a9.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0o9quk2z~1ez0.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0o~zjik9-6a1f.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0p6zd_ss6.14_.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0qccdw9ussvne.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{1204oli3aouy7.js → 0teq2sa-33s3g.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0upl.e~taktf9.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v1ulq51wmrto.js +5 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v5mmaebktnw1.css +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0vp-dv9_z334e.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0w9eqc5ya-oai.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x0ppjv_4yap7.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0xbqtv-jcph-2.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~m6ml547qzpo.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/10s~90qej98.b.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/12vri~chu44bu.js +9 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/13jqvu~hww3b4.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0idn9fvygbi9d.js → 13wh4v_j6tlns.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/16.18mrzg-4wl.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/162doi8c0o5ot.js +1 -0
- package/dist/dashboard-runtime/dashboard/server.js +1 -1
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/dream/[dreamId]/page.tsx +6 -1
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/dream/page.tsx +3 -2
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/layout.tsx +5 -2
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/scope/page.tsx +24 -16
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/search/page.tsx +77 -21
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/settings/page.tsx +18 -2
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/units/page.tsx +89 -47
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/memory-retrieval.ts +72 -4
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/route.ts +19 -2
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/scopes/route.ts +123 -8
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/search/route.ts +21 -8
- package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/route.ts +11 -4
- package/dist/dashboard-runtime/dashboard/src/components/chat/chat-config-context.tsx +2 -5
- package/dist/dashboard-runtime/dashboard/src/components/chat/wiki-bind-section.tsx +2 -4
- package/dist/dashboard-runtime/dashboard/src/components/layout/language-toggle.tsx +19 -16
- package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-mobile.tsx +1 -1
- package/dist/dashboard-runtime/dashboard/src/components/memory/file-details-panel.tsx +32 -10
- package/dist/dashboard-runtime/dashboard/src/components/memory/file-mutation-dialogs.tsx +14 -2
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-add-dialog.tsx +21 -3
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-create-form.tsx +50 -38
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-files-browser.tsx +46 -10
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-requests-table.tsx +7 -6
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-scope-bar.tsx +13 -4
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-form.tsx +384 -70
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-results.tsx +238 -57
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-settings-form.tsx +88 -1
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-card.tsx +4 -1
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-tasks-table.tsx +3 -2
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-detail-panel.tsx +19 -4
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-table.tsx +8 -5
- package/dist/dashboard-runtime/dashboard/src/components/memory/scope-directory-explorer.tsx +384 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/scope-filter-builder.tsx +393 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/scope-workspace.tsx +6 -2
- package/dist/dashboard-runtime/dashboard/src/components/shared/copyable-id.tsx +69 -0
- package/dist/dashboard-runtime/dashboard/src/hooks/use-chat-history.ts +2 -3
- package/dist/dashboard-runtime/dashboard/src/i18n/locales/en.ts +121 -14
- package/dist/dashboard-runtime/dashboard/src/i18n/locales/zh.ts +116 -12
- package/dist/dashboard-runtime/dashboard/src/lib/memory-storage-mode.ts +140 -33
- package/dist/dashboard-runtime/dashboard/src/lib/memory-units-view.ts +9 -0
- package/dist/dashboard-runtime/dashboard/src/lib/memory.ts +2 -7
- package/dist/dashboard-runtime/dashboard/src/lib/query-keys.ts +13 -0
- package/dist/dashboard-runtime/dashboard/src/lib/scope-directory.ts +97 -0
- package/dist/dashboard-runtime/dashboard/src/lib/server/memory-store-contract.ts +41 -0
- package/dist/dashboard-runtime/dashboard/src/lib/server/scope-filter-validation.ts +186 -0
- package/dist/dashboard-runtime/dashboard/src/schemas/llm-chat.ts +5 -2
- package/dist/dashboard-runtime/dashboard/src/services/memory.ts +16 -6
- package/dist/dashboard-runtime/dashboard/src/types/memory.ts +95 -4
- package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/README.md +2 -2
- package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
- package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
- package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/package.json +11 -5
- package/dist/dashboard-runtime/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/dist/dashboard-runtime/node_modules/@img/{sharp-darwin-arm64 → sharp-linux-x64}/package.json +13 -7
- package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0is6qso._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0q9fgt6._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0w_ig2a._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0zmo~nd._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13g_f9w._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__05kcz99._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__06l7w~r._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__07fsbff._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0_6myqa._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0d-z.x1._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_00.la1c._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01r6jx1._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_04rasxw._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_05__-74._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_05wwgdw._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f.xs7l._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jt60z2._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0k7q0ug._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0kaclzw._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0lstkpb._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0qw41co._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0vfgz-v._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0y4mxf8._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_119lxvo._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_079nj-_._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0bhjp9s._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0..ymrl._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_00arje5._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_08h.f_8._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0pf30rh._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_12_d6fg._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-88a30l.a1sg.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/01nixb3ddw4hy.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/01u9hj_9~5-vg.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/02q3tpry1ajx9.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/057-rg6~0wki8.css +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/05d8-45s941bx.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/07q8af71w17xl.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/07v6llp0fv6iq.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0a9.rr50h5ypa.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0axnv6wy1_hr7.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0bbcwyy.xvpd0.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0cfrd_r4jr_ip.js +0 -9
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0dpj.6wcf.qn8.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0gt8u.o_c_nix.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0hh2728tmgrdk.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jjiw-agnutux.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0nw7q~w~vg.-y.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0o-j8g9gp_c1r.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pm6vv5wntle..js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0qr499bd44k.g.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0sx_fx5r7nq4b.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0tbu6y0a22ok8.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u6c8q4k~6aiy.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u7fh6be6noif.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0wcf_hdt9arma.js +0 -5
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0xash~4j8pl87.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0xi6y8g4l~vzr.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0y45-~ia9sqr0.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0yvc~t7p88wsf.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/10684vn7g6wln.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/14rpr3z1.lmgj.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/15043qe~kvq-v.js +0 -1
- package/dist/dashboard-runtime/dashboard/tsconfig.tsbuildinfo +0 -1
- package/dist/dashboard-runtime/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{bKUtNfKb47TOc1cpUk74A → mCNgeSYc3Dx3KiZXWf-5A}/_buildManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{bKUtNfKb47TOc1cpUk74A → mCNgeSYc3Dx3KiZXWf-5A}/_clientMiddlewareManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{bKUtNfKb47TOc1cpUk74A → mCNgeSYc3Dx3KiZXWf-5A}/_ssgManifest.js +0 -0
- /package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/index.js +0 -0
- /package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/versions.json +0 -0
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { Brain } from "lucide-react";
|
|
3
|
+
import { Brain, FileText, MessageSquareText } from "lucide-react";
|
|
4
4
|
import { Badge } from "@/components/ui/badge";
|
|
5
|
+
import { Button } from "@/components/ui/button";
|
|
5
6
|
import { Card, CardContent } from "@/components/ui/card";
|
|
6
7
|
import { EmptyState } from "@/components/shared/empty-state";
|
|
8
|
+
import { CopyableId } from "@/components/shared/copyable-id";
|
|
7
9
|
import { formatScope } from "@/lib/memory";
|
|
8
10
|
import { useI18n } from "@/i18n/i18n-context";
|
|
9
11
|
import type { Locale } from "@/i18n/config";
|
|
10
12
|
import { formatDateTime } from "@/lib/format-datetime";
|
|
11
|
-
import type {
|
|
13
|
+
import type { MemoryFileSearchHit, SearchMemoryResponse } from "@/types/memory";
|
|
12
14
|
|
|
13
15
|
interface MemorySearchResultsProps {
|
|
14
|
-
|
|
16
|
+
response: SearchMemoryResponse | null;
|
|
15
17
|
elapsedMs?: number;
|
|
18
|
+
scopeBlocked?: boolean;
|
|
19
|
+
onChooseScope?: () => void;
|
|
16
20
|
}
|
|
17
21
|
|
|
18
22
|
function formatTimestamp(
|
|
@@ -29,15 +33,33 @@ function formatTimestamp(
|
|
|
29
33
|
}
|
|
30
34
|
|
|
31
35
|
export function MemorySearchResults({
|
|
32
|
-
|
|
36
|
+
response,
|
|
33
37
|
elapsedMs,
|
|
38
|
+
scopeBlocked = false,
|
|
39
|
+
onChooseScope,
|
|
34
40
|
}: MemorySearchResultsProps) {
|
|
35
41
|
const { t, locale } = useI18n();
|
|
36
42
|
// `created_at` is the event time of the source message, not the write time —
|
|
37
43
|
// surface the fallback rules on hover so the line isn't read as an insert
|
|
38
44
|
// timestamp.
|
|
39
45
|
const hintCreatedAt = t("memory.search.resultCreatedAtHint");
|
|
40
|
-
if (!
|
|
46
|
+
if (!response) {
|
|
47
|
+
if (scopeBlocked) {
|
|
48
|
+
return (
|
|
49
|
+
<EmptyState
|
|
50
|
+
icon={Brain}
|
|
51
|
+
title={t("memory.search.chooseScopeTitle")}
|
|
52
|
+
description={t("memory.search.chooseScopeDescription")}
|
|
53
|
+
action={
|
|
54
|
+
onChooseScope ? (
|
|
55
|
+
<Button type="button" variant="outline" onClick={onChooseScope}>
|
|
56
|
+
{t("memory.search.chooseScopeAction")}
|
|
57
|
+
</Button>
|
|
58
|
+
) : undefined
|
|
59
|
+
}
|
|
60
|
+
/>
|
|
61
|
+
);
|
|
62
|
+
}
|
|
41
63
|
return (
|
|
42
64
|
<EmptyState
|
|
43
65
|
icon={Brain}
|
|
@@ -47,7 +69,10 @@ export function MemorySearchResults({
|
|
|
47
69
|
);
|
|
48
70
|
}
|
|
49
71
|
|
|
50
|
-
|
|
72
|
+
const results = response.results ?? [];
|
|
73
|
+
const fileResults = response.fileResults ?? [];
|
|
74
|
+
const evidence = response.evidence ?? [];
|
|
75
|
+
if (!results.length && !fileResults.length && !evidence.length) {
|
|
51
76
|
return (
|
|
52
77
|
<EmptyState
|
|
53
78
|
icon={Brain}
|
|
@@ -61,64 +86,220 @@ export function MemorySearchResults({
|
|
|
61
86
|
<div className="space-y-4">
|
|
62
87
|
<div className="flex items-center justify-between">
|
|
63
88
|
<h3 className="text-lg font-semibold">
|
|
64
|
-
{t("memory.search.
|
|
89
|
+
{t("memory.search.resultsSummary", {
|
|
90
|
+
memories: results.length,
|
|
91
|
+
files: fileResults.length,
|
|
92
|
+
evidence: evidence.length,
|
|
93
|
+
})}
|
|
65
94
|
</h3>
|
|
66
95
|
{elapsedMs !== undefined && (
|
|
67
96
|
<span className="text-sm text-muted-foreground">{elapsedMs} ms</span>
|
|
68
97
|
)}
|
|
69
98
|
</div>
|
|
70
99
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
100
|
+
{results.length > 0 && (
|
|
101
|
+
<ResultSection
|
|
102
|
+
title={t("memory.search.structuredResults")}
|
|
103
|
+
icon={<Brain className="h-4 w-4" />}
|
|
104
|
+
>
|
|
105
|
+
{results.map((hit, index) => (
|
|
106
|
+
<Card key={`${hit.unit.id ?? hit.unit.memoryId ?? index}-${index}`}>
|
|
107
|
+
<CardContent className="space-y-3 p-4">
|
|
108
|
+
<div className="flex flex-wrap items-center gap-2">
|
|
109
|
+
{hit.similarity !== undefined && (
|
|
110
|
+
<Badge variant="secondary">
|
|
111
|
+
{t("memory.search.similarity", {
|
|
112
|
+
value: hit.similarity.toFixed(4),
|
|
113
|
+
})}
|
|
114
|
+
</Badge>
|
|
115
|
+
)}
|
|
116
|
+
{hit.score !== undefined && (
|
|
117
|
+
<Badge variant="outline">
|
|
118
|
+
{t("memory.search.relevance", {
|
|
119
|
+
value: hit.score.toFixed(4),
|
|
120
|
+
})}
|
|
121
|
+
</Badge>
|
|
122
|
+
)}
|
|
123
|
+
{hit.source && <Badge variant="outline">{hit.source}</Badge>}
|
|
124
|
+
{hit.rankingScore !== undefined && (
|
|
125
|
+
<Badge variant="secondary">
|
|
126
|
+
{t("memory.search.rankingScore", {
|
|
127
|
+
value: hit.rankingScore.toFixed(4),
|
|
128
|
+
})}
|
|
129
|
+
</Badge>
|
|
130
|
+
)}
|
|
131
|
+
{hit.rankingSignals?.sameSession !== undefined && (
|
|
132
|
+
<Badge variant="outline">
|
|
133
|
+
{t("memory.search.rankingSignals", {
|
|
134
|
+
session: hit.rankingSignals.sameSession
|
|
135
|
+
? t("memory.search.sameSession")
|
|
136
|
+
: t("memory.search.otherSession"),
|
|
137
|
+
weight: (
|
|
138
|
+
hit.rankingSignals.sessionAffinityWeight ?? 0
|
|
139
|
+
).toFixed(4),
|
|
140
|
+
})}
|
|
141
|
+
</Badge>
|
|
142
|
+
)}
|
|
143
|
+
{hit.unit.unit_type && (
|
|
144
|
+
<Badge variant="outline">{hit.unit.unit_type}</Badge>
|
|
145
|
+
)}
|
|
146
|
+
</div>
|
|
147
|
+
<p className="whitespace-pre-wrap text-sm">{hit.unit.text}</p>
|
|
148
|
+
<div className="space-y-2 text-xs text-muted-foreground">
|
|
149
|
+
<CopyableId
|
|
150
|
+
value={hit.unit.id ?? hit.unit.memoryId}
|
|
151
|
+
label="ID"
|
|
152
|
+
/>
|
|
153
|
+
<span className="block min-w-0 break-words">
|
|
154
|
+
{t("memory.search.resultScope", {
|
|
155
|
+
scope: formatScope(hit.unit.scope),
|
|
80
156
|
})}
|
|
81
|
-
</
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
157
|
+
</span>
|
|
158
|
+
<div className="grid gap-2 sm:grid-cols-2">
|
|
159
|
+
<span title={hintCreatedAt}>
|
|
160
|
+
{t("memory.search.resultCreatedAt", {
|
|
161
|
+
time: formatTimestamp(
|
|
162
|
+
hit.unit.created_at ?? hit.unit.createdAt,
|
|
163
|
+
locale,
|
|
164
|
+
),
|
|
165
|
+
})}
|
|
166
|
+
</span>
|
|
167
|
+
<span>
|
|
168
|
+
{t("memory.search.resultVersion", {
|
|
169
|
+
version: hit.unit.version ?? "-",
|
|
170
|
+
})}
|
|
171
|
+
</span>
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
</CardContent>
|
|
175
|
+
</Card>
|
|
176
|
+
))}
|
|
177
|
+
</ResultSection>
|
|
178
|
+
)}
|
|
179
|
+
|
|
180
|
+
{fileResults.length > 0 && (
|
|
181
|
+
<ResultSection
|
|
182
|
+
title={t("memory.search.fileResults")}
|
|
183
|
+
icon={<FileText className="h-4 w-4" />}
|
|
184
|
+
>
|
|
185
|
+
{fileResults.map((hit, index) => (
|
|
186
|
+
<FileResult
|
|
187
|
+
key={`${hit.itemId}:${hit.versionId ?? ""}-${index}`}
|
|
188
|
+
hit={hit}
|
|
189
|
+
/>
|
|
190
|
+
))}
|
|
191
|
+
</ResultSection>
|
|
192
|
+
)}
|
|
193
|
+
|
|
194
|
+
{evidence.length > 0 && (
|
|
195
|
+
<ResultSection
|
|
196
|
+
title={t("memory.search.evidenceResults")}
|
|
197
|
+
icon={<MessageSquareText className="h-4 w-4" />}
|
|
198
|
+
>
|
|
199
|
+
{evidence.map((hit, index) => (
|
|
200
|
+
<Card key={`evidence-${hit.unit.id ?? index}-${index}`}>
|
|
201
|
+
<CardContent className="space-y-2 p-4">
|
|
202
|
+
<div className="flex gap-2">
|
|
203
|
+
{hit.score !== undefined && (
|
|
204
|
+
<Badge variant="outline">
|
|
205
|
+
{t("memory.search.relevance", {
|
|
206
|
+
value: hit.score.toFixed(4),
|
|
207
|
+
})}
|
|
208
|
+
</Badge>
|
|
209
|
+
)}
|
|
210
|
+
{hit.similarity !== undefined && (
|
|
211
|
+
<Badge variant="secondary">
|
|
212
|
+
{t("memory.search.similarity", {
|
|
213
|
+
value: hit.similarity.toFixed(4),
|
|
214
|
+
})}
|
|
215
|
+
</Badge>
|
|
216
|
+
)}
|
|
217
|
+
{hit.source && <Badge variant="outline">{hit.source}</Badge>}
|
|
218
|
+
</div>
|
|
219
|
+
<p className="whitespace-pre-wrap text-sm">{hit.unit.text}</p>
|
|
220
|
+
<div className="space-y-1 text-xs text-muted-foreground">
|
|
221
|
+
{hit.unit.scope ? (
|
|
222
|
+
<span className="block break-words">
|
|
223
|
+
{t("memory.search.resultScope", {
|
|
224
|
+
scope: formatScope(hit.unit.scope),
|
|
225
|
+
})}
|
|
226
|
+
</span>
|
|
227
|
+
) : null}
|
|
228
|
+
{hit.unit.created_at || hit.unit.createdAt ? (
|
|
229
|
+
<span className="block" title={hintCreatedAt}>
|
|
230
|
+
{t("memory.search.resultCreatedAt", {
|
|
231
|
+
time: formatTimestamp(
|
|
232
|
+
hit.unit.created_at ?? hit.unit.createdAt,
|
|
233
|
+
locale,
|
|
234
|
+
),
|
|
235
|
+
})}
|
|
236
|
+
</span>
|
|
237
|
+
) : null}
|
|
238
|
+
</div>
|
|
239
|
+
</CardContent>
|
|
240
|
+
</Card>
|
|
241
|
+
))}
|
|
242
|
+
</ResultSection>
|
|
243
|
+
)}
|
|
122
244
|
</div>
|
|
123
245
|
);
|
|
124
246
|
}
|
|
247
|
+
|
|
248
|
+
function ResultSection({
|
|
249
|
+
title,
|
|
250
|
+
icon,
|
|
251
|
+
children,
|
|
252
|
+
}: {
|
|
253
|
+
title: string;
|
|
254
|
+
icon: React.ReactNode;
|
|
255
|
+
children: React.ReactNode;
|
|
256
|
+
}) {
|
|
257
|
+
return (
|
|
258
|
+
<section className="space-y-3">
|
|
259
|
+
<h4 className="flex items-center gap-2 text-sm font-semibold">
|
|
260
|
+
{icon}
|
|
261
|
+
{title}
|
|
262
|
+
</h4>
|
|
263
|
+
<div className="space-y-3">{children}</div>
|
|
264
|
+
</section>
|
|
265
|
+
);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
function FileResult({ hit }: { hit: MemoryFileSearchHit }) {
|
|
269
|
+
const { t } = useI18n();
|
|
270
|
+
return (
|
|
271
|
+
<Card>
|
|
272
|
+
<CardContent className="space-y-3 p-4">
|
|
273
|
+
<div className="flex flex-wrap gap-2">
|
|
274
|
+
<Badge variant="secondary">{hit.type}</Badge>
|
|
275
|
+
{hit.similarity !== undefined && (
|
|
276
|
+
<Badge variant="outline">
|
|
277
|
+
{t("memory.search.similarity", {
|
|
278
|
+
value: hit.similarity.toFixed(4),
|
|
279
|
+
})}
|
|
280
|
+
</Badge>
|
|
281
|
+
)}
|
|
282
|
+
{hit.score !== undefined && (
|
|
283
|
+
<Badge variant="outline">
|
|
284
|
+
{t("memory.search.relevance", { value: hit.score.toFixed(4) })}
|
|
285
|
+
</Badge>
|
|
286
|
+
)}
|
|
287
|
+
</div>
|
|
288
|
+
<div>
|
|
289
|
+
<p className="font-mono text-sm font-medium">{hit.path}</p>
|
|
290
|
+
{hit.summary && (
|
|
291
|
+
<p className="mt-2 whitespace-pre-wrap text-sm text-muted-foreground">
|
|
292
|
+
{hit.summary}
|
|
293
|
+
</p>
|
|
294
|
+
)}
|
|
295
|
+
</div>
|
|
296
|
+
<div className="grid min-w-0 gap-2 text-xs text-muted-foreground sm:grid-cols-2">
|
|
297
|
+
<CopyableId value={hit.itemId} label="ID" />
|
|
298
|
+
<span>
|
|
299
|
+
{t("memory.search.fileVersion", { version: hit.versionId ?? "-" })}
|
|
300
|
+
</span>
|
|
301
|
+
</div>
|
|
302
|
+
</CardContent>
|
|
303
|
+
</Card>
|
|
304
|
+
);
|
|
305
|
+
}
|
|
@@ -6,6 +6,7 @@ import { zodResolver } from "@hookform/resolvers/zod";
|
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { toast } from "sonner";
|
|
8
8
|
import { Button } from "@/components/ui/button";
|
|
9
|
+
import { Checkbox } from "@/components/ui/checkbox";
|
|
9
10
|
import { Textarea } from "@/components/ui/textarea";
|
|
10
11
|
import {
|
|
11
12
|
Form,
|
|
@@ -18,7 +19,10 @@ import {
|
|
|
18
19
|
} from "@/components/ui/form";
|
|
19
20
|
import { useUpdateMemoryStore } from "@/hooks/use-update-memory-store";
|
|
20
21
|
import { useLocaleRevalidation } from "@/hooks/use-locale-revalidation";
|
|
21
|
-
import {
|
|
22
|
+
import {
|
|
23
|
+
resolveMemoryStoreTypeContract,
|
|
24
|
+
storageModeCapabilities,
|
|
25
|
+
} from "@/lib/memory-storage-mode";
|
|
22
26
|
import { useI18n } from "@/i18n/i18n-context";
|
|
23
27
|
import type { TranslateFn } from "@/i18n/i18n-context";
|
|
24
28
|
import type { MemoryStore, UpdateMemoryStoreRequest } from "@/types/memory";
|
|
@@ -35,6 +39,10 @@ function buildUpdateMemoryStoreSchema(t: TranslateFn) {
|
|
|
35
39
|
.trim()
|
|
36
40
|
.max(4096, t("memory.settings.extractMaxLength"))
|
|
37
41
|
.optional(),
|
|
42
|
+
outputTypes: z
|
|
43
|
+
.array(z.enum(["structured", "file"]))
|
|
44
|
+
.min(1, t("memory.settings.outputRequired"))
|
|
45
|
+
.optional(),
|
|
38
46
|
});
|
|
39
47
|
}
|
|
40
48
|
|
|
@@ -42,6 +50,12 @@ type UpdateMemoryStoreInput = z.infer<
|
|
|
42
50
|
ReturnType<typeof buildUpdateMemoryStoreSchema>
|
|
43
51
|
>;
|
|
44
52
|
|
|
53
|
+
function resolveInitialOutputTypes(
|
|
54
|
+
memoryStore: MemoryStore,
|
|
55
|
+
): Array<"structured" | "file"> {
|
|
56
|
+
return resolveMemoryStoreTypeContract(memoryStore).outputTypes;
|
|
57
|
+
}
|
|
58
|
+
|
|
45
59
|
export function buildUpdateMemoryStoreRequest(
|
|
46
60
|
memoryStore: MemoryStore,
|
|
47
61
|
values: UpdateMemoryStoreInput,
|
|
@@ -50,6 +64,14 @@ export function buildUpdateMemoryStoreRequest(
|
|
|
50
64
|
memoryStoreName: memoryStore.memoryStoreName,
|
|
51
65
|
description: values.description?.length ? values.description : undefined,
|
|
52
66
|
};
|
|
67
|
+
const contract = resolveMemoryStoreTypeContract(memoryStore);
|
|
68
|
+
const initialOutputs = contract.outputTypes;
|
|
69
|
+
const selectedOutputs = values.outputTypes ?? initialOutputs;
|
|
70
|
+
const nextOutputs = [...selectedOutputs].sort();
|
|
71
|
+
const outputChanged =
|
|
72
|
+
contract.inputType === "messages" &&
|
|
73
|
+
[...initialOutputs].sort().join(",") !== nextOutputs.join(",");
|
|
74
|
+
if (outputChanged) request.outputTypes = nextOutputs;
|
|
53
75
|
if (!storageModeCapabilities(memoryStore.storageMode).supportsExtraction) {
|
|
54
76
|
return request;
|
|
55
77
|
}
|
|
@@ -69,6 +91,7 @@ export function MemorySettingsForm({ memoryStore }: MemorySettingsFormProps) {
|
|
|
69
91
|
const updateStore = useUpdateMemoryStore();
|
|
70
92
|
const { t } = useI18n();
|
|
71
93
|
const capabilities = storageModeCapabilities(memoryStore.storageMode);
|
|
94
|
+
const storeType = resolveMemoryStoreTypeContract(memoryStore);
|
|
72
95
|
|
|
73
96
|
const resolver = useMemo(
|
|
74
97
|
() => zodResolver(buildUpdateMemoryStoreSchema(t)),
|
|
@@ -80,6 +103,7 @@ export function MemorySettingsForm({ memoryStore }: MemorySettingsFormProps) {
|
|
|
80
103
|
defaultValues: {
|
|
81
104
|
description: memoryStore.description ?? "",
|
|
82
105
|
extractInstructions: memoryStore.extractInstructions ?? "",
|
|
106
|
+
outputTypes: resolveInitialOutputTypes(memoryStore),
|
|
83
107
|
},
|
|
84
108
|
});
|
|
85
109
|
|
|
@@ -167,6 +191,69 @@ export function MemorySettingsForm({ memoryStore }: MemorySettingsFormProps) {
|
|
|
167
191
|
</section>
|
|
168
192
|
)}
|
|
169
193
|
|
|
194
|
+
{storeType.inputType === "messages" && (
|
|
195
|
+
<section className="rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm">
|
|
196
|
+
<SettingsSectionHeader
|
|
197
|
+
title={t("memory.settings.outputSection")}
|
|
198
|
+
description={t("memory.settings.outputSectionDesc")}
|
|
199
|
+
/>
|
|
200
|
+
<FormField
|
|
201
|
+
control={form.control}
|
|
202
|
+
name="outputTypes"
|
|
203
|
+
render={({ field }) => (
|
|
204
|
+
<FormItem>
|
|
205
|
+
<div className="grid gap-3 sm:grid-cols-2">
|
|
206
|
+
{(["structured", "file"] as const).map((output) => {
|
|
207
|
+
const checked = (field.value ?? []).includes(output);
|
|
208
|
+
return (
|
|
209
|
+
<label
|
|
210
|
+
key={output}
|
|
211
|
+
className="flex cursor-pointer items-start gap-3 rounded-lg border p-3"
|
|
212
|
+
>
|
|
213
|
+
<Checkbox
|
|
214
|
+
checked={checked}
|
|
215
|
+
onCheckedChange={(next) => {
|
|
216
|
+
const current = field.value ?? [];
|
|
217
|
+
if (next === true) {
|
|
218
|
+
field.onChange(
|
|
219
|
+
current.includes(output)
|
|
220
|
+
? current
|
|
221
|
+
: [...current, output],
|
|
222
|
+
);
|
|
223
|
+
} else if (current.length > 1) {
|
|
224
|
+
field.onChange(
|
|
225
|
+
current.filter((item) => item !== output),
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
}}
|
|
229
|
+
/>
|
|
230
|
+
<span>
|
|
231
|
+
<span className="block text-sm font-medium">
|
|
232
|
+
{t(
|
|
233
|
+
output === "structured"
|
|
234
|
+
? "memory.settings.outputStructured"
|
|
235
|
+
: "memory.settings.outputFile",
|
|
236
|
+
)}
|
|
237
|
+
</span>
|
|
238
|
+
<span className="mt-1 block text-xs text-muted-foreground">
|
|
239
|
+
{t(
|
|
240
|
+
output === "structured"
|
|
241
|
+
? "memory.settings.outputStructuredDesc"
|
|
242
|
+
: "memory.settings.outputFileDesc",
|
|
243
|
+
)}
|
|
244
|
+
</span>
|
|
245
|
+
</span>
|
|
246
|
+
</label>
|
|
247
|
+
);
|
|
248
|
+
})}
|
|
249
|
+
</div>
|
|
250
|
+
<FormMessage />
|
|
251
|
+
</FormItem>
|
|
252
|
+
)}
|
|
253
|
+
/>
|
|
254
|
+
</section>
|
|
255
|
+
)}
|
|
256
|
+
|
|
170
257
|
<div className="flex justify-end border-t border-[hsl(var(--border-light))] pt-4">
|
|
171
258
|
<Button type="submit" disabled={updateStore.isPending}>
|
|
172
259
|
{updateStore.isPending
|
|
@@ -136,7 +136,10 @@ function MemoryStoreCardImpl({ memoryStore, onDelete }: MemoryStoreCardProps) {
|
|
|
136
136
|
<div className="flex items-start justify-between gap-3">
|
|
137
137
|
<div className="flex min-w-0 flex-1 items-center gap-2">
|
|
138
138
|
<Brain className="h-4 w-4 shrink-0 text-primary" />
|
|
139
|
-
<h3
|
|
139
|
+
<h3
|
|
140
|
+
className="min-w-0 truncate text-base font-semibold text-foreground"
|
|
141
|
+
title={memoryStoreName}
|
|
142
|
+
>
|
|
140
143
|
{memoryStoreName}
|
|
141
144
|
</h3>
|
|
142
145
|
</div>
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
DialogTitle,
|
|
10
10
|
} from "@/components/ui/dialog";
|
|
11
11
|
import { Button } from "@/components/ui/button";
|
|
12
|
+
import { CopyableId } from "@/components/shared/copyable-id";
|
|
12
13
|
import {
|
|
13
14
|
Table,
|
|
14
15
|
TableBody,
|
|
@@ -141,8 +142,8 @@ export function MemoryTasksTable({
|
|
|
141
142
|
setOpen(true);
|
|
142
143
|
}}
|
|
143
144
|
>
|
|
144
|
-
<TableCell className="max-w-[
|
|
145
|
-
{task.requestId}
|
|
145
|
+
<TableCell className="max-w-[220px]">
|
|
146
|
+
<CopyableId value={task.requestId} label="" />
|
|
146
147
|
</TableCell>
|
|
147
148
|
<TableCell className="text-xs">
|
|
148
149
|
{scopeLabel(task.scope)}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import type { ReactNode } from "react";
|
|
4
4
|
import { Skeleton } from "@/components/ui/skeleton";
|
|
5
|
+
import { CopyableId } from "@/components/shared/copyable-id";
|
|
5
6
|
import {
|
|
6
7
|
Dialog,
|
|
7
8
|
DialogContent,
|
|
@@ -9,6 +10,7 @@ import {
|
|
|
9
10
|
DialogTitle,
|
|
10
11
|
} from "@/components/ui/dialog";
|
|
11
12
|
import { formatScope } from "@/lib/memory";
|
|
13
|
+
import { formatDateTime } from "@/lib/format-datetime";
|
|
12
14
|
import { useMemoryUnit } from "@/hooks/use-memory-unit";
|
|
13
15
|
import { useI18n } from "@/i18n/i18n-context";
|
|
14
16
|
import type { MemoryScope, MemoryUnit } from "@/types/memory";
|
|
@@ -49,7 +51,7 @@ export function MemoryUnitDetailPanel({
|
|
|
49
51
|
open,
|
|
50
52
|
onOpenChange,
|
|
51
53
|
}: MemoryUnitDetailPanelProps) {
|
|
52
|
-
const { t } = useI18n();
|
|
54
|
+
const { t, locale } = useI18n();
|
|
53
55
|
const memoryId = unit ? getMemoryUnitId(unit) : undefined;
|
|
54
56
|
const unitQuery = useMemoryUnit(memoryStoreName, memoryId, scope, open);
|
|
55
57
|
const detailUnit = unitQuery.data?.memory;
|
|
@@ -90,9 +92,10 @@ export function MemoryUnitDetailPanel({
|
|
|
90
92
|
) : detailUnit ? (
|
|
91
93
|
<div className="space-y-4">
|
|
92
94
|
<DetailRow label="ID">
|
|
93
|
-
<
|
|
94
|
-
{detailUnit.id ?? detailUnit.memoryId
|
|
95
|
-
|
|
95
|
+
<CopyableId
|
|
96
|
+
value={detailUnit.id ?? detailUnit.memoryId}
|
|
97
|
+
label=""
|
|
98
|
+
/>
|
|
96
99
|
</DetailRow>
|
|
97
100
|
<DetailRow label={t("memory.units.detailContent")}>
|
|
98
101
|
<p className="whitespace-pre-wrap rounded-md bg-muted p-3 text-sm">
|
|
@@ -118,6 +121,18 @@ export function MemoryUnitDetailPanel({
|
|
|
118
121
|
<DetailRow label={t("memory.units.detailVersion")}>
|
|
119
122
|
{detailUnit.version ?? "-"}
|
|
120
123
|
</DetailRow>
|
|
124
|
+
<DetailRow label={t("memory.units.detailEventTime")}>
|
|
125
|
+
{formatDateTime(
|
|
126
|
+
detailUnit.created_at ?? detailUnit.createdAt,
|
|
127
|
+
locale,
|
|
128
|
+
)}
|
|
129
|
+
</DetailRow>
|
|
130
|
+
<DetailRow label={t("memory.units.detailUpdatedAt")}>
|
|
131
|
+
{formatDateTime(
|
|
132
|
+
detailUnit.updated_at ?? detailUnit.updatedAt,
|
|
133
|
+
locale,
|
|
134
|
+
)}
|
|
135
|
+
</DetailRow>
|
|
121
136
|
{detailUnit.metadata && (
|
|
122
137
|
<DetailRow label={t("memory.units.detailMetadata")}>
|
|
123
138
|
<pre className="overflow-auto rounded-md bg-muted p-3 text-xs">
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { memo, useCallback } from "react";
|
|
4
4
|
import { Eye, Pencil, Trash2 } from "lucide-react";
|
|
5
5
|
import { Button } from "@/components/ui/button";
|
|
6
|
+
import { CopyableId } from "@/components/shared/copyable-id";
|
|
6
7
|
import {
|
|
7
8
|
Table,
|
|
8
9
|
TableBody,
|
|
@@ -78,8 +79,10 @@ const MemoryUnitRow = memo(function MemoryUnitRow({
|
|
|
78
79
|
const handleDelete = useCallback(() => onDelete?.(unit), [onDelete, unit]);
|
|
79
80
|
|
|
80
81
|
return (
|
|
81
|
-
<TableRow>
|
|
82
|
-
<TableCell className="
|
|
82
|
+
<TableRow className="group">
|
|
83
|
+
<TableCell className="w-[180px]">
|
|
84
|
+
<CopyableId value={unitId(unit)} label="" />
|
|
85
|
+
</TableCell>
|
|
83
86
|
<TableCell className="max-w-[420px]">
|
|
84
87
|
<p className="line-clamp-2 text-sm">{unit.text}</p>
|
|
85
88
|
{unit.search_text && (
|
|
@@ -93,7 +96,7 @@ const MemoryUnitRow = memo(function MemoryUnitRow({
|
|
|
93
96
|
<TableCell className="text-xs text-muted-foreground">
|
|
94
97
|
{formatTimestamp(unit.created_at ?? unit.createdAt, locale)}
|
|
95
98
|
</TableCell>
|
|
96
|
-
<TableCell>
|
|
99
|
+
<TableCell className="sticky right-0 z-10 bg-card shadow-[-8px_0_12px_-12px_rgba(15,23,42,0.45)] group-hover:bg-secondary">
|
|
97
100
|
<div className="flex justify-end gap-1">
|
|
98
101
|
<Button
|
|
99
102
|
type="button"
|
|
@@ -154,7 +157,7 @@ export function MemoryUnitTable({
|
|
|
154
157
|
|
|
155
158
|
return (
|
|
156
159
|
<div className="rounded-lg border">
|
|
157
|
-
<Table>
|
|
160
|
+
<Table className="min-w-[960px] table-fixed">
|
|
158
161
|
<TableHeader>
|
|
159
162
|
<TableRow>
|
|
160
163
|
<TableHead className="w-[180px]">
|
|
@@ -170,7 +173,7 @@ export function MemoryUnitTable({
|
|
|
170
173
|
<TableHead className="w-[170px]" title={hintCreatedAt}>
|
|
171
174
|
{t("memory.units.tableCreatedAt")}
|
|
172
175
|
</TableHead>
|
|
173
|
-
<TableHead className="w-[160px] text-right">
|
|
176
|
+
<TableHead className="sticky right-0 z-20 w-[160px] bg-secondary text-right shadow-[-8px_0_12px_-12px_rgba(15,23,42,0.45)]">
|
|
174
177
|
{t("memory.units.tableActions")}
|
|
175
178
|
</TableHead>
|
|
176
179
|
</TableRow>
|