Abstract persistence seam for channel-driven sessions.
load_session()Load a persisted ChatSession.
ChannelSessionStore$load_session(
session_key,
tools = NULL,
hooks = NULL,
registry = NULL
)session_keySession key.
toolsOptional tools to reattach.
hooksOptional hooks to reattach.
registryOptional provider registry.
A ChatSession or NULL.
save_session()Save a ChatSession and update store metadata.
ChannelSessionStore$save_session(session_key, session, record = NULL)session_keySession key.
sessionChatSession instance.
recordOptional record fields to merge.
Store-specific save result.
update_record()Update a store record without persisting a session file.
ChannelSessionStore$update_record(session_key, record)session_keySession key.
recordRecord fields to merge.
Store-specific update result.
get_record()Retrieve a single session record.
ChannelSessionStore$get_record(session_key)session_keySession key.
Store-specific record object.
list_sessions()List all session records.
ChannelSessionStore$list_sessions()Store-specific collection of session records.
has_processed_event()Check whether an event id has already been processed.
ChannelSessionStore$has_processed_event(channel_id, event_id)channel_idChannel identifier.
event_idEvent identifier.
Logical scalar.
mark_processed_event()Mark an event id as processed.
ChannelSessionStore$mark_processed_event(channel_id, event_id, payload = NULL)channel_idChannel identifier.
event_idEvent identifier.
payloadOptional event payload to keep in the dedupe index.
Store-specific event record.
link_child_session()Register a child session relationship.
ChannelSessionStore$link_child_session(parent_session_key, child_session_key)parent_session_keyParent session key.
child_session_keyChild session key.
Store-specific link result.
clone()The objects of this class are cloneable with this method.
ChannelSessionStore$clone(deep = FALSE)deepWhether to make a deep clone.