@verana-labs/vs-agent-sdk 2.0.0-dev.35 → 2.0.0-dev.36
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.
|
@@ -25,6 +25,4 @@ export declare class AuthorizationService {
|
|
|
25
25
|
hasFeegrant(participantId: number): boolean;
|
|
26
26
|
agentHoldsOperatorGrant(msgType: string): Promise<boolean>;
|
|
27
27
|
callerHoldsOperatorGrant(account: string, msgType: string): Promise<boolean>;
|
|
28
|
-
callerHoldsAnyVsOperatorGrant(account: string, msgType: string): Promise<boolean>;
|
|
29
|
-
callerHoldsVsOperatorGrant(account: string, participantId: number, msgType: string): Promise<boolean>;
|
|
30
28
|
}
|
|
@@ -77,24 +77,6 @@ class AuthorizationService {
|
|
|
77
77
|
a.msgTypes.includes(msgType) &&
|
|
78
78
|
isOperatorAuthorizationActive(a.expiration, a.period));
|
|
79
79
|
}
|
|
80
|
-
async callerHoldsAnyVsOperatorGrant(account, msgType) {
|
|
81
|
-
if (!account.trim())
|
|
82
|
-
return false;
|
|
83
|
-
const vsoas = await this.chain.listVsOperatorAuthorizations(account);
|
|
84
|
-
return vsoas.some(vsoa => this.inScope(vsoa.corporationId) &&
|
|
85
|
-
vsoa.records.some(r => this.vsoaByParticipant.has(r.participantId) &&
|
|
86
|
-
r.msgTypes.includes(msgType) &&
|
|
87
|
-
isVsoaRecordActive(r.expiration, r.period)));
|
|
88
|
-
}
|
|
89
|
-
async callerHoldsVsOperatorGrant(account, participantId, msgType) {
|
|
90
|
-
if (!account.trim())
|
|
91
|
-
return false;
|
|
92
|
-
const vsoas = await this.chain.listVsOperatorAuthorizations(account);
|
|
93
|
-
return vsoas.some(vsoa => this.inScope(vsoa.corporationId) &&
|
|
94
|
-
vsoa.records.some(r => r.participantId === participantId &&
|
|
95
|
-
r.msgTypes.includes(msgType) &&
|
|
96
|
-
isVsoaRecordActive(r.expiration, r.period)));
|
|
97
|
-
}
|
|
98
80
|
}
|
|
99
81
|
exports.AuthorizationService = AuthorizationService;
|
|
100
82
|
//# sourceMappingURL=AuthorizationService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationService.js","sourceRoot":"","sources":["../../src/blockchain/AuthorizationService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AuthorizationService.js","sourceRoot":"","sources":["../../src/blockchain/AuthorizationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,101 +10,129 @@ const connectionEvents = async (agent, config) => {
|
|
|
10
10
|
const alternativeDids = agentPublicDidRecord === null || agentPublicDidRecord === void 0 ? void 0 : agentPublicDidRecord.getTag('alternativeDids');
|
|
11
11
|
const agentPublicDids = [agent.did, ...(Array.isArray(alternativeDids) ? alternativeDids : [])];
|
|
12
12
|
agent.events.on(didcomm_1.DidCommConnectionEventTypes.DidCommConnectionStateChanged, async ({ payload }) => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
.
|
|
13
|
+
// an event listener is never awaited, so a rejection here would surface as an
|
|
14
|
+
// unhandled rejection and take the process down
|
|
15
|
+
try {
|
|
16
|
+
const record = payload.connectionRecord;
|
|
17
|
+
if (record.outOfBandId && !record.getTag('parentConnectionId')) {
|
|
18
|
+
const outOfBandRecord = await agent.didcomm.oob.findById(record.outOfBandId);
|
|
19
|
+
const parentConnectionId = outOfBandRecord === null || outOfBandRecord === void 0 ? void 0 : outOfBandRecord.getTag('parentConnectionId');
|
|
20
|
+
// Tag connection with its parent
|
|
21
|
+
if (parentConnectionId) {
|
|
22
|
+
record.setTag('parentConnectionId', parentConnectionId);
|
|
23
|
+
await agent.context.dependencyManager
|
|
24
|
+
.resolve(didcomm_1.DidCommConnectionRepository)
|
|
25
|
+
.update(agent.context, record);
|
|
26
|
+
}
|
|
23
27
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
if (record.state === didcomm_1.DidCommDidExchangeState.Completed) {
|
|
29
|
+
if (config.discoveryOptions)
|
|
30
|
+
await agent.didcomm.discovery.queryFeatures({
|
|
31
|
+
connectionId: record.id,
|
|
32
|
+
protocolVersion: 'v2',
|
|
33
|
+
queries: config.discoveryOptions,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
// If an out-of-band ID exists, use the invitation to find the thread IDs
|
|
37
|
+
// and identify the invitation that created the connection to update its state.
|
|
38
|
+
if (record.outOfBandId) {
|
|
39
|
+
const invitationRecord = await agent.didcomm.oob.findById(record.outOfBandId);
|
|
40
|
+
const threadIds = invitationRecord === null || invitationRecord === void 0 ? void 0 : invitationRecord.getTag('invitationRequestsThreadIds');
|
|
41
|
+
threadIds === null || threadIds === void 0 ? void 0 : threadIds.map(async (threadId) => {
|
|
42
|
+
const [proofRecord] = await agent.didcomm.proofs.findAllByQuery({ threadId });
|
|
43
|
+
if (!proofRecord)
|
|
44
|
+
return;
|
|
45
|
+
const callbackParameters = proofRecord.metadata.get('_2060/callbackParameters');
|
|
46
|
+
if (callbackParameters &&
|
|
47
|
+
callbackParameters.callbackUrl &&
|
|
48
|
+
record.state === didcomm_1.DidCommDidExchangeState.RequestReceived) {
|
|
49
|
+
(0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.PresentationStateUpdated, new vs_agent_model_1.PresentationStateUpdated({
|
|
50
|
+
proofExchangeId: proofRecord.id,
|
|
51
|
+
callbackUrl: callbackParameters.callbackUrl,
|
|
52
|
+
state: vs_agent_model_1.PresentationState.CONNECTED,
|
|
53
|
+
ref: callbackParameters.ref,
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
31
56
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const [proofRecord] = await agent.didcomm.proofs.findAllByQuery({ threadId });
|
|
40
|
-
if (!proofRecord)
|
|
41
|
-
return;
|
|
42
|
-
const callbackParameters = proofRecord.metadata.get('_2060/callbackParameters');
|
|
43
|
-
if (callbackParameters &&
|
|
44
|
-
callbackParameters.callbackUrl &&
|
|
45
|
-
record.state === didcomm_1.DidCommDidExchangeState.RequestReceived) {
|
|
46
|
-
(0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.PresentationStateUpdated, new vs_agent_model_1.PresentationStateUpdated({
|
|
47
|
-
proofExchangeId: proofRecord.id,
|
|
48
|
-
callbackUrl: callbackParameters.callbackUrl,
|
|
49
|
-
state: vs_agent_model_1.PresentationState.CONNECTED,
|
|
50
|
-
ref: callbackParameters.ref,
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
57
|
+
}
|
|
58
|
+
// If discovery is enabled, send an empty 'completed' state so that the recipient knows to expect async features.
|
|
59
|
+
const body = new vs_agent_model_1.ConnectionStateUpdated({
|
|
60
|
+
connectionId: record.id,
|
|
61
|
+
invitationId: record.outOfBandId,
|
|
62
|
+
state: record.state,
|
|
63
|
+
metadata: config.discoveryOptions ? {} : undefined,
|
|
53
64
|
});
|
|
65
|
+
(0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.ConnectionStateUpdated, body);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
config.logger.error(`[connection-events] state change handler failed: ${error.message}`);
|
|
54
69
|
}
|
|
55
|
-
// If discovery is enabled, send an empty 'completed' state so that the recipient knows to expect async features.
|
|
56
|
-
const body = new vs_agent_model_1.ConnectionStateUpdated({
|
|
57
|
-
connectionId: record.id,
|
|
58
|
-
invitationId: record.outOfBandId,
|
|
59
|
-
state: record.state,
|
|
60
|
-
metadata: config.discoveryOptions ? {} : undefined,
|
|
61
|
-
});
|
|
62
|
-
(0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.ConnectionStateUpdated, body);
|
|
63
70
|
});
|
|
64
71
|
agent.events.on(didcomm_1.DidCommConnectionEventTypes.DidCommConnectionDidRotated, async ({ payload }) => {
|
|
65
72
|
var _a, _b;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
// an event listener is never awaited, so a rejection here would surface as an
|
|
74
|
+
// unhandled rejection and take the process down
|
|
75
|
+
try {
|
|
76
|
+
const record = payload.connectionRecord;
|
|
77
|
+
const isTerminationByPeer = record.theirDid === undefined && ((_b = (_a = record.previousTheirDids) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0;
|
|
78
|
+
if (!isTerminationByPeer)
|
|
79
|
+
return;
|
|
80
|
+
const body = new vs_agent_model_1.ConnectionStateUpdated({
|
|
81
|
+
connectionId: record.id,
|
|
82
|
+
invitationId: record.outOfBandId,
|
|
83
|
+
state: 'terminated',
|
|
84
|
+
});
|
|
85
|
+
(0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.ConnectionStateUpdated, body);
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
config.logger.error(`[connection-events] did rotated handler failed: ${error.message}`);
|
|
89
|
+
}
|
|
76
90
|
});
|
|
77
91
|
agent.events.on(didcomm_1.DidCommDiscoverFeaturesEventTypes.DisclosureReceived, async ({ payload }) => {
|
|
78
92
|
var _a;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
.
|
|
83
|
-
.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
// an event listener is never awaited, so a rejection here would surface as an
|
|
94
|
+
// unhandled rejection and take the process down
|
|
95
|
+
try {
|
|
96
|
+
const record = payload.connection;
|
|
97
|
+
payload.disclosures.forEach(item => record.metadata.add(`features-${item.type}`, { [item.id]: item.toJSON() }));
|
|
98
|
+
await agent.context.dependencyManager
|
|
99
|
+
.resolve(didcomm_1.DidCommConnectionRepository)
|
|
100
|
+
.update(agent.context, payload.connection);
|
|
101
|
+
const metadata = (_a = payload.disclosures) === null || _a === void 0 ? void 0 : _a.reduce((acc, item) => {
|
|
102
|
+
acc[item.id] = JSON.stringify(item.toJSON());
|
|
103
|
+
return acc;
|
|
104
|
+
}, {});
|
|
105
|
+
const body = new vs_agent_model_1.ConnectionStateUpdated({
|
|
106
|
+
connectionId: record.id,
|
|
107
|
+
invitationId: record.outOfBandId,
|
|
108
|
+
state: vs_agent_model_1.ExtendedDidExchangeState.Updated,
|
|
109
|
+
metadata,
|
|
110
|
+
});
|
|
111
|
+
(0, VsAgentEvents_1.emitVsAgentEvent)(agent, VsAgentEvents_1.VsAgentEventTypes.ConnectionStateUpdated, body);
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
config.logger.error(`[connection-events] disclosure handler failed: ${error.message}`);
|
|
115
|
+
}
|
|
95
116
|
});
|
|
96
117
|
// Auto-accept connections that go to the public did
|
|
97
118
|
agent.events.on(didcomm_1.DidCommConnectionEventTypes.DidCommConnectionStateChanged, async (data) => {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
119
|
+
// an event listener is never awaited, so a rejection here would surface as an
|
|
120
|
+
// unhandled rejection and take the process down
|
|
121
|
+
try {
|
|
122
|
+
config.logger.debug(`Incoming connection event: ${data.payload.connectionRecord.state}`);
|
|
123
|
+
const outOfBandId = data.payload.connectionRecord.outOfBandId;
|
|
124
|
+
if (!outOfBandId)
|
|
125
|
+
return;
|
|
126
|
+
const oob = await agent.didcomm.oob.findById(outOfBandId);
|
|
127
|
+
if (agentPublicDids.includes(oob === null || oob === void 0 ? void 0 : oob.outOfBandInvitation.id) &&
|
|
128
|
+
data.payload.connectionRecord.state === didcomm_1.DidCommDidExchangeState.RequestReceived) {
|
|
129
|
+
config.logger.debug(`Incoming connection request for ${agent.did}`);
|
|
130
|
+
await agent.didcomm.connections.acceptRequest(data.payload.connectionRecord.id);
|
|
131
|
+
config.logger.debug(`Accepted request for ${agent.did}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
config.logger.error(`[connection-events] incoming connection handler failed: ${error.message}`);
|
|
108
136
|
}
|
|
109
137
|
});
|
|
110
138
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionEvents.js","sourceRoot":"","sources":["../../src/events/ConnectionEvents.ts"],"names":[],"mappings":";;;AAIA,+CAQ0B;AAC1B,gEAKoC;AAEpC,mDAAqE;AAE9D,MAAM,gBAAgB,GAAG,KAAK,EACnC,KAAmB,EACnB,MAA+E,EAC/E,EAAE;IACF,+EAA+E;IAC/E,MAAM,CAAC,oBAAoB,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;IAClF,MAAM,eAAe,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACvE,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE/F,KAAK,CAAC,MAAM,CAAC,EAAE,CACb,qCAA2B,CAAC,6BAA6B,EACzD,KAAK,EAAE,EAAE,OAAO,EAAsC,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"ConnectionEvents.js","sourceRoot":"","sources":["../../src/events/ConnectionEvents.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"default": "./build/index.js"
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
|
-
"version": "2.0.0-dev.
|
|
12
|
+
"version": "2.0.0-dev.36",
|
|
13
13
|
"repository": {
|
|
14
14
|
"type": "git",
|
|
15
15
|
"url": "https://github.com/verana-labs/vs-agent"
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"didwebvh-ts": "^2.8.0",
|
|
46
46
|
"express": "^4.18.1",
|
|
47
47
|
"tsyringe": "4.8.0",
|
|
48
|
-
"@verana-labs/
|
|
49
|
-
"@verana-labs/
|
|
48
|
+
"@verana-labs/credo-ts-didcomm-vt-flow": "2.0.0-dev.36",
|
|
49
|
+
"@verana-labs/vs-agent-model": "2.0.0-dev.36"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"@credo-ts/core": "0.7.1-pr-2704-20260630143332",
|