Table of Contents

Namespace Microsoft.AutoGen.Contracts

Classes

AgentProxy

A helper class that allows you to use an AgentId in place of its associated IAgent.

AgentRuntimeExtensions

Provides extension methods for managing and registering agents within an IAgentRuntime.

CantHandleException

Exception thrown when a handler cannot process the given message.

CloudEvent
CloudEvent.Types

Container for nested types declared in the CloudEvent message type.

CloudEvent.Types.CloudEventAttributeValue
CloudeventReflection

Holder for reflection information generated from cloudevent.proto

MessageContext

Represents the context of a message being sent within the agent runtime. This includes metadata such as the sender, topic, RPC status, and cancellation handling.

MessageDroppedException

Exception thrown when a message is dropped.

NotAccessibleError

Exception thrown when an attempt is made to access an unavailable value, such as a remote resource.

TypePrefixSubscription

This subscription matches on topics based on a prefix of the type and maps to agents using the source of the topic as the agent key. This subscription causes each source to have its own agent instance.

TypeSubscription

This subscription matches on topics based on the exact type and maps to agents using the source of the topic as the agent key. This subscription causes each source to have its own agent instance.

UndeliverableException

Exception thrown when a message cannot be delivered.

Structs

AgentId
AgentMetadata

Represents metadata associated with an agent, including its type, unique key, and description.

AgentType

Represents the type of an agent as a string. This is a strongly-typed wrapper around a string, ensuring type safety when working with agent types.

TopicId

Represents a topic identifier that defines the scope of a broadcast message. The agent runtime implements a publish-subscribe model through its broadcast API, where messages must be published with a specific topic.

See the Python equivalent: CloudEvents Type Specification.

Interfaces

IAgent

Represents an agent within the runtime that can process messages, maintain state, and be closed when no longer needed.

IAgentRuntime

Defines the runtime environment for agents, managing message sending, subscriptions, agent resolution, and state persistence.

IHandle<T>

Defines a handler interface for processing items of type T.

IHandle<InT, OutT>
IHostableAgent

Represents an agent that can be explicitly hosted and closed when the runtime shuts down.

ISaveState

Defines a contract for saving and loading the state of an object. The state must be JSON serializable.

ISaveStateMixin<T>

Defines a contract for saving and loading the state of an object. The state must be JSON serializable.

ISubscriptionDefinition

Defines a subscription that matches topics and maps them to agents.

IUnboundSubscriptionDefinition

Defines a subscription that is not yet bound to a specific agent type. This interface allows the creation of dynamic subscriptions that can later be associated with an agent.

Enums

CloudEvent.DataOneofCase

Enum of possible cases for the "data" oneof.

CloudEvent.Types.CloudEventAttributeValue.AttrOneofCase

Enum of possible cases for the "attr" oneof.