aries_cloudagent.protocols.connections.v1_0 package

Submodules

aries_cloudagent.protocols.connections.v1_0.manager module

Classes to manage connections.

class aries_cloudagent.protocols.connections.v1_0.manager.ConnectionManager(profile: aries_cloudagent.core.profile.Profile)[source]

Bases: aries_cloudagent.connections.base_manager.BaseConnectionManager

Class for managing connections.

accept_response(response: aries_cloudagent.protocols.connections.v1_0.messages.connection_response.ConnectionResponse, receipt: aries_cloudagent.transport.inbound.receipt.MessageReceipt) → aries_cloudagent.connections.models.conn_record.ConnRecord[source]

Accept a connection response.

Process a ConnectionResponse message by looking up the connection request and setting up the pairwise connection.

Parameters:
  • response – The ConnectionResponse to accept
  • receipt – The message receipt
Returns:

The updated ConnRecord representing the connection

Raises:
create_invitation(my_label: str = None, my_endpoint: str = None, auto_accept: bool = None, public: bool = False, multi_use: bool = False, alias: str = None, routing_keys: Sequence[str] = None, recipient_keys: Sequence[str] = None, metadata: dict = None, mediation_id: str = None) → Tuple[aries_cloudagent.connections.models.conn_record.ConnRecord, aries_cloudagent.protocols.connections.v1_0.messages.connection_invitation.ConnectionInvitation][source]

Generate new connection invitation.

This interaction represents an out-of-band communication channel. In the future and in practice, these sort of invitations will be received over any number of channels such as SMS, Email, QR Code, NFC, etc.

Structure of an invite message:

{
    "@type": "https://didcomm.org/connections/1.0/invitation",
    "label": "Alice",
    "did": "did:sov:QmWbsNYhMrjHiqZDTUTEJs"
}

Or, in the case of a peer DID:

{
    "@type": "https://didcomm.org/connections/1.0/invitation",
    "label": "Alice",
    "did": "did:peer:oiSqsNYhMrjHiqZDTUthsw",
    "recipient_keys": ["8HH5gYEeNc3z7PYXmd54d4x6qAfCNrqQqEB3nS7Zfu7K"],
    "service_endpoint": "https://example.com/endpoint"
    "routing_keys": ["9EH5gYEeNc3z7PYXmd53d5x6qAfCNrqQqEB4nS7Zfu6K"],
}
Parameters:
  • my_label – label for this connection
  • my_endpoint – endpoint where other party can reach me
  • auto_accept – auto-accept a corresponding connection request (None to use config)
  • public – set to create an invitation from the public DID
  • multi_use – set to True to create an invitation for multiple use
  • alias – optional alias to apply to connection for later use
Returns:

A tuple of the new ConnRecord and ConnectionInvitation instances

create_request(connection: aries_cloudagent.connections.models.conn_record.ConnRecord, my_label: str = None, my_endpoint: str = None, mediation_id: str = None) → aries_cloudagent.protocols.connections.v1_0.messages.connection_request.ConnectionRequest[source]

Create a new connection request for a previously-received invitation.

Parameters:
  • connection – The ConnRecord representing the invitation to accept
  • my_label – My label
  • my_endpoint – My endpoint
Returns:

A new ConnectionRequest message to send to the other agent

create_response(connection: aries_cloudagent.connections.models.conn_record.ConnRecord, my_endpoint: str = None, mediation_id: str = None) → aries_cloudagent.protocols.connections.v1_0.messages.connection_response.ConnectionResponse[source]

Create a connection response for a received connection request.

Parameters:
  • connection – The ConnRecord with a pending connection request
  • my_endpoint – The endpoint I can be reached at
  • mediation_id – The record id for mediation that contains routing_keys and
  • endpoint (service) –
Returns:

A tuple of the updated ConnRecord new ConnectionResponse message

establish_inbound(connection: aries_cloudagent.connections.models.conn_record.ConnRecord, inbound_connection_id: str, outbound_handler: Coroutine) → str[source]

Assign the inbound routing connection for a connection record.

Returns: the current routing state (request or done)

profile

Accessor for the current profile.

Returns:The profile for this connection manager
receive_invitation(invitation: aries_cloudagent.protocols.connections.v1_0.messages.connection_invitation.ConnectionInvitation, their_public_did: Optional[str] = None, auto_accept: Optional[bool] = None, alias: Optional[str] = None, mediation_id: Optional[str] = None) → aries_cloudagent.connections.models.conn_record.ConnRecord[source]

Create a new connection record to track a received invitation.

Parameters:
  • invitation – The ConnectionInvitation to store
  • auto_accept – set to auto-accept the invitation (None to use config)
  • alias – optional alias to set on the record
Returns:

The new ConnRecord instance

receive_request(request: aries_cloudagent.protocols.connections.v1_0.messages.connection_request.ConnectionRequest, receipt: aries_cloudagent.transport.inbound.receipt.MessageReceipt) → aries_cloudagent.connections.models.conn_record.ConnRecord[source]

Receive and store a connection request.

Parameters:
  • request – The ConnectionRequest to accept
  • receipt – The message receipt
Returns:

The new or updated ConnRecord instance

update_inbound(inbound_connection_id: str, recip_verkey: str, routing_state: str)[source]

Activate connections once a route has been established.

Looks up pending connections associated with the inbound routing connection and marks the routing as complete.

exception aries_cloudagent.protocols.connections.v1_0.manager.ConnectionManagerError(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.core.error.BaseError

Connection error.

aries_cloudagent.protocols.connections.v1_0.message_types module

Message type identifiers for Connections.

aries_cloudagent.protocols.connections.v1_0.routes module

Connection handling admin routes.

class aries_cloudagent.protocols.connections.v1_0.routes.AcceptInvitationQueryStringSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Parameters and validators for accept invitation request query string.

mediation_id

Used by autodoc_mock_imports.

my_endpoint

Used by autodoc_mock_imports.

my_label

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.AcceptRequestQueryStringSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Parameters and validators for accept conn-request web-request query string.

my_endpoint

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.ConnIdRefIdMatchInfoSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Path parameters and validators for request taking connection and ref ids.

conn_id

Used by autodoc_mock_imports.

ref_id

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.ConnectionListSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Result schema for connection list.

results

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.ConnectionMetadataQuerySchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Query schema for metadata.

key

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.ConnectionMetadataSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Result schema for connection metadata.

results

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.ConnectionMetadataSetRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request Schema for set metadata.

metadata

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.ConnectionModuleResponseSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Response schema for connection module.

class aries_cloudagent.protocols.connections.v1_0.routes.ConnectionStaticRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request schema for a new static connection.

alias

Used by autodoc_mock_imports.

my_did

Used by autodoc_mock_imports.

my_seed

Used by autodoc_mock_imports.

their_did

Used by autodoc_mock_imports.

their_endpoint

Used by autodoc_mock_imports.

their_label

Used by autodoc_mock_imports.

their_seed

Used by autodoc_mock_imports.

their_verkey

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.ConnectionStaticResultSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Result schema for new static connection.

my_did

Used by autodoc_mock_imports.

my_endpoint

Used by autodoc_mock_imports.

my_verkey

Used by autodoc_mock_imports.

record

Used by autodoc_mock_imports.

their_did

Used by autodoc_mock_imports.

their_verkey

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.ConnectionsConnIdMatchInfoSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Path parameters and validators for request taking connection id.

conn_id

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.ConnectionsListQueryStringSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Parameters and validators for connections list request query string.

alias

Used by autodoc_mock_imports.

connection_protocol

Used by autodoc_mock_imports.

invitation_key

Used by autodoc_mock_imports.

invitation_msg_id

Used by autodoc_mock_imports.

my_did

Used by autodoc_mock_imports.

state

Used by autodoc_mock_imports.

their_did

Used by autodoc_mock_imports.

their_public_did

Used by autodoc_mock_imports.

their_role

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.CreateInvitationQueryStringSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Parameters and validators for create invitation request query string.

alias

Used by autodoc_mock_imports.

auto_accept

Used by autodoc_mock_imports.

multi_use

Used by autodoc_mock_imports.

public

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.CreateInvitationRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Request schema for invitation connection target.

mediation_id

Used by autodoc_mock_imports.

metadata

Used by autodoc_mock_imports.

my_label

Used by autodoc_mock_imports.

recipient_keys

Used by autodoc_mock_imports.

routing_keys

Used by autodoc_mock_imports.

service_endpoint

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.EndpointsResultSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Result schema for connection endpoints.

my_endpoint

Used by autodoc_mock_imports.

their_endpoint

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.InvitationResultSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Result schema for a new connection invitation.

connection_id

Used by autodoc_mock_imports.

invitation

Used by autodoc_mock_imports.

invitation_url

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.ReceiveInvitationQueryStringSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Parameters and validators for receive invitation request query string.

alias

Used by autodoc_mock_imports.

auto_accept

Used by autodoc_mock_imports.

mediation_id

Used by autodoc_mock_imports.

class aries_cloudagent.protocols.connections.v1_0.routes.ReceiveInvitationRequestSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.protocols.connections.v1_0.messages.connection_invitation.ConnectionInvitationSchema

Request schema for receive invitation request.

validate_fields(data, **kwargs)[source]

Bypass middleware field validation: marshmallow has no data yet.

aries_cloudagent.protocols.connections.v1_0.routes.connection_sort_key(conn)[source]

Get the sorting key for a particular connection.

aries_cloudagent.protocols.connections.v1_0.routes.connections_accept_invitation(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc044991730>)[source]

Request handler for accepting a stored connection invitation.

Parameters:request – aiohttp request object
Returns:The resulting connection record details
aries_cloudagent.protocols.connections.v1_0.routes.connections_accept_request(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc044991730>)[source]

Request handler for accepting a stored connection request.

Parameters:request – aiohttp request object
Returns:The resulting connection record details
aries_cloudagent.protocols.connections.v1_0.routes.connections_create_invitation(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc044991730>)[source]

Request handler for creating a new connection invitation.

Parameters:request – aiohttp request object
Returns:The connection invitation details
aries_cloudagent.protocols.connections.v1_0.routes.connections_create_static(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc044991730>)[source]

Request handler for creating a new static connection.

Parameters:request – aiohttp request object
Returns:The new connection record
aries_cloudagent.protocols.connections.v1_0.routes.connections_endpoints(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc044991730>)[source]

Request handler for fetching connection endpoints.

Parameters:request – aiohttp request object
Returns:The endpoints response
aries_cloudagent.protocols.connections.v1_0.routes.connections_establish_inbound(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc044991730>)[source]

Request handler for setting the inbound connection on a connection record.

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

Request handler for searching connection records.

Parameters:request – aiohttp request object
Returns:The connection list response
aries_cloudagent.protocols.connections.v1_0.routes.connections_metadata(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc044991730>)[source]

Handle fetching metadata associated with a single connection record.

aries_cloudagent.protocols.connections.v1_0.routes.connections_metadata_set(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc044991730>)[source]

Handle fetching metadata associated with a single connection record.

aries_cloudagent.protocols.connections.v1_0.routes.connections_receive_invitation(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc044991730>)[source]

Request handler for receiving a new connection invitation.

Parameters:request – aiohttp request object
Returns:The resulting connection record details
aries_cloudagent.protocols.connections.v1_0.routes.connections_remove(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc044991730>)[source]

Request handler for removing a connection record.

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

Request handler for fetching a single connection record.

Parameters:request – aiohttp request object
Returns:The connection record response
aries_cloudagent.protocols.connections.v1_0.routes.post_process_routes(app: <sphinx.ext.autodoc.importer._MockObject object at 0x7fc044991730>)[source]

Amend swagger API.

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

Register routes.