aries_cloudagent.protocols.coordinate_mediation.v1_0 package¶
Subpackages¶
- aries_cloudagent.protocols.coordinate_mediation.v1_0.handlers package
- Submodules
- aries_cloudagent.protocols.coordinate_mediation.v1_0.handlers.keylist_handler module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.handlers.keylist_query_handler module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.handlers.keylist_update_handler module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.handlers.keylist_update_response_handler module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.handlers.mediation_deny_handler module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.handlers.mediation_grant_handler module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.handlers.mediation_request_handler module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.handlers.problem_report_handler module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages package
- Subpackages
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.inner package
- Submodules
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.inner.keylist_key module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.inner.keylist_query_paginate module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.inner.keylist_update_rule module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.inner.keylist_updated module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.inner package
- Submodules
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_query module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update_response module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.mediate_deny module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.mediate_grant module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.mediate_request module
- aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.problem_report module
- Subpackages
- aries_cloudagent.protocols.coordinate_mediation.v1_0.models package
Submodules¶
aries_cloudagent.protocols.coordinate_mediation.v1_0.controller module¶
Protocol controller for coordinate mediation.
aries_cloudagent.protocols.coordinate_mediation.v1_0.manager module¶
Manager for Mediation coordination.
-
exception
aries_cloudagent.protocols.coordinate_mediation.v1_0.manager.
MediationAlreadyExists
(*args, error_code: str = None, **kwargs)[source]¶ Bases:
aries_cloudagent.protocols.coordinate_mediation.v1_0.manager.MediationManagerError
Raised on mediation record already exists for given connection.
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.manager.
MediationManager
(profile: aries_cloudagent.core.profile.Profile)[source]¶ Bases:
object
Class for handling Mediation.
MediationManager creates or retrieves a routing DID as a means to hand out a consistent routing key to mediation clients.
-
DEFAULT_MEDIATOR_RECORD_TYPE
= 'default_mediator'¶
-
KEYLIST_UPDATED_EVENT
= 'acapy::keylist::updated'¶
-
METADATA_ID
= 'id'¶
-
METADATA_KEY
= 'mediation'¶
-
ROUTING_DID_RECORD_TYPE
= 'routing_did'¶
-
SEND_REQ_AFTER_CONNECTION
= 'send_mediation_request_on_connection'¶
-
SET_TO_DEFAULT_ON_GRANTED
= 'set_to_default_on_granted'¶
-
add_key
(recipient_key: str, message: Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update.KeylistUpdate] = None) → aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update.KeylistUpdate[source]¶ Prepare a keylist update add.
Parameters: - recipient_key (str) – key to add
- message (Optional[KeylistUpdate]) – append update to message
Returns: Message to send to mediator to notify of key addition.
Return type: KeylistUpdate
-
create_keylist_query_response
(keylist: Sequence[aries_cloudagent.protocols.routing.v1_0.models.route_record.RouteRecord]) → aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist.Keylist[source]¶ Prepare a keylist message from keylist.
Parameters: keylist (Sequence[RouteRecord]) – keylist to format into message Returns: message to return to client Return type: Keylist
-
deny_request
(mediation_id: str, *, mediator_terms: Sequence[str] = None, recipient_terms: Sequence[str] = None) → Tuple[aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord, aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.mediate_deny.MediationDeny][source]¶ Deny a mediation request and prepare a deny message.
Parameters: Returns: message to return to denied client.
Return type: MediationDeny
-
get_default_mediator
() → Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord][source]¶ Retrieve default mediator from the store.
Returns: retrieved default mediator or None if not set Return type: Optional[MediationRecord]
-
get_default_mediator_id
() → Optional[str][source]¶ Retrieve default mediator ID from the store.
Returns: retrieved default mediator ID or None if not set Return type: Optional[str]
-
get_keylist
(record: aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord) → Sequence[aries_cloudagent.protocols.routing.v1_0.models.route_record.RouteRecord][source]¶ Retrieve keylist for mediation client.
Parameters: record (MediationRecord) – record associated with client keylist Returns: sequence of routes (the keylist) Return type: Sequence[RouteRecord]
-
get_my_keylist
(connection_id: Optional[str] = None) → Sequence[aries_cloudagent.protocols.routing.v1_0.models.route_record.RouteRecord][source]¶ Get my routed keys.
Parameters: connection_id (Optional[str]) – connection id of mediator Returns: list of routes (the keylist) Return type: Sequence[RouteRecord]
-
grant_request
(mediation_id: str) → Tuple[aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord, aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.mediate_grant.MediationGrant][source]¶ Grant a mediation request and prepare grant message.
Parameters: mediation_id – mediation record ID to grant Returns: updated mediation record and message to return to grantee Return type: (MediationRecord, MediationGrant)
-
prepare_keylist_query
(filter_: dict = None, paginate_limit: int = -1, paginate_offset: int = 0) → aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_query.KeylistQuery[source]¶ Prepare keylist query message.
Parameters: Returns: message to send to mediator
Return type: KeylistQuery
-
prepare_request
(connection_id: str, mediator_terms: Sequence[str] = None, recipient_terms: Sequence[str] = None) → Tuple[aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord, aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.mediate_request.MediationRequest][source]¶ Prepare a MediationRequest Message, saving a new mediation record.
Parameters: Returns: message to send to mediator
Return type: MediationRequest
-
receive_request
(connection_id: str, request: aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.mediate_request.MediationRequest) → aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord[source]¶ Create a new mediation record to track this request.
Parameters: request (MediationRequest) – request message Returns: record created during receipt of request. Return type: MediationRecord
-
remove_key
(recipient_key: str, message: Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update.KeylistUpdate] = None) → aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update.KeylistUpdate[source]¶ Prepare keylist update remove.
Parameters: - recipient_key (str) – key to remove
- message (Optional[KeylistUpdate]) – append update to message
Returns: Message to send to mediator to notify of key removal.
Return type: KeylistUpdate
-
request_denied
(record: aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord, deny: aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.mediate_deny.MediationDeny)[source]¶ Process mediation denied message.
Parameters: record (MediationRecord) – record representing the denied mediation request
-
request_granted
(record: aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord, grant: aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.mediate_grant.MediationGrant)[source]¶ Process mediation grant message.
Parameters: record (MediationRecord) – record representing the granted mediation request
-
set_default_mediator
(record: aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord)[source]¶ Set default mediator from record.
-
store_update_results
(connection_id: str, results: Sequence[aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.inner.keylist_updated.KeylistUpdated])[source]¶ Store results of keylist update from keylist update response message.
Parameters: - connection_id (str) – connection ID of mediator sending results
- results (Sequence[KeylistUpdated]) – keylist update results
- session – An active profile session
-
update_keylist
(record: aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord, updates: Sequence[aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.inner.keylist_update_rule.KeylistUpdateRule]) → aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update_response.KeylistUpdateResponse[source]¶ Update routes defined in keylist update rules.
Parameters: - record (MediationRecord) – record associated with client updating keylist
- updates (Sequence[KeylistUpdateRule]) – updates to apply
Returns: message to return to client
Return type: KeylistUpdateResponse
-
-
exception
aries_cloudagent.protocols.coordinate_mediation.v1_0.manager.
MediationManagerError
(*args, error_code: str = None, **kwargs)[source]¶ Bases:
aries_cloudagent.core.error.BaseError
Generic Mediation error.
-
exception
aries_cloudagent.protocols.coordinate_mediation.v1_0.manager.
MediationNotGrantedError
(*args, error_code: str = None, **kwargs)[source]¶ Bases:
aries_cloudagent.protocols.coordinate_mediation.v1_0.manager.MediationManagerError
Raised when mediation state should be granted and is not.
aries_cloudagent.protocols.coordinate_mediation.v1_0.message_types module¶
Message type identifiers for Coordinate Mediation protocol.
aries_cloudagent.protocols.coordinate_mediation.v1_0.normalization module¶
Normalization methods used while transitioning to DID:Key method.
aries_cloudagent.protocols.coordinate_mediation.v1_0.route_manager module¶
Route manager.
Set up routing for newly formed connections.
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.route_manager.
CoordinateMediationV1RouteManager
[source]¶ Bases:
aries_cloudagent.protocols.coordinate_mediation.v1_0.route_manager.RouteManager
Manage routes using Coordinate Mediation protocol.
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.route_manager.
RouteManager
[source]¶ Bases:
abc.ABC
Base Route Manager.
-
connection_from_recipient_key
(profile: aries_cloudagent.core.profile.Profile, recipient_key: str) → aries_cloudagent.connections.models.conn_record.ConnRecord[source]¶ Retrieve connection for a recipient_key.
The recipient key is expected to be a local key owned by this agent.
-
get_or_create_my_did
(profile: aries_cloudagent.core.profile.Profile, conn_record: aries_cloudagent.connections.models.conn_record.ConnRecord) → aries_cloudagent.wallet.did_info.DIDInfo[source]¶ Create or retrieve DID info for a conneciton.
-
mediation_record_for_connection
(profile: aries_cloudagent.core.profile.Profile, conn_record: aries_cloudagent.connections.models.conn_record.ConnRecord, mediation_id: Optional[str] = None, or_default: bool = False)[source]¶ Return relevant mediator for connection.
-
mediation_record_if_id
(profile: aries_cloudagent.core.profile.Profile, mediation_id: Optional[str] = None, or_default: bool = False)[source]¶ Validate mediation and return record.
If mediation_id is not None, validate mediation record state and return record else, return None
-
route_connection
(profile: aries_cloudagent.core.profile.Profile, conn_record: aries_cloudagent.connections.models.conn_record.ConnRecord, mediation_record: Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord] = None) → Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update.KeylistUpdate][source]¶ Set up routing for a connection.
This method will evaluate connection state and call the appropriate methods.
-
route_connection_as_invitee
(profile: aries_cloudagent.core.profile.Profile, conn_record: aries_cloudagent.connections.models.conn_record.ConnRecord, mediation_record: Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord] = None) → Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update.KeylistUpdate][source]¶ Set up routing for a new connection when we are the invitee.
-
route_connection_as_inviter
(profile: aries_cloudagent.core.profile.Profile, conn_record: aries_cloudagent.connections.models.conn_record.ConnRecord, mediation_record: Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord] = None) → Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update.KeylistUpdate][source]¶ Set up routing for a new connection when we are the inviter.
-
route_invitation
(profile: aries_cloudagent.core.profile.Profile, conn_record: aries_cloudagent.connections.models.conn_record.ConnRecord, mediation_record: Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord] = None) → Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update.KeylistUpdate][source]¶ Set up routing for receiving a response to an invitation.
-
route_public_did
(profile: aries_cloudagent.core.profile.Profile, verkey: str)[source]¶ Establish routing for a public DID.
[DEPRECATED] Establish routing for a public DID. Use route_verkey() instead.
-
route_static
(profile: aries_cloudagent.core.profile.Profile, conn_record: aries_cloudagent.connections.models.conn_record.ConnRecord, mediation_record: Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord] = None) → Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.messages.keylist_update.KeylistUpdate][source]¶ Establish routing for a static connection.
-
route_verkey
(profile: aries_cloudagent.core.profile.Profile, verkey: str)[source]¶ Establish routing for a public DID.
-
routing_info
(profile: aries_cloudagent.core.profile.Profile, my_endpoint: str, mediation_record: Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord] = None) → Tuple[List[str], str][source]¶ Retrieve routing keys.
-
save_mediator_for_connection
(profile: aries_cloudagent.core.profile.Profile, conn_record: aries_cloudagent.connections.models.conn_record.ConnRecord, mediation_record: Optional[aries_cloudagent.protocols.coordinate_mediation.v1_0.models.mediation_record.MediationRecord] = None, mediation_id: Optional[str] = None)[source]¶ Save mediator info to connection metadata.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.route_manager_provider module¶
RouteManager provider.
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.route_manager_provider.
RouteManagerProvider
(root_profile: aries_cloudagent.core.profile.Profile)[source]¶ Bases:
aries_cloudagent.config.base.BaseProvider
Route manager provider.
Decides whcih route manager to use based on settings.
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes module¶
coordinate mediation admin routes.
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
AdminMediationDenySchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Parameters and validators for Mediation deny admin request query string.
-
mediator_terms
¶ Used by autodoc_mock_imports.
-
recipient_terms
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
GetKeylistQuerySchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Get keylist query string paramaters.
-
conn_id
¶ Used by autodoc_mock_imports.
-
role
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
KeylistQueryFilterRequestSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Request schema for keylist query filtering.
-
filter
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
KeylistQueryPaginateQuerySchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Query string schema for keylist query pagination.
-
paginate_limit
¶ Used by autodoc_mock_imports.
-
paginate_offset
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
KeylistSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Result schema for mediation list query.
-
results
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
KeylistUpdateRequestSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
keylist update request schema.
-
updates
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
MediationCreateRequestSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Parameters and validators for create Mediation request query string.
-
mediator_terms
¶ Used by autodoc_mock_imports.
-
recipient_terms
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
MediationIdMatchInfoSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Path parameters and validators for request taking mediation request id.
-
mediation_id
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
MediationListQueryStringSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Parameters and validators for mediation record list request query string.
-
conn_id
¶ Used by autodoc_mock_imports.
-
mediator_terms
¶ Used by autodoc_mock_imports.
-
recipient_terms
¶ Used by autodoc_mock_imports.
-
state
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
MediationListSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Result schema for mediation list query.
-
results
¶ Used by autodoc_mock_imports.
-
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
clear_default_mediator
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Clear set default mediator.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
delete_mediation_request
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Delete a mediation request by ID.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
get_default_mediator
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Get default mediator.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
get_keylist
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Retrieve keylists by connection or role.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
list_mediation_requests
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ List mediation requests for either client or server role.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
mediation_request_deny
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Deny a stored mediation request.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
mediation_request_grant
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Grant a stored mediation request.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
mediation_sort_key
(mediation: dict)[source]¶ Get the sorting key for a particular serialized mediation record.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
post_process_routes
(app: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Amend swagger API.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
register
(app: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Register routes.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
request_mediation
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Request mediation from connection.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
retrieve_mediation_request
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Retrieve a single mediation request.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
send_keylist_query
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Send keylist query to mediator.
-
aries_cloudagent.protocols.coordinate_mediation.v1_0.routes.
send_keylist_update
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f3d843e4d00>)[source]¶ Send keylist update to mediator.