@verana-labs/vs-agent-model 2.0.0-pr703.2 → 2.0.0-pr766.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -79
- package/build/messages/InvitationMessage.d.ts +3 -0
- package/build/messages/InvitationMessage.js +3 -0
- package/build/messages/InvitationMessage.js.map +1 -1
- package/build/types.d.ts +33 -11
- package/build/utils/ecs.d.ts +1 -0
- package/build/utils/ecs.js +5 -0
- package/build/utils/ecs.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,93 +1,23 @@
|
|
|
1
1
|
`@verana-labs/vs-agent-model`
|
|
2
|
-
# VS Agent Model
|
|
3
|
-
|
|
4
|
-
This package provides the data models used by **VS Agent** and its related services and libraries within the `@verana-labs` ecosystem. These models are essential for chatbot development and facilitate integration with the broader system.
|
|
5
|
-
|
|
6
|
-
## Packages Using This Library
|
|
7
|
-
|
|
8
|
-
The models in this package are used by the following services and libraries:
|
|
9
|
-
|
|
10
|
-
- **[@verana-labs/vs-agent](../../apps/vs-agent/README.md)** – VS Agent.
|
|
11
|
-
- **[@verana-labs/vs-agent-nestjs-client](../nestjs-client/README.md)** – A NestJS client for interacting with VS Agent.
|
|
12
|
-
- **[@verana-labs/vs-agent-client](../client/README.md)** – A general-purpose API client for VS Agent.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
## Usage
|
|
16
|
-
|
|
17
|
-
This package defines essential models that support structured communication and event handling within the VS Agent ecosystem. It is designed to be used by chatbot services and other integrations that rely on a standardized message format.
|
|
18
|
-
|
|
19
|
-
## How to work
|
|
20
|
-
```mermaid
|
|
21
|
-
classDiagram
|
|
22
|
-
class VsAgent {
|
|
23
|
-
+ Handles DIDComm communication
|
|
24
|
-
+ Manages agent wallet and credentials
|
|
25
|
-
+ Exposes API for client interactions
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
class NestJSClient {
|
|
29
|
-
+ Plug-and-play integration
|
|
30
|
-
+ Selectable modules for various services
|
|
31
|
-
+ Modules:
|
|
32
|
-
-- MessageEventOptions: Configures message event handling
|
|
33
|
-
-- ConnectionEventOptions: Configures connection event handling
|
|
34
|
-
-- CredentialOptions: Configures credential management
|
|
35
|
-
-- StatsOptions: Configures stats management
|
|
36
|
-
}
|
|
37
2
|
|
|
38
|
-
|
|
39
|
-
+ Directly manages requests to SA
|
|
40
|
-
+ Facilitates reception of requests from modules
|
|
41
|
-
+ Provides an abstraction for service communication
|
|
42
|
-
+ Interfaces:
|
|
43
|
-
-- messages
|
|
44
|
-
-- credentialTypes
|
|
45
|
-
-- revocationRegistries
|
|
46
|
-
-- invitations
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
class ModelLibrary {
|
|
50
|
-
+ Defines required data models
|
|
51
|
-
+ Ensures type safety across services
|
|
52
|
-
}
|
|
3
|
+
# VS Agent Model
|
|
53
4
|
|
|
54
|
-
|
|
55
|
-
NestJSClient --> VsAgent : Uses
|
|
56
|
-
Client --> VsAgent : Sends requests
|
|
57
|
-
Client --> VsAgent : Receives requests
|
|
58
|
-
Client --> ModelLibrary : Uses models
|
|
59
|
-
ModelLibrary --> VsAgent : Provides data models
|
|
60
|
-
NestJSClient --> ModelLibrary : Uses models
|
|
5
|
+
Shared types for [VS Agent](../../apps/vs-agent/README.md), the SDK and the DIDComm plugins: the legacy message classes and event payloads the agent emits in process, plus `StatEnum` and `StatEvent` used by the [NestJS client](../nestjs-client/README.md) stats producer. The [API client](../client/README.md) does not depend on this package.
|
|
61
6
|
|
|
62
|
-
|
|
63
|
-
style ModelLibrary stroke:#333,stroke-width:4px
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### Installation
|
|
7
|
+
## Installation
|
|
67
8
|
|
|
68
|
-
```sh
|
|
69
|
-
npm install @verana-labs/vs-agent-model
|
|
70
|
-
```
|
|
71
|
-
or
|
|
72
|
-
```sh
|
|
73
|
-
yarn add @verana-labs/vs-agent-model
|
|
74
|
-
or
|
|
75
9
|
```sh
|
|
76
10
|
pnpm add @verana-labs/vs-agent-model
|
|
77
11
|
```
|
|
78
12
|
|
|
79
13
|
## Example
|
|
80
14
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
```typescript
|
|
84
|
-
import { CallOfferRequestMessage } from '@verana-labs/vs-agent-model';
|
|
15
|
+
```ts
|
|
16
|
+
import { CallOfferRequestMessage } from '@verana-labs/vs-agent-model'
|
|
85
17
|
|
|
86
18
|
const callOffer = new CallOfferRequestMessage({
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
})
|
|
91
|
-
|
|
92
|
-
console.log(callOffer);
|
|
19
|
+
connectionId: 'connectionId',
|
|
20
|
+
description: 'Start call',
|
|
21
|
+
parameters: { wsUrl, roomId, peerId },
|
|
22
|
+
})
|
|
93
23
|
```
|
|
@@ -5,6 +5,9 @@ export interface InvitationMessageOptions extends BaseMessageOptions {
|
|
|
5
5
|
imageUrl?: string;
|
|
6
6
|
did?: string;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Use `POST /v2/didcomm/invitations` to send an invitation.
|
|
10
|
+
*/
|
|
8
11
|
export declare class InvitationMessage extends BaseMessage {
|
|
9
12
|
constructor(options: InvitationMessageOptions);
|
|
10
13
|
readonly type = MessageType.InvitationMessage;
|
|
@@ -13,6 +13,9 @@ exports.InvitationMessage = void 0;
|
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
const BaseMessage_1 = require("./BaseMessage");
|
|
15
15
|
const MessageType_1 = require("./MessageType");
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated Use `POST /v2/didcomm/invitations` to send an invitation.
|
|
18
|
+
*/
|
|
16
19
|
class InvitationMessage extends BaseMessage_1.BaseMessage {
|
|
17
20
|
constructor(options) {
|
|
18
21
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvitationMessage.js","sourceRoot":"","sources":["../../src/messages/InvitationMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAsD;AAEtD,+CAA+D;AAC/D,+CAA2C;AAQ3C,MAAa,iBAAkB,SAAQ,yBAAW;IAChD,YAAmB,OAAiC;;QAClD,KAAK,EAAE,CAAA;QAaO,SAAI,GAAG,iBAAiB,CAAC,IAAI,CAAA;QAX3C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,GAAG,MAAA,OAAO,CAAC,EAAE,mCAAI,IAAI,CAAC,UAAU,EAAE,CAAA;YACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;YAChC,IAAI,CAAC,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,IAAI,EAAE,CAAA;YAChD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;YACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;YAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;YAChC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACxB,CAAC;IACH,CAAC;;AAbH,8CA6BC;AAbwB,sBAAI,GAAG,yBAAW,CAAC,iBAAiB,AAAhC,CAAgC;AAIpD;IAFN,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;gDACQ;AAId;IAFN,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mDACW;AAIjB;IAFN,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8CACM"}
|
|
1
|
+
{"version":3,"file":"InvitationMessage.js","sourceRoot":"","sources":["../../src/messages/InvitationMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAsD;AAEtD,+CAA+D;AAC/D,+CAA2C;AAQ3C;;GAEG;AACH,MAAa,iBAAkB,SAAQ,yBAAW;IAChD,YAAmB,OAAiC;;QAClD,KAAK,EAAE,CAAA;QAaO,SAAI,GAAG,iBAAiB,CAAC,IAAI,CAAA;QAX3C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,GAAG,MAAA,OAAO,CAAC,EAAE,mCAAI,IAAI,CAAC,UAAU,EAAE,CAAA;YACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;YAChC,IAAI,CAAC,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,IAAI,EAAE,CAAA;YAChD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;YACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;YAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;YAChC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACxB,CAAC;IACH,CAAC;;AAbH,8CA6BC;AAbwB,sBAAI,GAAG,yBAAW,CAAC,iBAAiB,AAAhC,CAAgC;AAIpD;IAFN,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;gDACQ;AAId;IAFN,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mDACW;AAIjB;IAFN,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8CACM"}
|
package/build/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JsonObject } from '@credo-ts/core';
|
|
2
|
-
import { DidCommHandshakeProtocol, DidCommProofState, OutOfBandDidCommService, ReceiveOutOfBandInvitationConfig } from '@credo-ts/didcomm';
|
|
2
|
+
import { DidCommDidExchangeRole, DidCommDidExchangeState, DidCommHandshakeProtocol, DidCommProofState, DidCommVersion, OutOfBandDidCommService, ReceiveOutOfBandInvitationConfig } from '@credo-ts/didcomm';
|
|
3
3
|
import { Claim, ClaimOptions } from './messages/CredentialIssuanceMessage';
|
|
4
4
|
export interface VsAgentInfo {
|
|
5
5
|
label: string;
|
|
@@ -85,6 +85,38 @@ export interface CreatePresentationRequestResult {
|
|
|
85
85
|
export interface CreateInvitationResult {
|
|
86
86
|
url: string;
|
|
87
87
|
}
|
|
88
|
+
export interface SendInvitationOptions {
|
|
89
|
+
connectionId: string;
|
|
90
|
+
did?: string;
|
|
91
|
+
label?: string;
|
|
92
|
+
imageUrl?: string;
|
|
93
|
+
goal?: string;
|
|
94
|
+
goalCode?: string;
|
|
95
|
+
}
|
|
96
|
+
export interface SendInvitationResult {
|
|
97
|
+
id: string;
|
|
98
|
+
outOfBandId?: string;
|
|
99
|
+
}
|
|
100
|
+
export interface ConnectionRecord {
|
|
101
|
+
id: string;
|
|
102
|
+
state: DidCommDidExchangeState;
|
|
103
|
+
role: DidCommDidExchangeRole;
|
|
104
|
+
did?: string;
|
|
105
|
+
theirDid?: string;
|
|
106
|
+
theirLabel?: string;
|
|
107
|
+
alias?: string;
|
|
108
|
+
threadId?: string;
|
|
109
|
+
imageUrl?: string;
|
|
110
|
+
outOfBandId: string | null;
|
|
111
|
+
parentConnectionId: string | null;
|
|
112
|
+
invitationDid?: string;
|
|
113
|
+
didcommVersion?: DidCommVersion;
|
|
114
|
+
mediatorId?: string;
|
|
115
|
+
previousDids?: string[];
|
|
116
|
+
previousTheirDids?: string[];
|
|
117
|
+
createdAt: Date;
|
|
118
|
+
updatedAt: Date;
|
|
119
|
+
}
|
|
88
120
|
export interface PresentationData {
|
|
89
121
|
requestedCredentials: RequestedCredential[];
|
|
90
122
|
claims: Claim[];
|
|
@@ -133,14 +165,4 @@ export interface ReceiveInvitationResult {
|
|
|
133
165
|
outOfBandId: string;
|
|
134
166
|
connectionId?: string;
|
|
135
167
|
}
|
|
136
|
-
export interface ConnectionInvitationSchema {
|
|
137
|
-
id?: string;
|
|
138
|
-
'@type': string;
|
|
139
|
-
label: string;
|
|
140
|
-
did?: string;
|
|
141
|
-
recipientKeys?: string[];
|
|
142
|
-
serviceEndpoint?: string;
|
|
143
|
-
routingKeys?: string[];
|
|
144
|
-
imageUrl?: string;
|
|
145
|
-
}
|
|
146
168
|
export {};
|
package/build/utils/ecs.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export declare function identifySchema(schemaObj: Record<string, unknown>): Prom
|
|
|
34
34
|
* @returns The matching ECS type, or null when the string is not parseable or matches nothing.
|
|
35
35
|
*/
|
|
36
36
|
export declare function classifyEcsSchema(jsonSchema: string): Promise<ECS | null>;
|
|
37
|
+
export declare function ecsRequiresValidUntil(ecsKey: string | null): boolean;
|
|
37
38
|
type W3CCred = {
|
|
38
39
|
credentialSubject?: {
|
|
39
40
|
jsonSchema?: {
|
package/build/utils/ecs.js
CHANGED
|
@@ -17,6 +17,7 @@ exports.mapToEcosystem = mapToEcosystem;
|
|
|
17
17
|
exports.computeSchemaDigest = computeSchemaDigest;
|
|
18
18
|
exports.identifySchema = identifySchema;
|
|
19
19
|
exports.classifyEcsSchema = classifyEcsSchema;
|
|
20
|
+
exports.ecsRequiresValidUntil = ecsRequiresValidUntil;
|
|
20
21
|
exports.resolveVTCType = resolveVTCType;
|
|
21
22
|
exports.resolveJSCType = resolveJSCType;
|
|
22
23
|
var ECS;
|
|
@@ -139,6 +140,10 @@ async function classifyEcsSchema(jsonSchema) {
|
|
|
139
140
|
return null;
|
|
140
141
|
}
|
|
141
142
|
}
|
|
143
|
+
// [VT-ECS-ORG-JSON-SCHEMA-CRED-W3C] and [VT-ECS-PERSONA-JSON-SCHEMA-CRED-W3C] require validUntil
|
|
144
|
+
function ecsRequiresValidUntil(ecsKey) {
|
|
145
|
+
return ecsKey === ECS.ORG || ecsKey === ECS.PERSONA;
|
|
146
|
+
}
|
|
142
147
|
async function resolveBySubjectRef(subjectRef) {
|
|
143
148
|
var _a;
|
|
144
149
|
const schemaFetchUrl = mapToEcosystem(subjectRef);
|
package/build/utils/ecs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecs.js","sourceRoot":"","sources":["../../src/utils/ecs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAoBA,wDAKC;AAQD,wCAWC;AA0BD,kDAUC;AAQD,wCAMC;AAkBD,8CAUC;AAmBD,wCAcC;AAED,wCAOC;
|
|
1
|
+
{"version":3,"file":"ecs.js","sourceRoot":"","sources":["../../src/utils/ecs.ts"],"names":[],"mappings":"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"}
|