It would be really handy to have some high-level explanation of the API object model. I’m inferring from the docs and what I’ve looked at from the code, but stuff like:
Agent:User = 1:many. Or is it best-practice to instantiate a unique Agent for each user?
Agent:Session = 1:many. Although again, this may depend on whether a new Agent is instantiated every time a new session starts, like when the same user shows up.
User:Session = 1:many, but might be restricted if sessions are persistent, ie. in that case the same user would always just resume the same session by tying them to the existing session_id in the DB.
Memory - How is this mapped to sessions and/or different users and/or agents? In my application, I want memory to be scoped to a User, but shared across Agents and Sessions (ie. personalized chatbot with long-term memory of the specific user).
It’s really not clear how these top-level objects relate to one-another, or how they CAN relate to one another for different use-cases. I’m not sure answering this here is what I’m asking for - a better description in the docs would probably make more sense.
Thanks for considering!