@verana-labs/vs-agent-sdk 1.12.0-oidc4vc.2 → 1.13.0-dev.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/build/did/CachedWebDidResolver.d.ts +2 -2
- package/build/did/CachedWebDidResolver.js +2 -33
- package/build/did/CachedWebDidResolver.js.map +1 -1
- package/build/index.d.ts +0 -1
- package/build/index.js +1 -3
- package/build/index.js.map +1 -1
- package/build/plugins/setupBaseDidComm.js +1 -2
- package/build/plugins/setupBaseDidComm.js.map +1 -1
- package/build/types.d.ts +0 -3
- package/build/types.js.map +1 -1
- package/package.json +3 -3
- package/build/did/SafeWebVhDidResolver.d.ts +0 -6
- package/build/did/SafeWebVhDidResolver.js +0 -91
- package/build/did/SafeWebVhDidResolver.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AgentContext, DidResolutionResult, WebDidResolver } from '@credo-ts/core';
|
|
1
|
+
import { AgentContext, DidResolutionOptions, DidResolutionResult, WebDidResolver } from '@credo-ts/core';
|
|
2
2
|
import { ParsedDID } from 'did-resolver';
|
|
3
3
|
export declare class CachedWebDidResolver extends WebDidResolver {
|
|
4
4
|
private publicApiBaseUrl;
|
|
5
5
|
constructor(options: {
|
|
6
6
|
publicApiBaseUrl: string;
|
|
7
7
|
});
|
|
8
|
-
resolve(agentContext: AgentContext, did: string, parsed: ParsedDID): Promise<DidResolutionResult>;
|
|
8
|
+
resolve(agentContext: AgentContext, did: string, parsed: ParsedDID, didResolutionOptions: DidResolutionOptions): Promise<DidResolutionResult>;
|
|
9
9
|
}
|
|
@@ -8,7 +8,7 @@ class CachedWebDidResolver extends core_1.WebDidResolver {
|
|
|
8
8
|
super();
|
|
9
9
|
this.publicApiBaseUrl = options.publicApiBaseUrl;
|
|
10
10
|
}
|
|
11
|
-
async resolve(agentContext, did, parsed) {
|
|
11
|
+
async resolve(agentContext, did, parsed, didResolutionOptions) {
|
|
12
12
|
// First check within our own public dids, as there is no need to resolve it through HTTPS
|
|
13
13
|
const didRepository = agentContext.dependencyManager.resolve(core_1.DidRepository);
|
|
14
14
|
const didRecord = await didRepository.findSingleByQuery(agentContext, {
|
|
@@ -37,39 +37,8 @@ class CachedWebDidResolver extends core_1.WebDidResolver {
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
try {
|
|
42
|
-
const response = await agentContext.config.agentDependencies.fetch(url, { redirect: 'manual' });
|
|
43
|
-
if (response.status < 200 || response.status >= 300 || response.redirected || response.url !== url) {
|
|
44
|
-
return unresolvedDidWeb();
|
|
45
|
-
}
|
|
46
|
-
const document = (await response.json());
|
|
47
|
-
if (!document.verificationMethod && document.publicKey)
|
|
48
|
-
document.verificationMethod = document.publicKey;
|
|
49
|
-
return {
|
|
50
|
-
didDocument: core_1.JsonTransformer.fromJSON(document, core_1.DidDocument),
|
|
51
|
-
didDocumentMetadata: {},
|
|
52
|
-
didResolutionMetadata: {},
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
catch (_a) {
|
|
56
|
-
return unresolvedDidWeb();
|
|
57
|
-
}
|
|
40
|
+
return super.resolve(agentContext, did, parsed, didResolutionOptions);
|
|
58
41
|
}
|
|
59
42
|
}
|
|
60
43
|
exports.CachedWebDidResolver = CachedWebDidResolver;
|
|
61
|
-
function didWebResolutionUrl(parsed) {
|
|
62
|
-
const components = parsed.id.split(':');
|
|
63
|
-
const path = components.length === 1
|
|
64
|
-
? `${decodeURIComponent(parsed.id)}/.well-known/did.json`
|
|
65
|
-
: `${components.map(decodeURIComponent).join('/')}/did.json`;
|
|
66
|
-
return new URL(`https://${path}`).href;
|
|
67
|
-
}
|
|
68
|
-
function unresolvedDidWeb() {
|
|
69
|
-
return {
|
|
70
|
-
didDocument: null,
|
|
71
|
-
didDocumentMetadata: {},
|
|
72
|
-
didResolutionMetadata: { error: 'notFound' },
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
44
|
//# sourceMappingURL=CachedWebDidResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CachedWebDidResolver.js","sourceRoot":"","sources":["../../src/did/CachedWebDidResolver.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"CachedWebDidResolver.js","sourceRoot":"","sources":["../../src/did/CachedWebDidResolver.ts"],"names":[],"mappings":";;;AAAA,yCAMuB;AAGvB,iDAAqD;AAErD,MAAa,oBAAqB,SAAQ,qBAAc;IAGtD,YAAmB,OAAqC;QACtD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;IAClD,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,YAA0B,EAC1B,GAAW,EACX,MAAiB,EACjB,oBAA0C;QAE1C,0FAA0F;QAC1F,MAAM,aAAa,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,oBAAa,CAAC,CAAA;QAC3E,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,YAAY,EAAE;YACpE,GAAG;YACH,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;QAEF,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,EAAE,CAAC;YAC3B,OAAO;gBACL,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,mBAAmB,EAAE,EAAE;gBACvB,qBAAqB,EAAE,EAAE;aAC1B,CAAA;QACH,CAAC;QAED,gEAAgE;QAChE,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,YAAY,EAAE;YAC1E,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;QAEF,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,EAAE,CAAC;YACjC,MAAM,iBAAiB,GAAG,IAAA,mCAAoB,EAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAClG,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO;oBACL,WAAW,EAAE,iBAAiB;oBAC9B,mBAAmB,EAAE,EAAE;oBACvB,qBAAqB,EAAE,EAAE;iBAC1B,CAAA;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACvE,CAAC;CACF;AAhDD,oDAgDC"}
|
package/build/index.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ export * from './events';
|
|
|
6
6
|
export { setupBaseDidComm } from './plugins/setupBaseDidComm';
|
|
7
7
|
export type { BaseDidCommPlugin, BaseDidCommPluginOptions } from './plugins/setupBaseDidComm';
|
|
8
8
|
export { CachedWebDidResolver } from './did/CachedWebDidResolver';
|
|
9
|
-
export { SafeWebVhDidResolver } from './did/SafeWebVhDidResolver';
|
|
10
9
|
export { WebDidRegistrar } from './did/WebDidRegistrar';
|
|
11
10
|
export { getLegacyDidDocument } from './did/legacyDidWeb';
|
|
12
11
|
export { applyAdminApiServiceEntry } from './did/adminApiService';
|
package/build/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.migrateLegacyTailsFiles = exports.isValidTailsFileName = exports.deleteTailsFile = exports.getTailsDirectoryPath = exports.FullTailsFileService = exports.VsAgentWsOutboundTransport = exports.WebSocketTransportSession = exports.VsAgentWsInboundTransport = exports.HttpTransportSession = exports.HttpInboundTransport = exports.applyAdminApiServiceEntry = exports.getLegacyDidDocument = exports.WebDidRegistrar = exports.
|
|
17
|
+
exports.migrateLegacyTailsFiles = exports.isValidTailsFileName = exports.deleteTailsFile = exports.getTailsDirectoryPath = exports.FullTailsFileService = exports.VsAgentWsOutboundTransport = exports.WebSocketTransportSession = exports.VsAgentWsInboundTransport = exports.HttpTransportSession = exports.HttpInboundTransport = exports.applyAdminApiServiceEntry = exports.getLegacyDidDocument = exports.WebDidRegistrar = exports.CachedWebDidResolver = exports.setupBaseDidComm = void 0;
|
|
18
18
|
// Agent
|
|
19
19
|
__exportStar(require("./agent"), exports);
|
|
20
20
|
__exportStar(require("./auth"), exports);
|
|
@@ -28,8 +28,6 @@ Object.defineProperty(exports, "setupBaseDidComm", { enumerable: true, get: func
|
|
|
28
28
|
// DID utilities
|
|
29
29
|
var CachedWebDidResolver_1 = require("./did/CachedWebDidResolver");
|
|
30
30
|
Object.defineProperty(exports, "CachedWebDidResolver", { enumerable: true, get: function () { return CachedWebDidResolver_1.CachedWebDidResolver; } });
|
|
31
|
-
var SafeWebVhDidResolver_1 = require("./did/SafeWebVhDidResolver");
|
|
32
|
-
Object.defineProperty(exports, "SafeWebVhDidResolver", { enumerable: true, get: function () { return SafeWebVhDidResolver_1.SafeWebVhDidResolver; } });
|
|
33
31
|
var WebDidRegistrar_1 = require("./did/WebDidRegistrar");
|
|
34
32
|
Object.defineProperty(exports, "WebDidRegistrar", { enumerable: true, get: function () { return WebDidRegistrar_1.WebDidRegistrar; } });
|
|
35
33
|
var legacyDidWeb_1 = require("./did/legacyDidWeb");
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,0CAAuB;AACvB,yCAAsB;AACtB,8CAA2B;AAC3B,0CAAuB;AAEvB,SAAS;AACT,2CAAwB;AAExB,UAAU;AACV,+DAA6D;AAApD,oHAAA,gBAAgB,OAAA;AAGzB,gBAAgB;AAChB,mEAAiE;AAAxD,4HAAA,oBAAoB,OAAA;AAC7B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,0CAAuB;AACvB,yCAAsB;AACtB,8CAA2B;AAC3B,0CAAuB;AAEvB,SAAS;AACT,2CAAwB;AAExB,UAAU;AACV,+DAA6D;AAApD,oHAAA,gBAAgB,OAAA;AAGzB,gBAAgB;AAChB,mEAAiE;AAAxD,4HAAA,oBAAoB,OAAA;AAC7B,yDAAuD;AAA9C,kHAAA,eAAe,OAAA;AACxB,mDAAyD;AAAhD,oHAAA,oBAAoB,OAAA;AAC7B,yDAAiE;AAAxD,4HAAA,yBAAyB,OAAA;AAElC,aAAa;AACb,0EAA8F;AAArF,4HAAA,oBAAoB,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AACnD,oFAA6G;AAApG,sIAAA,yBAAyB,OAAA;AAAE,sIAAA,yBAAyB,OAAA;AAC7D,sFAAoF;AAA3E,wIAAA,0BAA0B,OAAA;AAEnC,cAAc;AACd,2EAM2C;AALzC,4HAAA,oBAAoB,OAAA;AACpB,6HAAA,qBAAqB,OAAA;AACrB,uHAAA,eAAe,OAAA;AACf,4HAAA,oBAAoB,OAAA;AACpB,+HAAA,uBAAuB,OAAA;AAGzB,QAAQ;AACR,0CAAuB;AAEvB,+CAA4B;AAC5B,2CAAwB"}
|
|
@@ -13,7 +13,6 @@ const credo_ts_didweb_anoncreds_1 = require("credo-ts-didweb-anoncreds");
|
|
|
13
13
|
const FullTailsFileService_1 = require("../credentials/FullTailsFileService");
|
|
14
14
|
const CachedDocumentLoader_1 = require("../did/CachedDocumentLoader");
|
|
15
15
|
const CachedWebDidResolver_1 = require("../did/CachedWebDidResolver");
|
|
16
|
-
const SafeWebVhDidResolver_1 = require("../did/SafeWebVhDidResolver");
|
|
17
16
|
const WebDidRegistrar_1 = require("../did/WebDidRegistrar");
|
|
18
17
|
const VsAgentWsOutboundTransport_1 = require("../transports/VsAgentWsOutboundTransport");
|
|
19
18
|
/**
|
|
@@ -79,7 +78,7 @@ function setupBaseDidComm(options) {
|
|
|
79
78
|
dids: new core_1.DidsModule({
|
|
80
79
|
resolvers: [
|
|
81
80
|
new CachedWebDidResolver_1.CachedWebDidResolver({ publicApiBaseUrl: options.publicApiBaseUrl }),
|
|
82
|
-
new
|
|
81
|
+
new webvh_1.WebVhDidResolver(),
|
|
83
82
|
],
|
|
84
83
|
registrars: [new WebDidRegistrar_1.WebDidRegistrar(), new webvh_1.WebVhDidRegistrar()],
|
|
85
84
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupBaseDidComm.js","sourceRoot":"","sources":["../../src/plugins/setupBaseDidComm.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"setupBaseDidComm.js","sourceRoot":"","sources":["../../src/plugins/setupBaseDidComm.ts"],"names":[],"mappings":";;AAiDA,4CAoEC;AAnHD,mDAM4B;AAC5B,2CAA4E;AAC5E,yCAAiE;AACjE,+CAQ0B;AAC1B,2CAA6F;AAC7F,oEAAyD;AACzD,sEAA2D;AAC3D,oFAAoG;AACpG,yEAAmE;AAGnE,8EAA0E;AAC1E,sEAAmE;AACnE,sEAAkE;AAClE,4DAAwD;AACxD,yFAAqF;AAcrF;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,OAAiC;;IAChE,OAAO;QACL,OAAO,EAAE;YACP,OAAO,EAAE,IAAI,uBAAa,CAAC;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,2FAA2F;gBAC3F,aAAa,EAAE,EAAE,SAAS,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,CAAC,IAAI,CAAC,EAAE;gBAC/D,UAAU,EAAE;oBACV,QAAQ,EAAE,CAAC,IAAI,sCAA4B,EAAE,EAAE,IAAI,uDAA0B,EAAE,CAAC;iBACjF;gBACD,WAAW,EAAE;oBACX,qBAAqB,EAAE,IAAI;oBAC3B,kCAAkC,EAAE,IAAI;iBACzC;gBACD,WAAW,EAAE;oBACX,qBAAqB,EAAE,qCAA2B,CAAC,eAAe;oBAClE,mBAAmB,EAAE;wBACnB,IAAI,qCAA2B,CAAC;4BAC9B,iBAAiB,EAAE;gCACjB,IAAI,oDAAwC,EAAE;gCAC9C,IAAI,mDAAuC,EAAE;gCAC7C,IAAI,8CAAoC,EAAE;6BAC3C;yBACF,CAAC;qBACH;iBACF;gBACD,MAAM,EAAE;oBACN,gBAAgB,EAAE,gCAAsB,CAAC,eAAe;oBACxD,cAAc,EAAE;wBACd,IAAI,gCAAsB,CAAC;4BACzB,YAAY,EAAE;gCACZ,IAAI,+CAAmC,EAAE;gCACzC,IAAI,8CAAkC,EAAE;6BACzC;yBACF,CAAC;qBACH;iBACF;aACF,CAAC;YACF,KAAK,EAAE,IAAI,mBAAW,CAAC;gBACrB,KAAK,EAAL,oBAAK;gBACL,KAAK,EAAE,OAAO,CAAC,YAAY;aAC5B,CAAC;YACF,SAAS,EAAE,IAAI,2BAAe,CAAC;gBAC7B,SAAS,EAAT,4BAAS;gBACT,gBAAgB,EAAE,IAAI,2CAAoB,CAAC;oBACzC,kBAAkB,EAAE,GAAG,OAAO,CAAC,gBAAgB,qBAAqB;iBACrE,CAAC;gBACF,UAAU,EAAE;oBACV,IAAI,mDAAuB,CAAC;wBAC1B,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;qBAC3E,CAAC;oBACF,IAAI,8BAAsB,EAAE;iBAC7B;aACF,CAAC;YACF,IAAI,EAAE,IAAI,iBAAU,CAAC;gBACnB,SAAS,EAAE;oBACT,IAAI,2CAAoB,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBACxE,IAAI,wBAAgB,EAAE;iBACvB;gBACD,UAAU,EAAE,CAAC,IAAI,iCAAe,EAAE,EAAE,IAAI,yBAAiB,EAAE,CAAC;aAC7D,CAAC;YACF,cAAc,EAAE,IAAI,2BAAoB,CAAC;gBACvC,cAAc,EAAE,4CAAqB;aACtC,CAAC;YACF,MAAM,EAAE,IAAI,uCAAY,mBAAM,OAAO,CAAC,MAAM,EAAG;SAChD;KACF,CAAA;AACH,CAAC"}
|
package/build/types.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { BaseAgentModules, VsAgent } from './agent/VsAgent';
|
|
2
2
|
import type { IBaseMessage, MessageType } from '@verana-labs/vs-agent-model';
|
|
3
|
-
import type { RequestHandler } from 'express';
|
|
4
3
|
import { BaseLogger } from '@credo-ts/core';
|
|
5
4
|
import { DidCommConnectionRecord } from '@credo-ts/didcomm';
|
|
6
5
|
export declare const MESSAGE_HANDLERS = "MESSAGE_HANDLERS";
|
|
@@ -19,8 +18,6 @@ export type Plugin = {
|
|
|
19
18
|
export interface VsAgentNestPlugin {
|
|
20
19
|
name: string;
|
|
21
20
|
credoPlugin?: Plugin;
|
|
22
|
-
initialize?: (agent: VsAgent<BaseAgentModules>, logger: BaseLogger) => Promise<void>;
|
|
23
|
-
publicMiddleware?: RequestHandler;
|
|
24
21
|
controllers?: (new (...args: any[]) => any)[];
|
|
25
22
|
providers?: any[];
|
|
26
23
|
messageHandlers?: (new (...args: any[]) => MessageHandler)[];
|
package/build/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAMa,QAAA,gBAAgB,GAAG,kBAAkB,CAAA;AAwBrC,QAAA,uBAAuB,GAAG,CAAC,CAAA;AAC3B,QAAA,yBAAyB,GAAG,CAAC,CAAA;AAC7B,QAAA,+BAA+B,GAAG,CAAC,CAAA;AACnC,QAAA,iCAAiC,GAAG,CAAC,CAAA;AACrC,QAAA,uBAAuB,GAAG,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"default": "./build/index.js"
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
|
-
"version": "1.
|
|
12
|
+
"version": "1.13.0-dev.1",
|
|
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/credo-ts-didcomm-vt-flow": "1.
|
|
49
|
-
"@verana-labs/vs-agent-model": "1.
|
|
48
|
+
"@verana-labs/credo-ts-didcomm-vt-flow": "1.13.0-dev.1",
|
|
49
|
+
"@verana-labs/vs-agent-model": "1.13.0-dev.1"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"@credo-ts/core": "0.7.1-pr-2704-20260630143332",
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { DidResolutionResult } from '@credo-ts/core';
|
|
2
|
-
import { AgentContext } from '@credo-ts/core';
|
|
3
|
-
import { WebVhDidResolver } from '@credo-ts/webvh';
|
|
4
|
-
export declare class SafeWebVhDidResolver extends WebVhDidResolver {
|
|
5
|
-
resolve(agentContext: AgentContext, did: string): Promise<DidResolutionResult>;
|
|
6
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SafeWebVhDidResolver = void 0;
|
|
4
|
-
const core_1 = require("@credo-ts/core");
|
|
5
|
-
const webvh_1 = require("@credo-ts/webvh");
|
|
6
|
-
const didwebvh_ts_1 = require("didwebvh-ts");
|
|
7
|
-
class KmsWebVhVerifier {
|
|
8
|
-
constructor(agentContext) {
|
|
9
|
-
this.agentContext = agentContext;
|
|
10
|
-
}
|
|
11
|
-
async verify(signature, message, publicKey) {
|
|
12
|
-
try {
|
|
13
|
-
const kms = this.agentContext.dependencyManager.resolve(core_1.Kms.KeyManagementApi);
|
|
14
|
-
const publicJwk = core_1.Kms.PublicJwk.fromPublicKey({ kty: 'OKP', crv: 'Ed25519', publicKey });
|
|
15
|
-
return (await kms.verify({
|
|
16
|
-
key: { publicJwk: publicJwk.toJson() },
|
|
17
|
-
algorithm: 'EdDSA',
|
|
18
|
-
signature,
|
|
19
|
-
data: message,
|
|
20
|
-
})).verified;
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
this.agentContext.config.logger.error('KMS verification failed:', error);
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
class SafeWebVhDidResolver extends webvh_1.WebVhDidResolver {
|
|
29
|
-
async resolve(agentContext, did) {
|
|
30
|
-
try {
|
|
31
|
-
const url = didWebVhLogUrl(did);
|
|
32
|
-
const response = await agentContext.config.agentDependencies.fetch(url, { redirect: 'manual' });
|
|
33
|
-
if (response.status < 200 || response.status >= 300 || response.redirected || response.url !== url) {
|
|
34
|
-
return unresolvedWebVh();
|
|
35
|
-
}
|
|
36
|
-
const scid = did.split(':')[2];
|
|
37
|
-
if (!scid)
|
|
38
|
-
return unresolvedWebVh();
|
|
39
|
-
const log = parseDidWebVhLog(await response.text());
|
|
40
|
-
const { doc } = await (0, didwebvh_ts_1.resolveDIDFromLog)(log, {
|
|
41
|
-
verifier: new KmsWebVhVerifier(agentContext),
|
|
42
|
-
requestedDid: did,
|
|
43
|
-
scid,
|
|
44
|
-
});
|
|
45
|
-
return {
|
|
46
|
-
didDocument: core_1.DidDocument.fromJSON(doc),
|
|
47
|
-
didDocumentMetadata: {},
|
|
48
|
-
didResolutionMetadata: {},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
agentContext.config.logger.error(`Error resolving DID ${did}: ${error}`);
|
|
53
|
-
return unresolvedWebVh();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
exports.SafeWebVhDidResolver = SafeWebVhDidResolver;
|
|
58
|
-
function didWebVhLogUrl(did) {
|
|
59
|
-
const components = did.split(':');
|
|
60
|
-
if (components.length < 4 || components[0] !== 'did' || components[1] !== 'webvh') {
|
|
61
|
-
throw new Error(`Invalid did:webvh identifier '${did}'`);
|
|
62
|
-
}
|
|
63
|
-
const [encodedHost, ...encodedPath] = components.slice(3);
|
|
64
|
-
if (!encodedHost)
|
|
65
|
-
throw new Error(`Invalid did:webvh identifier '${did}'`);
|
|
66
|
-
const host = decodeURIComponent(encodedHost);
|
|
67
|
-
const path = encodedPath.map(segment => {
|
|
68
|
-
const decoded = decodeURIComponent(segment);
|
|
69
|
-
if (decoded === '.' || decoded === '..' || decoded.includes('/') || decoded.includes('\\')) {
|
|
70
|
-
throw new Error(`Invalid did:webvh path segment '${segment}'`);
|
|
71
|
-
}
|
|
72
|
-
return decoded;
|
|
73
|
-
});
|
|
74
|
-
const url = new URL(`https://${host}`);
|
|
75
|
-
url.pathname = path.length === 0 ? '/.well-known/did.jsonl' : `/${path.join('/')}/did.jsonl`;
|
|
76
|
-
return url.href;
|
|
77
|
-
}
|
|
78
|
-
function parseDidWebVhLog(serializedLog) {
|
|
79
|
-
const lines = serializedLog.trim().split('\n');
|
|
80
|
-
if (!serializedLog.trim() || lines.some(line => !line.trim()))
|
|
81
|
-
throw new Error('DID log is empty or malformed');
|
|
82
|
-
return lines.map(line => JSON.parse(line));
|
|
83
|
-
}
|
|
84
|
-
function unresolvedWebVh() {
|
|
85
|
-
return {
|
|
86
|
-
didDocument: null,
|
|
87
|
-
didDocumentMetadata: {},
|
|
88
|
-
didResolutionMetadata: { error: 'notFound' },
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=SafeWebVhDidResolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SafeWebVhDidResolver.js","sourceRoot":"","sources":["../../src/did/SafeWebVhDidResolver.ts"],"names":[],"mappings":"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"}
|