@ajna-inc/openbadges 0.1.0
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/LICENSE +202 -0
- package/build/OpenBadgesModule.d.ts +10 -0
- package/build/OpenBadgesModule.js +75 -0
- package/build/OpenBadgesModule.js.map +1 -0
- package/build/OpenBadgesModuleConfig.d.ts +96 -0
- package/build/OpenBadgesModuleConfig.js +50 -0
- package/build/OpenBadgesModuleConfig.js.map +1 -0
- package/build/api/OpenBadgesApi.d.ts +48 -0
- package/build/api/OpenBadgesApi.js +81 -0
- package/build/api/OpenBadgesApi.js.map +1 -0
- package/build/api/index.d.ts +1 -0
- package/build/api/index.js +18 -0
- package/build/api/index.js.map +1 -0
- package/build/constants.d.ts +12 -0
- package/build/constants.js +27 -0
- package/build/constants.js.map +1 -0
- package/build/cryptosuites/EcdsaSd2023.d.ts +143 -0
- package/build/cryptosuites/EcdsaSd2023.js +518 -0
- package/build/cryptosuites/EcdsaSd2023.js.map +1 -0
- package/build/cryptosuites/EddsaRdfc2022.d.ts +112 -0
- package/build/cryptosuites/EddsaRdfc2022.js +356 -0
- package/build/cryptosuites/EddsaRdfc2022.js.map +1 -0
- package/build/cryptosuites/constants.d.ts +14 -0
- package/build/cryptosuites/constants.js +22 -0
- package/build/cryptosuites/constants.js.map +1 -0
- package/build/cryptosuites/contextPreprocessor.d.ts +24 -0
- package/build/cryptosuites/contextPreprocessor.js +127 -0
- package/build/cryptosuites/contextPreprocessor.js.map +1 -0
- package/build/cryptosuites/dataIntegrityV2Context.d.ts +144 -0
- package/build/cryptosuites/dataIntegrityV2Context.js +86 -0
- package/build/cryptosuites/dataIntegrityV2Context.js.map +1 -0
- package/build/cryptosuites/index.d.ts +11 -0
- package/build/cryptosuites/index.js +33 -0
- package/build/cryptosuites/index.js.map +1 -0
- package/build/http/OpenBadgesHttpModule.d.ts +9 -0
- package/build/http/OpenBadgesHttpModule.js +120 -0
- package/build/http/OpenBadgesHttpModule.js.map +1 -0
- package/build/http/OpenBadgesHttpModuleConfig.d.ts +55 -0
- package/build/http/OpenBadgesHttpModuleConfig.js +78 -0
- package/build/http/OpenBadgesHttpModuleConfig.js.map +1 -0
- package/build/http/endpoints/authorize.d.ts +3 -0
- package/build/http/endpoints/authorize.js +79 -0
- package/build/http/endpoints/authorize.js.map +1 -0
- package/build/http/endpoints/consent.d.ts +3 -0
- package/build/http/endpoints/consent.js +25 -0
- package/build/http/endpoints/consent.js.map +1 -0
- package/build/http/endpoints/credentials.d.ts +4 -0
- package/build/http/endpoints/credentials.js +85 -0
- package/build/http/endpoints/credentials.js.map +1 -0
- package/build/http/endpoints/did.d.ts +3 -0
- package/build/http/endpoints/did.js +48 -0
- package/build/http/endpoints/did.js.map +1 -0
- package/build/http/endpoints/introspect.d.ts +3 -0
- package/build/http/endpoints/introspect.js +37 -0
- package/build/http/endpoints/introspect.js.map +1 -0
- package/build/http/endpoints/jwks.d.ts +3 -0
- package/build/http/endpoints/jwks.js +46 -0
- package/build/http/endpoints/jwks.js.map +1 -0
- package/build/http/endpoints/profile.d.ts +4 -0
- package/build/http/endpoints/profile.js +58 -0
- package/build/http/endpoints/profile.js.map +1 -0
- package/build/http/endpoints/refresh.d.ts +15 -0
- package/build/http/endpoints/refresh.js +134 -0
- package/build/http/endpoints/refresh.js.map +1 -0
- package/build/http/endpoints/registration.d.ts +3 -0
- package/build/http/endpoints/registration.js +42 -0
- package/build/http/endpoints/registration.js.map +1 -0
- package/build/http/endpoints/revoke.d.ts +3 -0
- package/build/http/endpoints/revoke.js +38 -0
- package/build/http/endpoints/revoke.js.map +1 -0
- package/build/http/endpoints/serviceDescription.d.ts +3 -0
- package/build/http/endpoints/serviceDescription.js +52 -0
- package/build/http/endpoints/serviceDescription.js.map +1 -0
- package/build/http/endpoints/statusList.d.ts +10 -0
- package/build/http/endpoints/statusList.js +95 -0
- package/build/http/endpoints/statusList.js.map +1 -0
- package/build/http/endpoints/token.d.ts +3 -0
- package/build/http/endpoints/token.js +147 -0
- package/build/http/endpoints/token.js.map +1 -0
- package/build/http/middleware/auth.d.ts +5 -0
- package/build/http/middleware/auth.js +48 -0
- package/build/http/middleware/auth.js.map +1 -0
- package/build/http/router.d.ts +13 -0
- package/build/http/router.js +36 -0
- package/build/http/router.js.map +1 -0
- package/build/http/tenants.d.ts +2 -0
- package/build/http/tenants.js +20 -0
- package/build/http/tenants.js.map +1 -0
- package/build/http/util/auth.d.ts +8 -0
- package/build/http/util/auth.js +43 -0
- package/build/http/util/auth.js.map +1 -0
- package/build/index.d.ts +46 -0
- package/build/index.js +71 -0
- package/build/index.js.map +1 -0
- package/build/models/ClrCredential.d.ts +112 -0
- package/build/models/ClrCredential.js +52 -0
- package/build/models/ClrCredential.js.map +1 -0
- package/build/models/EndorsementCredential.d.ts +89 -0
- package/build/models/EndorsementCredential.js +11 -0
- package/build/models/EndorsementCredential.js.map +1 -0
- package/build/models/StatusListCredential.d.ts +81 -0
- package/build/models/StatusListCredential.js +28 -0
- package/build/models/StatusListCredential.js.map +1 -0
- package/build/models/index.d.ts +8 -0
- package/build/models/index.js +25 -0
- package/build/models/index.js.map +1 -0
- package/build/repository/OpenBadgeCredentialRecord.d.ts +44 -0
- package/build/repository/OpenBadgeCredentialRecord.js +46 -0
- package/build/repository/OpenBadgeCredentialRecord.js.map +1 -0
- package/build/repository/OpenBadgeCredentialRepository.d.ts +8 -0
- package/build/repository/OpenBadgeCredentialRepository.js +38 -0
- package/build/repository/OpenBadgeCredentialRepository.js.map +1 -0
- package/build/repository/OpenBadgesAuthCodeRecord.d.ts +35 -0
- package/build/repository/OpenBadgesAuthCodeRecord.js +28 -0
- package/build/repository/OpenBadgesAuthCodeRecord.js.map +1 -0
- package/build/repository/OpenBadgesAuthCodeRepository.d.ts +6 -0
- package/build/repository/OpenBadgesAuthCodeRepository.js +32 -0
- package/build/repository/OpenBadgesAuthCodeRepository.js.map +1 -0
- package/build/repository/OpenBadgesConsentRecord.d.ts +24 -0
- package/build/repository/OpenBadgesConsentRecord.js +23 -0
- package/build/repository/OpenBadgesConsentRecord.js.map +1 -0
- package/build/repository/OpenBadgesConsentRepository.d.ts +6 -0
- package/build/repository/OpenBadgesConsentRepository.js +32 -0
- package/build/repository/OpenBadgesConsentRepository.js.map +1 -0
- package/build/repository/OpenBadgesKeyBindingRecord.d.ts +24 -0
- package/build/repository/OpenBadgesKeyBindingRecord.js +32 -0
- package/build/repository/OpenBadgesKeyBindingRecord.js.map +1 -0
- package/build/repository/OpenBadgesKeyBindingRepository.d.ts +7 -0
- package/build/repository/OpenBadgesKeyBindingRepository.js +35 -0
- package/build/repository/OpenBadgesKeyBindingRepository.js.map +1 -0
- package/build/repository/OpenBadgesOAuthRecord.d.ts +35 -0
- package/build/repository/OpenBadgesOAuthRecord.js +25 -0
- package/build/repository/OpenBadgesOAuthRecord.js.map +1 -0
- package/build/repository/OpenBadgesOAuthRepository.d.ts +8 -0
- package/build/repository/OpenBadgesOAuthRepository.js +38 -0
- package/build/repository/OpenBadgesOAuthRepository.js.map +1 -0
- package/build/repository/OpenBadgesProfileRecord.d.ts +21 -0
- package/build/repository/OpenBadgesProfileRecord.js +22 -0
- package/build/repository/OpenBadgesProfileRecord.js.map +1 -0
- package/build/repository/OpenBadgesProfileRepository.d.ts +6 -0
- package/build/repository/OpenBadgesProfileRepository.js +32 -0
- package/build/repository/OpenBadgesProfileRepository.js.map +1 -0
- package/build/repository/OpenBadgesRevocationCacheRecord.d.ts +23 -0
- package/build/repository/OpenBadgesRevocationCacheRecord.js +23 -0
- package/build/repository/OpenBadgesRevocationCacheRecord.js.map +1 -0
- package/build/repository/OpenBadgesRevocationCacheRepository.d.ts +6 -0
- package/build/repository/OpenBadgesRevocationCacheRepository.js +32 -0
- package/build/repository/OpenBadgesRevocationCacheRepository.js.map +1 -0
- package/build/repository/OpenBadgesServiceDescriptionRecord.d.ts +21 -0
- package/build/repository/OpenBadgesServiceDescriptionRecord.js +22 -0
- package/build/repository/OpenBadgesServiceDescriptionRecord.js.map +1 -0
- package/build/repository/OpenBadgesServiceDescriptionRepository.d.ts +6 -0
- package/build/repository/OpenBadgesServiceDescriptionRepository.js +32 -0
- package/build/repository/OpenBadgesServiceDescriptionRepository.js.map +1 -0
- package/build/repository/OpenBadgesTokenRecord.d.ts +39 -0
- package/build/repository/OpenBadgesTokenRecord.js +36 -0
- package/build/repository/OpenBadgesTokenRecord.js.map +1 -0
- package/build/repository/OpenBadgesTokenRepository.d.ts +9 -0
- package/build/repository/OpenBadgesTokenRepository.js +45 -0
- package/build/repository/OpenBadgesTokenRepository.js.map +1 -0
- package/build/repository/StatusListRecord.d.ts +49 -0
- package/build/repository/StatusListRecord.js +47 -0
- package/build/repository/StatusListRecord.js.map +1 -0
- package/build/repository/StatusListRepository.d.ts +24 -0
- package/build/repository/StatusListRepository.js +52 -0
- package/build/repository/StatusListRepository.js.map +1 -0
- package/build/repository/index.d.ts +18 -0
- package/build/repository/index.js +35 -0
- package/build/repository/index.js.map +1 -0
- package/build/services/AchievementValidator.d.ts +158 -0
- package/build/services/AchievementValidator.js +238 -0
- package/build/services/AchievementValidator.js.map +1 -0
- package/build/services/ConsumerService.d.ts +24 -0
- package/build/services/ConsumerService.js +143 -0
- package/build/services/ConsumerService.js.map +1 -0
- package/build/services/ContextService.d.ts +14 -0
- package/build/services/ContextService.js +54 -0
- package/build/services/ContextService.js.map +1 -0
- package/build/services/DataIntegrityService.d.ts +51 -0
- package/build/services/DataIntegrityService.js +134 -0
- package/build/services/DataIntegrityService.js.map +1 -0
- package/build/services/DidCommLinkService.d.ts +7 -0
- package/build/services/DidCommLinkService.js +20 -0
- package/build/services/DidCommLinkService.js.map +1 -0
- package/build/services/DisplayMapper.d.ts +9 -0
- package/build/services/DisplayMapper.js +26 -0
- package/build/services/DisplayMapper.js.map +1 -0
- package/build/services/IssuerService.d.ts +38 -0
- package/build/services/IssuerService.js +225 -0
- package/build/services/IssuerService.js.map +1 -0
- package/build/services/JwtService.d.ts +19 -0
- package/build/services/JwtService.js +229 -0
- package/build/services/JwtService.js.map +1 -0
- package/build/services/KeyService.d.ts +102 -0
- package/build/services/KeyService.js +439 -0
- package/build/services/KeyService.js.map +1 -0
- package/build/services/OAuthClient.d.ts +26 -0
- package/build/services/OAuthClient.js +127 -0
- package/build/services/OAuthClient.js.map +1 -0
- package/build/services/ProofService.d.ts +15 -0
- package/build/services/ProofService.js +43 -0
- package/build/services/ProofService.js.map +1 -0
- package/build/services/RevocationService.d.ts +59 -0
- package/build/services/RevocationService.js +319 -0
- package/build/services/RevocationService.js.map +1 -0
- package/build/services/VerifyService.d.ts +17 -0
- package/build/services/VerifyService.js +54 -0
- package/build/services/VerifyService.js.map +1 -0
- package/build/services/crypto/CryptoDriver.d.ts +9 -0
- package/build/services/crypto/CryptoDriver.js +7 -0
- package/build/services/crypto/CryptoDriver.js.map +1 -0
- package/build/services/crypto/JsonLdCryptoDriver.d.ts +17 -0
- package/build/services/crypto/JsonLdCryptoDriver.js +45 -0
- package/build/services/crypto/JsonLdCryptoDriver.js.map +1 -0
- package/build/services/crypto/JwtCryptoDriver.d.ts +13 -0
- package/build/services/crypto/JwtCryptoDriver.js +42 -0
- package/build/services/crypto/JwtCryptoDriver.js.map +1 -0
- package/build/services/index.d.ts +12 -0
- package/build/services/index.js +29 -0
- package/build/services/index.js.map +1 -0
- package/build/utils/validate.d.ts +17 -0
- package/build/utils/validate.js +107 -0
- package/build/utils/validate.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EcdsaSd2023.js","sourceRoot":"","sources":["../../src/cryptosuites/EcdsaSd2023.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EdDSA RDFC 2022 Cryptosuite
|
|
3
|
+
*
|
|
4
|
+
* Implements the eddsa-rdfc-2022 cryptosuite for Data Integrity proofs.
|
|
5
|
+
* This is required for OpenBadges 3.0 certification.
|
|
6
|
+
*
|
|
7
|
+
* Spec: https://www.w3.org/TR/vc-di-eddsa/#eddsa-rdfc-2022
|
|
8
|
+
*
|
|
9
|
+
* Key features:
|
|
10
|
+
* - Uses Ed25519 signature algorithm
|
|
11
|
+
* - Uses RDFC-1.0 canonicalization (RDF Dataset Canonicalization)
|
|
12
|
+
* - Produces DataIntegrityProof with cryptosuite: 'eddsa-rdfc-2022'
|
|
13
|
+
*/
|
|
14
|
+
import { CRYPTOSUITE_EDDSA_RDFC_2022, PROOF_TYPE_DATA_INTEGRITY } from './constants';
|
|
15
|
+
export interface EddsaRdfc2022KeyPair {
|
|
16
|
+
id: string;
|
|
17
|
+
controller: string;
|
|
18
|
+
publicKeyMultibase: string;
|
|
19
|
+
privateKeyMultibase?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface EddsaRdfc2022Proof {
|
|
22
|
+
type: typeof PROOF_TYPE_DATA_INTEGRITY;
|
|
23
|
+
cryptosuite: typeof CRYPTOSUITE_EDDSA_RDFC_2022;
|
|
24
|
+
created: string;
|
|
25
|
+
verificationMethod: string;
|
|
26
|
+
proofPurpose: string;
|
|
27
|
+
proofValue: string;
|
|
28
|
+
}
|
|
29
|
+
export interface SignOptions {
|
|
30
|
+
document: Record<string, unknown>;
|
|
31
|
+
keyPair: EddsaRdfc2022KeyPair;
|
|
32
|
+
purpose?: string;
|
|
33
|
+
date?: Date | string;
|
|
34
|
+
challenge?: string;
|
|
35
|
+
domain?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface VerifyOptions {
|
|
38
|
+
document: Record<string, unknown>;
|
|
39
|
+
proof: EddsaRdfc2022Proof;
|
|
40
|
+
publicKeyMultibase: string;
|
|
41
|
+
/**
|
|
42
|
+
* If true, fetch contexts from the network with @protected stripped.
|
|
43
|
+
* This is needed for verifying external credentials that use full network contexts.
|
|
44
|
+
*/
|
|
45
|
+
useNetworkContexts?: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* EdDSA RDFC 2022 Cryptosuite implementation
|
|
49
|
+
*/
|
|
50
|
+
export declare class EddsaRdfc2022Cryptosuite {
|
|
51
|
+
static readonly proofType = "DataIntegrityProof";
|
|
52
|
+
static readonly cryptosuite = "eddsa-rdfc-2022";
|
|
53
|
+
static readonly contextUrl = "https://w3id.org/security/data-integrity/v2";
|
|
54
|
+
static readonly verificationMethodTypes: string[];
|
|
55
|
+
/**
|
|
56
|
+
* Sign a document using eddsa-rdfc-2022 cryptosuite
|
|
57
|
+
*/
|
|
58
|
+
sign(options: SignOptions): Promise<Record<string, unknown>>;
|
|
59
|
+
/**
|
|
60
|
+
* Verify a document with eddsa-rdfc-2022 proof
|
|
61
|
+
*
|
|
62
|
+
* @param options - Verification options including document, proof, public key, and context settings
|
|
63
|
+
*/
|
|
64
|
+
verify(options: VerifyOptions): Promise<{
|
|
65
|
+
verified: boolean;
|
|
66
|
+
error?: string;
|
|
67
|
+
}>;
|
|
68
|
+
/**
|
|
69
|
+
* Check if this suite matches a given proof
|
|
70
|
+
*/
|
|
71
|
+
matchProof(proof: Record<string, unknown>): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Create a document loader for JSON-LD operations
|
|
74
|
+
* Uses cached contexts for internal operations, preprocessed network contexts for external verification
|
|
75
|
+
*/
|
|
76
|
+
private createDocumentLoader;
|
|
77
|
+
/**
|
|
78
|
+
* Canonicalize a document using RDFC-1.0 (URDNA2015)
|
|
79
|
+
* This is the standard algorithm for RDF Dataset Canonicalization.
|
|
80
|
+
*
|
|
81
|
+
* @param document - The document to canonicalize
|
|
82
|
+
* @param useNetworkContexts - If true, fetch contexts from network with @protected stripped
|
|
83
|
+
*/
|
|
84
|
+
private canonicalize;
|
|
85
|
+
/**
|
|
86
|
+
* Create hash data for signing/verification using RDFC-1.0 algorithm
|
|
87
|
+
*
|
|
88
|
+
* Per the spec (https://www.w3.org/TR/vc-di-eddsa/#create-verify-data-eddsa-rdfc-2022):
|
|
89
|
+
* 1. Canonicalize the document using RDFC-1.0
|
|
90
|
+
* 2. Hash the canonical document using SHA-256
|
|
91
|
+
* 3. Canonicalize the proof options (without proofValue)
|
|
92
|
+
* 4. Hash the canonical proof options using SHA-256
|
|
93
|
+
* 5. Concatenate: proofOptionsHash || documentHash
|
|
94
|
+
*
|
|
95
|
+
* @param document - The document to hash
|
|
96
|
+
* @param proofOptions - The proof options to hash
|
|
97
|
+
* @param useNetworkContexts - If true, fetch contexts from network with @protected stripped
|
|
98
|
+
*/
|
|
99
|
+
private createHashData;
|
|
100
|
+
/**
|
|
101
|
+
* Decode a key pair from multibase format
|
|
102
|
+
*/
|
|
103
|
+
private decodeKeyPair;
|
|
104
|
+
/**
|
|
105
|
+
* Decode a public key from multibase format
|
|
106
|
+
*/
|
|
107
|
+
private decodePublicKey;
|
|
108
|
+
/**
|
|
109
|
+
* Generate a new Ed25519 key pair with multibase encoding
|
|
110
|
+
*/
|
|
111
|
+
static generateKeyPair(controller: string, keyId?: string): EddsaRdfc2022KeyPair;
|
|
112
|
+
}
|
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* EdDSA RDFC 2022 Cryptosuite
|
|
4
|
+
*
|
|
5
|
+
* Implements the eddsa-rdfc-2022 cryptosuite for Data Integrity proofs.
|
|
6
|
+
* This is required for OpenBadges 3.0 certification.
|
|
7
|
+
*
|
|
8
|
+
* Spec: https://www.w3.org/TR/vc-di-eddsa/#eddsa-rdfc-2022
|
|
9
|
+
*
|
|
10
|
+
* Key features:
|
|
11
|
+
* - Uses Ed25519 signature algorithm
|
|
12
|
+
* - Uses RDFC-1.0 canonicalization (RDF Dataset Canonicalization)
|
|
13
|
+
* - Produces DataIntegrityProof with cryptosuite: 'eddsa-rdfc-2022'
|
|
14
|
+
*/
|
|
15
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
18
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
19
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(o, k2, desc);
|
|
22
|
+
}) : (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
o[k2] = m[k];
|
|
25
|
+
}));
|
|
26
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
27
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
28
|
+
}) : function(o, v) {
|
|
29
|
+
o["default"] = v;
|
|
30
|
+
});
|
|
31
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.EddsaRdfc2022Cryptosuite = void 0;
|
|
43
|
+
const ed25519 = __importStar(require("@stablelib/ed25519"));
|
|
44
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
45
|
+
const crypto_1 = require("crypto");
|
|
46
|
+
// Import jsonld for canonicalization
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
const jsonld = __importStar(require("@digitalcredentials/jsonld"));
|
|
50
|
+
const constants_1 = require("./constants");
|
|
51
|
+
// Document loader for JSON-LD contexts
|
|
52
|
+
const dataIntegrityV2Context_1 = require("./dataIntegrityV2Context");
|
|
53
|
+
const contextPreprocessor_1 = require("./contextPreprocessor");
|
|
54
|
+
// Built-in context cache for internal tests and offline operation
|
|
55
|
+
// These simplified contexts work for internal sign/verify round-trips
|
|
56
|
+
// Note: proof/security terms are handled by Data Integrity context to avoid conflicts
|
|
57
|
+
const CONTEXT_CACHE = {
|
|
58
|
+
'https://w3id.org/security/data-integrity/v2': dataIntegrityV2Context_1.dataIntegrityV2Context,
|
|
59
|
+
'https://www.w3.org/ns/credentials/v2': {
|
|
60
|
+
'@context': {
|
|
61
|
+
id: '@id',
|
|
62
|
+
type: '@type',
|
|
63
|
+
VerifiableCredential: 'https://www.w3.org/2018/credentials#VerifiableCredential',
|
|
64
|
+
credentialSubject: { '@id': 'https://www.w3.org/2018/credentials#credentialSubject', '@type': '@id' },
|
|
65
|
+
issuer: { '@id': 'https://www.w3.org/2018/credentials#issuer', '@type': '@id' },
|
|
66
|
+
validFrom: { '@id': 'https://www.w3.org/2018/credentials#validFrom', '@type': 'http://www.w3.org/2001/XMLSchema#dateTime' },
|
|
67
|
+
validUntil: { '@id': 'https://www.w3.org/2018/credentials#validUntil', '@type': 'http://www.w3.org/2001/XMLSchema#dateTime' },
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json': {
|
|
71
|
+
'@context': {
|
|
72
|
+
OpenBadgeCredential: 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#OpenBadgeCredential',
|
|
73
|
+
Achievement: 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Achievement',
|
|
74
|
+
AchievementSubject: 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#AchievementSubject',
|
|
75
|
+
Profile: 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Profile',
|
|
76
|
+
achievement: { '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#achievement', '@type': '@id' },
|
|
77
|
+
name: 'https://schema.org/name',
|
|
78
|
+
description: 'https://schema.org/description',
|
|
79
|
+
criteria: { '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#criteria', '@type': '@id' },
|
|
80
|
+
narrative: 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#narrative',
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
// Extensions context for Credly credentials
|
|
84
|
+
'https://purl.imsglobal.org/spec/ob/v3p0/extensions.json': {
|
|
85
|
+
'@context': {
|
|
86
|
+
'1EdTechJsonSchemaValidator2019': 'https://purl.imsglobal.org/spec/vccs/v1p0/context.json#1EdTechJsonSchemaValidator2019',
|
|
87
|
+
'1EdTechRevocationList': 'https://purl.imsglobal.org/spec/vcrl/v1p0/context.json#1EdTechRevocationList',
|
|
88
|
+
'1EdTechCredentialRefresh': 'https://purl.imsglobal.org/spec/vccr/v1p0/context.json#1EdTechCredentialRefresh',
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
// Runtime cache for network-fetched contexts
|
|
93
|
+
const RUNTIME_CONTEXT_CACHE = {};
|
|
94
|
+
// Multicodec prefixes
|
|
95
|
+
const ED25519_PUB_MULTICODEC = new Uint8Array([0xed, 0x01]);
|
|
96
|
+
const ED25519_PRIV_MULTICODEC = new Uint8Array([0x80, 0x26]);
|
|
97
|
+
/**
|
|
98
|
+
* EdDSA RDFC 2022 Cryptosuite implementation
|
|
99
|
+
*/
|
|
100
|
+
class EddsaRdfc2022Cryptosuite {
|
|
101
|
+
/**
|
|
102
|
+
* Sign a document using eddsa-rdfc-2022 cryptosuite
|
|
103
|
+
*/
|
|
104
|
+
async sign(options) {
|
|
105
|
+
const { document, keyPair, purpose = 'assertionMethod', date, challenge, domain } = options;
|
|
106
|
+
// Decode private key
|
|
107
|
+
const { secretKey } = this.decodeKeyPair(keyPair);
|
|
108
|
+
// Create proof options
|
|
109
|
+
const proofOptions = {
|
|
110
|
+
type: constants_1.PROOF_TYPE_DATA_INTEGRITY,
|
|
111
|
+
cryptosuite: constants_1.CRYPTOSUITE_EDDSA_RDFC_2022,
|
|
112
|
+
created: date ? new Date(date).toISOString() : new Date().toISOString(),
|
|
113
|
+
verificationMethod: keyPair.id,
|
|
114
|
+
proofPurpose: purpose,
|
|
115
|
+
};
|
|
116
|
+
if (challenge) {
|
|
117
|
+
;
|
|
118
|
+
proofOptions.challenge = challenge;
|
|
119
|
+
}
|
|
120
|
+
if (domain) {
|
|
121
|
+
;
|
|
122
|
+
proofOptions.domain = domain;
|
|
123
|
+
}
|
|
124
|
+
// Create hash to sign
|
|
125
|
+
// Note: Full implementation should use RDFC-1.0 canonicalization
|
|
126
|
+
// For now, we use a simplified canonicalization for compatibility
|
|
127
|
+
const documentCopy = { ...document };
|
|
128
|
+
delete documentCopy.proof;
|
|
129
|
+
const hashData = await this.createHashData(documentCopy, proofOptions);
|
|
130
|
+
// Sign the hash
|
|
131
|
+
const signature = ed25519.sign(secretKey, hashData);
|
|
132
|
+
// Encode signature as multibase base58btc
|
|
133
|
+
const proofValue = 'z' + bs58_1.default.encode(signature);
|
|
134
|
+
// Create final proof
|
|
135
|
+
const proof = {
|
|
136
|
+
...proofOptions,
|
|
137
|
+
proofValue,
|
|
138
|
+
};
|
|
139
|
+
// Return document with proof
|
|
140
|
+
return {
|
|
141
|
+
...document,
|
|
142
|
+
proof,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Verify a document with eddsa-rdfc-2022 proof
|
|
147
|
+
*
|
|
148
|
+
* @param options - Verification options including document, proof, public key, and context settings
|
|
149
|
+
*/
|
|
150
|
+
async verify(options) {
|
|
151
|
+
const { document, proof, publicKeyMultibase, useNetworkContexts = false } = options;
|
|
152
|
+
try {
|
|
153
|
+
// Validate proof structure
|
|
154
|
+
if (proof.type !== constants_1.PROOF_TYPE_DATA_INTEGRITY) {
|
|
155
|
+
return { verified: false, error: `Invalid proof type: ${proof.type}` };
|
|
156
|
+
}
|
|
157
|
+
if (proof.cryptosuite !== constants_1.CRYPTOSUITE_EDDSA_RDFC_2022) {
|
|
158
|
+
return { verified: false, error: `Invalid cryptosuite: ${proof.cryptosuite}` };
|
|
159
|
+
}
|
|
160
|
+
if (!proof.proofValue?.startsWith('z')) {
|
|
161
|
+
return { verified: false, error: 'Invalid proofValue: must be multibase base58btc encoded' };
|
|
162
|
+
}
|
|
163
|
+
// Decode public key
|
|
164
|
+
const publicKey = this.decodePublicKey(publicKeyMultibase);
|
|
165
|
+
// Decode signature
|
|
166
|
+
const signature = bs58_1.default.decode(proof.proofValue.slice(1));
|
|
167
|
+
// Recreate hash data
|
|
168
|
+
const documentCopy = { ...document };
|
|
169
|
+
delete documentCopy.proof;
|
|
170
|
+
const proofOptions = {
|
|
171
|
+
type: proof.type,
|
|
172
|
+
cryptosuite: proof.cryptosuite,
|
|
173
|
+
created: proof.created,
|
|
174
|
+
verificationMethod: proof.verificationMethod,
|
|
175
|
+
proofPurpose: proof.proofPurpose,
|
|
176
|
+
};
|
|
177
|
+
// Use network contexts if specified (for external credential verification)
|
|
178
|
+
const hashData = await this.createHashData(documentCopy, proofOptions, useNetworkContexts);
|
|
179
|
+
// Verify signature
|
|
180
|
+
const verified = ed25519.verify(publicKey, hashData, signature);
|
|
181
|
+
return { verified };
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
const err = error;
|
|
185
|
+
return { verified: false, error: err.message };
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Check if this suite matches a given proof
|
|
190
|
+
*/
|
|
191
|
+
matchProof(proof) {
|
|
192
|
+
return (proof.type === constants_1.PROOF_TYPE_DATA_INTEGRITY && proof.cryptosuite === constants_1.CRYPTOSUITE_EDDSA_RDFC_2022);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Create a document loader for JSON-LD operations
|
|
196
|
+
* Uses cached contexts for internal operations, preprocessed network contexts for external verification
|
|
197
|
+
*/
|
|
198
|
+
createDocumentLoader(useNetworkContexts = false) {
|
|
199
|
+
// For external credential verification, use preprocessing loader that strips @protected
|
|
200
|
+
if (useNetworkContexts) {
|
|
201
|
+
return (0, contextPreprocessor_1.createPreprocessingDocumentLoader)();
|
|
202
|
+
}
|
|
203
|
+
// For internal operations, use cached contexts for stability
|
|
204
|
+
return async (url) => {
|
|
205
|
+
// Check static cache first
|
|
206
|
+
if (CONTEXT_CACHE[url]) {
|
|
207
|
+
return {
|
|
208
|
+
contextUrl: null,
|
|
209
|
+
document: CONTEXT_CACHE[url],
|
|
210
|
+
documentUrl: url,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
// Check runtime cache
|
|
214
|
+
if (RUNTIME_CONTEXT_CACHE[url]) {
|
|
215
|
+
return {
|
|
216
|
+
contextUrl: null,
|
|
217
|
+
document: RUNTIME_CONTEXT_CACHE[url],
|
|
218
|
+
documentUrl: url,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
// For unknown contexts, return minimal context
|
|
222
|
+
return {
|
|
223
|
+
contextUrl: null,
|
|
224
|
+
document: { '@context': {} },
|
|
225
|
+
documentUrl: url,
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Canonicalize a document using RDFC-1.0 (URDNA2015)
|
|
231
|
+
* This is the standard algorithm for RDF Dataset Canonicalization.
|
|
232
|
+
*
|
|
233
|
+
* @param document - The document to canonicalize
|
|
234
|
+
* @param useNetworkContexts - If true, fetch contexts from network with @protected stripped
|
|
235
|
+
*/
|
|
236
|
+
async canonicalize(document, useNetworkContexts = false) {
|
|
237
|
+
const jld = jsonld.default ?? jsonld;
|
|
238
|
+
const documentLoader = this.createDocumentLoader(useNetworkContexts);
|
|
239
|
+
// Use URDNA2015 algorithm (RDFC-1.0)
|
|
240
|
+
const canonicalized = await jld.canonize(document, {
|
|
241
|
+
algorithm: 'URDNA2015',
|
|
242
|
+
format: 'application/n-quads',
|
|
243
|
+
documentLoader,
|
|
244
|
+
});
|
|
245
|
+
return canonicalized;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Create hash data for signing/verification using RDFC-1.0 algorithm
|
|
249
|
+
*
|
|
250
|
+
* Per the spec (https://www.w3.org/TR/vc-di-eddsa/#create-verify-data-eddsa-rdfc-2022):
|
|
251
|
+
* 1. Canonicalize the document using RDFC-1.0
|
|
252
|
+
* 2. Hash the canonical document using SHA-256
|
|
253
|
+
* 3. Canonicalize the proof options (without proofValue)
|
|
254
|
+
* 4. Hash the canonical proof options using SHA-256
|
|
255
|
+
* 5. Concatenate: proofOptionsHash || documentHash
|
|
256
|
+
*
|
|
257
|
+
* @param document - The document to hash
|
|
258
|
+
* @param proofOptions - The proof options to hash
|
|
259
|
+
* @param useNetworkContexts - If true, fetch contexts from network with @protected stripped
|
|
260
|
+
*/
|
|
261
|
+
async createHashData(document, proofOptions, useNetworkContexts = false) {
|
|
262
|
+
// Canonicalize the document
|
|
263
|
+
const canonicalDocument = await this.canonicalize(document, useNetworkContexts);
|
|
264
|
+
// Hash the canonical document with SHA-256
|
|
265
|
+
const documentHash = (0, crypto_1.createHash)('sha256').update(canonicalDocument).digest();
|
|
266
|
+
// Create proof configuration document for canonicalization
|
|
267
|
+
// Use the Data Integrity context for proof options (per spec section 3.3.1)
|
|
268
|
+
const proofConfigDocument = {
|
|
269
|
+
'@context': constants_1.DATA_INTEGRITY_V2_CONTEXT_URL,
|
|
270
|
+
...proofOptions,
|
|
271
|
+
};
|
|
272
|
+
// Canonicalize the proof configuration
|
|
273
|
+
const canonicalProofConfig = await this.canonicalize(proofConfigDocument, useNetworkContexts);
|
|
274
|
+
// Hash the canonical proof configuration with SHA-256
|
|
275
|
+
const proofConfigHash = (0, crypto_1.createHash)('sha256').update(canonicalProofConfig).digest();
|
|
276
|
+
// Concatenate: proofConfigHash || documentHash (per spec)
|
|
277
|
+
const combined = new Uint8Array(proofConfigHash.length + documentHash.length);
|
|
278
|
+
combined.set(proofConfigHash, 0);
|
|
279
|
+
combined.set(documentHash, proofConfigHash.length);
|
|
280
|
+
return combined;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Decode a key pair from multibase format
|
|
284
|
+
*/
|
|
285
|
+
decodeKeyPair(keyPair) {
|
|
286
|
+
if (!keyPair.privateKeyMultibase) {
|
|
287
|
+
throw new Error('Private key is required for signing');
|
|
288
|
+
}
|
|
289
|
+
// Decode private key
|
|
290
|
+
const privBytes = bs58_1.default.decode(keyPair.privateKeyMultibase.slice(1));
|
|
291
|
+
// Validate multicodec prefix
|
|
292
|
+
if (privBytes[0] !== ED25519_PRIV_MULTICODEC[0] || privBytes[1] !== ED25519_PRIV_MULTICODEC[1]) {
|
|
293
|
+
throw new Error('Invalid private key multicodec prefix');
|
|
294
|
+
}
|
|
295
|
+
const secretKey = privBytes.slice(2);
|
|
296
|
+
// Decode or derive public key
|
|
297
|
+
let publicKey;
|
|
298
|
+
if (keyPair.publicKeyMultibase) {
|
|
299
|
+
publicKey = this.decodePublicKey(keyPair.publicKeyMultibase);
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
// Derive public key from secret key (last 32 bytes or generate)
|
|
303
|
+
if (secretKey.length === 64) {
|
|
304
|
+
publicKey = secretKey.slice(32);
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
const kp = ed25519.generateKeyPairFromSeed(secretKey.slice(0, 32));
|
|
308
|
+
publicKey = kp.publicKey;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return { publicKey, secretKey };
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Decode a public key from multibase format
|
|
315
|
+
*/
|
|
316
|
+
decodePublicKey(publicKeyMultibase) {
|
|
317
|
+
if (!publicKeyMultibase.startsWith('z')) {
|
|
318
|
+
throw new Error('Invalid multibase prefix: expected base58btc (z)');
|
|
319
|
+
}
|
|
320
|
+
const pubBytes = bs58_1.default.decode(publicKeyMultibase.slice(1));
|
|
321
|
+
// Validate multicodec prefix
|
|
322
|
+
if (pubBytes[0] !== ED25519_PUB_MULTICODEC[0] || pubBytes[1] !== ED25519_PUB_MULTICODEC[1]) {
|
|
323
|
+
throw new Error('Invalid public key multicodec prefix');
|
|
324
|
+
}
|
|
325
|
+
return pubBytes.slice(2);
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Generate a new Ed25519 key pair with multibase encoding
|
|
329
|
+
*/
|
|
330
|
+
static generateKeyPair(controller, keyId) {
|
|
331
|
+
const kp = ed25519.generateKeyPair();
|
|
332
|
+
// Encode public key with multicodec prefix
|
|
333
|
+
const pubWithHeader = new Uint8Array(2 + kp.publicKey.length);
|
|
334
|
+
pubWithHeader.set(ED25519_PUB_MULTICODEC, 0);
|
|
335
|
+
pubWithHeader.set(kp.publicKey, 2);
|
|
336
|
+
const publicKeyMultibase = 'z' + bs58_1.default.encode(pubWithHeader);
|
|
337
|
+
// Encode private key with multicodec prefix
|
|
338
|
+
const privWithHeader = new Uint8Array(2 + kp.secretKey.length);
|
|
339
|
+
privWithHeader.set(ED25519_PRIV_MULTICODEC, 0);
|
|
340
|
+
privWithHeader.set(kp.secretKey, 2);
|
|
341
|
+
const privateKeyMultibase = 'z' + bs58_1.default.encode(privWithHeader);
|
|
342
|
+
const id = keyId || `${controller}#key-1`;
|
|
343
|
+
return {
|
|
344
|
+
id,
|
|
345
|
+
controller,
|
|
346
|
+
publicKeyMultibase,
|
|
347
|
+
privateKeyMultibase,
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
exports.EddsaRdfc2022Cryptosuite = EddsaRdfc2022Cryptosuite;
|
|
352
|
+
EddsaRdfc2022Cryptosuite.proofType = constants_1.PROOF_TYPE_DATA_INTEGRITY;
|
|
353
|
+
EddsaRdfc2022Cryptosuite.cryptosuite = constants_1.CRYPTOSUITE_EDDSA_RDFC_2022;
|
|
354
|
+
EddsaRdfc2022Cryptosuite.contextUrl = constants_1.DATA_INTEGRITY_V2_CONTEXT_URL;
|
|
355
|
+
EddsaRdfc2022Cryptosuite.verificationMethodTypes = [constants_1.VM_TYPE_MULTIKEY, constants_1.VM_TYPE_ED25519_2020];
|
|
356
|
+
//# sourceMappingURL=EddsaRdfc2022.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EddsaRdfc2022.js","sourceRoot":"","sources":["../../src/cryptosuites/EddsaRdfc2022.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants for Data Integrity cryptosuites
|
|
3
|
+
*/
|
|
4
|
+
export declare const DATA_INTEGRITY_V2_CONTEXT_URL = "https://w3id.org/security/data-integrity/v2";
|
|
5
|
+
export declare const MULTIKEY_CONTEXT_URL = "https://w3id.org/security/multikey/v1";
|
|
6
|
+
export declare const ED25519_2020_CONTEXT_URL = "https://w3id.org/security/suites/ed25519-2020/v1";
|
|
7
|
+
export declare const CRYPTOSUITE_EDDSA_RDFC_2022 = "eddsa-rdfc-2022";
|
|
8
|
+
export declare const CRYPTOSUITE_ECDSA_SD_2023 = "ecdsa-sd-2023";
|
|
9
|
+
export declare const CRYPTOSUITE_ECDSA_RDFC_2019 = "ecdsa-rdfc-2019";
|
|
10
|
+
export declare const PROOF_TYPE_DATA_INTEGRITY = "DataIntegrityProof";
|
|
11
|
+
export declare const PROOF_TYPE_ED25519_2020 = "Ed25519Signature2020";
|
|
12
|
+
export declare const VM_TYPE_MULTIKEY = "Multikey";
|
|
13
|
+
export declare const VM_TYPE_ED25519_2020 = "Ed25519VerificationKey2020";
|
|
14
|
+
export declare const VM_TYPE_ECDSA_SECP256R1 = "EcdsaSecp256r1VerificationKey2019";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Constants for Data Integrity cryptosuites
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.VM_TYPE_ECDSA_SECP256R1 = exports.VM_TYPE_ED25519_2020 = exports.VM_TYPE_MULTIKEY = exports.PROOF_TYPE_ED25519_2020 = exports.PROOF_TYPE_DATA_INTEGRITY = exports.CRYPTOSUITE_ECDSA_RDFC_2019 = exports.CRYPTOSUITE_ECDSA_SD_2023 = exports.CRYPTOSUITE_EDDSA_RDFC_2022 = exports.ED25519_2020_CONTEXT_URL = exports.MULTIKEY_CONTEXT_URL = exports.DATA_INTEGRITY_V2_CONTEXT_URL = void 0;
|
|
7
|
+
// Context URLs
|
|
8
|
+
exports.DATA_INTEGRITY_V2_CONTEXT_URL = 'https://w3id.org/security/data-integrity/v2';
|
|
9
|
+
exports.MULTIKEY_CONTEXT_URL = 'https://w3id.org/security/multikey/v1';
|
|
10
|
+
exports.ED25519_2020_CONTEXT_URL = 'https://w3id.org/security/suites/ed25519-2020/v1';
|
|
11
|
+
// Cryptosuite identifiers
|
|
12
|
+
exports.CRYPTOSUITE_EDDSA_RDFC_2022 = 'eddsa-rdfc-2022';
|
|
13
|
+
exports.CRYPTOSUITE_ECDSA_SD_2023 = 'ecdsa-sd-2023';
|
|
14
|
+
exports.CRYPTOSUITE_ECDSA_RDFC_2019 = 'ecdsa-rdfc-2019';
|
|
15
|
+
// Proof types
|
|
16
|
+
exports.PROOF_TYPE_DATA_INTEGRITY = 'DataIntegrityProof';
|
|
17
|
+
exports.PROOF_TYPE_ED25519_2020 = 'Ed25519Signature2020';
|
|
18
|
+
// Verification method types
|
|
19
|
+
exports.VM_TYPE_MULTIKEY = 'Multikey';
|
|
20
|
+
exports.VM_TYPE_ED25519_2020 = 'Ed25519VerificationKey2020';
|
|
21
|
+
exports.VM_TYPE_ECDSA_SECP256R1 = 'EcdsaSecp256r1VerificationKey2019';
|
|
22
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cryptosuites/constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,eAAe;AACF,QAAA,6BAA6B,GAAG,6CAA6C,CAAA;AAC7E,QAAA,oBAAoB,GAAG,uCAAuC,CAAA;AAC9D,QAAA,wBAAwB,GAAG,kDAAkD,CAAA;AAE1F,0BAA0B;AACb,QAAA,2BAA2B,GAAG,iBAAiB,CAAA;AAC/C,QAAA,yBAAyB,GAAG,eAAe,CAAA;AAC3C,QAAA,2BAA2B,GAAG,iBAAiB,CAAA;AAE5D,cAAc;AACD,QAAA,yBAAyB,GAAG,oBAAoB,CAAA;AAChD,QAAA,uBAAuB,GAAG,sBAAsB,CAAA;AAE7D,4BAA4B;AACf,QAAA,gBAAgB,GAAG,UAAU,CAAA;AAC7B,QAAA,oBAAoB,GAAG,4BAA4B,CAAA;AACnD,QAAA,uBAAuB,GAAG,mCAAmC,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Preprocessor
|
|
3
|
+
*
|
|
4
|
+
* Strips @protected flags from JSON-LD contexts to allow combining
|
|
5
|
+
* multiple contexts that define the same terms identically.
|
|
6
|
+
*
|
|
7
|
+
* This is necessary because:
|
|
8
|
+
* - VC v2 and OBv3 contexts both define terms like "description"
|
|
9
|
+
* - Both map to the same IRIs (e.g., https://schema.org/description)
|
|
10
|
+
* - But both use @protected: true, which prevents redefinition
|
|
11
|
+
* - Stripping @protected allows compatible contexts to work together
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Create a document loader that preprocesses contexts to remove @protected
|
|
15
|
+
*/
|
|
16
|
+
export declare function createPreprocessingDocumentLoader(): (url: string) => Promise<any>;
|
|
17
|
+
/**
|
|
18
|
+
* Clear the processed context cache
|
|
19
|
+
*/
|
|
20
|
+
export declare function clearContextCache(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Pre-warm the context cache by fetching common contexts
|
|
23
|
+
*/
|
|
24
|
+
export declare function prewarmContextCache(urls: string[]): Promise<void>;
|