aries_cloudagent.messaging.decorators package
Submodules
aries_cloudagent.messaging.decorators.attach_decorator module
A message decorator for attachments.
An attach decorator embeds content or specifies appended content.
- class aries_cloudagent.messaging.decorators.attach_decorator.AttachDecorator(*, ident: Optional[str] = None, description: Optional[str] = None, filename: Optional[str] = None, mime_type: Optional[str] = None, lastmod_time: Optional[str] = None, byte_count: Optional[int] = None, data: aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorData, **kwargs)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Class representing attach decorator.
- property content: Union[Mapping, Tuple[Sequence[str], str]]
Return attachment content.
- Returns
data attachment, decoded if necessary and json-loaded, or data links and sha-256 hash.
- classmethod data_base64(mapping: Mapping, *, ident: Optional[str] = None, description: Optional[str] = None, filename: Optional[str] = None, lastmod_time: Optional[str] = None, byte_count: Optional[int] = None)[source]
Create AttachDecorator instance on base64-encoded data from input mapping.
Given mapping, JSON dump, base64-encode, and embed it as data; mark application/json MIME type.
- Parameters
mapping – (dict) data structure; e.g., indy production
ident – optional attachment identifier (default random UUID4)
description – optional attachment description
filename – optional attachment filename
lastmod_time – optional attachment last modification time
byte_count – optional attachment byte count
- classmethod data_json(mapping: Union[Sequence[dict], dict], *, ident: Optional[str] = None, description: Optional[str] = None, filename: Optional[str] = None, lastmod_time: Optional[str] = None, byte_count: Optional[int] = None)[source]
Create AttachDecorator instance on json-encoded data from input mapping.
Given message object (dict), JSON dump, and embed it as data; mark application/json MIME type.
- Parameters
mapping – (dict) data structure; e.g., Aries message
ident – optional attachment identifier (default random UUID4)
description – optional attachment description
filename – optional attachment filename
lastmod_time – optional attachment last modification time
byte_count – optional attachment byte count
- classmethod data_links(links: Union[str, Sequence[str]], sha256: Optional[str] = None, *, ident: Optional[str] = None, mime_type: Optional[str] = None, description: Optional[str] = None, filename: Optional[str] = None, lastmod_time: Optional[str] = None, byte_count: Optional[int] = None)[source]
Create AttachDecorator instance on json-encoded data from input mapping.
Given message object (dict), JSON dump, and embed it as data; mark application/json MIME type.
- Parameters
links – URL or list of URLs
sha256 – optional sha-256 hash for content
ident – optional attachment identifier (default random UUID4)
mime_type – optional MIME type
description – optional attachment description
filename – optional attachment filename
lastmod_time – optional attachment last modification time
byte_count – optional attachment byte count
- class aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorData(*, jws_: Optional[aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorDataJWS] = None, sha256_: Optional[str] = None, links_: Optional[Union[Sequence[str], str]] = None, base64_: Optional[str] = None, json_: Optional[Union[Sequence[dict], dict]] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Attach decorator data.
- class Meta[source]
Bases:
object
AttachDecoratorData metadata.
- schema_class = 'AttachDecoratorDataSchema'
- property base64
Accessor for base64 decorator data, or None.
- header_map(idx: int = 0, jose: bool = True) Mapping [source]
Accessor for header info at input index, default 0 or unique for singly-signed.
- Parameters
idx – index of interest, zero-based (default 0)
jose – True to return unprotected header attributes, False for protected only
- property json
Accessor for json decorator data, or None.
- property jws
Accessor for JWS, or None.
- property links
Accessor for links decorator data, or None.
- property sha256
Accessor for sha256 decorator data, or None.
- async sign(verkeys: Union[str, Sequence[str]], wallet: aries_cloudagent.wallet.base.BaseWallet)[source]
Sign base64 data value of attachment.
- Parameters
verkeys – verkey(s) of the signing party (in raw or DID key format)
wallet – The wallet to use for the signature
- async verify(wallet: aries_cloudagent.wallet.base.BaseWallet, signer_verkey: Optional[str] = None) bool [source]
Verify the signature(s).
- Parameters
wallet – Wallet to use to verify signature
- Returns
True if verification succeeds else False
- class aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorData1JWS(*, header: aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorDataJWSHeader, protected: Optional[str] = None, signature: str)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single Detached JSON Web Signature for inclusion in attach decorator data.
- class aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorData1JWSSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single attach decorator data JWS schema.
- class Meta[source]
Bases:
object
Single attach decorator data JWS schema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorData1JWS
- class aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorDataJWS(*, header: Optional[aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorDataJWSHeader] = None, protected: Optional[str] = None, signature: Optional[str] = None, signatures: Optional[Sequence[aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorData1JWS]] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Detached JSON Web Signature for inclusion in attach decorator data.
May hold one signature in flattened format, or multiple signatures in the “signatures” member.
- class aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorDataJWSHeader(kid: str)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Attach decorator data JWS header.
- class aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorDataJWSHeaderSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Attach decorator data JWS header schema.
- class Meta[source]
Bases:
object
Attach decorator data schema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorDataJWSHeader
- class aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorDataJWSSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Schema for detached JSON Web Signature for inclusion in attach decorator data.
- class Meta[source]
Bases:
object
Metadata for schema for detached JWS for inclusion in attach deco data.
- model_class
alias of
aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorDataJWS
- header
alias of
aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorDataJWSHeaderSchema
- validate_single_xor_multi_sig(data: Mapping, **kwargs)
Ensure model is for either 1 or many sigatures, not mishmash of both.
- class aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorDataSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Attach decorator data schema.
- class Meta[source]
Bases:
object
Attach decorator data schema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorData
- json_
Dict or Dict List field for Marshmallow.
- validate_data_spec(data: Mapping, **kwargs)
Ensure model chooses exactly one of base64, json, or links.
- class aries_cloudagent.messaging.decorators.attach_decorator.AttachDecoratorSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Attach decorator schema used in serialization/deserialization.
- class Meta[source]
Bases:
object
AttachDecoratorSchema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.attach_decorator.AttachDecorator
aries_cloudagent.messaging.decorators.base module
Classes for managing a collection of decorators.
- class aries_cloudagent.messaging.decorators.base.BaseDecoratorSet(models: Optional[dict] = None)[source]
Bases:
collections.OrderedDict
Collection of decorators.
- add_model(key: str, model: Type[aries_cloudagent.messaging.models.base.BaseModel])[source]
Add a registered decorator model.
- copy() aries_cloudagent.messaging.decorators.base.BaseDecoratorSet [source]
Return a copy of the decorator set.
- extract_decorators(message: Mapping, schema: Optional[Type[marshmallow.Schema]] = None, serialized: bool = True, skip_attrs: Optional[Sequence[str]] = None) collections.OrderedDict [source]
Extract decorators and return the remaining properties.
- field(name: str) aries_cloudagent.messaging.decorators.base.BaseDecoratorSet [source]
Access a named decorated field.
- property fields: collections.OrderedDict
Acessor for the set of currently defined fields.
- load_decorator(key: str, value, serialized=False)[source]
Convert a decorator value to its loaded representation.
- to_dict(prefix: Optional[str] = None) collections.OrderedDict [source]
Convert to a dictionary (serialize).
- Raises
BaseModelError – on decorator validation errors
- exception aries_cloudagent.messaging.decorators.base.DecoratorError(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.core.error.BaseError
Base error for decorator issues.
aries_cloudagent.messaging.decorators.default module
Default decorator set implementation.
- class aries_cloudagent.messaging.decorators.default.DecoratorSet(models: Optional[dict] = None)[source]
Bases:
aries_cloudagent.messaging.decorators.base.BaseDecoratorSet
Default decorator set implementation.
aries_cloudagent.messaging.decorators.localization_decorator module
The localization decorator (~l10n) for message localization information.
- class aries_cloudagent.messaging.decorators.localization_decorator.LocalizationDecorator(*, locale: Optional[str] = None, localizable: Optional[Sequence[str]] = None, catalogs: Optional[Sequence[str]] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Class representing the localization decorator.
- class aries_cloudagent.messaging.decorators.localization_decorator.LocalizationDecoratorSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Localization decorator schema used in serialization/deserialization.
- class Meta[source]
Bases:
object
LocalizationDecoratorSchema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.localization_decorator.LocalizationDecorator
aries_cloudagent.messaging.decorators.please_ack_decorator module
The please-ack decorator to request acknowledgement.
- class aries_cloudagent.messaging.decorators.please_ack_decorator.PleaseAckDecorator(message_id: Optional[str] = None, on: Optional[Sequence[str]] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Class representing the please-ack decorator.
- class aries_cloudagent.messaging.decorators.please_ack_decorator.PleaseAckDecoratorSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
PleaseAck decorator schema used in serialization/deserialization.
- class Meta[source]
Bases:
object
PleaseAckDecoratorSchema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.please_ack_decorator.PleaseAckDecorator
- message_id
- on
aries_cloudagent.messaging.decorators.service_decorator module
A message decorator for services.
A service decorator adds routing information to a message so agent can respond without needing to perform a handshake.
- class aries_cloudagent.messaging.decorators.service_decorator.ServiceDecorator(*, endpoint: str, recipient_keys: List[str], routing_keys: Optional[List[str]] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Class representing service decorator.
- class Meta[source]
Bases:
object
ServiceDecorator metadata.
- schema_class = 'ServiceDecoratorSchema'
- property endpoint
Accessor for service endpoint.
- Returns
This service’s serviceEndpoint
- property recipient_keys
Accessor for recipient keys.
- Returns
This service’s recipientKeys
- property routing_keys
Accessor for routing keys.
- Returns
This service’s routingKeys
- class aries_cloudagent.messaging.decorators.service_decorator.ServiceDecoratorSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Thread decorator schema used in serialization/deserialization.
- class Meta[source]
Bases:
object
ServiceDecoratorSchema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.service_decorator.ServiceDecorator
aries_cloudagent.messaging.decorators.signature_decorator module
Model and schema for working with field signatures within message bodies.
- class aries_cloudagent.messaging.decorators.signature_decorator.SignatureDecorator(*, signature_type: Optional[str] = None, signature: Optional[str] = None, sig_data: Optional[str] = None, signer: Optional[str] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Class representing a field value signed by a known verkey.
- class Meta[source]
Bases:
object
SignatureDecorator metadata.
- schema_class = 'SignatureDecoratorSchema'
- TYPE_ED25519SHA512 = 'signature/1.0/ed25519Sha512_single'
- async classmethod create(value, signer: str, wallet: aries_cloudagent.wallet.base.BaseWallet, timestamp=None) aries_cloudagent.messaging.decorators.signature_decorator.SignatureDecorator [source]
Create a Signature.
Sign a field value and return a newly constructed SignatureDecorator representing the resulting signature.
- Parameters
value – Value to sign
signer – Verkey of the signing party
wallet – The wallet to use for the signature
- Returns
The created SignatureDecorator object
- decode() -> (<class 'object'>, <class 'int'>)[source]
Decode the signature to its timestamp and value.
- Returns
A tuple of (decoded message, timestamp)
- async verify(wallet: aries_cloudagent.wallet.base.BaseWallet) bool [source]
Verify the signature against the signer’s public key.
- Parameters
wallet – Wallet to use to verify signature
- Returns
True if verification succeeds else False
- class aries_cloudagent.messaging.decorators.signature_decorator.SignatureDecoratorSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
SignatureDecorator schema.
- class Meta[source]
Bases:
object
SignatureDecoratorSchema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.signature_decorator.SignatureDecorator
aries_cloudagent.messaging.decorators.thread_decorator module
A message decorator for threads.
A thread decorator identifies a message that may require additional context from previous messages.
- class aries_cloudagent.messaging.decorators.thread_decorator.ThreadDecorator(*, thid: Optional[str] = None, pthid: Optional[str] = None, sender_order: Optional[int] = None, received_orders: Optional[Mapping] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Class representing thread decorator.
- property pthid
Accessor for parent thread identifier.
- Returns
This thread’s pthid
- property received_orders: dict
Get received orders.
- Returns
The highest sender_order value that the sender has seen from other sender(s) on the thread.
- property sender_order: int
Get sender order.
- Returns
A number that tells where this message fits in the sequence of all messages that the current sender has contributed to this thread
- property thid
Accessor for thread identifier.
- Returns
This thread’s thid
- class aries_cloudagent.messaging.decorators.thread_decorator.ThreadDecoratorSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Thread decorator schema used in serialization/deserialization.
- class Meta[source]
Bases:
object
ThreadDecoratorSchema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.thread_decorator.ThreadDecorator
aries_cloudagent.messaging.decorators.timing_decorator module
The timing decorator (~timing).
This decorator allows the timing of agent messages to be communicated and constrained.
- class aries_cloudagent.messaging.decorators.timing_decorator.TimingDecorator(*, in_time: Optional[Union[str, datetime.datetime]] = None, out_time: Optional[Union[str, datetime.datetime]] = None, stale_time: Optional[Union[str, datetime.datetime]] = None, expires_time: Optional[Union[str, datetime.datetime]] = None, delay_milli: Optional[int] = None, wait_until_time: Optional[Union[str, datetime.datetime]] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Class representing the timing decorator.
- class aries_cloudagent.messaging.decorators.timing_decorator.TimingDecoratorSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Timing decorator schema used in serialization/deserialization.
- class Meta[source]
Bases:
object
TimingDecoratorSchema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.timing_decorator.TimingDecorator
aries_cloudagent.messaging.decorators.trace_decorator module
A message decorator for trace events.
A trace decorator identifies a responsibility on the processor to record information on message processing events.
- class aries_cloudagent.messaging.decorators.trace_decorator.TraceDecorator(*, target: Optional[str] = None, full_thread: bool = True, trace_reports: Optional[Sequence] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Class representing trace decorator.
- append_trace_report(trace_report: aries_cloudagent.messaging.decorators.trace_decorator.TraceReport)[source]
Append a trace report to this decorator.
- property full_thread
Accessor for full_thread flag.
- Returns
The full_thread flag
- property target
Accessor for trace target.
- Returns
The target for tracing messages
- property trace_reports
Set of trace reports for this message.
- Returns
The trace reports that have been logged on this message/thread so far. (Only for target=”message”.)
- class aries_cloudagent.messaging.decorators.trace_decorator.TraceDecoratorSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Trace decorator schema used in serialization/deserialization.
- class Meta[source]
Bases:
object
TraceDecoratorSchema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.trace_decorator.TraceDecorator
- class aries_cloudagent.messaging.decorators.trace_decorator.TraceReport(*, msg_id: Optional[str] = None, thread_id: Optional[str] = None, traced_type: Optional[str] = None, timestamp: Optional[str] = None, str_time: Optional[str] = None, handler: Optional[str] = None, ellapsed_milli: Optional[int] = None, outcome: Optional[str] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Class representing a Trace Report.
- property ellapsed_milli
Accessor for ellapsed_milli.
- Returns
The sender ellapsed_milli
- property handler
Accessor for handler.
- Returns
The sender handler
- property msg_id
Accessor for msg_id.
- Returns
The msg_id
- property outcome
Accessor for outcome.
- Returns
The sender outcome
- property str_time
Accessor for str_time.
- Returns
Formatted representation of the sender timestamp
- property thread_id
Accessor for thread_id.
- Returns
The thread_id
- property timestamp
Accessor for timestamp.
- Returns
The sender timestamp
- property traced_type
Accessor for traced_type.
- Returns
The sender traced_type
- class aries_cloudagent.messaging.decorators.trace_decorator.TraceReportSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Trace report schema.
- class Meta[source]
Bases:
object
TraceReportSchema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.trace_decorator.TraceReport
aries_cloudagent.messaging.decorators.transport_decorator module
The transport decorator (~transport).
This decorator allows changes to agent response behaviour and queue status updates.
- class aries_cloudagent.messaging.decorators.transport_decorator.TransportDecorator(*, return_route: Optional[str] = None, return_route_thread: Optional[str] = None, queued_message_count: Optional[int] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Class representing the transport decorator.
- class aries_cloudagent.messaging.decorators.transport_decorator.TransportDecoratorSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Transport decorator schema used in serialization/deserialization.
- class Meta[source]
Bases:
object
TransportDecoratorSchema metadata.
- model_class
alias of
aries_cloudagent.messaging.decorators.transport_decorator.TransportDecorator