aea.aea¶
This module contains the implementation of an autonomous economic agent (AEA).
AEA Objects¶
This class implements an autonomous economic agent.
__
init__
¶
def __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¶
def enqueue_task(func: Callable,
args: Sequence = (),
kwargs: Optional[Dict[str, Any]] = None) -> int
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.