Skip to content

Remaining work on DIDComm module #2160

@genaris

Description

@genaris

Some ideas we got from #2127 that would be good to check before official 0.6.0 release:

  • Fix build (core dependency on didcomm) (fix: exclude test types from core #2167 )
  • 🚧 @TimoGlastra agent.didcomm possible (nesting is getting quite large)
    nest didcomm modules under agent.didcomm, also because agent.credentials / agent.modules.credentials is misleading, since it's didcomm specific.
  • @TimoGlastra Adopting the conenctions / oob modules into the didcomm module by default, and you can configure it in the didcomm module config again. I think this simplifies setup.
    • might want an option to disable them in the didcomm module config
  • @TimoGlastra Registering custom didcomm protocols on the didcomm module rather than the agent? This may solve some of the initialization and feature registry issues. We can create a DidcommModule interface that has special feature registry etc.
  • 🚧 @genaris Rename modules to have DIDcomm prefix (DidCommConnectionsModule, DidCommMessageHandlerRegistry). This will help with identifiying for what feature a class is
  • 🚧 @GHkrishna Add inbound / outbound transports to the config? I always found it a bit weird you can't just add this to the didcomm config
  • 🚧 @genaris Check Tenants dependency on DIDComm (connectionImageUrl, Routing, etc.)
    • When a routing key is created for a tenant, it needs to be registered in the main agent (but this is done based on events)
    • Label is stored in the tenant record
    • Where to store DIDComm persisted config options?
      • options
        1. do not allow for didcomm persisted config options (provide label and image url to every API method)
        • animo and 2060 not using the global config, always overriding the global config.
        • what to do with v1 protocols (where the label is required) -> make it required in the API
        1. add a DIDCommXXXRecord that stores the didcomm config for this agent (like we have OpenID4VCIsssuerRecord)
        2. reuse the mechanism we use for askar, and store it in the TenantRecord - do we need some methods to make this reusable across modules?
        3. add a generic AgentContext config record, that could store persisted config options
    • preference for option 1. Remove label and image url from the module config completely.
  • Remove MessageSender dependency on MessagePickupRepository injection symbol. Maybe this can be solved with events, so base DIDComm and MessagePickup modules are decoupled (feat(didcomm): Queue Transport repository #2292)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions