open-index/open-npm huggingface dataset:
npm package: @2060.io/credo-ts-didcomm-calls
Description: DIDComm WebRTC extension module for Credo
Latest version: 0.1.0

<p align="center">
  <br />
  <img
    alt="Credo logo"
    src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png"
    height="250px"
  />
</p>
<h1 align="center"><b>Credo extension module for DIDComm Calls</b></h1>
<p align="center">
  <a
    href="https://raw.githubusercontent.com/openwallet-foundation/credo-ts-ext/main/LICENSE"
    ><img
      alt="License"
      src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"
  /></a>
  <a href="https://www.typescriptlang.org/"
    ><img
      alt="typescript"
      src="https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg"
  /></a>
    <a href="https://www.npmjs.com/package/@2060.io/credo-ts-didcomm-calls"
    ><img
      alt="@2060.io/credo-ts-didcomm-calls version"
      src="https://img.shields.io/npm/v/@2060.io/credo-ts-didcomm-calls"
  /></a>

</p>
<br />

## Overview

The **DIDComm Calls** extension module for [Credo](https://github.com/openwallet-foundation/credo-ts.git) enables secure, decentralized call signaling using the DIDComm protocol. It provides APIs, message handlers, and services to initiate, accept, and manage call offers between agents.

## Installation

```bash
npm install @2060.io/credo-ts-didcomm-calls
```

## Usage

### Adding the Module to Your Agent

To use the DIDComm Calls module, add it to your agent's modules configuration:

```typescript
import { DidCommCallsModule } from '@2060.io/credo-ts-didcomm-calls'

const agent = new Agent({
  modules: {
    // ...other modules
    calls: new DidCommCallsModule(),
  },
})
```

### Sending a Call Offer

To initiate a call, send a `CallOfferRequestMessage` using the API:

```typescript
const msg = JsonTransformer.fromJSON(message, CallOfferRequestMessage)
const callOffer = await agent.modules.calls.offer({
  connectionId: connection.id,
  offerExpirationTime: msg.offerExpirationTime,
  offerStartTime: msg.offerStartTime,
  description: msg.description,
  callType: 'service',
  parameters: msg.parameters,
})
```

### Handling Call Events

The module emits events for call offers, acceptances, and terminations. Subscribe to these events to handle call workflows in your application.

## Features

- **Call Offer**: Initiate a call with another agent using DIDComm messages.
- **Call Accept/Reject**: Respond to incoming call offers.
- **Call Termination**: End an ongoing call.
- **Threading and Expiration**: Support for threading and offer expiration times.

## API Reference

See the [source code](./src/) for details on available classes and methods:

- `DidCommCallsApi`: Main API for call operations.
- `DidCommCallsService`: Internal service for call logic.
- `DidCommCallsModule`: Module integration for Credo agent.

## Message Types

- `CallOfferMessage`
- `CallOfferRequestMessage`
- `CallAcceptMessage`
- `CallTerminateMessage`

## License

Apache 2.0

---

For more information, see the [Credo documentation](https://github.com/openwallet-foundation/credo-ts.git).
npm package: @2060.io/credo-ts-user-profile
Description: DIDComm User Profile protocol extension module for Credo
Latest version: 0.0.2

<p align="center">
  <br />
  <img
    alt="Credo logo"
    src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png"
    height="250px"
  />
</p>
<h1 align="center"><b>Credo extension module for DIDComm User Profile protocol</b></h1>
<p align="center">
  <a
    href="https://raw.githubusercontent.com/openwallet-foundation/credo-ts-ext/main/LICENSE"
    ><img
      alt="License"
      src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"
  /></a>
  <a href="https://www.typescriptlang.org/"
    ><img
      alt="typescript"
      src="https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg"
  /></a>
    <a href="https://www.npmjs.com/package/@2060.io/credo-ts-didcomm-user-profile"
    ><img
      alt="@2060.io/credo-ts-didcomm-user-profile version"
      src="https://img.shield.io/npm/v/@2060.io/credo-ts-didcomm-user-profile"
  /></a>

</p>
<br />

This module is used to provide an Agent built with [Credo](https://github.com/openwallet-foundation/credo-ts) means to manage [User Profile protocol](https://didcomm.org/user-profile/1.0).

It's conceived as an extension module for Credo which can be injected to an existing agent instance:

```ts
import { UserProfileModule } from 'credo-ts-user-profile'

const agent = new Agent({
  config: {
    /* agent config */
  },
  dependencies,
  modules: { userProfile: new UserProfileModule() },
})
```

Once instantiated, module API can be accessed under `agent.modules.userProfile` namespace.

## Usage

> **TODO**
npm package: @2060.io/service-agent-model
Description: `@2060.io/service-agent-model` # Service Agent Model
Latest version: 1.2.1-dev.2

`@2060.io/service-agent-model`
# Service Agent Model

This package provides the data models used by **Service Agent** and its related services and libraries within the `@2060.io` ecosystem. These models are essential for chatbot development and facilitate integration with the broader system.

## Packages Using This Library

The models in this package are used by the following services and libraries:

- **[@2060.io/service-agent-main](../../README.md)** – The core Service Agent.
- **[@2060.io/service-agent-nestjs-client](../nestjs-client/README.md)** – A NestJS client for interacting with the Service Agent.
- **[@2060.io/service-agent-client](../client/README.md)** – A general-purpose api client for the Service Agent.


## Usage

This package defines essential models that support structured communication and event handling within the Service Agent ecosystem. It is designed to be used by chatbot services and other integrations that rely on a standardized message format.

## How to work
```plantuml
@startuml

package "2060 Ecosystem" {
    package "Service Agent (SA)" {
        class ServiceAgent {
            + Handles DIDComm communication
            + Manages agent wallet and credentials
            + Exposes API for client interactions
        }
    }
    
    package "Libraries" {
        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
        }
        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 ##red {
            + Defines required data models
            + Ensures type safety across services
        }
    }
}

NestJSClient --> ServiceAgent : Uses
Client --> ServiceAgent : Sends requests
Client --> ServiceAgent : Receives requests
Client --> ModelLibrary : Uses models
ModelLibrary --> ServiceAgent : Provides data models
NestJSClient --> ModelLibrary : Uses models

@enduml
```

### Installation

```sh
npm install @2060.io/service-agent-model
```
or
```sh
yarn add @2060.io/service-agent-model
or
```sh
pnpm add @2060.io/service-agent-model
```

## Example

Importing and using a message model:

```typescript
import { CallOfferRequestMessage } from '@2060.io/service-agent-model';

const callOffer = new CallOfferRequestMessage({
    connectionId: 'connectionId',
    description: 'Start call',
    parameters: { wsUrl, roomId, peerId },
});

console.log(callOffer);
```