@sphereon/did-provider-oyd 0.28.1-feature.esm.cjs.8 → 0.28.1-feature.oyd.cmsm.improv.16

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.
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DefaultOydCmsmCallbacks = exports.OydDIDProvider = void 0;
16
+ exports.defaultOydCmsmPublicKeyCallback = defaultOydCmsmPublicKeyCallback;
17
+ exports.defaultOydCmsmSignCallback = defaultOydCmsmSignCallback;
18
+ const did_manager_1 = require("@veramo/did-manager");
19
+ const cross_fetch_1 = __importDefault(require("cross-fetch"));
20
+ const debug_1 = __importDefault(require("debug"));
21
+ const debug = (0, debug_1.default)('veramo:oyd-did:identifier-provider');
22
+ const OYDID_REGISTRAR_URL = 'https://oydid-registrar.data-container.net/1.0/createIdentifier';
23
+ /**
24
+ * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers
25
+ * @public
26
+ */
27
+ class OydDIDProvider extends did_manager_1.AbstractIdentifierProvider {
28
+ constructor(options) {
29
+ super();
30
+ this.defaultKms = options === null || options === void 0 ? void 0 : options.defaultKms;
31
+ this.cmsmCallbackOpts = options === null || options === void 0 ? void 0 : options.clientManagedSecretMode;
32
+ }
33
+ assertedKms(...kms) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ if (!kms || kms.length === 0) {
36
+ return Promise.reject(Error('KMS must be provided either as a parameter or via defaultKms.'));
37
+ }
38
+ const result = kms.find((k) => !!k);
39
+ if (!result) {
40
+ return Promise.reject(Error('KMS must be provided either as a parameter or via defaultKms.'));
41
+ }
42
+ return result;
43
+ });
44
+ }
45
+ createIdentifier(_a, context_1) {
46
+ return __awaiter(this, arguments, void 0, function* ({ kms, options }, context) {
47
+ var _b, _c;
48
+ const resolvedKms = yield this.assertedKms(kms, this.defaultKms);
49
+ if ((this.cmsmCallbackOpts && !options.cmsm) || (options.cmsm && options.cmsm.enabled !== false)) {
50
+ if (!this.cmsmCallbackOpts) {
51
+ return Promise.reject(Error('did:oyd: no cmsm options defined on oyd did provider, but cmsm was enabled on the call!'));
52
+ }
53
+ return yield this.createIdentifierWithCMSM({ kms: resolvedKms, options }, context);
54
+ }
55
+ const body = {
56
+ options: {
57
+ cmsm: false,
58
+ key_type: (_b = options.keyType) !== null && _b !== void 0 ? _b : 'Secp256r1',
59
+ },
60
+ };
61
+ let didDoc;
62
+ try {
63
+ const response = yield (0, cross_fetch_1.default)(OYDID_REGISTRAR_URL, {
64
+ method: 'POST',
65
+ headers: {
66
+ 'Content-Type': 'application/json',
67
+ },
68
+ body: JSON.stringify(body),
69
+ });
70
+ if (!response.ok) {
71
+ debug('Error response from OydDID Registrar: ', response);
72
+ return Promise.reject(Error('Network response was not ok: ' + response.statusText));
73
+ }
74
+ didDoc = yield response.json();
75
+ }
76
+ catch (error) {
77
+ debug('Unexpected error from OydDID Registrar: ', error);
78
+ return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()));
79
+ }
80
+ const keyType = (_c = options === null || options === void 0 ? void 0 : options.keyType) !== null && _c !== void 0 ? _c : 'Secp256r1';
81
+ const key = yield this.importOrCreateKey({
82
+ kms: resolvedKms,
83
+ options: {
84
+ keyType,
85
+ kid: didDoc.did + '#key-doc',
86
+ publicKeyHex: didDoc.keys[0].publicKeyHex,
87
+ privateKeyHex: didDoc.keys[0].privateKeyHex,
88
+ },
89
+ }, context);
90
+ const identifier = {
91
+ did: didDoc.did,
92
+ controllerKeyId: key.kid,
93
+ keys: [key],
94
+ services: [],
95
+ };
96
+ debug('Created', identifier.did);
97
+ return identifier;
98
+ });
99
+ }
100
+ createIdentifierWithCMSM(_a, context_1) {
101
+ return __awaiter(this, arguments, void 0, function* ({ kms, options }, context) {
102
+ var _b, _c, _d;
103
+ const cmsmCallbackOpts = this.cmsmCallbackOpts;
104
+ if (!cmsmCallbackOpts) {
105
+ return Promise.reject(Error('did:oyd: no cmsm options defined!'));
106
+ }
107
+ const assertedKms = yield this.assertedKms(kms, this.defaultKms);
108
+ const pubKey = (_b = options.key) !== null && _b !== void 0 ? _b : (yield cmsmCallbackOpts.publicKeyCallback((_c = options.kid) !== null && _c !== void 0 ? _c : 'default', assertedKms, ((_d = options.cmsm) === null || _d === void 0 ? void 0 : _d.create) !== false, options.keyType)); // "default" is probably not right, TODO!!
109
+ const kid = pubKey.kid;
110
+ const keyType = pubKey.type;
111
+ let signValue; // do the request
112
+ try {
113
+ const body_create = {
114
+ // specify the Identifier options for the registrar
115
+ key: kid,
116
+ options: {
117
+ cmsm: true,
118
+ key_type: keyType,
119
+ },
120
+ };
121
+ const response = yield (0, cross_fetch_1.default)(OYDID_REGISTRAR_URL, {
122
+ method: 'POST',
123
+ headers: {
124
+ 'Content-Type': 'application/json',
125
+ },
126
+ body: JSON.stringify(body_create),
127
+ });
128
+ if (!response.ok) {
129
+ debug('Error response from OydDID Registrar: ', body_create, response);
130
+ return Promise.reject(Error('Network response was not ok: ' + response.statusText));
131
+ }
132
+ signValue = yield response.json();
133
+ }
134
+ catch (error) {
135
+ debug('Unexpected error from OydDID Registrar: ', error);
136
+ return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()));
137
+ }
138
+ // we received our value to sign, now we sign it!
139
+ const { sign } = signValue;
140
+ const signature = yield cmsmCallbackOpts.signCallback(kid, sign);
141
+ const body_signed = {
142
+ key: kid,
143
+ options: {
144
+ cmsm: true,
145
+ sig: signature,
146
+ },
147
+ };
148
+ Object.assign(body_signed.options, options);
149
+ let didDoc; // do the request
150
+ try {
151
+ const response = yield (0, cross_fetch_1.default)(OYDID_REGISTRAR_URL, {
152
+ method: 'POST',
153
+ headers: {
154
+ 'Content-Type': 'application/json',
155
+ },
156
+ body: JSON.stringify(body_signed),
157
+ });
158
+ if (!response.ok) {
159
+ debug('Error response from OydDID Registrar: ', response);
160
+ return Promise.reject(Error('Network response was not ok: ' + response.statusText));
161
+ }
162
+ didDoc = yield response.json();
163
+ }
164
+ catch (error) {
165
+ debug('Unexpected error from OydDID Registrar: ', error);
166
+ return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()));
167
+ }
168
+ /* let oydKeyType: OydDidSupportedKeyTypes = "Secp256r1";
169
+
170
+ const key = await this.holdKeys(
171
+ {
172
+ kms: assertedKms,
173
+ options: {
174
+ keyType: oydKeyType,
175
+ kid: kid,
176
+ publicKeyHex: pubKey.publicKeyHex,
177
+ },
178
+ },
179
+ context
180
+ );*/
181
+ const identifier = {
182
+ did: didDoc.did,
183
+ controllerKeyId: pubKey.kid,
184
+ keys: [pubKey],
185
+ services: [],
186
+ };
187
+ debug('Created', identifier.did);
188
+ return identifier;
189
+ });
190
+ }
191
+ updateIdentifier(args, context) {
192
+ return __awaiter(this, void 0, void 0, function* () {
193
+ throw new Error('OydDIDProvider updateIdentifier not supported yet.');
194
+ });
195
+ }
196
+ deleteIdentifier(identifier, context) {
197
+ return __awaiter(this, void 0, void 0, function* () {
198
+ for (const { kid } of identifier.keys) {
199
+ yield context.agent.keyManagerDelete({ kid });
200
+ }
201
+ return true;
202
+ });
203
+ }
204
+ addKey(_a, context_1) {
205
+ return __awaiter(this, arguments, void 0, function* ({ identifier, key, options }, context) {
206
+ return { success: true };
207
+ });
208
+ }
209
+ addService(_a, context_1) {
210
+ return __awaiter(this, arguments, void 0, function* ({ identifier, service, options }, context) {
211
+ return { success: true };
212
+ });
213
+ }
214
+ removeKey(args, context) {
215
+ return __awaiter(this, void 0, void 0, function* () {
216
+ return { success: true };
217
+ });
218
+ }
219
+ removeService(args, context) {
220
+ return __awaiter(this, void 0, void 0, function* () {
221
+ return { success: true };
222
+ });
223
+ }
224
+ importOrCreateKey(args, context) {
225
+ return __awaiter(this, void 0, void 0, function* () {
226
+ const kms = yield this.assertedKms(args.kms, this.defaultKms);
227
+ if (args.options.privateKeyHex) {
228
+ return context.agent.keyManagerImport({
229
+ kms,
230
+ type: args.options.keyType,
231
+ kid: args.options.kid,
232
+ privateKeyHex: args.options.privateKeyHex,
233
+ /*meta: {
234
+ algorithms: ['Secp256r1'],
235
+ },*/
236
+ });
237
+ }
238
+ return context.agent.keyManagerCreate({
239
+ type: args.options.keyType,
240
+ kms,
241
+ meta: {
242
+ algorithms: ['Secp256r1'],
243
+ },
244
+ });
245
+ });
246
+ }
247
+ }
248
+ exports.OydDIDProvider = OydDIDProvider;
249
+ function defaultOydCmsmPublicKeyCallback(keyManager) {
250
+ return (kid, kms, create, createKeyType) => __awaiter(this, void 0, void 0, function* () {
251
+ try {
252
+ const existing = yield keyManager.keyManagerGet({ kid });
253
+ if (existing) {
254
+ return existing;
255
+ }
256
+ }
257
+ catch (error) { }
258
+ if (create) {
259
+ if (!kms) {
260
+ return Promise.reject(Error('No KMS provided, whilst creating a new key!'));
261
+ }
262
+ return yield keyManager.keyManagerCreate({ kms, type: createKeyType !== null && createKeyType !== void 0 ? createKeyType : 'Secp256r1' });
263
+ }
264
+ return Promise.reject(Error('No existing key found, and create is false!'));
265
+ });
266
+ }
267
+ function defaultOydCmsmSignCallback(keyManager) {
268
+ return (kid, data) => __awaiter(this, void 0, void 0, function* () {
269
+ return keyManager.keyManagerSign({ keyRef: kid, data, encoding: 'base64' });
270
+ });
271
+ }
272
+ class DefaultOydCmsmCallbacks {
273
+ constructor(keyManager) {
274
+ this.keyManager = keyManager;
275
+ this.publicKeyCallback = defaultOydCmsmPublicKeyCallback(this.keyManager);
276
+ this.signCallback = defaultOydCmsmSignCallback(this.keyManager);
277
+ }
278
+ }
279
+ exports.DefaultOydCmsmCallbacks = DefaultOydCmsmCallbacks;
280
+ //# sourceMappingURL=oyd-did-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oyd-did-provider.js","sourceRoot":"","sources":["../src/oyd-did-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { DIDResolver } from 'did-resolver';
2
+ /**
3
+ * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.
4
+ *
5
+ * @public
6
+ */
7
+ export declare function getDidOydResolver(): {
8
+ oyd: DIDResolver;
9
+ };
10
+ //# sourceMappingURL=resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,WAAW,EAAyB,MAAM,cAAc,CAAA;AA2B5G;;;;GAIG;AACH,wBAAgB,iBAAiB;;EAEhC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.getDidOydResolver = getDidOydResolver;
16
+ const cross_fetch_1 = __importDefault(require("cross-fetch"));
17
+ const resolveDidOyd = (didUrl, _parsed, _resolver, options) => __awaiter(void 0, void 0, void 0, function* () {
18
+ try {
19
+ const baseUrl = 'https://oydid-resolver.data-container.net';
20
+ // const didDoc = await axios.get(`${baseUrl}/1.0/identifiers/${didUrl}`);
21
+ const response = yield (0, cross_fetch_1.default)(`${baseUrl}/1.0/identifiers/${didUrl}`);
22
+ if (!response.ok) {
23
+ throw new Error('Network response was not ok: ' + response.statusText);
24
+ }
25
+ const didDoc = yield response.json();
26
+ return didDoc;
27
+ }
28
+ catch (err) {
29
+ return {
30
+ didDocumentMetadata: {},
31
+ didResolutionMetadata: { error: 'invalidDid', message: err.toString() },
32
+ didDocument: null,
33
+ };
34
+ }
35
+ });
36
+ /**
37
+ * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.
38
+ *
39
+ * @public
40
+ */
41
+ function getDidOydResolver() {
42
+ return { oyd: resolveDidOyd };
43
+ }
44
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAgCA,8CAEC;AAjCD,8DAA+B;AAE/B,MAAM,aAAa,GAAgB,CACjC,MAAc,EACd,OAAkB,EAClB,SAAqB,EACrB,OAA6B,EACC,EAAE;IAChC,IAAI,CAAC;QACH,MAAM,OAAO,GAAW,2CAA2C,CAAA;QACnE,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAK,EAAC,GAAG,OAAO,oBAAoB,MAAM,EAAE,CAAC,CAAA;QACpE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;QACxE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpC,OAAO,MAA6B,CAAA;IACtC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO;YACL,mBAAmB,EAAE,EAAE;YACvB,qBAAqB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;YACvE,WAAW,EAAE,IAAI;SAClB,CAAA;IACH,CAAC;AACH,CAAC,CAAA,CAAA;AAED;;;;GAIG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,CAAA;AAC/B,CAAC"}
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.52.5"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,41 @@
1
+ import { IKey, TKeyType } from '@veramo/core';
2
+ export type OydConstructorOptions = {
3
+ defaultKms?: string;
4
+ clientManagedSecretMode?: CMSMCallbackOpts;
5
+ };
6
+ export type OydCreateIdentifierOptions = {
7
+ keyType?: OydDidSupportedKeyTypes;
8
+ privateKeyHex?: string;
9
+ kid?: string;
10
+ keyUse?: KeyUse;
11
+ cmsm?: CmsmOptions;
12
+ key?: IKey;
13
+ };
14
+ export type CmsmOptions = {
15
+ enabled: boolean;
16
+ create?: boolean;
17
+ };
18
+ export type OydDidHoldKeysArgs = {
19
+ kms?: string;
20
+ options: HoldKeysOpts;
21
+ };
22
+ type HoldKeysOpts = {
23
+ keyType: OydDidSupportedKeyTypes;
24
+ kid: string;
25
+ publicKeyHex?: string;
26
+ privateKeyHex?: string;
27
+ };
28
+ export type CMSMCallbackOpts = {
29
+ publicKeyCallback: (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType) => Promise<IKey>;
30
+ signCallback: (kid: string, value: string) => Promise<string>;
31
+ };
32
+ export declare enum SupportedKeyTypes {
33
+ Secp256r1 = "Secp256r1",
34
+ Secp256k1 = "Secp256k1",
35
+ Ed25519 = "Ed25519",
36
+ X25519 = "X25519"
37
+ }
38
+ export type OydDidSupportedKeyTypes = keyof typeof SupportedKeyTypes;
39
+ export type KeyUse = 'sig' | 'enc';
40
+ export {};
41
+ //# sourceMappingURL=oyd-provider-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oyd-provider-types.d.ts","sourceRoot":"","sources":["../../src/types/oyd-provider-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,gBAAgB,CAAC;CAC5C,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,GAAG,CAAC,EAAE,IAAI,CAAA;CACX,CAAA;AAGD,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;CACvB,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,uBAAuB,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5G,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/D,CAAA;AAED,oBAAY,iBAAiB;IAC3B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAErE,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SupportedKeyTypes = void 0;
4
+ var SupportedKeyTypes;
5
+ (function (SupportedKeyTypes) {
6
+ SupportedKeyTypes["Secp256r1"] = "Secp256r1";
7
+ SupportedKeyTypes["Secp256k1"] = "Secp256k1";
8
+ SupportedKeyTypes["Ed25519"] = "Ed25519";
9
+ SupportedKeyTypes["X25519"] = "X25519";
10
+ })(SupportedKeyTypes || (exports.SupportedKeyTypes = SupportedKeyTypes = {}));
11
+ //# sourceMappingURL=oyd-provider-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oyd-provider-types.js","sourceRoot":"","sources":["../../src/types/oyd-provider-types.ts"],"names":[],"mappings":";;;AAuCA,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,4CAAuB,CAAA;IACvB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;AACnB,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B"}
package/package.json CHANGED
@@ -1,24 +1,12 @@
1
1
  {
2
2
  "name": "@sphereon/did-provider-oyd",
3
3
  "description": "OwnYourData plugin that can enable creation and control of did:oyd identifiers.",
4
- "version": "0.28.1-feature.esm.cjs.8+4c162d1",
5
- "source": "./src/index.ts",
6
- "type": "module",
7
- "main": "./dist/index.cjs",
8
- "module": "./dist/index.js",
9
- "types": "./dist/index.d.ts",
10
- "exports": {
11
- "import": {
12
- "types": "./dist/index.d.ts",
13
- "import": "./dist/index.js"
14
- },
15
- "require": {
16
- "types": "./dist/index.d.cts",
17
- "require": "./dist/index.cjs"
18
- }
19
- },
4
+ "version": "0.28.1-feature.oyd.cmsm.improv.16+a254c6d",
5
+ "source": "src/index.ts",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
20
8
  "scripts": {
21
- "build": "tsup --config ../../tsup.config.ts --tsconfig ../../tsconfig.tsup.json",
9
+ "build": "tsc",
22
10
  "extract-api": "sphereon dev extract-api"
23
11
  },
24
12
  "dependencies": {
@@ -29,15 +17,18 @@
29
17
  "did-resolver": "^4.1.0"
30
18
  },
31
19
  "devDependencies": {
32
- "@sphereon/ssi-sdk.dev": " ^0.33",
33
- "@types/debug": "4.1.8",
20
+ "@sphereon/ssi-sdk-ext.key-manager": "0.28.1-feature.oyd.cmsm.improv.16+a254c6d",
21
+ "@sphereon/ssi-sdk-ext.kms-local": "0.28.1-feature.oyd.cmsm.improv.16+a254c6d",
22
+ "@sphereon/ssi-sdk.dev": "0.30.2-feature.SDK.41.oidf.support.286",
23
+ "@types/debug": "4.1.12",
24
+ "@veramo/key-manager": "4.2.0",
34
25
  "inquirer": "^9.1.4",
35
26
  "inquirer-autocomplete-prompt": "^3.0.0",
36
- "typescript": "5.8.3"
27
+ "typescript": "5.6.3"
37
28
  },
38
29
  "files": [
39
- "dist",
40
- "src",
30
+ "dist/**/*",
31
+ "src/**/*",
41
32
  "README.md",
42
33
  "LICENSE"
43
34
  ],
@@ -48,5 +39,10 @@
48
39
  "author": "Christoph Fabianek <christoph@ownyourdata.eu>",
49
40
  "keywords": [],
50
41
  "license": "MIT",
51
- "gitHead": "4c162d14577f462070adeea3e7ec5a443c324ee7"
42
+ "type": "module",
43
+ "moduleDirectories": [
44
+ "node_modules",
45
+ "src"
46
+ ],
47
+ "gitHead": "a254c6d44af6fbb12419b55054f1db5afbe484f0"
52
48
  }
package/src/index.ts CHANGED
@@ -4,6 +4,6 @@
4
4
  *
5
5
  * @packageDocumentation
6
6
  */
7
- export { OydDIDProvider } from './oyd-did-provider.js'
8
- export { getDidOydResolver } from './resolver.js'
9
- export * from './types/oyd-provider-types.js'
7
+ export { OydDIDProvider } from './oyd-did-provider'
8
+ export { getDidOydResolver } from './resolver'
9
+ export * from './types/oyd-provider-types'