fix(pipecat): use client.add, memories.add was removed in supermemory 3.x - #1326
fix(pipecat): use client.add, memories.add was removed in supermemory 3.x#1326Cintu07 wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Fixes the supermemory_pipecat Python integration to match Supermemory 3.x’s client API by using the top-level client.add(...) method instead of the removed client.memories.add(...), preventing silent failures in the fire-and-forget message storage path.
Changes:
- Update
_store_messagesto callawait self._supermemory_client.add(**add_params)for Supermemory 3.x compatibility.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| add_params["custom_id"] = self.session_id | ||
|
|
||
| await self._supermemory_client.memories.add(**add_params) | ||
| await self._supermemory_client.add(**add_params) |
|
same root cause as #1236 (supermemory 3.x moved .add off .memories), just in |
|
this fixes a silent bug: pipecat stores with client.memories.add, which supermemory 3.x removed, so every save quietly fails inside the fire-and-forget block and the user never sees it. one line fix to client.add. also added the regression test copilot suggested: it asserts _store_messages calls client.add and not the old memories.add, so this cannot silently break again. both tests pass. the bug is still on main and this has only had the bot look at it so far. mind giving it a review when you get a sec @ishaanxgupta? |
supermemory_pipecat stores messages with
client.memories.add(...), but.addwas moved offmemoriesto the top level (client.add(...)) insupermemory 3.x. the package pins
supermemory>=3.16.0, a range wherememories.addno longer exists, so a fresh install pulls 3.51 and everystore raises AttributeError.
it's worse than a hard crash: the call sits in a fire-and-forget block that
only logs the error (service.py _store_messages), so memory silently never
gets stored and the user never sees why.
fix is one line: call
client.add(**add_params). confirmed the top-leveladd accepts the same params this passes (content, container_tags, custom_id,
metadata), and that
client.memories.addis gone on current supermemory ^^