@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
|
@@ -19,10 +19,8 @@ interface LanguageToggleProps {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* the control stays compact and visually consistent with the other footer
|
|
25
|
-
* icon buttons instead of a heavier segmented track.
|
|
22
|
+
* Clicking cycles through the available locales. The expanded sidebar shows
|
|
23
|
+
* the current language as text; the collapsed rail keeps the compact badge.
|
|
26
24
|
*/
|
|
27
25
|
export function LanguageToggle({ collapsed }: LanguageToggleProps) {
|
|
28
26
|
const { locale, setLocale, t } = useI18n();
|
|
@@ -42,24 +40,29 @@ export function LanguageToggle({ collapsed }: LanguageToggleProps) {
|
|
|
42
40
|
data-locale={locale}
|
|
43
41
|
onClick={() => setLocale(nextLocale)}
|
|
44
42
|
className={cn(
|
|
45
|
-
"group relative flex h-8
|
|
43
|
+
"group relative flex h-8 items-center justify-center rounded-md",
|
|
44
|
+
collapsed ? "w-8" : "gap-1.5 px-2 text-xs font-medium",
|
|
46
45
|
"text-[hsl(var(--muted-foreground))] transition-colors duration-150",
|
|
47
46
|
"hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--primary))]",
|
|
48
47
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--primary)/0.3)]",
|
|
49
48
|
)}
|
|
50
49
|
>
|
|
51
50
|
<Globe className="h-[18px] w-[18px]" />
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
51
|
+
{collapsed ? (
|
|
52
|
+
<span
|
|
53
|
+
aria-hidden
|
|
54
|
+
className={cn(
|
|
55
|
+
"absolute -bottom-0.5 -right-0.5 min-w-3.5 rounded-full px-1 text-center",
|
|
56
|
+
"text-[8px] font-bold uppercase leading-[1.4] tracking-tight",
|
|
57
|
+
"bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))]",
|
|
58
|
+
"ring-2 ring-[hsl(var(--sidebar-bg))] transition-colors",
|
|
59
|
+
)}
|
|
60
|
+
>
|
|
61
|
+
{LOCALE_LABELS[locale]}
|
|
62
|
+
</span>
|
|
63
|
+
) : (
|
|
64
|
+
<span>{LOCALE_LABELS[locale]}</span>
|
|
65
|
+
)}
|
|
63
66
|
</button>
|
|
64
67
|
</TooltipTrigger>
|
|
65
68
|
<TooltipContent side={collapsed ? "right" : "top"} sideOffset={8}>
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { FileClock, Hash, HardDrive, ListOrdered } from "lucide-react";
|
|
4
4
|
|
|
5
5
|
import { useI18n } from "@/i18n/i18n-context";
|
|
6
|
+
import { CopyableId } from "@/components/shared/copyable-id";
|
|
6
7
|
import type { FileMemoryItem, FileMemoryScope } from "@/types/file-memory";
|
|
7
8
|
|
|
8
9
|
import { FileVersionHistory } from "./file-version-history";
|
|
@@ -46,7 +47,9 @@ export function FileDetailsPanel({
|
|
|
46
47
|
if (!file) {
|
|
47
48
|
return (
|
|
48
49
|
<div className="flex h-full items-center justify-center p-5 text-center text-xs text-muted-foreground">
|
|
49
|
-
{
|
|
50
|
+
{readOnly
|
|
51
|
+
? t("memory.files.selectForDetailsReadOnly")
|
|
52
|
+
: t("memory.files.selectForDetails")}
|
|
50
53
|
</div>
|
|
51
54
|
);
|
|
52
55
|
}
|
|
@@ -56,6 +59,17 @@ export function FileDetailsPanel({
|
|
|
56
59
|
<h3 className="mb-2 text-xs font-semibold">
|
|
57
60
|
{t("memory.files.details")}
|
|
58
61
|
</h3>
|
|
62
|
+
<DetailRow
|
|
63
|
+
icon={<Hash className="h-3.5 w-3.5" />}
|
|
64
|
+
label={t("memory.files.itemId")}
|
|
65
|
+
value={
|
|
66
|
+
<CopyableId
|
|
67
|
+
value={file.itemId}
|
|
68
|
+
label=""
|
|
69
|
+
copyLabel={t("memory.files.itemId")}
|
|
70
|
+
/>
|
|
71
|
+
}
|
|
72
|
+
/>
|
|
59
73
|
<DetailRow
|
|
60
74
|
icon={<HardDrive className="h-3.5 w-3.5" />}
|
|
61
75
|
label={t("memory.files.size")}
|
|
@@ -64,13 +78,19 @@ export function FileDetailsPanel({
|
|
|
64
78
|
<DetailRow
|
|
65
79
|
icon={<ListOrdered className="h-3.5 w-3.5" />}
|
|
66
80
|
label={t("memory.files.latestVersion")}
|
|
67
|
-
value={
|
|
81
|
+
value={
|
|
82
|
+
<CopyableId
|
|
83
|
+
value={file.latestVersionId}
|
|
84
|
+
label=""
|
|
85
|
+
copyLabel={t("memory.files.latestVersion")}
|
|
86
|
+
/>
|
|
87
|
+
}
|
|
68
88
|
/>
|
|
69
89
|
<DetailRow
|
|
70
90
|
icon={<Hash className="h-3.5 w-3.5" />}
|
|
71
91
|
label="SHA-256"
|
|
72
92
|
value={
|
|
73
|
-
<
|
|
93
|
+
<CopyableId value={file.contentSha256} label="" copyLabel="SHA-256" />
|
|
74
94
|
}
|
|
75
95
|
/>
|
|
76
96
|
<DetailRow
|
|
@@ -79,13 +99,15 @@ export function FileDetailsPanel({
|
|
|
79
99
|
value={new Date(file.updatedAt).toLocaleString()}
|
|
80
100
|
/>
|
|
81
101
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
102
|
+
{!readOnly ? (
|
|
103
|
+
<FileVersionHistory
|
|
104
|
+
memoryStoreName={memoryStoreName}
|
|
105
|
+
scope={scope}
|
|
106
|
+
file={file}
|
|
107
|
+
readOnly={false}
|
|
108
|
+
onRestored={onRestored}
|
|
109
|
+
/>
|
|
110
|
+
) : null}
|
|
89
111
|
</div>
|
|
90
112
|
);
|
|
91
113
|
}
|
|
@@ -114,7 +114,12 @@ export function FileMutationDialogs({
|
|
|
114
114
|
const submitLabel = mode ? submitLabels[mode] : "";
|
|
115
115
|
|
|
116
116
|
return (
|
|
117
|
-
<Dialog
|
|
117
|
+
<Dialog
|
|
118
|
+
open={mode !== null}
|
|
119
|
+
onOpenChange={(open) => {
|
|
120
|
+
if (!open && !pending) onClose();
|
|
121
|
+
}}
|
|
122
|
+
>
|
|
118
123
|
<DialogContent className="sm:max-w-lg">
|
|
119
124
|
<DialogHeader>
|
|
120
125
|
<DialogTitle>{title}</DialogTitle>
|
|
@@ -139,6 +144,7 @@ export function FileMutationDialogs({
|
|
|
139
144
|
value={path}
|
|
140
145
|
onChange={(event) => setPath(event.target.value)}
|
|
141
146
|
placeholder="/notes/profile.md"
|
|
147
|
+
disabled={pending}
|
|
142
148
|
/>
|
|
143
149
|
</div>
|
|
144
150
|
{mode === "create" ? (
|
|
@@ -152,6 +158,7 @@ export function FileMutationDialogs({
|
|
|
152
158
|
onChange={(event) => setContent(event.target.value)}
|
|
153
159
|
rows={8}
|
|
154
160
|
className="font-mono text-xs"
|
|
161
|
+
disabled={pending}
|
|
155
162
|
/>
|
|
156
163
|
</div>
|
|
157
164
|
) : null}
|
|
@@ -162,7 +169,12 @@ export function FileMutationDialogs({
|
|
|
162
169
|
<p className="text-xs text-[hsl(var(--destructive))]">{error}</p>
|
|
163
170
|
) : null}
|
|
164
171
|
<DialogFooter>
|
|
165
|
-
<Button
|
|
172
|
+
<Button
|
|
173
|
+
type="button"
|
|
174
|
+
variant="outline"
|
|
175
|
+
onClick={onClose}
|
|
176
|
+
disabled={pending}
|
|
177
|
+
>
|
|
166
178
|
{t("common.cancel")}
|
|
167
179
|
</Button>
|
|
168
180
|
<Button
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { useState } from "react";
|
|
4
|
+
import { useRouter } from "next/navigation";
|
|
4
5
|
import { toast } from "sonner";
|
|
5
6
|
import { Button } from "@/components/ui/button";
|
|
6
7
|
import {
|
|
@@ -12,7 +13,7 @@ import {
|
|
|
12
13
|
} from "@/components/ui/dialog";
|
|
13
14
|
import { Label } from "@/components/ui/label";
|
|
14
15
|
import { Textarea } from "@/components/ui/textarea";
|
|
15
|
-
import { parseJsonObject } from "@/lib/memory";
|
|
16
|
+
import { parseJsonObject, scopeToSearchParams } from "@/lib/memory";
|
|
16
17
|
import { useAddMemory } from "@/hooks/use-add-memory";
|
|
17
18
|
import { useI18n } from "@/i18n/i18n-context";
|
|
18
19
|
import type { MemoryScope } from "@/types/memory";
|
|
@@ -20,6 +21,7 @@ import type { MemoryScope } from "@/types/memory";
|
|
|
20
21
|
interface MemoryAddDialogProps {
|
|
21
22
|
memoryStoreName: string;
|
|
22
23
|
scope: MemoryScope;
|
|
24
|
+
projectsToFiles?: boolean;
|
|
23
25
|
open: boolean;
|
|
24
26
|
onOpenChange: (open: boolean) => void;
|
|
25
27
|
onSuccess?: () => void;
|
|
@@ -28,11 +30,13 @@ interface MemoryAddDialogProps {
|
|
|
28
30
|
export function MemoryAddDialog({
|
|
29
31
|
memoryStoreName,
|
|
30
32
|
scope,
|
|
33
|
+
projectsToFiles = false,
|
|
31
34
|
open,
|
|
32
35
|
onOpenChange,
|
|
33
36
|
onSuccess,
|
|
34
37
|
}: MemoryAddDialogProps) {
|
|
35
38
|
const addMemory = useAddMemory();
|
|
39
|
+
const router = useRouter();
|
|
36
40
|
const { t } = useI18n();
|
|
37
41
|
const [text, setText] = useState("");
|
|
38
42
|
const [metadataJson, setMetadataJson] = useState("");
|
|
@@ -51,7 +55,19 @@ export function MemoryAddDialog({
|
|
|
51
55
|
metadata,
|
|
52
56
|
sync: false,
|
|
53
57
|
});
|
|
54
|
-
toast.success(t("memory.add.processing")
|
|
58
|
+
toast.success(t("memory.add.processing"), {
|
|
59
|
+
description: t("memory.add.processingDescription"),
|
|
60
|
+
duration: 8_000,
|
|
61
|
+
action: {
|
|
62
|
+
label: t("memory.add.viewTasks"),
|
|
63
|
+
onClick: () => {
|
|
64
|
+
const params = scopeToSearchParams(scope);
|
|
65
|
+
router.push(
|
|
66
|
+
`/memory/${encodeURIComponent(memoryStoreName)}/tasks?${params.toString()}`,
|
|
67
|
+
);
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
});
|
|
55
71
|
setText("");
|
|
56
72
|
setMetadataJson("");
|
|
57
73
|
onOpenChange(false);
|
|
@@ -89,7 +105,9 @@ export function MemoryAddDialog({
|
|
|
89
105
|
/>
|
|
90
106
|
</div>
|
|
91
107
|
<p className="text-xs text-muted-foreground">
|
|
92
|
-
{
|
|
108
|
+
{projectsToFiles
|
|
109
|
+
? t("memory.add.fileProjectionHint")
|
|
110
|
+
: t("memory.add.hint")}
|
|
93
111
|
</p>
|
|
94
112
|
</div>
|
|
95
113
|
<DialogFooter>
|
|
@@ -30,8 +30,9 @@ import { useLocaleRevalidation } from "@/hooks/use-locale-revalidation";
|
|
|
30
30
|
import { cn } from "@/lib/utils";
|
|
31
31
|
import {
|
|
32
32
|
memoryStorageSelectionForInput,
|
|
33
|
-
|
|
33
|
+
storageSelectionToStoreType,
|
|
34
34
|
toggleMemoryFileStorage,
|
|
35
|
+
toggleMemoryStructuredStorage,
|
|
35
36
|
} from "@/lib/memory-storage-mode";
|
|
36
37
|
import { useI18n } from "@/i18n/i18n-context";
|
|
37
38
|
import type { TranslateFn } from "@/i18n/i18n-context";
|
|
@@ -63,7 +64,7 @@ function buildCreateMemoryStoreSchema(t: TranslateFn) {
|
|
|
63
64
|
})
|
|
64
65
|
.superRefine((values, context) => {
|
|
65
66
|
try {
|
|
66
|
-
|
|
67
|
+
storageSelectionToStoreType(values);
|
|
67
68
|
} catch {
|
|
68
69
|
context.addIssue({
|
|
69
70
|
code: z.ZodIssueCode.custom,
|
|
@@ -81,14 +82,15 @@ type CreateMemoryStoreInput = z.infer<
|
|
|
81
82
|
export function buildCreateMemoryStoreRequest(
|
|
82
83
|
values: CreateMemoryStoreInput,
|
|
83
84
|
): CreateMemoryStoreRequest {
|
|
84
|
-
const
|
|
85
|
+
const storeType = storageSelectionToStoreType(values);
|
|
85
86
|
const extractInstructions = values.extractInstructions?.trim();
|
|
86
87
|
return {
|
|
87
88
|
memoryStoreName: values.memoryStoreName,
|
|
88
89
|
description: values.description?.length ? values.description : undefined,
|
|
89
|
-
|
|
90
|
-
extractInstructions:
|
|
91
|
-
|
|
90
|
+
...storeType,
|
|
91
|
+
extractInstructions: storeType.outputTypes.includes("structured")
|
|
92
|
+
? extractInstructions || undefined
|
|
93
|
+
: undefined,
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
|
|
@@ -115,12 +117,15 @@ export function MemoryCreateForm() {
|
|
|
115
117
|
|
|
116
118
|
useLocaleRevalidation(form);
|
|
117
119
|
const selectedInputType = form.watch("inputType");
|
|
120
|
+
const selectedStorageStructures = form.watch("storageStructures");
|
|
118
121
|
|
|
119
122
|
async function onSubmit(values: CreateMemoryStoreInput) {
|
|
120
123
|
try {
|
|
121
124
|
await createStore.mutateAsync(buildCreateMemoryStoreRequest(values));
|
|
122
125
|
toast.success(t("memory.list.createSuccess"));
|
|
123
|
-
|
|
126
|
+
// Replace the form route so neither browser history nor form query
|
|
127
|
+
// parameters can leak into the list URL after a successful create.
|
|
128
|
+
router.replace("/memory");
|
|
124
129
|
} catch (error) {
|
|
125
130
|
toast.error(
|
|
126
131
|
error instanceof Error ? error.message : t("memory.list.createFailed"),
|
|
@@ -257,8 +262,14 @@ export function MemoryCreateForm() {
|
|
|
257
262
|
"memory.create.structuredStorageDescription",
|
|
258
263
|
)}
|
|
259
264
|
selected={field.value.includes("structured")}
|
|
260
|
-
disabled
|
|
261
|
-
onSelect={() =>
|
|
265
|
+
disabled={selectedInputType === "file"}
|
|
266
|
+
onSelect={() => {
|
|
267
|
+
const selection = toggleMemoryStructuredStorage({
|
|
268
|
+
inputType: selectedInputType,
|
|
269
|
+
storageStructures: field.value,
|
|
270
|
+
});
|
|
271
|
+
field.onChange(selection.storageStructures);
|
|
272
|
+
}}
|
|
262
273
|
/>
|
|
263
274
|
<SelectionOption
|
|
264
275
|
icon={<FolderTree className="h-5 w-5" />}
|
|
@@ -282,35 +293,36 @@ export function MemoryCreateForm() {
|
|
|
282
293
|
/>
|
|
283
294
|
</section>
|
|
284
295
|
|
|
285
|
-
{selectedInputType === "short-term" &&
|
|
286
|
-
|
|
287
|
-
<
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
<
|
|
297
|
-
|
|
298
|
-
<
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
296
|
+
{selectedInputType === "short-term" &&
|
|
297
|
+
selectedStorageStructures.includes("structured") && (
|
|
298
|
+
<section className="rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm">
|
|
299
|
+
<FormSectionHeader
|
|
300
|
+
title={t("memory.create.extractSection")}
|
|
301
|
+
description={t("memory.create.extractSectionDesc")}
|
|
302
|
+
/>
|
|
303
|
+
<FormField
|
|
304
|
+
control={form.control}
|
|
305
|
+
name="extractInstructions"
|
|
306
|
+
render={({ field }) => (
|
|
307
|
+
<FormItem>
|
|
308
|
+
<FormLabel>{t("memory.create.extractLabel")}</FormLabel>
|
|
309
|
+
<FormControl>
|
|
310
|
+
<Textarea
|
|
311
|
+
placeholder={t("memory.create.extractPlaceholder")}
|
|
312
|
+
className="resize-none"
|
|
313
|
+
rows={5}
|
|
314
|
+
{...field}
|
|
315
|
+
/>
|
|
316
|
+
</FormControl>
|
|
317
|
+
<FormDescription>
|
|
318
|
+
{t("memory.create.extractHelp")}
|
|
319
|
+
</FormDescription>
|
|
320
|
+
<FormMessage />
|
|
321
|
+
</FormItem>
|
|
322
|
+
)}
|
|
323
|
+
/>
|
|
324
|
+
</section>
|
|
325
|
+
)}
|
|
314
326
|
|
|
315
327
|
<div className="flex justify-end gap-3 border-t border-[hsl(var(--border-light))] pt-4">
|
|
316
328
|
<Button
|
|
@@ -77,6 +77,13 @@ type WorkspaceEditorAction =
|
|
|
77
77
|
versionId: string;
|
|
78
78
|
content?: string;
|
|
79
79
|
}
|
|
80
|
+
| {
|
|
81
|
+
type: "rename-success";
|
|
82
|
+
path: string;
|
|
83
|
+
itemId: string;
|
|
84
|
+
versionId: string;
|
|
85
|
+
content?: string;
|
|
86
|
+
}
|
|
80
87
|
| { type: "save-conflict"; message: string };
|
|
81
88
|
|
|
82
89
|
export function workspaceEditorReducer(
|
|
@@ -110,6 +117,15 @@ export function workspaceEditorReducer(
|
|
|
110
117
|
dirty: false,
|
|
111
118
|
conflict: null,
|
|
112
119
|
};
|
|
120
|
+
case "rename-success":
|
|
121
|
+
return {
|
|
122
|
+
selectedPath: action.path,
|
|
123
|
+
content: action.content ?? state.content,
|
|
124
|
+
loadedItemId: action.itemId,
|
|
125
|
+
loadedVersionId: action.versionId,
|
|
126
|
+
dirty: false,
|
|
127
|
+
conflict: null,
|
|
128
|
+
};
|
|
113
129
|
case "save-conflict":
|
|
114
130
|
return { ...state, dirty: true, conflict: action.message };
|
|
115
131
|
}
|
|
@@ -148,6 +164,16 @@ export function buildFileUpdateRequest(
|
|
|
148
164
|
};
|
|
149
165
|
}
|
|
150
166
|
|
|
167
|
+
export function isFileMutationPending(
|
|
168
|
+
mode: FileMutationDialog,
|
|
169
|
+
pending: { create: boolean; rename: boolean; delete: boolean },
|
|
170
|
+
): boolean {
|
|
171
|
+
if (mode === "create") return pending.create;
|
|
172
|
+
if (mode === "rename") return pending.rename;
|
|
173
|
+
if (mode === "delete") return pending.delete;
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
|
|
151
177
|
export function MemoryFilesBrowser({
|
|
152
178
|
memoryStoreName,
|
|
153
179
|
scope,
|
|
@@ -353,15 +379,24 @@ export function MemoryFilesBrowser({
|
|
|
353
379
|
) {
|
|
354
380
|
return;
|
|
355
381
|
}
|
|
382
|
+
const normalizedPath = normalizeFileMemoryPath(toPath);
|
|
356
383
|
const renamed = await updateMutation.mutateAsync({
|
|
357
384
|
memoryStoreName,
|
|
358
385
|
scope,
|
|
359
386
|
itemId: editor.loadedItemId,
|
|
360
|
-
path:
|
|
387
|
+
path: normalizedPath,
|
|
361
388
|
precondition: { expectedVersionId: editor.loadedVersionId },
|
|
362
389
|
view: "full",
|
|
363
390
|
});
|
|
364
|
-
|
|
391
|
+
// The requested path is authoritative for the local selection. Some
|
|
392
|
+
// service versions return the pre-rename path in the update response.
|
|
393
|
+
dispatch({
|
|
394
|
+
type: "rename-success",
|
|
395
|
+
path: normalizedPath,
|
|
396
|
+
itemId: renamed.itemId,
|
|
397
|
+
versionId: renamed.latestVersionId,
|
|
398
|
+
content: renamed.content,
|
|
399
|
+
});
|
|
365
400
|
toast.success(t("memory.files.renameSuccess"));
|
|
366
401
|
}
|
|
367
402
|
|
|
@@ -382,10 +417,11 @@ export function MemoryFilesBrowser({
|
|
|
382
417
|
if (editor.selectedPath) await fileQuery.refetch();
|
|
383
418
|
}
|
|
384
419
|
|
|
385
|
-
const mutationPending =
|
|
386
|
-
addMutation.isPending
|
|
387
|
-
updateMutation.isPending
|
|
388
|
-
deleteMutation.isPending
|
|
420
|
+
const mutationPending = isFileMutationPending(dialog, {
|
|
421
|
+
create: addMutation.isPending,
|
|
422
|
+
rename: updateMutation.isPending,
|
|
423
|
+
delete: deleteMutation.isPending,
|
|
424
|
+
});
|
|
389
425
|
|
|
390
426
|
return (
|
|
391
427
|
<div
|
|
@@ -413,8 +449,8 @@ export function MemoryFilesBrowser({
|
|
|
413
449
|
</div>
|
|
414
450
|
) : null}
|
|
415
451
|
|
|
416
|
-
<div className="grid min-h-0 flex-1 grid-cols-1 lg:grid-cols-[
|
|
417
|
-
<aside className="flex min-h-0 flex-col border-b border-[hsl(var(--border))] lg:border-r lg:border-b-0">
|
|
452
|
+
<div className="grid min-h-0 min-w-0 flex-1 grid-cols-1 lg:grid-cols-[minmax(190px,230px)_minmax(260px,1fr)] xl:grid-cols-[minmax(190px,230px)_minmax(260px,1fr)_minmax(220px,260px)]">
|
|
453
|
+
<aside className="flex min-h-0 min-w-0 flex-col border-b border-[hsl(var(--border))] lg:border-r lg:border-b-0">
|
|
418
454
|
<div className="border-b border-[hsl(var(--border))] p-2">
|
|
419
455
|
<div className="relative">
|
|
420
456
|
<Search className="absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground" />
|
|
@@ -505,7 +541,7 @@ export function MemoryFilesBrowser({
|
|
|
505
541
|
</div>
|
|
506
542
|
</aside>
|
|
507
543
|
|
|
508
|
-
<main className="min-h-[280px] border-b border-[hsl(var(--border))] lg:border-r lg:border-b-0">
|
|
544
|
+
<main className="min-h-[280px] min-w-0 border-b border-[hsl(var(--border))] lg:border-r lg:border-b-0">
|
|
509
545
|
<FileEditor
|
|
510
546
|
path={editor.selectedPath}
|
|
511
547
|
content={editor.content}
|
|
@@ -522,7 +558,7 @@ export function MemoryFilesBrowser({
|
|
|
522
558
|
/>
|
|
523
559
|
</main>
|
|
524
560
|
|
|
525
|
-
<aside className="min-h-[220px]">
|
|
561
|
+
<aside className="min-h-[220px] min-w-0 lg:col-span-2 xl:col-span-1">
|
|
526
562
|
<FileDetailsPanel
|
|
527
563
|
memoryStoreName={memoryStoreName}
|
|
528
564
|
scope={scope}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { memo, useCallback, useState } from "react";
|
|
4
4
|
import { Eye } from "lucide-react";
|
|
5
5
|
import { Button } from "@/components/ui/button";
|
|
6
|
+
import { CopyableId } from "@/components/shared/copyable-id";
|
|
6
7
|
import {
|
|
7
8
|
Dialog,
|
|
8
9
|
DialogContent,
|
|
@@ -67,9 +68,7 @@ function RequestDetailDialog({
|
|
|
67
68
|
<DialogHeader className="flex flex-row items-center justify-between">
|
|
68
69
|
<div>
|
|
69
70
|
<DialogTitle>{t("memory.requests.detailTitle")}</DialogTitle>
|
|
70
|
-
<
|
|
71
|
-
{request.requestId}
|
|
72
|
-
</p>
|
|
71
|
+
<CopyableId value={request.requestId} label="" className="mt-1" />
|
|
73
72
|
</div>
|
|
74
73
|
</DialogHeader>
|
|
75
74
|
<div className="grid gap-4 sm:grid-cols-2">
|
|
@@ -83,7 +82,7 @@ function RequestDetailDialog({
|
|
|
83
82
|
<p className="text-xs text-muted-foreground">
|
|
84
83
|
{t("memory.requests.fieldRequestId")}
|
|
85
84
|
</p>
|
|
86
|
-
<
|
|
85
|
+
<CopyableId value={request.requestId} label="" />
|
|
87
86
|
</div>
|
|
88
87
|
<div className="space-y-1">
|
|
89
88
|
<p className="text-xs text-muted-foreground">
|
|
@@ -181,8 +180,8 @@ const MemoryRequestRow = memo(function MemoryRequestRow({
|
|
|
181
180
|
{formatTimestamp(request.createdAt, locale)}
|
|
182
181
|
</TableCell>
|
|
183
182
|
<TableCell>{request.operation ?? "-"}</TableCell>
|
|
184
|
-
<TableCell className="
|
|
185
|
-
{request.requestId
|
|
183
|
+
<TableCell className="max-w-[210px]">
|
|
184
|
+
<CopyableId value={request.requestId} label="" />
|
|
186
185
|
</TableCell>
|
|
187
186
|
<TableCell>{request.responseStatus ?? "-"}</TableCell>
|
|
188
187
|
<TableCell>{formatDuration(request.latencyMs)}</TableCell>
|
|
@@ -195,6 +194,8 @@ const MemoryRequestRow = memo(function MemoryRequestRow({
|
|
|
195
194
|
size="sm"
|
|
196
195
|
className="h-7 px-2"
|
|
197
196
|
onClick={handleClick}
|
|
197
|
+
aria-label={t("memory.requests.viewDetail")}
|
|
198
|
+
title={t("memory.requests.viewDetail")}
|
|
198
199
|
>
|
|
199
200
|
<Eye className="mr-1 h-3.5 w-3.5" />
|
|
200
201
|
{t("memory.tasks.detail")}
|
|
@@ -181,6 +181,12 @@ export function MemoryScopeBar({
|
|
|
181
181
|
const hasWildcard = hasWildcardScope(currentScope);
|
|
182
182
|
const currentBreadcrumb = scopeBreadcrumb(currentScope);
|
|
183
183
|
const currentGranularity = scopeGranularity(currentScope);
|
|
184
|
+
const scopeLevelLabels: Record<ScopeLevel, string> = {
|
|
185
|
+
app: t("memory.scopeField.app"),
|
|
186
|
+
tenant: t("memory.scopeField.tenant"),
|
|
187
|
+
agent: t("memory.scopeField.agent"),
|
|
188
|
+
run: t("memory.scopeField.run"),
|
|
189
|
+
};
|
|
184
190
|
|
|
185
191
|
// Hydrate browser history separately from the online inventory. Carrying
|
|
186
192
|
// the composite identity in state prevents one render of the old runtime or
|
|
@@ -286,13 +292,13 @@ export function MemoryScopeBar({
|
|
|
286
292
|
}
|
|
287
293
|
|
|
288
294
|
return (
|
|
289
|
-
<Card className="border-dashed">
|
|
295
|
+
<Card id="memory-scope-bar" className="scroll-m-4 border-dashed">
|
|
290
296
|
<CardContent className="p-4">
|
|
291
297
|
{/* Collapsed: scope chips + picker + edit toggle */}
|
|
292
298
|
<div className="flex items-center justify-between gap-4">
|
|
293
299
|
<div className="flex min-w-0 flex-wrap items-center gap-3">
|
|
294
300
|
<Settings2 className="h-4 w-4 text-muted-foreground" />
|
|
295
|
-
<div className="flex min-w-0 items-center gap-1
|
|
301
|
+
<div className="flex min-w-0 flex-wrap items-center gap-1">
|
|
296
302
|
{currentBreadcrumb.map((item, index) => (
|
|
297
303
|
<div
|
|
298
304
|
key={item.level}
|
|
@@ -303,7 +309,7 @@ export function MemoryScopeBar({
|
|
|
303
309
|
) : null}
|
|
304
310
|
<span
|
|
305
311
|
className={cn(
|
|
306
|
-
"max-w-
|
|
312
|
+
"max-w-60 shrink-0 truncate rounded px-1.5 py-1 text-xs",
|
|
307
313
|
item.concrete
|
|
308
314
|
? "font-mono font-medium text-[hsl(var(--foreground))]"
|
|
309
315
|
: "text-muted-foreground",
|
|
@@ -314,6 +320,9 @@ export function MemoryScopeBar({
|
|
|
314
320
|
: t(ALL_CHILDREN_KEY[item.level])
|
|
315
321
|
}
|
|
316
322
|
>
|
|
323
|
+
<span className="mr-1 font-sans text-muted-foreground">
|
|
324
|
+
{scopeLevelLabels[item.level]}:
|
|
325
|
+
</span>
|
|
317
326
|
{item.concrete
|
|
318
327
|
? item.value
|
|
319
328
|
: t(ALL_CHILDREN_KEY[item.level])}
|
|
@@ -328,7 +337,7 @@ export function MemoryScopeBar({
|
|
|
328
337
|
<div className="flex shrink-0 items-center gap-2">
|
|
329
338
|
{hasWildcard && (
|
|
330
339
|
<span className="rounded-md bg-amber-50 px-2 py-1 text-xs text-amber-700 dark:bg-amber-950 dark:text-amber-300">
|
|
331
|
-
{t("memory.scopeBar.
|
|
340
|
+
{t("memory.scopeBar.wildcardQuery")}
|
|
332
341
|
</span>
|
|
333
342
|
)}
|
|
334
343
|
{workspaceHref ? (
|