npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@2060.io/vs-agent-client

v1.6.0-dev.28

Published

`@2060.io/vs-agent-client`

Downloads

670

Readme

@2060.io/vs-agent-client

VS Agent Client

VS Agent Client is a TypeScript library designed to simplify the interaction with VS Agent. It provides an abstraction layer for communicating with the agent, handling messaging, credential management, and event handling efficiently.

This package ensures that the client stays updated with the latest API versioning of the VS Agent to maintain compatibility with evolving endpoints.

Features

  • Simplified API interaction: Provides an easy-to-use client to interact with VS Agent.
  • Event handling: Includes an ExpressEventHandler for quick integration into Express-based applications.
  • Service-based structure: Dedicated services for messaging, credentials, invitations, and revocation registries.
  • Versioning support: Supports API versioning to maintain compatibility with different VS Agent versions.

Repository

Find the public repository here: VS Agent

How it works

classDiagram
    class VsAgent {
        + Handles DIDComm communication
        + Manages agent wallet and credentials
        + Exposes API for client interactions
    }

    class NestJSClient {
        + Plug-and-play integration
        + Selectable modules for various services
        + Modules:
        -- MessageEventOptions: Configures message event handling
        -- ConnectionEventOptions: Configures connection event handling
        -- CredentialOptions: Configures credential management
        -- StatsOptions: Configures stats management
    }

    class Client {
        + Directly manages requests to SA
        + Facilitates reception of requests from modules
        + Provides an abstraction for service communication
        + Interfaces:
        -- messages
        -- credentialTypes
        -- revocationRegistries
        -- invitations
    }

    class ModelLibrary {
        + Defines required data models
        + Ensures type safety across services
    }

    %% Relations
    NestJSClient --> VsAgent : Uses
    Client --> VsAgent : Sends requests
    Client --> VsAgent : Receives requests
    Client --> ModelLibrary : Uses models
    ModelLibrary --> VsAgent : Provides data models
    NestJSClient --> ModelLibrary : Uses models

    %% Style
    style Client stroke:#333,stroke-width:4px

Installation

npm install @2060.io/vs-agent-client

or

yarn add @2060.io/vs-agent-client

or

pnpm add @2060.io/vs-agent-client

ApiClient.ts

ApiClient class provides a simple interface for interacting with VS Agent. It abstracts API calls and offers dedicated service methods for messaging, credential types, invitations, and revocation registries.

Example Usage

import { ApiClient, ApiVersion } from '@2060.io/vs-agent-client'

const apiClient = new ApiClient('http://localhost:3000', ApiVersion.V1)

// Sending a message
const messageId = await apiClient.messages.send(
  new TextMessage({
  connectionId: 'connectionId',
  content: 'Hello, world!',
  })
)

console.log(`Message sent with ID: ${messageId}`)

Services

  • messages: Handles message sending and receiving.
  • credentialTypes: Manages credential types.
  • revocationRegistries: Manages revocation registries.
  • invitations: Handles connection invitations.

ExpressEventHandler.ts

The ExpressEventHandler simplifies event handling for Express applications, mapping API endpoints to event handlers.

Example Usage

import express from 'express'
import { ExpressEventHandler } from '@2060.io/vs-agent-client'

const app = express()
const eventHandler = new ExpressEventHandler(app)

expressHandler.messageStateUpdated(async (req, res) => {
  const obj = req.body
  logger.info(`message state updated: ${JSON.stringify(obj)}`)
  res.json({ message: 'ok' })
})

app.listen(3000, () => console.log('Server running on port 3000'))

Available Event Handlers

  • connectionStateUpdated (POST /connection-state-updated)
  • messageStateUpdated (POST /message-state-updated)
  • messageReceived (POST /message-received)

Contributing

This library evolves alongside VS Agent. Contributions are welcome!

  • Fork the repository.
  • Create a feature branch.
  • Commit changes.
  • Open a pull request.

For more details, visit the official repository.