@sphereon/did-provider-oyd 0.28.1-feature.esm.cjs.9 → 0.28.1-feature.jose.vcdm.19

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/dist/index.cjs CHANGED
@@ -1,16 +1,52 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var __defProp = Object.defineProperty;
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
2
8
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/index.ts
32
+ var index_exports = {};
33
+ __export(index_exports, {
34
+ OydDIDProvider: () => OydDIDProvider,
35
+ SupportedKeyTypes: () => SupportedKeyTypes,
36
+ getDidOydResolver: () => getDidOydResolver
37
+ });
38
+ module.exports = __toCommonJS(index_exports);
3
39
 
4
40
  // src/oyd-did-provider.ts
5
- var _didmanager = require('@veramo/did-manager');
6
- var _crossfetch = require('cross-fetch'); var _crossfetch2 = _interopRequireDefault(_crossfetch);
7
- var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);
8
- var debug = _debug2.default.call(void 0, "veramo:oyd-did:identifier-provider");
9
- var OydDIDProvider = class extends _didmanager.AbstractIdentifierProvider {
41
+ var import_did_manager = require("@veramo/did-manager");
42
+ var import_cross_fetch = __toESM(require("cross-fetch"), 1);
43
+ var import_debug = __toESM(require("debug"), 1);
44
+ var debug = (0, import_debug.default)("veramo:oyd-did:identifier-provider");
45
+ var OydDIDProvider = class extends import_did_manager.AbstractIdentifierProvider {
10
46
  static {
11
47
  __name(this, "OydDIDProvider");
12
48
  }
13
-
49
+ defaultKms;
14
50
  constructor(options) {
15
51
  super();
16
52
  this.defaultKms = options.defaultKms;
@@ -22,7 +58,7 @@ var OydDIDProvider = class extends _didmanager.AbstractIdentifierProvider {
22
58
  const url = "https://oydid-registrar.data-container.net/1.0/createIdentifier";
23
59
  let didDoc;
24
60
  try {
25
- const response = await _crossfetch2.default.call(void 0, url, {
61
+ const response = await (0, import_cross_fetch.default)(url, {
26
62
  method: "POST",
27
63
  headers: {
28
64
  "Content-Type": "application/json"
@@ -36,7 +72,7 @@ var OydDIDProvider = class extends _didmanager.AbstractIdentifierProvider {
36
72
  } catch (error) {
37
73
  throw new Error("There has been a problem with the fetch operation: " + error.toString());
38
74
  }
39
- const keyType = _optionalChain([options, 'optionalAccess', _ => _.keyType]) || "Ed25519";
75
+ const keyType = options?.keyType || "Ed25519";
40
76
  const key = await this.holdKeys({
41
77
  // @ts-ignore
42
78
  kms: kms || this.defaultKms,
@@ -118,11 +154,11 @@ var OydDIDProvider = class extends _didmanager.AbstractIdentifierProvider {
118
154
  };
119
155
 
120
156
  // src/resolver.ts
121
-
157
+ var import_cross_fetch2 = __toESM(require("cross-fetch"), 1);
122
158
  var resolveDidOyd = /* @__PURE__ */ __name(async (didUrl, _parsed, _resolver, options) => {
123
159
  try {
124
160
  const baseUrl = "https://oydid-resolver.data-container.net";
125
- const response = await _crossfetch2.default.call(void 0, `${baseUrl}/1.0/identifiers/${didUrl}`);
161
+ const response = await (0, import_cross_fetch2.default)(`${baseUrl}/1.0/identifiers/${didUrl}`);
126
162
  if (!response.ok) {
127
163
  throw new Error("Network response was not ok: " + response.statusText);
128
164
  }
@@ -154,9 +190,4 @@ var SupportedKeyTypes = /* @__PURE__ */ function(SupportedKeyTypes2) {
154
190
  SupportedKeyTypes2["X25519"] = "X25519";
155
191
  return SupportedKeyTypes2;
156
192
  }({});
157
-
158
-
159
-
160
-
161
- exports.OydDIDProvider = OydDIDProvider; exports.SupportedKeyTypes = SupportedKeyTypes; exports.getDidOydResolver = getDidOydResolver;
162
193
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/did-provider-oyd/dist/index.cjs","../src/oyd-did-provider.ts","../src/resolver.ts","../src/types/oyd-provider-types.ts"],"names":["debug","Debug","OydDIDProvider","AbstractIdentifierProvider","defaultKms","constructor","options","createIdentifier","kms","context","body","url","didDoc","response","fetch","method","headers","JSON","stringify","ok","Error","statusText","json","error","toString","keyType","key","holdKeys","kid","did","publicKeyHex","keys","privateKeyHex","identifier","controllerKeyId","services","updateIdentifier","args","deleteIdentifier","agent","keyManagerDelete","addKey","success","addService","service","removeKey","removeService","keyManagerImport","type","meta","algorithms","keyManagerCreate","resolveDidOyd","didUrl","_parsed","_resolver","baseUrl","getDidOydResolver","SupportedKeyTypes"],"mappings":"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","file":"/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/did-provider-oyd/dist/index.cjs","sourcesContent":[null,"import { IIdentifier, IKey, IService, IAgentContext, IKeyManager } from '@veramo/core'\nimport { AbstractIdentifierProvider } from '@veramo/did-manager'\nimport type { OydCreateIdentifierOptions, OydDidHoldKeysArgs, OydDidSupportedKeyTypes } from './types/oyd-provider-types.js'\nimport fetch from 'cross-fetch'\n\nimport Debug from 'debug'\nconst debug = Debug('veramo:oyd-did:identifier-provider')\n\ntype IContext = IAgentContext<IKeyManager>\n\n/**\n * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers\n * @public\n */\nexport class OydDIDProvider extends AbstractIdentifierProvider {\n private defaultKms?: string\n\n constructor(options: { defaultKms?: string }) {\n super()\n this.defaultKms = options.defaultKms\n }\n\n async createIdentifier(\n { kms, options }: { kms?: string; options: OydCreateIdentifierOptions },\n context: IContext\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const body = { options }\n const url = 'https://oydid-registrar.data-container.net/1.0/createIdentifier'\n\n let didDoc: any | undefined\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n didDoc = await response.json()\n } catch (error) {\n // @ts-ignore\n throw new Error('There has been a problem with the fetch operation: ' + error.toString())\n }\n\n const keyType: OydDidSupportedKeyTypes = options?.keyType || 'Ed25519'\n const key = await this.holdKeys(\n {\n // @ts-ignore\n kms: kms || this.defaultKms,\n options: {\n keyType,\n kid: didDoc.did + '#key-doc',\n publicKeyHex: didDoc.keys[0].publicKeyHex,\n privateKeyHex: didDoc.keys[0].privateKeyHex,\n },\n },\n context\n )\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: key.kid,\n keys: [key],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async updateIdentifier(\n args: { did: string; kms?: string | undefined; alias?: string | undefined; options?: any },\n context: IAgentContext<IKeyManager>\n ): Promise<IIdentifier> {\n throw new Error('OydDIDProvider updateIdentifier not supported yet.')\n }\n\n async deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean> {\n for (const { kid } of identifier.keys) {\n await context.agent.keyManagerDelete({ kid })\n }\n return true\n }\n\n async addKey({ identifier, key, options }: { identifier: IIdentifier; key: IKey; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async addService({ identifier, service, options }: { identifier: IIdentifier; service: IService; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeKey(args: { identifier: IIdentifier; kid: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeService(args: { identifier: IIdentifier; id: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n private async holdKeys(args: OydDidHoldKeysArgs, context: IContext): Promise<IKey> {\n if (args.options.privateKeyHex) {\n return context.agent.keyManagerImport({\n // @ts-ignore\n kms: args.kms || this.defaultKms,\n type: args.options.keyType,\n kid: args.options.kid,\n privateKeyHex: args.options.privateKeyHex,\n meta: {\n algorithms: ['Ed25519'],\n },\n })\n }\n return context.agent.keyManagerCreate({\n type: args.options.keyType,\n // @ts-ignore\n kms: args.kms || this.defaultKms,\n meta: {\n algorithms: ['Ed25519'],\n },\n })\n }\n}\n","import { DIDResolutionOptions, DIDResolutionResult, DIDResolver, ParsedDID, Resolvable } from 'did-resolver'\nimport fetch from 'cross-fetch'\n\nconst resolveDidOyd: DIDResolver = async (\n didUrl: string,\n _parsed: ParsedDID,\n _resolver: Resolvable,\n options: DIDResolutionOptions\n): Promise<DIDResolutionResult> => {\n try {\n const baseUrl: string = 'https://oydid-resolver.data-container.net'\n // const didDoc = await axios.get(`${baseUrl}/1.0/identifiers/${didUrl}`);\n const response = await fetch(`${baseUrl}/1.0/identifiers/${didUrl}`)\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n const didDoc = await response.json()\n return didDoc as DIDResolutionResult\n } catch (err: any) {\n return {\n didDocumentMetadata: {},\n didResolutionMetadata: { error: 'invalidDid', message: err.toString() },\n didDocument: null,\n }\n }\n}\n\n/**\n * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.\n *\n * @public\n */\nexport function getDidOydResolver() {\n return { oyd: resolveDidOyd }\n}\n","export type OydCreateIdentifierOptions = {\n keyType?: OydDidSupportedKeyTypes\n privateKeyHex?: string\n keyUse?: KeyUse\n}\n\nexport type OydDidHoldKeysArgs = {\n kms: string\n options: HoldKeysOpts\n}\n\ntype HoldKeysOpts = {\n keyType: OydDidSupportedKeyTypes\n kid: string\n publicKeyHex?: string\n privateKeyHex?: string\n}\n\nexport enum SupportedKeyTypes {\n Secp256r1 = 'Secp256r1',\n Secp256k1 = 'Secp256k1',\n Ed25519 = 'Ed25519',\n X25519 = 'X25519',\n}\n\nexport type OydDidSupportedKeyTypes = keyof typeof SupportedKeyTypes\n\nexport type KeyUse = 'sig' | 'enc'\n"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/oyd-did-provider.ts","../src/resolver.ts","../src/types/oyd-provider-types.ts"],"sourcesContent":["/**\n * Provides `did:oyd` {@link @ownyourdata/did-provider-oyd#OydDIDProvider | identifier provider } for the\n * {@link @veramo/did-manager#DIDManager}\n *\n * @packageDocumentation\n */\nexport { OydDIDProvider } from './oyd-did-provider.js'\nexport { getDidOydResolver } from './resolver.js'\nexport * from './types/oyd-provider-types.js'\n","import { IIdentifier, IKey, IService, IAgentContext, IKeyManager } from '@veramo/core'\nimport { AbstractIdentifierProvider } from '@veramo/did-manager'\nimport type { OydCreateIdentifierOptions, OydDidHoldKeysArgs, OydDidSupportedKeyTypes } from './types/oyd-provider-types.js'\nimport fetch from 'cross-fetch'\n\nimport Debug from 'debug'\nconst debug = Debug('veramo:oyd-did:identifier-provider')\n\ntype IContext = IAgentContext<IKeyManager>\n\n/**\n * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers\n * @public\n */\nexport class OydDIDProvider extends AbstractIdentifierProvider {\n private defaultKms?: string\n\n constructor(options: { defaultKms?: string }) {\n super()\n this.defaultKms = options.defaultKms\n }\n\n async createIdentifier(\n { kms, options }: { kms?: string; options: OydCreateIdentifierOptions },\n context: IContext\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const body = { options }\n const url = 'https://oydid-registrar.data-container.net/1.0/createIdentifier'\n\n let didDoc: any | undefined\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n didDoc = await response.json()\n } catch (error) {\n // @ts-ignore\n throw new Error('There has been a problem with the fetch operation: ' + error.toString())\n }\n\n const keyType: OydDidSupportedKeyTypes = options?.keyType || 'Ed25519'\n const key = await this.holdKeys(\n {\n // @ts-ignore\n kms: kms || this.defaultKms,\n options: {\n keyType,\n kid: didDoc.did + '#key-doc',\n publicKeyHex: didDoc.keys[0].publicKeyHex,\n privateKeyHex: didDoc.keys[0].privateKeyHex,\n },\n },\n context\n )\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: key.kid,\n keys: [key],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async updateIdentifier(\n args: { did: string; kms?: string | undefined; alias?: string | undefined; options?: any },\n context: IAgentContext<IKeyManager>\n ): Promise<IIdentifier> {\n throw new Error('OydDIDProvider updateIdentifier not supported yet.')\n }\n\n async deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean> {\n for (const { kid } of identifier.keys) {\n await context.agent.keyManagerDelete({ kid })\n }\n return true\n }\n\n async addKey({ identifier, key, options }: { identifier: IIdentifier; key: IKey; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async addService({ identifier, service, options }: { identifier: IIdentifier; service: IService; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeKey(args: { identifier: IIdentifier; kid: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeService(args: { identifier: IIdentifier; id: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n private async holdKeys(args: OydDidHoldKeysArgs, context: IContext): Promise<IKey> {\n if (args.options.privateKeyHex) {\n return context.agent.keyManagerImport({\n // @ts-ignore\n kms: args.kms || this.defaultKms,\n type: args.options.keyType,\n kid: args.options.kid,\n privateKeyHex: args.options.privateKeyHex,\n meta: {\n algorithms: ['Ed25519'],\n },\n })\n }\n return context.agent.keyManagerCreate({\n type: args.options.keyType,\n // @ts-ignore\n kms: args.kms || this.defaultKms,\n meta: {\n algorithms: ['Ed25519'],\n },\n })\n }\n}\n","import { DIDResolutionOptions, DIDResolutionResult, DIDResolver, ParsedDID, Resolvable } from 'did-resolver'\nimport fetch from 'cross-fetch'\n\nconst resolveDidOyd: DIDResolver = async (\n didUrl: string,\n _parsed: ParsedDID,\n _resolver: Resolvable,\n options: DIDResolutionOptions\n): Promise<DIDResolutionResult> => {\n try {\n const baseUrl: string = 'https://oydid-resolver.data-container.net'\n // const didDoc = await axios.get(`${baseUrl}/1.0/identifiers/${didUrl}`);\n const response = await fetch(`${baseUrl}/1.0/identifiers/${didUrl}`)\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n const didDoc = await response.json()\n return didDoc as DIDResolutionResult\n } catch (err: any) {\n return {\n didDocumentMetadata: {},\n didResolutionMetadata: { error: 'invalidDid', message: err.toString() },\n didDocument: null,\n }\n }\n}\n\n/**\n * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.\n *\n * @public\n */\nexport function getDidOydResolver() {\n return { oyd: resolveDidOyd }\n}\n","export type OydCreateIdentifierOptions = {\n keyType?: OydDidSupportedKeyTypes\n privateKeyHex?: string\n keyUse?: KeyUse\n}\n\nexport type OydDidHoldKeysArgs = {\n kms: string\n options: HoldKeysOpts\n}\n\ntype HoldKeysOpts = {\n keyType: OydDidSupportedKeyTypes\n kid: string\n publicKeyHex?: string\n privateKeyHex?: string\n}\n\nexport enum SupportedKeyTypes {\n Secp256r1 = 'Secp256r1',\n Secp256k1 = 'Secp256k1',\n Ed25519 = 'Ed25519',\n X25519 = 'X25519',\n}\n\nexport type OydDidSupportedKeyTypes = keyof typeof SupportedKeyTypes\n\nexport type KeyUse = 'sig' | 'enc'\n"],"mappings":"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","names":["debug","Debug","OydDIDProvider","AbstractIdentifierProvider","defaultKms","constructor","options","createIdentifier","kms","context","body","url","didDoc","response","fetch","method","headers","JSON","stringify","ok","Error","statusText","json","error","toString","keyType","key","holdKeys","kid","did","publicKeyHex","keys","privateKeyHex","identifier","controllerKeyId","services","updateIdentifier","args","deleteIdentifier","agent","keyManagerDelete","addKey","success","addService","service","removeKey","removeService","keyManagerImport","type","meta","algorithms","keyManagerCreate","import_cross_fetch","resolveDidOyd","didUrl","_parsed","_resolver","options","baseUrl","response","fetch","ok","Error","statusText","didDoc","json","err","didDocumentMetadata","didResolutionMetadata","error","message","toString","didDocument","getDidOydResolver","oyd","SupportedKeyTypes"]}
package/package.json CHANGED
@@ -1,13 +1,14 @@
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.9+71682ea",
4
+ "version": "0.28.1-feature.jose.vcdm.19+2c20244",
5
5
  "source": "./src/index.ts",
6
6
  "type": "module",
7
7
  "main": "./dist/index.cjs",
8
8
  "module": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",
10
10
  "exports": {
11
+ "react-native": "./dist/index.js",
11
12
  "import": {
12
13
  "types": "./dist/index.d.ts",
13
14
  "import": "./dist/index.js"
@@ -29,7 +30,7 @@
29
30
  "did-resolver": "^4.1.0"
30
31
  },
31
32
  "devDependencies": {
32
- "@sphereon/ssi-sdk.dev": " ^0.33",
33
+ "@sphereon/ssi-sdk.dev": "0.33.1-feature.jose.vcdm.56",
33
34
  "@types/debug": "4.1.8",
34
35
  "inquirer": "^9.1.4",
35
36
  "inquirer-autocomplete-prompt": "^3.0.0",
@@ -48,5 +49,5 @@
48
49
  "author": "Christoph Fabianek <christoph@ownyourdata.eu>",
49
50
  "keywords": [],
50
51
  "license": "MIT",
51
- "gitHead": "71682ea0c528f5b32c421245c253b3bc9d6296a0"
52
+ "gitHead": "2c2024461b7732a2b9c6e6940cc399d5ca4626ac"
52
53
  }