Skip to content

Types

Data models for agent and workflow configurations.

DaprAgentConfig

Configuration model for Dapr Agent creation.

DaprAgentConfig

Bases: BaseModel

Configuration model for Dapr Agent creation.

Attributes

name class-attribute instance-attribute

name: str = Field(description='Agent name')

role class-attribute instance-attribute

role: str | None = Field(
    default=None, description="Agent role description"
)

goal class-attribute instance-attribute

goal: str | None = Field(
    default=None, description="Agent goal description"
)

instructions class-attribute instance-attribute

instructions: list[str] = Field(
    default_factory=list,
    description="Agent instruction prompts",
)

system_prompt class-attribute instance-attribute

system_prompt: str | None = Field(
    default=None, description="System prompt text"
)

tools class-attribute instance-attribute

tools: list[str] = Field(
    default_factory=list,
    description="Tool names available to agent",
)

llm_config class-attribute instance-attribute

llm_config: LlmProviderConfig | None = Field(
    default=None, description="LLM provider configuration"
)

agent_type class-attribute instance-attribute

agent_type: str | None = Field(
    default=None, description="Agent class type name"
)

WorkflowDefinition

Definition for a converted workflow.

WorkflowDefinition

Bases: BaseModel

Definition for a converted workflow.

Attributes

name class-attribute instance-attribute

name: str = Field(description='Workflow name')

description class-attribute instance-attribute

description: str | None = Field(
    default=None, description="Workflow description"
)

tasks class-attribute instance-attribute

tasks: list[WorkflowTaskDefinition] = Field(
    default_factory=list, description="Task definitions"
)

edges class-attribute instance-attribute

edges: list[WorkflowEdgeDefinition] = Field(
    default_factory=list, description="Edge definitions"
)

start_node class-attribute instance-attribute

start_node: str | None = Field(
    default=None, description="Start node name"
)

end_nodes class-attribute instance-attribute

end_nodes: list[str] = Field(
    default_factory=list, description="End node names"
)

inputs class-attribute instance-attribute

inputs: list[PropertySchema] = Field(
    default_factory=list,
    description="Workflow input schemas",
)

outputs class-attribute instance-attribute

outputs: list[PropertySchema] = Field(
    default_factory=list,
    description="Workflow output schemas",
)

subflows class-attribute instance-attribute

subflows: dict[str, WorkflowDefinition] = Field(
    default_factory=dict,
    description="Nested subflow definitions",
)

WorkflowTaskDefinition

Definition for a workflow task.

WorkflowTaskDefinition

Bases: BaseModel

Definition for a workflow task.

Attributes

name class-attribute instance-attribute

name: str = Field(description='Task name')

task_type class-attribute instance-attribute

task_type: str = Field(
    description="Task type (llm, tool, agent, flow)"
)

config class-attribute instance-attribute

config: dict[str, Any] = Field(
    default_factory=dict,
    description="Task-specific configuration",
)

inputs class-attribute instance-attribute

inputs: list[str] = Field(
    default_factory=list, description="Input variable names"
)

outputs class-attribute instance-attribute

outputs: list[str] = Field(
    default_factory=list,
    description="Output variable names",
)

WorkflowEdgeDefinition

Definition for workflow edges (control and data flow).

WorkflowEdgeDefinition

Bases: BaseModel

Definition for workflow edges (control and data flow).

Attributes

from_node class-attribute instance-attribute

from_node: str = Field(description='Source node name')

to_node class-attribute instance-attribute

to_node: str = Field(description='Target node name')

from_branch class-attribute instance-attribute

from_branch: str | None = Field(
    default=None, description="Source branch identifier"
)

condition class-attribute instance-attribute

condition: str | None = Field(
    default=None, description="Edge condition expression"
)

data_mapping class-attribute instance-attribute

data_mapping: dict[str, str] = Field(
    default_factory=dict,
    description="Data mapping from source to target",
)

ToolDefinition

Definition for a converted tool.

ToolDefinition

Bases: BaseModel

Definition for a converted tool.

LlmProviderConfig

Configuration for LLM provider.

LlmProviderConfig

Bases: BaseModel

LLM provider configuration.

Enums

OASComponentType

OASComponentType

Bases: str, Enum

Open Agent Spec component types.

DaprAgentType

DaprAgentType

Bases: str, Enum

Dapr Agents agent types.

Usage Examples

Creating Configurations Programmatically

from dapr_agents_oas_adapter.types import (
    DaprAgentConfig,
    WorkflowDefinition,
    WorkflowTaskDefinition,
    WorkflowEdgeDefinition
)

# Create an agent config
agent = DaprAgentConfig(
    name="research_agent",
    role="Researcher",
    goal="Find information",
    instructions=["Search thoroughly", "Cite sources"],
    tools=["web_search", "summarize"]
)

# Create a workflow
workflow = WorkflowDefinition(
    name="analysis_pipeline",
    tasks=[
        WorkflowTaskDefinition(name="start", task_type="start"),
        WorkflowTaskDefinition(
            name="analyze",
            task_type="llm",
            config={"prompt_template": "Analyze: {{ input }}"}
        ),
        WorkflowTaskDefinition(name="end", task_type="end")
    ],
    edges=[
        WorkflowEdgeDefinition(from_node="start", to_node="analyze"),
        WorkflowEdgeDefinition(from_node="analyze", to_node="end")
    ],
    start_node="start",
    end_nodes=["end"]
)

Task Types

Type Description
start Workflow entry point
end Workflow exit point
llm LLM call task
tool Tool invocation
agent Agent delegation
flow Child workflow call
map Parallel fan-out