mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-11-12 22:20:33 +00:00
* fix(client): scope memory management to the named agent's bucket A named DeerFlowClient stored and read its memory in that agent's bucket: MemoryMiddleware and the memory tools both pass agent_name. The management methods on the client did not, so create_memory_fact wrote the fact into the user's default bucket while the agent's injected context came from its own bucket — the fact was persisted but never recalled by the same client. Pass the client's agent_name through get_memory, export_memory, import_memory, reload_memory, clear_memory and the single-fact CRUD calls. An unnamed client keeps the default bucket, and a backend that ignores the scoping keyword keeps raising its own unsupported-operation error. Fixes #8142 * fix(client): refuse named memory calls a backend cannot scope DeerFlowClient forwarded the agent name to every memory management call, but a backend that declares no agent-scoped storage ignores the keyword and answers normally. A named client then reported success while the call read, cleared or exported the user's default bucket, the same silent wrong-bucket behaviour #8142 is about. Check the capability flag before forwarding the scope and raise an unsupported-operation error, as the Gateway already does with 501. Resolve the scope in reload_memory before the get_memory fallback so an unsupported scope is not mistaken for a backend without reload support and retried as a user-wide read. * chore: drop the CHANGELOG entry The changelog is generated at release time, and the hand-written entry points at #8146 without a link definition, which breaks tests/test_changelog_reference_links.py. Removing it keeps the file released- generated, per the reviewer's request. * docs(memory): explain scoped noop client behavior --------- Co-authored-by: 2SinceJuly <202121119+2SinceJuly@users.noreply.github.com> Co-authored-by: Willem Jiang <willem.jiang@gmail.com>