@credo-ts/drpc
TypeScript icon, indicating that this package has built-in type declarations

0.5.15 • Public • Published


Credo Logo

Credo DRPC Module

License typescript @credo-ts/question-answer version


DRPC module for Credo. Implements Aries RFC 0804.

Quick start

In order for this module to work, we have to inject it into the agent to access agent functionality. See the example for more information.

Example of usage

import { DrpcModule } from '@credo-ts/drpc'

const agent = new Agent({
  config: {
    /* config */
  },
  dependencies: agentDependencies,
  modules: {
    drpc: new DrpcModule(),
    /* other custom modules */
  },
})

await agent.initialize()

// Send a request to the specified connection
const responseListener = await senderAgent.modules.drpc.sendRequest(connectionId, {
  jsonrpc: '2.0',
  method: 'hello',
  id: 1,
})

// Listen for any incoming requests
const { request, sendResponse } = await receiverAgent.modules.drpc.recvRequest()

// Process the received request and create a response
const result =
  request.method === 'hello'
    ? { jsonrpc: '2.0', result: 'Hello world!', id: request.id }
    : { jsonrpc: '2.0', error: { code: DrpcErrorCode.METHOD_NOT_FOUND, message: 'Method not found' } }

// Send the response back
await sendResponse(result)

Readme

Keywords

none

Package Sidebar

Install

npm i @credo-ts/drpc

Weekly Downloads

1,355

Version

0.5.15

License

Apache-2.0

Unpacked Size

79.8 kB

Total Files

69

Last publish

Collaborators

  • openwalletfoundation
  • timoglastra