|
Hi, Thank you for the Strands project, we think it is a breath of fresh air in the scene. The format in which strands keeps messages makes it a right fit to store the conversation and also state in KurrentDB. We store data as a series of events in streams and have in-built windowing capabilities by count or age. For example setting a maxAge to 3600 would automatically mark all messages older than 1 hour for deletion. We have prototype conversation manager which works on top of KurrentDB and also allows the agent to store and resume from a previous state. This works by extending the ConversationManager. For now we have proposed it to strands-agents/samples#46 for now. My first reflex was to contribute it to the main repository but this would introduce a new dependency (kurrentdbclient) on the project which I don't feel is the right way to proceed here, but let me know. My second reflex was to contribute it to strands-tools but this is a ConversationManager and not really a tool. So I wanted to ask, if we wanted to contribute this conversation manager, which repo would be the best place to do that? We also plan to have it as a session manager when #57 is resolved. Kind regards, |
Replies: 1 comment
|
Hi @Lougarou, thanks for the kind words and for building this! And apologies for the wait; this one sat in the queue far too long. Your instinct was right: the core SDK avoids taking on third-party dependencies like Also, the session manager support you were waiting on has landed since you posted. The SDK now has a Looking forward to seeing it in the catalog. |
Hi @Lougarou, thanks for the kind words and for building this! And apologies for the wait; this one sat in the queue far too long.
Your instinct was right: the core SDK avoids taking on third-party dependencies like
kurrentdbclient, so the main repo isn't the place for it. The good news is there's now a well-trodden path for exactly this kind of contribution: publish it as your own package and list it in the Strands integrations catalog. Listing your package in the catalog is a small PR, and there's an extension template with testing and publishing already set up. The whole process is documented here: add your integration. A Valkey/Redis session manager already went this route, so you'd b…