Coordinates channel adapters, durable session state, and ChatSession
execution for external messaging integrations.
session_storeDurable store for channel sessions.
new()Initialize a channel runtime.
ChannelRuntime$new(
session_store,
model = NULL,
agent = NULL,
tools = NULL,
hooks = NULL,
registry = NULL,
max_steps = 10,
session_policy = channel_default_session_policy()
)session_storeFile-backed session store.
modelOptional default model id.
agentOptional default agent.
toolsOptional default tools.
hooksOptional session hooks.
registryOptional provider registry.
max_stepsMaximum tool execution steps.
session_policySession routing policy list.
register_adapter()Register a channel adapter.
ChannelRuntime$register_adapter(adapter)adapterChannel adapter instance.
Invisible self.
get_adapter()Get a channel adapter.
ChannelRuntime$get_adapter(channel_id)channel_idAdapter identifier.
Adapter instance.
handle_request()Handle a raw channel request.
ChannelRuntime$handle_request(channel_id, headers = NULL, body = NULL, ...)channel_idAdapter identifier.
headersRequest headers.
bodyRaw or parsed body.
...Optional adapter-specific values.
A normalized runtime response.
process_message()Process one normalized inbound message.
ChannelRuntime$process_message(channel_id, message)channel_idAdapter identifier.
messageNormalized inbound message.
Processing result list.
create_child_session()Create a child session linked to a parent session.
ChannelRuntime$create_child_session(
parent_session_key,
child_session_key = NULL,
inherit_history = TRUE,
metadata = NULL
)parent_session_keyParent session key.
child_session_keyOptional child key. Generated if omitted.
inherit_historyWhether to copy parent state into the child.
metadataOptional metadata to merge into the child session.
The child session key.
clone()The objects of this class are cloneable with this method.
ChannelRuntime$clone(deep = FALSE)deepWhether to make a deep clone.