aea.aea
This module contains the implementation of an autonomous economic agent (AEA).
AEA Objects
This class implements an autonomous economic agent.
__
init__
| __init__(identity: Identity, wallet: Wallet, resources: Resources, data_dir: str, loop: Optional[AbstractEventLoop] = None, period: float = 0.05, execution_timeout: float = 0, max_reactions: int = 20, error_handler_class: Optional[Type[AbstractErrorHandler]] = None, error_handler_config: Optional[Dict[str, Any]] = None, decision_maker_handler_class: Optional[Type[DecisionMakerHandler]] = None, decision_maker_handler_config: Optional[Dict[str, Any]] = None, skill_exception_policy: ExceptionPolicyEnum = ExceptionPolicyEnum.propagate, connection_exception_policy: ExceptionPolicyEnum = ExceptionPolicyEnum.propagate, loop_mode: Optional[str] = None, runtime_mode: Optional[str] = None, default_ledger: Optional[str] = None, currency_denominations: Optional[Dict[str, str]] = None, default_connection: Optional[PublicId] = None, default_routing: Optional[Dict[PublicId, PublicId]] = None, connection_ids: Optional[Collection[PublicId]] = None, search_service_address: str = DEFAULT_SEARCH_SERVICE_ADDRESS, storage_uri: Optional[str] = None, task_manager_mode: Optional[str] = None, **kwargs: Any, ,) -> None
Instantiate the agent.
Arguments:
identity
: the identity of the agentwallet
: the wallet of the agent.resources
: the resources (protocols and skills) of the agent.data_dir
: directory where to put local files.loop
: the event loop to run the connections.period
: period to call agent's actexecution_timeout
: amount of time to limit single act/handle to execute.max_reactions
: the processing rate of envelopes per tick (i.e. single loop).error_handler_class
: the class implementing the error handlererror_handler_config
: the configuration of the error handlerdecision_maker_handler_class
: the class implementing the decision maker handler to be used.decision_maker_handler_config
: the configuration of the decision maker handlerskill_exception_policy
: the skill exception policy enumconnection_exception_policy
: the connection exception policy enumloop_mode
: loop_mode to choose agent run loop.runtime_mode
: runtime mode (async, threaded) to run AEA in.default_ledger
: default ledger idcurrency_denominations
: mapping from ledger id to currency denominationdefault_connection
: public id to the default connectiondefault_routing
: dictionary for default routing.connection_ids
: active connection ids. Default: consider all the ones in the resources.search_service_address
: the address of the search service used.storage_uri
: optional uri to set generic storagetask_manager_mode
: task manager mode (threaded) to run tasks with.kwargs
: keyword arguments to be attached in the agent context namespace.
get_
build_
dir
Get agent build directory.
context
Get (agent) context.
resources
Get resources.
resources
Set resources.
filter
Get the filter.
active_
behaviours
Get all active behaviours to use in act.
setup
Set up the agent.
Calls setup() on the resources.
act
Perform actions.
Adds new handlers and behaviours for use/execution by the runtime.
handle_
envelope
Handle an envelope.
Performs the following:
- fetching the protocol referenced by the envelope, and
- handling if the protocol is unsupported, using the error handler, or
- handling if there is a decoding error, using the error handler, or
- handling if no active handler is available for the specified protocol, using the error handler, or
- handling the message recovered from the envelope with all active handlers for the specified protocol.
Arguments:
envelope
: the envelope to handle.
Returns:
None
get_
periodic_
tasks
Get all periodic tasks for agent.
Returns:
dict of callable with period specified
get_
message_
handlers
Get handlers with message getters.
Returns:
List of tuples of callables: handler and coroutine to get a message
exception_
handler
Handle exception raised during agent main loop execution.
Arguments:
exception
: exception raisedfunction
: a callable exception raised in.
Returns:
bool, propagate exception if True otherwise skip it.
teardown
Tear down the agent.
Performs the following:
- tears down the resources.
get_
task_
result
Get the result from a task.
Arguments:
task_id
: the id of the task
Returns:
async result for task_id
enqueue_
task
Enqueue a task with the task manager.
Arguments:
func
: the callable instance to be enqueuedargs
: the positional arguments to be passed to the function.kwargs
: the keyword arguments to be passed to the function.
Returns:
the task id to get the the result.