datarobot_genai.dragent.plugins.per_user_tool_calling_agent
per_user_tool_calling_agent
Per-user variant of the NAT tool_calling_agent workflow.
The built-in tool_calling_agent is registered as a shared workflow, which
means NAT's dependency validator forbids it from referencing per-user function
groups such as a2a_client. This module registers an identical workflow under
the name per_user_tool_calling_agent using register_per_user_function so
that per-user function groups can be used while still benefiting from OpenAI-style
structured tool calling (bind_tools).
NAT 1.6 added a stream_fn that yields ChatResponseChunk. We wrap it
using DRAgentNestedReasoningStepAdaptor.process_chunks() to produce
DRAgentEventResponse with valid AG-UI event sequences.
PerUserToolCallAgentWorkflowConfig
Bases: ToolCallAgentWorkflowConfig
Per-user version of tool_calling_agent.