hyperledger / aries-agent-test-harness

Aries agent test framework, with agent backchannel support
https://aries-interop.info
Apache License 2.0
59 stars 64 forks source link

DIDComm based Protocol for AATH to Agent Backchannel Comms #834

Open nodlesh opened 1 month ago

nodlesh commented 1 month ago

Goal: Develop a DIDComm-based (DRPC) back-channel communication protocol to facilitate testing for any Aries agent including headless mobile.

Description: We aim to create a communication framework using DIDComm (Decentralized Identity Communication) and DRPC (Decentralized Remote Procedure Call) to enable back-channel interactions in AATH with Aries Agents. This will support the seamless, headless testing of Aries agents, allowing for automated and efficient testing processes without the need for a user interface.

This proposal would impact the Aries Frameworks. There would be a relatively simple protocol with a handful of APIs to allow AATH to control an agent through this protocol as it does now through the backchannel API. Each Aries Framework would have to implement this protocol to participate in the interop test suite. The protocol could even become part of AIP #.# or whatever means we have to determine that protocols should be implemented at a given level.

The backchannel logic for each framework would be moved inside the framework, and developed in the frameworks repo. The hope is that the backchannel logic would be maintained as protocols get added or changed, and that the testing of these protocols with other frameworks will be front and centre to development of these frameworks.

When working with a mobile agent (mobile wallet) The wallet and AATH would need a connection, then once connected, the mobile agent can go into "headless mode" and allow AATH to send instructions to the wallet to communicate over didcomm to issuers, verifiers, and other wallets/holders.

Some initial draft thoughts on what it might look like: https://hackmd.io/@wrf54Y6BSmWpzuBx9yJg_Q/S1Ih_h_rR

Questions & Concerns:

  1. Connection between AATH and the Agent with a DIDComm Connection? before DRPC can happen? How?
  2. AATH would have to initiate the connection.
  3. The Test Protocol could be a plugin?
  4. Is there another use case for having DRPC calls through this protocol besides testing?