aries_cloudagent.messaging package

Subpackages

Submodules

aries_cloudagent.messaging.agent_message module

Agent message base class and schema.

class aries_cloudagent.messaging.agent_message.AgentMessage(_id: str = None, _type: Optional[str] = None, _version: Optional[str] = None, _decorators: aries_cloudagent.messaging.decorators.base.BaseDecoratorSet = None)[source]

Bases: aries_cloudagent.messaging.models.base.BaseModel, aries_cloudagent.messaging.base_message.BaseMessage

Agent message base class.

Handler

Accessor for the agent message’s handler class.

Returns:Handler class
class Meta[source]

Bases: object

AgentMessage metadata.

handler_class = None
message_type = None
schema_class = None
add_trace_decorator(target: str = 'log', full_thread: bool = True)[source]

Create a new trace decorator.

Parameters:
  • target – The trace target
  • full_thread – Full thread flag
add_trace_report(val: Union[aries_cloudagent.messaging.decorators.trace_decorator.TraceReport, dict])[source]

Append a new trace report.

Parameters:val – The trace target
assign_thread_from(msg: aries_cloudagent.messaging.agent_message.AgentMessage)[source]

Copy thread information from a previous message.

Parameters:msg – The received message containing optional thread information
assign_thread_id(thid: str, pthid: str = None)[source]

Assign a specific thread ID.

Parameters:
  • thid – The thread identifier
  • pthid – The parent thread identifier
assign_trace_decorator(context, trace)[source]

Copy trace from a json structure.

Parameters:trace – string containing trace json stucture
assign_trace_from(msg: aries_cloudagent.messaging.agent_message.AgentMessage)[source]

Copy trace information from a previous message.

Parameters:msg – The received message containing optional trace information
classmethod deserialize(value: dict, msg_format: aries_cloudagent.messaging.base_message.DIDCommVersion = <DIDCommVersion.v1: 1>, **kwargs)[source]

Return message object deserialized from value in format specified.

get_signature(field_name: str) → aries_cloudagent.messaging.decorators.signature_decorator.SignatureDecorator[source]

Get the signature for a named field.

Parameters:field_name – Field name to get the signature for
Returns:A SignatureDecorator for the requested field name
get_updated_msg_type(version: str) → str[source]

Update version to Meta.message_type.

serialize(msg_format: aries_cloudagent.messaging.base_message.DIDCommVersion = <DIDCommVersion.v1: 1>, **kwargs)[source]

Return serialized message in format specified.

set_signature(field_name: str, signature: aries_cloudagent.messaging.decorators.signature_decorator.SignatureDecorator)[source]

Add or replace the signature for a named field.

Parameters:
  • field_name – Field to set signature on
  • signature – Signature for the field
sign_field(field_name: str, signer_verkey: str, wallet: aries_cloudagent.wallet.base.BaseWallet, timestamp=None) → aries_cloudagent.messaging.decorators.signature_decorator.SignatureDecorator[source]

Create and store a signature for a named field.

Parameters:
  • field_name – Field to sign
  • signer_verkey – Verkey of signer
  • wallet – Wallet to use for signature
  • timestamp – Optional timestamp for signature
Returns:

A SignatureDecorator for newly created signature

Raises:

ValueError – If field_name doesn’t exist on this message

verify_signatures(wallet: aries_cloudagent.wallet.base.BaseWallet) → bool[source]

Verify all associated field signatures.

Parameters:wallet – Wallet to use in verification
Returns:True if all signatures verify, else false
verify_signed_field(field_name: str, wallet: aries_cloudagent.wallet.base.BaseWallet, signer_verkey: str = None) → str[source]

Verify a specific field signature.

Parameters:
  • field_name – The field name to verify
  • wallet – Wallet to use for the verification
  • signer_verkey – Verkey of signer to use
Returns:

The verkey of the signer

Raises:
  • ValueError – If field_name does not exist on this message
  • ValueError – If the verification fails
  • ValueError – If the verkey of the signature does not match the
  • provided verkey
exception aries_cloudagent.messaging.agent_message.AgentMessageError(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.base.BaseModelError

Base exception for agent message issues.

class aries_cloudagent.messaging.agent_message.AgentMessageSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.base.BaseModelSchema

AgentMessage schema.

class Meta[source]

Bases: object

AgentMessageSchema metadata.

model_class = None
signed_fields = None
unknown

Used by autodoc_mock_imports.

check_dump_decorators(obj, **kwargs)[source]

Pre-dump hook to validate and load the message decorators.

Parameters:obj – The AgentMessage object
Raises:BaseModelError – If a decorator does not validate
dump_decorators(data, **kwargs)[source]

Post-dump hook to write the decorators to the serialized output.

Parameters:obj – The serialized data
Returns:The modified data
extract_decorators(data: Mapping, **kwargs)[source]

Pre-load hook to extract the decorators and check the signed fields.

Parameters:

data – Incoming data to parse

Returns:

Parsed and modified data

Raises:
  • ValidationError – If a field signature does not correlate
  • to a field in the message
  • ValidationError – If the message defines both a field signature
  • and a value for the same field
  • ValidationError – If there is a missing field signature
populate_decorators(obj, **kwargs)[source]

Post-load hook to populate decorators on the message.

Parameters:obj – The AgentMessage object
Returns:The AgentMessage object with populated decorators
replace_signatures(data, **kwargs)[source]

Post-dump hook to write the signatures to the serialized output.

Parameters:obj – The serialized data
Returns:The modified data

aries_cloudagent.messaging.base_handler module

A Base handler class for all message handlers.

class aries_cloudagent.messaging.base_handler.BaseHandler[source]

Bases: abc.ABC

Abstract base class for handlers.

handle(context: aries_cloudagent.messaging.request_context.RequestContext, responder: aries_cloudagent.messaging.responder.BaseResponder)[source]

Abstract method for handler logic.

Parameters:
  • context – Request context object
  • responder – A responder object
exception aries_cloudagent.messaging.base_handler.HandlerException(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.core.error.BaseError

Exception base class for generic handler errors.

aries_cloudagent.messaging.base_message module

Base message.

class aries_cloudagent.messaging.base_message.BaseMessage[source]

Bases: abc.ABC

Abstract base class for messages.

This formally defines a “minimum viable message” and provides an unopinionated class for plugins to extend in whatever way makes sense in the context of the plugin.

Handler

Return reference to handler class.

classmethod deserialize(value: dict, msg_format: aries_cloudagent.messaging.base_message.DIDCommVersion = <DIDCommVersion.v1: 1>)[source]

Return message object deserialized from value in format specified.

serialize(msg_format: aries_cloudagent.messaging.base_message.DIDCommVersion = <DIDCommVersion.v1: 1>) → dict[source]

Return serialized message in format specified.

class aries_cloudagent.messaging.base_message.DIDCommVersion[source]

Bases: enum.Enum

Serialized message formats.

v1 = 1
v2 = 2

aries_cloudagent.messaging.error module

Messaging-related error classes and codes.

exception aries_cloudagent.messaging.error.MessageParseError(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.core.error.BaseError

Message parse error.

error_code = 'message_parse_error'
exception aries_cloudagent.messaging.error.MessagePrepareError(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.core.error.BaseError

Message preparation error.

error_code = 'message_prepare_error'

aries_cloudagent.messaging.request_context module

Request context class.

A request context provides everything required by handlers and other parts of the system to process a message.

class aries_cloudagent.messaging.request_context.RequestContext(profile: aries_cloudagent.core.profile.Profile, *, context: aries_cloudagent.config.injection_context.InjectionContext = None, settings: Mapping[str, object] = None)[source]

Bases: object

Context established by the Conductor and passed into message handlers.

connection_ready

Accessor for the flag indicating an active connection with the sender.

Returns:True if the connection is active, else False
connection_record

Accessor for the related connection record.

default_endpoint

Accessor for the default agent endpoint (from agent config).

Returns:The default agent endpoint
default_label

Accessor for the default agent label (from agent config).

Returns:The default label
inject(base_cls: Type[InjectType], settings: Mapping[str, object] = None) → InjectType[source]

Get the provided instance of a given class identifier.

Parameters:
  • cls – The base class to retrieve an instance of
  • settings – An optional mapping providing configuration to the provider
Returns:

An instance of the base class, or None

inject_or(base_cls: Type[InjectType], settings: Mapping[str, object] = None, default: Optional[InjectType] = None) → Optional[InjectType][source]

Get the provided instance of a given class identifier or default if not found.

Parameters:
  • base_cls – The base class to retrieve an instance of
  • settings – An optional dict providing configuration to the provider
  • default – default return value if no instance is found
Returns:

An instance of the base class, or None

injector

Accessor for the associated Injector instance.

message

Accessor for the deserialized message instance.

Returns:This context’s agent message
message_receipt

Accessor for the message receipt information.

Returns:This context’s message receipt information
profile

Accessor for the associated Profile instance.

session() → aries_cloudagent.core.profile.ProfileSession[source]

Start a new interactive session with no transaction support requested.

settings

Accessor for the context settings.

classmethod test_context() → aries_cloudagent.messaging.request_context.RequestContext[source]

Quickly set up a new request context for tests.

transaction() → aries_cloudagent.core.profile.ProfileSession[source]

Start a new interactive session with commit and rollback support.

If the current backend does not support transactions, then commit and rollback operations of the session will not have any effect.

update_settings(settings: Mapping[str, object])[source]

Update the scope with additional settings.

aries_cloudagent.messaging.responder module

A message responder.

The responder is provided to message handlers to enable them to send a new message in response to the message being handled.

class aries_cloudagent.messaging.responder.BaseResponder(*, connection_id: str = None, reply_session_id: str = None, reply_to_verkey: str = None)[source]

Bases: abc.ABC

Interface for message handlers to send responses.

conn_rec_active_state_check(profile: aries_cloudagent.core.profile.Profile, connection_id: str, timeout: int = 7) → bool[source]

Check if the connection record is ready for sending outbound message.

create_outbound(message: Union[aries_cloudagent.messaging.base_message.BaseMessage, str, bytes], *, connection_id: str = None, reply_session_id: str = None, reply_thread_id: str = None, reply_to_verkey: str = None, reply_from_verkey: str = None, target: aries_cloudagent.connections.models.connection_target.ConnectionTarget = None, target_list: Sequence[aries_cloudagent.connections.models.connection_target.ConnectionTarget] = None, to_session_only: bool = False) → aries_cloudagent.transport.outbound.message.OutboundMessage[source]

Create an OutboundMessage from a message payload.

send(message: Union[aries_cloudagent.messaging.base_message.BaseMessage, str, bytes], **kwargs) → aries_cloudagent.transport.outbound.status.OutboundSendStatus[source]

Convert a message to an OutboundMessage and send it.

send_outbound(message: aries_cloudagent.transport.outbound.message.OutboundMessage, **kwargs) → aries_cloudagent.transport.outbound.status.OutboundSendStatus[source]

Send an outbound message.

Parameters:message – The OutboundMessage to be sent
send_reply(message: Union[aries_cloudagent.messaging.base_message.BaseMessage, str, bytes], *, connection_id: str = None, target: aries_cloudagent.connections.models.connection_target.ConnectionTarget = None, target_list: Sequence[aries_cloudagent.connections.models.connection_target.ConnectionTarget] = None) → aries_cloudagent.transport.outbound.status.OutboundSendStatus[source]

Send a reply to an incoming message.

Parameters:
  • message – the BaseMessage, or pre-packed str or bytes to reply with
  • connection_id – optionally override the target connection ID
  • target – optionally specify a ConnectionTarget to send to
Raises:

ResponderError – If there is no active connection

send_webhook(topic: str, payload: dict)[source]

Dispatch a webhook. DEPRECATED: use the event bus instead.

Parameters:
  • topic – the webhook topic identifier
  • payload – the webhook payload value
class aries_cloudagent.messaging.responder.MockResponder[source]

Bases: aries_cloudagent.messaging.responder.BaseResponder

Mock responder implementation for use by tests.

send(message: Union[aries_cloudagent.messaging.base_message.BaseMessage, str, bytes], **kwargs) → aries_cloudagent.transport.outbound.status.OutboundSendStatus[source]

Convert a message to an OutboundMessage and send it.

send_outbound(message: aries_cloudagent.transport.outbound.message.OutboundMessage, **kwargs) → aries_cloudagent.transport.outbound.status.OutboundSendStatus[source]

Send an outbound message.

send_reply(message: Union[aries_cloudagent.messaging.base_message.BaseMessage, str, bytes], **kwargs) → aries_cloudagent.transport.outbound.status.OutboundSendStatus[source]

Send a reply to an incoming message.

send_webhook(topic: str, payload: dict)[source]

Send an outbound message.

exception aries_cloudagent.messaging.responder.ResponderError(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.core.error.BaseError

Responder error.

aries_cloudagent.messaging.util module

Utils for messages.

aries_cloudagent.messaging.util.canon(raw_attr_name: str) → str[source]

Canonicalize input attribute name for indy proofs and credential offers.

Parameters:raw_attr_name – raw attribute name
Returns:canonicalized attribute name
aries_cloudagent.messaging.util.datetime_now() → datetime.datetime[source]

Timestamp in UTC.

aries_cloudagent.messaging.util.datetime_to_str(dt: Union[str, datetime.datetime]) → str[source]

Convert a datetime object to an indy-standard datetime string.

Parameters:dt – May be a string or datetime to allow automatic conversion
aries_cloudagent.messaging.util.encode(orig: Any) → str[source]

Encode a credential value as an int.

Encode credential attribute value, purely stringifying any int32 and leaving numeric int32 strings alone, but mapping any other input to a stringified 256-bit (but not 32-bit) integer. Predicates in indy-sdk operate on int32 values properly only when their encoded values match their raw values.

Parameters:orig – original value to encode
Returns:encoded value
aries_cloudagent.messaging.util.epoch_to_str(epoch: int) → str[source]

Convert epoch seconds to indy-standard datetime string.

Parameters:epoch – epoch seconds
aries_cloudagent.messaging.util.str_to_datetime(dt: Union[str, datetime.datetime]) → datetime.datetime[source]

Convert an indy-standard datetime string to a datetime.

Using a fairly lax regex pattern to match slightly different formats. In Python 3.7 datetime.fromisoformat might be used.

Parameters:dt – May be a string or datetime to allow automatic conversion
aries_cloudagent.messaging.util.str_to_epoch(dt: Union[str, datetime.datetime]) → int[source]

Convert an indy-standard datetime string to epoch seconds.

Parameters:dt – May be a string or datetime to allow automatic conversion
aries_cloudagent.messaging.util.time_now() → str[source]

Timestamp in ISO format.

aries_cloudagent.messaging.valid module

Validators for schema fields.

class aries_cloudagent.messaging.valid.Base58SHA256Hash[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against base58 encoding of SHA-256 hash.

EXAMPLE = 'H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV'
PATTERN = '^[<sphinx.ext.autodoc.importer._MockObject object>]{43,44}$'
class aries_cloudagent.messaging.valid.Base64[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate base64 value.

EXAMPLE = 'ey4uLn0='
PATTERN = '^[a-zA-Z0-9+/]*={0,2}$'
class aries_cloudagent.messaging.valid.Base64URL[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate base64 value.

EXAMPLE = 'ey4uLn0='
PATTERN = '^[-_a-zA-Z0-9]*={0,2}$'
class aries_cloudagent.messaging.valid.Base64URLNoPad[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate base64 value.

EXAMPLE = 'ey4uLn0'
PATTERN = '^[-_a-zA-Z0-9]*$'
class aries_cloudagent.messaging.valid.CredentialContext[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Credential Context.

EXAMPLE = ['https://www.w3.org/2018/credentials/v1', 'https://www.w3.org/2018/credentials/examples/v1']
FIRST_CONTEXT = 'https://www.w3.org/2018/credentials/v1'
class aries_cloudagent.messaging.valid.CredentialSubject[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Credential subject.

EXAMPLE = {'alumniOf': {'id': 'did:example:c276e12ec21ebfeb1f712ebc6f1'}, 'id': 'did:example:ebfeb1f712ebc6f1c276e12ec21'}
class aries_cloudagent.messaging.valid.CredentialType[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Credential Type.

CREDENTIAL_TYPE = 'VerifiableCredential'
EXAMPLE = ['VerifiableCredential', 'AlumniCredential']
class aries_cloudagent.messaging.valid.DIDKey[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against DID key specification.

EXAMPLE = 'did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH'
PATTERN = re.compile('^did:key:z[<sphinx.ext.autodoc.importer._MockObject object>]+$')
class aries_cloudagent.messaging.valid.DIDPosture[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against defined DID postures.

EXAMPLE = 'wallet_only'
class aries_cloudagent.messaging.valid.DIDValidation[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against any valid DID spec.

EXAMPLE = 'did:peer:WgWxqztrNooG92RXvxSTWv'
FRAGMENT = '(\\#.*)?$'
METHOD = '([a-zA-Z0-9_]+)'
METHOD_ID = '([a-zA-Z0-9_.%-]+(:[a-zA-Z0-9_.%-]+)*)'
PARAMS = '((;[a-zA-Z0-9_.:%-]+=[a-zA-Z0-9_.:%-]*)*)'
PATH = '(\\/[^#?]*)?'
PATTERN = re.compile('^did:([a-zA-Z0-9_]+):([a-zA-Z0-9_.%-]+(:[a-zA-Z0-9_.%-]+)*)((;[a-zA-Z0-9_.:%-]+=[a-zA-Z0-9_.:%-]*)*)(\\/[^#?]*)?([?][^#]*)?(\\#.*)?$$')
QUERY = '([?][^#]*)?'
class aries_cloudagent.messaging.valid.DIDWeb[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against did:web specification.

EXAMPLE = 'did:web:example.com'
PATTERN = re.compile('^(did:web:)([a-zA-Z0-9%._-]*:)*[a-zA-Z0-9%._-]+$')
class aries_cloudagent.messaging.valid.DictOrDictListField(*args, **kwargs)[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Dict or Dict List field for Marshmallow.

class aries_cloudagent.messaging.valid.Endpoint[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against endpoint URL on any scheme.

EXAMPLE = 'https://myhost:8021'
PATTERN = '^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$'
class aries_cloudagent.messaging.valid.EndpointType[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against allowed endpoint/service types.

EXAMPLE = 'Endpoint'
class aries_cloudagent.messaging.valid.IndyCredDefId[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against indy credential definition identifier specification.

EXAMPLE = 'WgWxqztrNooG92RXvxSTWv:3:CL:20:tag'
PATTERN = '^([<sphinx.ext.autodoc.importer._MockObject object>]{21,22}):3:CL:(([1-9][0-9]*)|([<sphinx.ext.autodoc.importer._MockObject object>]{21,22}:2:.+:[0-9.]+)):(.+)?$'
class aries_cloudagent.messaging.valid.IndyCredRevId[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against indy credential revocation identifier specification.

EXAMPLE = '12345'
PATTERN = '^[1-9][0-9]*$'
class aries_cloudagent.messaging.valid.IndyDID[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against indy DID.

EXAMPLE = 'WgWxqztrNooG92RXvxSTWv'
PATTERN = re.compile('^(did:sov:)?[<sphinx.ext.autodoc.importer._MockObject object>]{21,22}$')
class aries_cloudagent.messaging.valid.IndyExtraWQL[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value as potential extra WQL query in cred search for proof req.

EXAMPLE = '{"0_drink_uuid": {"attr::drink::value": "martini"}}'
PATTERN = '^{\\s*".*?"\\s*:\\s*{.*?}\\s*(,\\s*".*?"\\s*:\\s*{.*?}\\s*)*\\s*}$'
class aries_cloudagent.messaging.valid.IndyISO8601DateTime[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against ISO 8601 datetime format, indy profile.

EXAMPLE = '2021-12-31T23:59:59Z'
PATTERN = '^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$'
class aries_cloudagent.messaging.valid.IndyOrKeyDID[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Indy or Key DID class.

EXAMPLE = 'WgWxqztrNooG92RXvxSTWv'
PATTERN = '^did:key:z[<sphinx.ext.autodoc.importer._MockObject object>]+$|^(did:sov:)?[<sphinx.ext.autodoc.importer._MockObject object>]{21,22}$'
class aries_cloudagent.messaging.valid.IndyPredicate[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against indy predicate.

EXAMPLE = '>='
class aries_cloudagent.messaging.valid.IndyRawPublicKey[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against indy (Ed25519VerificationKey2018) raw public key.

EXAMPLE = 'H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV'
PATTERN = '^[<sphinx.ext.autodoc.importer._MockObject object>]{43,44}$'
class aries_cloudagent.messaging.valid.IndyRevRegId[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against indy revocation registry identifier specification.

EXAMPLE = 'WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0'
PATTERN = '^([<sphinx.ext.autodoc.importer._MockObject object>]{21,22}):4:([<sphinx.ext.autodoc.importer._MockObject object>]{21,22}):3:CL:(([1-9][0-9]*)|([<sphinx.ext.autodoc.importer._MockObject object>]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)'
class aries_cloudagent.messaging.valid.IndyRevRegSize[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value as indy revocation registry size.

EXAMPLE = 1000
class aries_cloudagent.messaging.valid.IndySchemaId[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against indy schema identifier specification.

EXAMPLE = 'WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0'
PATTERN = '^[<sphinx.ext.autodoc.importer._MockObject object>]{21,22}:2:.+:[0-9.]+$'
class aries_cloudagent.messaging.valid.IndyVersion[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against indy version specification.

EXAMPLE = '1.0'
PATTERN = '^[0-9.]+$'
class aries_cloudagent.messaging.valid.IndyWQL[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value as potential WQL query.

EXAMPLE = '{"attr::name::value": "Alex"}'
PATTERN = '^{.*}$'
class aries_cloudagent.messaging.valid.IntEpoch[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against (integer) epoch format.

EXAMPLE = 1640995199
class aries_cloudagent.messaging.valid.JSONWebToken[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate JSON Web Token.

EXAMPLE = 'eyJhbGciOiJFZERTQSJ9.eyJhIjogIjAifQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk'
PATTERN = '^[-_a-zA-Z0-9]*\\.[-_a-zA-Z0-9]*\\.[-_a-zA-Z0-9]*$'
class aries_cloudagent.messaging.valid.JWSHeaderKid[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against JWS header kid.

EXAMPLE = 'did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4'
PATTERN = '^did:(?:key:z[<sphinx.ext.autodoc.importer._MockObject object>]+|sov:[<sphinx.ext.autodoc.importer._MockObject object>]{21,22}(;.*)?(\\?.*)?#.+)$'
class aries_cloudagent.messaging.valid.MaybeIndyDID[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against any valid DID spec or a short Indy DID.

EXAMPLE = 'did:peer:WgWxqztrNooG92RXvxSTWv'
PATTERN = re.compile('^(did:sov:)?[<sphinx.ext.autodoc.importer._MockObject object>]{21,22}$|^did:([a-zA-Z0-9_]+):([a-zA-Z0-9_.%-]+(:[a-zA-Z0-9_.%-]+)*)((;[a-zA-Z0-9_.:%-]+=[a-zA-Z0-9_.:%-]*)*)(\\/[^#?]*)
class aries_cloudagent.messaging.valid.NaturalNumber[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value as positive integer.

EXAMPLE = 10
class aries_cloudagent.messaging.valid.NumericStrAny[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against any number numeric string.

EXAMPLE = '-1'
PATTERN = '^-?[0-9]*$'
class aries_cloudagent.messaging.valid.NumericStrNatural[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against natural number numeric string.

EXAMPLE = '1'
PATTERN = '^[1-9][0-9]*$'
class aries_cloudagent.messaging.valid.NumericStrWhole[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against whole number numeric string.

EXAMPLE = '0'
PATTERN = '^[0-9]*$'
class aries_cloudagent.messaging.valid.RFC3339DateTime[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against RFC3339 datetime format.

EXAMPLE = '2010-01-01T19:23:24Z'
PATTERN = '^([0-9]{4})-([0-9]{2})-([0-9]{2})([Tt ]([0-9]{2}):([0-9]{2}):([0-9]{2})(\\.[0-9]+)?)?(([Zz]|([+-])([0-9]{2}):([0-9]{2})))?$'
class aries_cloudagent.messaging.valid.RoutingKey[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate between indy or did key.

Validate value against indy (Ed25519VerificationKey2018) raw public key or DID key specification.

EXAMPLE = 'did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH'
PATTERN = re.compile('^did:key:z[<sphinx.ext.autodoc.importer._MockObject object>]+$|^[<sphinx.ext.autodoc.importer._MockObject object>]{43,44}$')
class aries_cloudagent.messaging.valid.SHA256Hash[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate (binhex-encoded) SHA256 value.

EXAMPLE = '617a48c7c8afe0521efdc03e5bb0ad9e655893e6b4b51f0e794d70fba132aacb'
PATTERN = '^[a-fA-F0-9+/]{64}$'
class aries_cloudagent.messaging.valid.StrOrDictField(*args, **kwargs)[source]

Bases: sphinx.ext.autodoc.importer._MockObject

URI or Dict field for Marshmallow.

class aries_cloudagent.messaging.valid.StrOrNumberField(*args, **kwargs)[source]

Bases: sphinx.ext.autodoc.importer._MockObject

String or Number field for Marshmallow.

class aries_cloudagent.messaging.valid.UUIDFour[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate UUID4: 8-4-4-4-12 hex digits, the 13th of which being 4.

EXAMPLE = '3fa85f64-5717-4562-b3fc-2c963f66afa6'
PATTERN = '[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}'
class aries_cloudagent.messaging.valid.Uri[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against URI on any scheme.

EXAMPLE = 'https://www.w3.org/2018/credentials/v1'
PATTERN = '\\w+:(\\/?\\/?)[^\\s]+'
class aries_cloudagent.messaging.valid.UriOrDictField(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.valid.StrOrDictField

URI or Dict field for Marshmallow.

class aries_cloudagent.messaging.valid.WholeNumber[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value as non-negative integer.

EXAMPLE = 0