fmgp.did.framework

Members list

Type members

Classlikes

trait AgentProgram

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class AgentProgramImp(agent: Agent, transportManager: Ref[TransportManager], protocolHandler: ProtocolExecuter[Resolver & Agent & Operations, DidFail]) extends AgentProgram

Attributes

Companion
object
Supertypes
trait AgentProgram
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
object MyHeaders

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
MyHeaders.type
case class Operator(selfOperator: AgentProgram, contacts: Seq[AgentProgram])

Telecommunications operator for DIDComm

Telecommunications operator for DIDComm

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
trait Transport[R, IN, OUT]

The goal is to make this DID Comm library Transport-agnostic

The goal is to make this DID Comm library Transport-agnostic

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait TransportWS[R, M]
class TransportWSImp[MSG]
Self type
Transport[R, IN, OUT]
object Transport

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Transport.type
class TransportDIDCommOverHTTP(destination: String, inboundBuf: Hub[SignedMessage | EncryptedMessage]) extends TransportDIDComm[Client & Scope]

Client-side HTTP transport for DIDComm messaging.

Client-side HTTP transport for DIDComm messaging.

Implements the Transport abstraction over HTTP. Outbound and inbound are independent, unrelated message flows — they are NOT coupled as HTTP request-response pairs.

==Features==

  • R1 — Outbound delivery: POST the DIDComm message as JSON to destination with the correct Content-Type header (application/didcomm-signed+json or application/didcomm-encrypted+json).
  • R2 — Inbound via Hub (broadcast): inbound supports multiple concurrent subscribers (pub-sub / broadcast semantics via Hub). Every subscriber receives every message published after their subscription.
  • R3 — No late subscriber guarantee: Hub does not replay past messages. Subscribers that connect after a message was published will not receive it. This is by design.
  • R4 — HTTP response parsing: After each outbound POST, the HTTP response body is parsed. If it contains a valid DIDComm message (SignedMessage or EncryptedMessage), it is published to the inbound Hub. If the body is empty, not valid JSON, or not a DIDComm message, it is logged and ignored.
  • R5 — TransportID: Uses TransportID.http.
  • R6 — Error handling: HTTP errors (non-2xx status) are logged but not delivered to inbound. Network/connection failures are logged and the effect dies (orDie).
  • R7 — SingleTransmission semantics: TransmissionType is SingleTransmission, unlike WebSocket's MultiTransmissions.
  • R8 — Environment: Requires Client & Scope from zio-http. The companion object provides makeWithEnvironment to pre-inject the environment and return a TransportDIDComm[Any].

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class TransportDIDCommWS[R](val transport: TransportWS[R, String]) extends TransportDIDComm[R]

Attributes

Supertypes
class Object
trait Matchable
class Any

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object TransportID

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class TransportManager(transports: Seq[TransportDIDComm[Any]] = ..., ids: Map[FROMTO, Seq[TransportID]] = ..., kids: Map[VerificationMethodReferenced, Seq[TransportID]] = ..., transportFactory: TransportFactory) extends TransportDispatcher

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
trait TransportWS[R, M] extends Transport[R, M, M]

Attributes

Supertypes
trait Transport[R, M, M]
class Object
trait Matchable
class Any
Known subtypes
class TransportWSImp[MSG]
class TransportWSImp[MSG](outboundBuf: Queue[MSG], inboundBuf: Hub[MSG], val ws: Websocket[Throwable]) extends TransportWS[Any, MSG]

this API is still a WIP

this API is still a WIP

The Auto reconnect feature was remove.

Attributes

Companion
object
Supertypes
trait TransportWS[Any, MSG]
trait Transport[Any, MSG, MSG]
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
trait Websocket[E]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Websocket

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Websocket.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type