New location: aries-rfcs/concepts/0021-didcomm-message-anatomys
- Author: Daniel Bluhm [email protected]
- Start Date: June 25, 2018
- Status: SUPERSEDED
- Status Date: (date of first submission or last status change)
- Status Note: (explanation of current status; if adopted, links to impls or derivative ideas; if superseded, link to replacement)
This HIPE describes Agent Messages, the messages exchanged between agents via "wire" messages.
Establishing an agent message structure for interoperability.
Agent messages are the messages sent between agents through wire messages.
The following json
-like object is a representation of the proposed agent message structure before being packaged and
sent over the transport layer or after it is received through the transport layer and unpackaged. However, using json
for messages is not necessarily part of this proposal.
{
"@type": "message_type",
<other attributes as specified by type>
}
- The
@type
attribute is the only attribute required and is a type string as outlined by 0021: Message Types. The value of type string must be a recognized type as defined by future HIPEs for message families. Additionally, the type attribute must always be visible after unpacking the message from the transport layer. - All other attributes used in messaging are dictated by the message type following the guidelines given in 0021: Message Types
- A brief summary of Agent messages is given in Stephen Curran's slides from the Agent Summit.
- This structure has been discussed in community calls for agent development. Much of this discussion was originally collected and added to this Google Doc.
Up to this point, no drawbacks for this agent message structure have been identified.
At this point, just having a message structure outlined will continue to facilitate development of agents. By introducing this structure, necessary modifications will hopefully come to light as agent development continues.
- The structure formerly proposed included an
id
and genericcontent
attributes in addition to thetype
attribute described as required here.