aries_cloudagent.protocols.actionmenu.v1_0 package

Submodules

aries_cloudagent.protocols.actionmenu.v1_0.base_service module

Base action menu service classes.

class aries_cloudagent.protocols.actionmenu.v1_0.base_service.BaseMenuService(context: aries_cloudagent.config.injection_context.InjectionContext)[source]

Bases: abc.ABC

Base action menu service interface.

get_active_menu(profile: aries_cloudagent.core.profile.Profile, connection: aries_cloudagent.connections.models.conn_record.ConnRecord = None, thread_id: str = None) → aries_cloudagent.protocols.actionmenu.v1_0.messages.menu.Menu[source]

Render the current menu.

Parameters:
  • profile – The profile
  • connection – The active connection record
  • thread_id – The thread identifier from the requesting message.
perform_menu_action(profile: aries_cloudagent.core.profile.Profile, action_name: str, action_params: dict, connection: aries_cloudagent.connections.models.conn_record.ConnRecord = None, thread_id: str = None) → aries_cloudagent.messaging.agent_message.AgentMessage[source]

Perform an action defined by the active menu.

Parameters:
  • profile – The profile
  • action_name – The unique name of the action being performed
  • action_params – A collection of parameters for the action
  • connection – The active connection record
  • thread_id – The thread identifier from the requesting message.
classmethod service_handler()[source]

Quick accessor for conductor to use.

aries_cloudagent.protocols.actionmenu.v1_0.controller module

Protocol controller for the action menu message family.

class aries_cloudagent.protocols.actionmenu.v1_0.controller.Controller(protocol: str)[source]

Bases: object

Action menu protocol controller.

determine_roles(context: aries_cloudagent.config.injection_context.InjectionContext) → Sequence[str][source]

Determine what action menu roles are defined.

aries_cloudagent.protocols.actionmenu.v1_0.driver_service module

Driver-based action menu service classes.

class aries_cloudagent.protocols.actionmenu.v1_0.driver_service.DriverMenuService(context: aries_cloudagent.config.injection_context.InjectionContext)[source]

Bases: aries_cloudagent.protocols.actionmenu.v1_0.base_service.BaseMenuService

Driver-based action menu service.

get_active_menu(profile: aries_cloudagent.core.profile.Profile, connection: aries_cloudagent.connections.models.conn_record.ConnRecord = None, thread_id: str = None) → aries_cloudagent.protocols.actionmenu.v1_0.messages.menu.Menu[source]

Render the current menu.

Parameters:
  • profile – The profile
  • connection – The active connection record
  • thread_id – The thread identifier from the requesting message.
perform_menu_action(profile: aries_cloudagent.core.profile.Profile, action_name: str, action_params: dict, connection: aries_cloudagent.connections.models.conn_record.ConnRecord = None, thread_id: str = None) → aries_cloudagent.messaging.agent_message.AgentMessage[source]

Perform an action defined by the active menu.

Parameters:
  • profile – The profile
  • action_name – The unique name of the action being performed
  • action_params – A collection of parameters for the action
  • connection – The active connection record
  • thread_id – The thread identifier from the requesting message.

aries_cloudagent.protocols.actionmenu.v1_0.message_types module

Message type identifiers for Action Menus.

aries_cloudagent.protocols.actionmenu.v1_0.routes module

Action menu admin routes.

class aries_cloudagent.protocols.actionmenu.v1_0.routes.ActionMenuFetchResultSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Result schema for action-menu fetch.

result = <fields.Nested(default=<marshmallow.missing>, attribute=None, validate=None, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'type': 'Invalid type.'})>
class aries_cloudagent.protocols.actionmenu.v1_0.routes.ActionMenuModulesResultSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Schema for the modules endpoint.

class aries_cloudagent.protocols.actionmenu.v1_0.routes.MenuConnIdMatchInfoSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Path parameters and validators for request taking connection id.

conn_id = <fields.String(default=<marshmallow.missing>, attribute=None, validate=None, required=True, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>
class aries_cloudagent.protocols.actionmenu.v1_0.routes.MenuJsonSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Matches MenuSchema but without the inherited AgentMessage properties.

description = <fields.String(default=<marshmallow.missing>, attribute=None, validate=None, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>
errormsg = <fields.String(default=<marshmallow.missing>, attribute=None, validate=None, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>
options = <fields.List(default=<marshmallow.missing>, attribute=None, validate=None, required=True, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid list.'})>
title = <fields.String(default=<marshmallow.missing>, attribute=None, validate=None, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>
class aries_cloudagent.protocols.actionmenu.v1_0.routes.PerformRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request schema for performing a menu action.

name = <fields.String(default=<marshmallow.missing>, attribute=None, validate=None, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>
params = <fields.Dict(default=<marshmallow.missing>, attribute=None, validate=None, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid mapping type.'})>
class aries_cloudagent.protocols.actionmenu.v1_0.routes.SendMenuSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request schema for sending a menu to a connection.

menu = <fields.Nested(default=<marshmallow.missing>, attribute=None, validate=None, required=True, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'type': 'Invalid type.'})>
aries_cloudagent.protocols.actionmenu.v1_0.routes.actionmenu_close(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fb053f75d50>)[source]

Request handler for closing the menu associated with a connection.

Parameters:request – aiohttp request object
aries_cloudagent.protocols.actionmenu.v1_0.routes.actionmenu_fetch(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fb053f75d50>)[source]

Request handler for fetching the previously-received menu for a connection.

Parameters:request – aiohttp request object
aries_cloudagent.protocols.actionmenu.v1_0.routes.actionmenu_perform(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fb053f75d50>)[source]

Request handler for performing a menu action.

Parameters:request – aiohttp request object
aries_cloudagent.protocols.actionmenu.v1_0.routes.actionmenu_request(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fb053f75d50>)[source]

Request handler for requesting a menu from the connection target.

Parameters:request – aiohttp request object
aries_cloudagent.protocols.actionmenu.v1_0.routes.actionmenu_send(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fb053f75d50>)[source]

Request handler for requesting a menu from the connection target.

Parameters:request – aiohttp request object
aries_cloudagent.protocols.actionmenu.v1_0.routes.post_process_routes(app: <sphinx.ext.autodoc.importer._MockObject object at 0x7fb053f75d50>)[source]

Amend swagger API.

aries_cloudagent.protocols.actionmenu.v1_0.routes.register(app: <sphinx.ext.autodoc.importer._MockObject object at 0x7fb053f75d50>)[source]

Register routes.

aries_cloudagent.protocols.actionmenu.v1_0.util module

Action menu utility methods.

aries_cloudagent.protocols.actionmenu.v1_0.util.retrieve_connection_menu(connection_id: str, context: aries_cloudagent.admin.request_context.AdminRequestContext) → aries_cloudagent.protocols.actionmenu.v1_0.messages.menu.Menu[source]

Retrieve the previously-received action menu.

aries_cloudagent.protocols.actionmenu.v1_0.util.save_connection_menu(menu: aries_cloudagent.protocols.actionmenu.v1_0.messages.menu.Menu, connection_id: str, context: aries_cloudagent.admin.request_context.AdminRequestContext)[source]

Save a received action menu.