{"_id":"@sphereon/ssi-sdk-contact-manager","_rev":"50-fd36e4fe4da63873f0bbc9a037160486","name":"@sphereon/ssi-sdk-contact-manager","dist-tags":{"next":"0.10.2-next.11","latest":"0.11.0","unstable":"0.10.2-unstable.72"},"versions":{"0.9.1-next.55":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.55","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.55+6a7ec2e","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"6a7ec2ee42281456394a8135cc973a33ba3ea82b","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.55","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-uoIKoxhdEdEXL4YA/PWLRym3hbcIcMn+z/2IrMILGqJtxoE6o3AHJKFyqQrTEFCjBetPCLw2dq9Fi5/QE7UZgw==","shasum":"d4102bd95fa0cbd1a80bcf368be2e1ffdd5c7f46","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.55.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1P+MWy7ksGwBmfqcBioPz1S//EbgT2KrM+oxecuhPfwIhAJEkvpsGvWa3P7tl3NRDygyOSujwVUbCt4BXmR2bhuW7"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFFR6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrMihAAhqqCyhMBIbSJKRtmOzt4yk9FmHmYgDG45RpPE1jRDMHaSdj/\r\nz/dxY2FA+TS554FSR+ODgJQ9lfOY1oHsBnlFLh+9jeaQeYVh/W/FKNHhYlqa\r\nYUnbXpIvJDjb/FRHWEaSWeaeDcxwtsVJ10azTOnohhR+kgyg49IMDp0XmccV\r\n0C7x21PhLzcerafKoWqglG6kfvZ395G/3z6cwfGjD9QlAFChM9OIx/2MFTLX\r\nLUuLs8GDqiRJKhYlMwE1eRnC7o/HiPeaXPCBkHKkzsJ8ppNEtoDoD89cONbO\r\nIe/MDUNQyWhvL24ann69RrWPQmsSuhWJozrQTfjkQXI4cw+PJnAq0yU9uHkb\r\nYCA+1zMIhmEMYr6dA++t0eBrL4t6Y3axxFhlOPo6UJzaAIIg5Uxbyba1kK/l\r\nqqNi1ucnqxBnx+ToTFwTu4aaM7faL4eP7af3iPWmmhYM4mXssqypDLTBDRxV\r\ns37xQaWU19i+0iXygltZhN6hW1LCYn8kGeeqeGzRTGoxTg9CMv3nysDhTCQS\r\nPHqFTiQzMD5LqLKX9UcbAr/GEJ0fqBOn/NpFqeN4OdRIE50pFSHCJUmpyC6c\r\njTPtKEt9H/L3T/dsmZ2JNVvGu5cMhHOpU9MK1AHat1NMV4YdO4GwgcWPclXM\r\noXWuOYR+yE74H3iTOvrJoTUTxiGfy6e1vvI=\r\n=RuE0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.55_1679053945822_0.19279842421782223"},"_hasShrinkwrap":false},"0.9.1-next.56":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.56","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.56+22d9f1a","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"22d9f1a3c4e8b3cd58de013ca244898d7e3e91af","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.56","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-vI/OqAdlOIlNrxUfC3eyBIDzl5BKaNtbjpiIG6vS3wM3lDk2xq3P3hkkOOQ8WSZmfCzTELRqmaN2nRLi7eBLBw==","shasum":"7366eaf1cad6d05349561920f9cdfcfc5a9dbe41","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.56.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8wVRPZeBFazW0N1bCMlShrgEXvPH6iSSEOAj9gwVAjgIgaKqQGQ5iXGRzmjNtV+bBF7w40GHA+28o2S9GYx8OCs4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFlGbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPWg//ZwYiy1/zzPr26XTgbIgaLixk9HeoBMD+QD9/V2ILhYvvuv1x\r\nXavsEVPwoFBcl/nhczvOaMxRxo84rxf/dTjCZUZ8GzWsAICWgxJlRXb24JTX\r\nQOfrZwoaf8mNMMYwLywfU/MrptTJfXkVyg1eOEY3927+nBqGdOAJntRKHncs\r\nyfYCrbYCNsSvxm0wo4fMlY4768zk7xnXVHIAhcUAoscFNy+SJLkytdrJ5iV8\r\nyBWEpLIYSYopi82lp+TQt+Mvi7zPldoriViowJiTQtYdPJrxpNbvg/QN8dsE\r\n6SQz0B6srwPiziTYOLjAgmMLlg4srNTz1Mqs3Zl+kX0dkGJHp3b3yio9AkTx\r\n4NA4dbTjmdfGx/JB1MRQxHPpirtaUWmY34nvKtPxsIv66yjt3OSsbICv2oM5\r\nYtVrmITHM30eyiA49FkwOEa3LccliO+7xDWxXKhdbDoxuvcEGNZkCNFGCOjr\r\nhqoPInhGrZUTJy5NthAI4bdHJWt7eWfKZvfQFlWX1vwDvc+WYAKA4pK9vTOZ\r\nGXGk98bWqdXnf3eHmorSJfqjEBVTkP7ZqqObN9PSYN2AZB6LyXIE5A3bC/WY\r\nmcTZKPCXbZQR53yKXkEp59YB3fzxFrfodPH9ub07BLrKaC7GJn5ZsB0DW6uO\r\nS1ZZm/hcqlWknZ+NoD55T/xj3r/dePL9kfY=\r\n=xsIs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.56_1679184282958_0.11924215623308831"},"_hasShrinkwrap":false},"0.9.1-next.62":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.62","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.62+867d15c","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"867d15c0b2f2f7647eea939e8344c69a462466fe","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.62","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-Gcrx/0gTaeLrnEKOwaRGs9dAWMZ/MlXXHDs/p7o9lgbYM0trDYzKNBkWWOW6ak6iISbn9xCm5/LpNKFMeXRIsw==","shasum":"fcf9be10ae378962d892c39f9f2c0fffc4629bd8","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.62.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQ5wITCJJh4dE3YamEzHjI+4KxF5qRZWhQd35oz3Rg2wIhANfOA/8jaItR9/FUYYW0Fs31Z2NgjPly3C+kdkodwAto"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGk24ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmraTQ/+JivDEqTM/NF3e17steHGHEgJOIfWLyzr+jPoxCHy1ayqU0I9\r\nh7jOhRFDgVpF45tNqT0EKpeT/+i5rBsFCnxie5o78GOiF3fSUOgjs8ibY3jG\r\n4OvxvqVFikm3iT5MdsVP20aEaJWqEKoJmwqDbjVIeos9nt4QK9qeDpdqA8l0\r\nPwg9qYwsusF751qszRhPSgjYTzMy4qSAkN2s83E4DS7HneBo8LBUJUNBzJFp\r\n1pRjyWNhL+SJV0t5YWKFmPqr5jjrk18oex3k9aFLfnZb+afUFFw+FUlkv/v+\r\nUwWQn3minw2M01w5e65lMuaGZjNWn1oJZhgbXUsg/bsEYNpdUuSvvpbA0RGH\r\nmxAEcSBchQmDm+WgDrLviISOzmJ+Afon0yCUTnc5wQlnRjE7yua1W1dpS1w4\r\nS31WlioRQkx1r/EHZYOwSr0qrCCpEnWLuIzzm/Vlv7PTDccIvNw6Va9ZxWsA\r\nKvmXUmUYr3KLJXDsXS9tLBiGcfCu+Ck3Z0rjbylN4FTaaa0h/tdiiuQX+jaG\r\nicsPlYCqfCMhPOMllBl3Rs6Xc/MV5LTHoJ2C+lYvl6dsUcUa+Hi1oR3D4GLn\r\n0KgIx5VWr6+LurfHJ1sNS6Tt6JuNTFy3EwzTraYOQZB8lUSPYCJcdqOP63lg\r\naPxN6yWzARTExOBTfrtIVzlAZ76fH3rVD9U=\r\n=F+s3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.62_1679445432616_0.44259894638424035"},"_hasShrinkwrap":false},"0.9.1-unstable.66":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.66","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.66+61cb806","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"61cb806b4909d593791158fee36260b12301d2bc","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.66","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-XemGgmbaHHNswA33wmvVyf1F25BdijZ4uufoPMH5a2itEnl/Zvyaj0QOKokuUn9/q71AEMAcoIRlxi0EE6Z5Fw==","shasum":"a420faef8d7c445001ebad56d201a416aad0acba","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.66.tgz","fileCount":19,"unpackedSize":54760,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuyl6kZXpQzFn6yEOrZFUA+qgUgRLmDwEutQv8lpZnwQIhAO3KGa3e8p5kGg8pJug3/2gVN0XaIkhsDBUl/14bAE9V"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGu8VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCSBAAla2Tdc9gKEwgFepOW3qQk35aWh8ZNUP93UMbvG9qNOUzUCfD\r\nQD6TNttEX4nuph7shpocieyWp2s24QxYjHPb7Exy3flitGQmtIRd08hcaD9n\r\nhrYXHgx4pIXD2v5j9mRXKVQdBXY710K7UdTZrPxjv9cI7D72ilraOU9SL1wg\r\nTMQczRFC+a3/t9VUaiosTrl5TS0QGBCOl0BVUVYngvUVf023euHsK1CKfSk1\r\nmk95UC6QDZEBgXC7PjbwKlvbfDKVhGsPNsswtQOJ1Nb2RHdnl7YYkRtmJDpy\r\nXjaGyRTDgEjpV+C1xF6sFw/gTAPduHYiu/1P9RsuodHpo1GyqkhE/Fy0DX9P\r\nupRteo0/xz1TPFWGqWRhll9ZorHKM6yI6QVfcEQxKiB65PmY2YhdypXryv0O\r\nczwdvXtNqsIcFhShERzjYRqkTxwJmUnbpX9UEWKg0jw+RVthQeiu4FvZMJ7s\r\nfdt4kOcUc01bV7Yrb4ILGJ3crP9blxDJoTwgjEe+v2g4yubwaAsmeuQbjR7g\r\nSYwp/h5sX2obmyoAViL3tjkQX7PmHXX/DBhehTyhV7/JPK1c8E7WhcBae5tQ\r\nz4Gfd2gUZBrIikPEqrvbn/yHRE5+l3HFmmOTcNKLbjQsXvP28X6siBzl09ix\r\nopDnnohCwFHfFcWtF306FoPffxZ1Tn0ryPE=\r\n=O7ce\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.66_1679486741303_0.7047201400341587"},"_hasShrinkwrap":false},"0.9.1-unstable.67":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.67","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.67+789c507","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"789c5070d6a1d4d0176243219ce4f2642e8d74cb","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.67","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-qFbG8A1e2jCT/bS4a4lNSN3yvD1e8HnHCyVNtSEz/71u0GK90xJ357W6uuylCY90SYDmuxNKbdp7/gNHyZX8VQ==","shasum":"49d768413a6bf4a0c763a689e1bbed5f3301ba61","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.67.tgz","fileCount":19,"unpackedSize":54760,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDRMG5/+a8+bXuRX1n5EiCTMu5JUkggNmZZRbHTu+TKuAiEA1GthvqDVdRVGv49xf0UZw9IPaBCgEMuwX8UWIHS0uhc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHBfpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokPw/9HOVxZEHnw49QjEv2C3uar2aiTzPBNm1Zn+EwR0vWmb+TLq6h\r\nEm1IB/WBzOyFw2PZUUNZGTxnWr/9aSpO8rjdOZ+cbp7Y4QzfKb3rjYybSmLd\r\ncy52lIW2tWbp0/mAF3DN20hgQwbXnL4VXQUltX+WfzW1R2B27gGfX6iRmUyF\r\nQhyFsudq4YEF2MI2MD0gZDnpnsU/Xk/7VoMSrjo/T3Cfq2qL8rr5B75OVq8I\r\nrEAAEGhdwmfagx1g4/pWwhTk6IQIGcHFZ6Z9cFqX0CIDXRQVbuukJaoGU6a4\r\nowKXb2KeKAP6ijvcNjUcRrJ3zQuxQLJUl5dEjLxytMutz7ZlMrPjfldZH9ln\r\nifqKNHfHhKPdz7/0VJg45XNPzMXWoWtx1p8TFfKrhf5W76UZVX38dQ/tOT4z\r\nFsp80SgyVw0M3PTcqVvzqNn/AK/4VnaVxOt8e1/fxJI4IXK2yNjYnn1LzVXM\r\n2f5zwHIQwa40WZuK4YwnZqtLZzmtsSBWCzKO6qj21xIrUVrk1cD9tf64at95\r\nMEDHYbSmgddEBEuP5MP4AV1dm5mphkrQd+CjXisky+S+j9U/jcbhxxjVvJW7\r\nQzR6Q7Wjs+SnTUKloGrinn8cgSg3YV3YRJy7EiGAl/AnpCiD5XE8vWvUyehm\r\nMv+uWA3YlXyNngNHWTVlSGIYjfJOGh3BQzM=\r\n=FqYS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.67_1679562729701_0.7929624028922517"},"_hasShrinkwrap":false},"0.9.1-unstable.65":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.65","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.65+9f05c76","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"9f05c76e0ad11f5d2229b3ebb612e921a1dfd590","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.65","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-6XS5b6vWhmUgke1nCKGMQsAHwQoXiH64R15xvuGGDFlk00A5PECW2+7FoSywflixasJfmiiFo5xzkYAOug9hMw==","shasum":"ee8ac0f8d85129043f6930fe715f53f9ae3385d2","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.65.tgz","fileCount":19,"unpackedSize":54760,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBaacafA9OjQP9EYQH/tfxQRDet0sx7ilBPq4u7TlqSkAiBiKosKj86rrcsZAoR5XOx+qiH91wpeb8MaRKpNMP2PsQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHD6sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9yA/9FS7f1pV6zQU8VwAB3VTnRmzmuJs44JXuJjVWdEj6zGEQnQfX\r\n4JD8YbMyiizgt0g8HJUVE9yvC8BJvPTyHeI0Z3l2liyBuwiqnCccNkELK2bG\r\nEtWQpxhhWYt8vvM7je2keWs/W3RSGTGuYhYyC/RSEjH9qB9CsfZagbdSdCNs\r\n/p0LN899ZU28sp+f++5OrWvXkAK9NbH3L+Tmr7lg1rwnn6jF4PDMjXZN8ZxF\r\nJGg/R6agXd6F+9Q7vYRXfhwPIT65Q5otczJYP39llb7ReJy5bvBL96DM4pPQ\r\nKQ59uXIZYIYVzSB6PjMbFm6b4Mu96ZsSnTHWxO1MqzGlhDz6eFvoPwbN2psG\r\nb/skzoloXuRZ1gHLfrGRGGyq0ZpfyG9gvzw79D415/EptLaionDiFeZsJ4UZ\r\n/JYVmc1kPhc1pkpHQqeGnHYnx+JeE5w/hdoDq5G3DIeaTZ8lPd3rherRaMU3\r\n84zhejuMZ3CFWMgf1JM8YH59IbXpXlfyB3rPAAifXf6aZuLbe/jgdH1bjKwr\r\nxfe0aeZ17mVG4zoi/Yzw9Nbcho/Ttas3ksG6RlKUVvcO2dik2mYJC5m1KCuX\r\n/18u20MTEM7p1cOIq2wGSH5ihh1u6y7w4FQYMZiiTNMgnmchsyH6YsqW6plE\r\n8E+AZxUcGD2nNs+GCXftbdZ0VIxOvdgBcfs=\r\n=JEr8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.65_1679572652100_0.2003043709468626"},"_hasShrinkwrap":false},"0.9.1-unstable.68":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.68","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.68+5363668","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"536366823b09bdb6aae23ff5d4f87098eac68ea1","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.68","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-e2TzqEAWveK068XZ13zzS5uhRyF3uX7hdIRt5gPaW4C3jIw+HuAuoohY1uu96o1+FhrYTNyLS5ivCx4rqs0SPQ==","shasum":"e2004f409274ac7d5ccd148ae52d078e1fa58967","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.68.tgz","fileCount":19,"unpackedSize":54760,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDZtlSYqgJ9N1vmIlhYzo9BhlpdPFjXGdr2VQCuTb9hQIgCNsD53Mfhh92nkb69h447uVChUQQlaHwRCwP+j8MOJw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHGydACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqWuw//WJYZpigW/kJp3Bm06lzSolIUs8Xy9KWNT7onYDDHT+w15d69\r\nvIcN/63EmJjxIgCzibdfec6eR/EGnBrXh298PmtQITt/VveHoZ8zVFrfvCt5\r\njqPlbo15Dgy4Tu1uCoIStl0xIXlJWHwnBqXs6Acceo8PM1n0Z3LGD3hpVIb9\r\nKKSa1Aqya7Ulyei+O7Q+TdehzM2TJ9/BGCa1XPJIIyxmtTb0+bzFhk6/uUA2\r\nQFAM46GP8TxdOEqhYt+N4g9tgheGxXlP/7QgZK7d4afXY5OomoOV8cRTTXv9\r\nOoaTtvYGt440EeDUZ2AmdlYwkQDO84hti18FHZTaMIHSU76wx5EHRd/QJNtE\r\nMQ6nfYiwhgCSY6o9EvowB5K07QkJ+DI2zoHYaMslNhSRf0HyBKnB7ZR8bCI+\r\nHDhC6DS409Jy4CiKcJ0QFoQEN1Kn1B7wbNRTEL0G3yz7Wa+/jn5rWNgn9WhG\r\nXRZwBT1A9rhZaHCUy0MRvc8V2tHU84wxfsBLOX1QuJCFWMlhoqNFgT9cyDeu\r\nQojevswI/V9FapewzqfLSml4m+V9VK+DdCxmmjj6SdMolmp3AatVdZ29ZQhj\r\nVYWmV0ci99mRV0EYQfWQ03nOYTV8MQ6e0MfNYdipH/l9tdcajpLEttGeo6es\r\n3U3cSS2bjjhJuyhxJyYmgGBDm/4wrgrrhBQ=\r\n=Xpxw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.68_1679584413071_0.9675522696371408"},"_hasShrinkwrap":false},"0.9.1-next.69":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.69","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.69+d229f07","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"d229f07072144fc691a1e2dff575a7113373495c","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.69","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-012DP/qKnaAuWrAFyJCu9aTy1rX/OC5lyg5OmOtuwxi34/t9amU1BK4zyTmG+NYKAcE8X3kBE3FqhPx63mUCNQ==","shasum":"7332fe696081484311ceb7ab554ff35df6005b8a","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.69.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdxLUy93WOIuH9en5R++ZOcCTZEcwKUW+IN+kSbpqG3QIgCZORYhrDqvlGDMm3UAcuKV2bqffNqdsmal63DhisJbY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHZCQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmouAxAAhAHesLFPbsLE6JCZZgCRwdZkh4HhMmDnZZ3UNgQDHEa4sbeH\r\nmBeIcgfD7SeU2f3kT0G4YcnW6A29r5KICFIW9uLGQ3syRl98O5b5lJ8r9D4d\r\nH8WVSPg4j2pQNpRI7qjXeIXUrQ5JXkM5YzNIZX4l0i0Pcz32toyDxkJCcN0A\r\nBHVG3Dh3dqWdQa4fbdCAVvBZHsCYTZ0xzWn0boPrYKcmrs5rf3Fh8BODT9nt\r\nJTjqd4mHjIxf8UFid3XZ3I9lNgJPbiCrxOMxpJX9oj6IAEp64+JPIyGcMBXZ\r\nNM0LnAPaFMCDHQSJ7RGLSYS/5F2UeGO7LPaOwzOraJx6np98VvCEUQVUchit\r\nCe/VVaQod5Y8kylSRUeX1MHx7EwjzZODeq56i9dzzkjz9v8b0z2kdI4VdVQL\r\n8OwWedJtshYft4VtdheUiBSKUziddeGk1C8m9lpWTW5cYlBRWfhAbFBEqquk\r\nqNXdLh2Fkz5KdrptcO2AHxvK8Pi374Ue+E+aG8j8PnjYZD61wX2oBXGF8zK5\r\nOfEzikVxq82SbguNa427f97gT11FM4TL3anDjGYAczxyfvpBsvruT9/XEmBz\r\nPHPcX73HoTncqmqHjx11gDVKEjTJA7Di4ULL3nXpf/u/S07UdO6NRedrQG82\r\nhCdqRBrCbaM25HgziGKUOEgQuXDwAupj7mk=\r\n=G1Ha\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.69_1679659152389_0.6832694517028721"},"_hasShrinkwrap":false},"0.9.1-unstable.85":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.85","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.85+2a31791","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"2a31791523e2053c51f99bd5f3bf66304d8e7268","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.85","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-2ZjcVNC1YPsqAkDE+nK99xbxJ51oj5GHmjrW7mRvOtoLdYho32jWxaz1tmaKJwmZE/zPNQ22TBNvM973hHOygA==","shasum":"08ebc8da04da4992d84dd6ac91873f7e27b0ed0e","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.85.tgz","fileCount":19,"unpackedSize":54760,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChGDlJXyBfoQyslTHZQPPXWEziuzMy70WMXrSWEgGw2wIhANlSaY3TH1t/JDu2Nl0f0XcANNG7RupPeWx63ySdXa2+"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIXTEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtYQ//eIOW5WlP8urfS6nPGXicAeQIadDDgRInz0wkTWsQno6CpY4F\r\n1N5uvZFKwad70i7hNK7AXvuobPDSgfSxuBFs2V7PUNJzYnzp4FhIW8AjJSpA\r\nRg+jfZs6NgWU/9HET0KPE3291htkOiV/EbTywPDLr/FPyGbMuWC3L2UzTNQU\r\no+G2MUI4orMY6WOFZ5he3+Pai7KNBuIssJZhQT+wQuo+sV+Ers2S0XKiJSCe\r\nXbWknuy3z/pX6xt3aPPwLMsyq/oEWeFFNWDaD+zSX+gt+qM+DhBr3wpHoowM\r\nN0CZNEazsGBeAl+NkFqAjx/u8Fd0qUcN18pk7CxwOduzyx009UfU20IvNVAZ\r\nivXTn/LkpOVl13KXZEOfrMA8NaqwbPmXFDbaqXeO8VMnxfw3NOPPqIPIq/ku\r\nZuIfyHiQQ25CzbjfgAErtIyzyosEmnV5Ww99744ruAJoXIPe/pm9VOSjFslq\r\nVuSudAlbTgZ4iDIelNU1hkI9GOmX1lZ+g6BszwtD3IvGcMxF+pNlMALWQR2G\r\ni/DgzMt/4Yf++ImJ7ss1UTtDnznrh1N3I1VzDQ4QGbTcalG7+IEdymtp7Deh\r\nbr8NuW7EyBu/S7FtAE3C6OyukBXLFnDijupbeUPgro85YuPvhkgzv/l2RCU5\r\nEEh5VdN6bZKEqZBHnT7JmIG5Rzz4RHYnpC8=\r\n=t9BV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.85_1679914180595_0.2899468062148851"},"_hasShrinkwrap":false},"0.9.1-unstable.87":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.87","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.87+fcacce8","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"fcacce8a15dc0d1555c57afa143c25116bda8224","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.87","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-edQ+rspl6Dx0E9YFttf8WExXDcXdFv+bW45rtNHy/nflg9QyXSGTYfo/Bet2BDHwvTp6EAtPIDPCujPh1JNeFw==","shasum":"12fcb9c9b19f2206fb6703f29f89f0e3cc1a015b","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.87.tgz","fileCount":19,"unpackedSize":54760,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBV2ajQlfvOf8RIp/2mfNZVzVnl7YvVYmSzT4kX0lETQIgaPbUs3caqu3AibSm7QT3JivqA5LSnOLKjrSH9m3njL0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIYd5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmojgw//U6/x4oAMs+LxThzjQs+OgqxzsrtA85R8zmMcpgE2V6gB71p+\r\nbc3bJvOkuN2iCtdFBxoIR8c6BnWbBTUtJDoi+oPUikYGntIkM1YoJI6C9fyM\r\nbm6zbVHbkWMhubiGog5b221tW9aq6s4rSMs38rrVCTKZflqkNOwq4LdPefJn\r\ngnrxHBpovadJGIMVe4Dg4EK1PQKILIJMU/HE8wMtJn3B/Lp2mWgedD144F9s\r\nODCDPZY04v3cCRZLJMRre+g6ktQdFtyH6K7EuGs8wAHGs6i8//JrrXMsOV6r\r\njRowvdzmEn5SA7mwlcEKFKHHWgMsHr7ndBtNKVB/MvZvbsp+fDuO1hac89UX\r\nkD/FcYzUaHXF5TkKGOBLGzBNHyEcXZXwWnsvu8SVPkk+PpywpOTOTg7pV3M5\r\n/lQHfUtwbLZgKsl8FXnf1wdOnhX9thnHmaz4nlG4oG3opejo6XiuaqjNJIZ2\r\nuF5EuHr2Gv/t5tVKyUw6p9sR/R28u1MZ7P6IZdFAz6wUN3w9OZOaBq4ABJQ/\r\nZioj5FsstQNt1jwuC0dRFne5lBbtqei6Gw6uuYSwlz/1zzG3En3ElhnkZRAK\r\nb2YxiKtLSqQKdD8UKNCbLy80fghwZilMJCx/or3w4fSb6IISiWtpVpiaiumC\r\nI9g6BC20T2zzenUarI8J4ZPCul5Iev23QfU=\r\n=IWFM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.87_1679918968840_0.6869936359580422"},"_hasShrinkwrap":false},"0.9.1-unstable.88":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.88","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.88+bc20d25","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"bc20d25d9b58688fa745e6e1020979ad936025c0","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.88","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-uedW93JqNRmSMJyBIQOq0vo9O3IF/Q/0fIVKXaqad2hgAVG32MGeTyAkQ69hSlBFpMWXwYQreh6kqgzYLiZGKg==","shasum":"fc9fac0b017c5f645636e1884020ca6fcb4fbf68","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.88.tgz","fileCount":19,"unpackedSize":54760,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzKY1Na7z1l1FZQhD+72z2E0tNkD4MvxrnrvpM9N15XQIhALeJfshoPJGq7wo2vzfpKpPN1+GGzjj4cw7wsXyK7sif"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIYgTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrD9g/+JpLY6fZaTPBGTJx0b27Xx15QtoZ3UX+kbWlkPO7d9FbJiEas\r\nu85AwPo/wsJbTYVVeLlq/xKCY89/uJdc8hjCsK+GdaxOP4rmKzfoEXPmdp3u\r\n+GwjNvhW3gKSMfVMwQIifdZZa28NAK9Lzv+uaI24TMM7Als5u3nJjxSArU+o\r\nkSethmMN3LLQXAM6B8bMPYnGx9NwbkJgvIg98oEvtxjfs/0Y/NrPBfr8DKXU\r\nZSseMM0F+cBahpwoUb8dvRQJsR2e94gBmxsIM/p+fBSHabmnuV5s7FllCNw8\r\nkLfzAATm6rnNV1YPUCoVZ9YHCB2vyWqkiPDHM/6A0k+W5lDaJZjC30TGVG05\r\nDUqAR09cruQ1rSq24YZ12/x4Q+pBizoBf0dEqKP20N3bZglg5dLWYVURT2vR\r\nXh5YrRG4vh6P+WLehOin+kRqDujqiq7svn0M9AlS/6Nep/dHiRgn116DnOnq\r\nqF/lQ4j1m94Zx2ilkT/iIH1C+GXEj2QcbdNoSTkFSZLejBpFS9K27/blsQ/n\r\nwb703alvT+uPF7+75PIUUGziXCvs68I85KNCa/iuEKJKU3kQsfY7iA35ZxkM\r\n5cSY79YDdyMppgYsGeYN2hF2Z6p7vfwe6/tJaB9VQF8L0NodD71TnlKMnYby\r\nm2t4WyOQQAckY6AYNswvCBama0L4ctPU1rk=\r\n=J1y6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.88_1679919123054_0.6469669993761753"},"_hasShrinkwrap":false},"0.9.1-next.89":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.89","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.89+163fa09","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"163fa09b8b1dab08dd59e07ddd28d4d0802fda5d","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.89","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-7Vy0rAXkNcU20B0Sx3OnDgAKDUYa4Qot1FAd09InLtySkhwI0gGfiuRmmaSSLQVw8afWH3GW1MP2QbHTNSp2FA==","shasum":"8ed1abf3e2422696ffbce870e021d833bef4c2a8","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.89.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDo7l7f4/NRw/9vFkr94YHh8QMpQr9p4TZGMrd+zo2MkQIgVtXdRolhD110986D8KMZ4DumoOAHfMz7ufA6eIwVQfg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIgvZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYfQ//c0kKV+r3+5ElCr0t+Cza/Ccflztf68toyE70x5x9X2qn07CD\r\nTpOrFKcsMMG9y6mCZm75x5DfrsF2FQ6HuoyvIVkbNcl1PhKBjt2d6NC0i6Nm\r\ntZoQpBh0pbSVRiKCPBgmUCRf8C97MD4ITetLh6s2v4nzkw8OBCQGljdUuM30\r\n5bksvC+RG2gSdslSYoZ2WkFd4R87EHuVjYSjiTml1GVEUBL9EVhRCLN9aFKX\r\nZpJ+sl/EUTUJCq+zy3pk+sotaZrVVFyuU644NIbfvzcR/xZp0AOqqb2AAfY3\r\ndSYonGnqzBjnpLa7V8nCx9g5m55X9ZripGVbqpJzBL9uro00Fezbf1DToKz5\r\n3RB7Z8yIRuO36Y+qu5yNrn7rSn7TSPDSDfdDHUax83fGzCgIaghE4rn1r2W9\r\nIeyFYEbf6bQsyQJUspc2iJ2zZ+sJ69mzZ4VhZbzl+txS6lxMHCDWx+SQoAI2\r\nRHxd/+le4o3B7SjTyKn9UpWLG8Nfmj802r3ILPifn8z0bmfnsRzO4AC3TNIp\r\nP37OIdenwewEZfy76xEjvdIalC1h98N65XlN6QL9jHmNhi4IJ7inb6D+81JH\r\nkMOdQC9tkTEznLIlrypUVnBJJ+0uV8pruAtHz05yi1cmPHVjUzROkrdDR1YA\r\n93lohd+S0G2JvsgqhBRDcFWO+kTsHrGm26I=\r\n=AKtd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.89_1679952857232_0.8940421609918634"},"_hasShrinkwrap":false},"0.9.1-next.96":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.96","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.96+2aadaaa","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"2aadaaac883e78141d67ebb8e8a9dc3574a0da78","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.96","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-lE0dvKtfDInwUeaGlQo4RuLW+nIAg5L6+zd1OrubZBVCOGK4MLwCSeO2Di7lxv6CYo77NdY76uOV40IzwL7SSA==","shasum":"b3bb8c7dd65000f099493ad2ec76ed13c1f95824","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.96.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgIcomQSr5MFF/gqu5KjV+yT2VeeVYxTAX5TqfYcwTOQIhAJoL9yUKeY7g/wOmklzlzTU85gNwBKUednm4y/pfP8cJ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkI/+1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0JA/+JZ4wIPFh9A/stgl8RLzzpJwnd1+ZvPQyo+36YCbVkbAyXxP/\r\ni+Js1m0G59LI/xjLrOY1mJ0xSrL+S2jGiC4kNlaWZiblAHx3HZr5pFQ/bZYA\r\n0yFDSLpbJgV1077rdO6ABpzcGcr9hkti7mQGJQLQPHr0i8Iv4HOHSFezoy8c\r\nwFRjO4XdjDhQw16BKxHDuz4tkpIV+61DCxcvzHdg/Xh/jy272q9+59JKO11T\r\nT7+x9xXrKd8g3tzI405LS/UuojBKvR53X68q7xHVTleXOiUVUI9JsgyG5Ug0\r\nRJ12jacCmRD/XhtQSzBDYUT0w8ULCVUvXn+XVQTDAp7EiHSt05vKYXkR7E3H\r\nSYXcMZXfuwBd5a4CQJ5RT0yEd/Vy33IU5ww2CwEf9iC15Ow47co25K/Sk1bu\r\nyT7ci9eoD4DFDl1YrfugSpelnzwQdN+ZQ7XoXjQrlMGWXoro3ehiBjgvV070\r\nCu3Z9EQU7uAz6q2KslPW1WR3LJ8XzWdXJP5HENpv3va6dKve6USDvn+SZyEt\r\nK0uJUaIm8o6D5ZF5Es1YwUtCloQydIKjMjMd+W7qTfRf4dMXzVsXZHvuklm4\r\nQwuCywYFJx54t3lqbzbZGcIg6sBPcmMczxJhao2+BHXVgBKxk0RsyBhzUBR6\r\nZLDEQqD6t9bA6AQFrNcoBpp5mJi22fQCdVg=\r\n=rfoM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.96_1680080821424_0.6026446170617157"},"_hasShrinkwrap":false},"0.9.1-next.97":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.97","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.97+c75ff12","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"c75ff124dd85cd4e19e536324fb5a8c8dae4910e","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.97","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-TWoPJRkK6DdENaNg/s79sQyuW4e/0rh/H7cOpYsqsj0QHFnyWibJHOXJW5zW+mwNYXCHJ1ZV7FGY0rtdqtC4bQ==","shasum":"8d2b356c4b80e7edb4990091c03cacfbbb749636","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.97.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMHc/rYSr7UzuN4YVbhMMVZG9+OKEASjO4/vj6w/pZggIgE86CeT5hwZpjA2UtA5qqea75IZrl6PNxryJdFIc/Rr0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJJAvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqVIg//S9C9ZpNGVkvw2TIuguxYY9rblOBnUmXaCRRol95ThXjFSXLk\r\nzOIWu1MuLd1IMdfuaj3J5e9+uVijHQPaX4Th6S6F50gPwmvsZEHLgoayOG3H\r\n2XjXgRFKA9Orx2hPgb9E3UfijxrR9pBOpgdIhb03BgS+y1C2xMgpeZzTIDEZ\r\nN/WRnuqd75S9zJfmHtWIsc0UvXsJvKkfyGHyA/11x1Pso74JGSGH+03zTdbT\r\nFywTOlUG13n7Re36m041ZPjPJ+6JU+Uv9eANKL7vKyKx2bXGZ98cMrGmPGb4\r\nNHBpuy9hibZEcikuvBoWnwewDZl5+yOZgghzBl2Oit2OA1e9oGz93mfW4qQg\r\n+Hgj904qfEbYxTITb19qWoGDR3pscLzjL+hZipIEzLkXGsQsF+v4jqn1wXm8\r\nJMcnAnE4IkbEovnrKRdEymgRdXjgdv8YeVhYPSQRL5GHW6fs+05JrlYFBLOG\r\nkcAPWYgjOHhVugrCSa4uTXr5F4iXZvSvS9C3cJkPyXKrJYw3Vk1N9zFXzuJn\r\n2OPIu23GZLdlIzDlkhjZP6xKufFXdgxcfP0YAIPJFerKWi7c+hgkfcB+kyA5\r\ngKpSZzzrpCkqkZ9xjbYRfbuR6tM5vvxPXZfAQWBeolNFtkHdapR+QQBf6Y47\r\nFSrE+6gELjCZmmmJAsqdwEjCOaQRokMJvXg=\r\n=P9dh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.97_1680117807506_0.5584162482665906"},"_hasShrinkwrap":false},"0.9.1-next.99":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.99","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.99+7c555dc","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"7c555dccaa9c361efc4516f7cd5e8583ca07a146","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.99","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-DxuGzWNaRyTyqcy130UQCEBw/SpSAk+6pbrL1IU43AcFWrD6mUaZBB6R6L0/UL2Rp/7XxXat6Dbjzu0VQveqlQ==","shasum":"218a9e411adbe45b6c14aa72ae9e808fd011032e","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.99.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHxS7/fqqpTF+2S8E4WqoL/bHD7T6gJxrk6XjAfLSDUzAiEA8G5P+3JzmnnWo1VazjifB0eer2wPlPJ6xxCHhN2gpD8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJJDVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrldg//QWfHRbht9OBkCfbPkGeEZzdHqHtFV1aibIedUdLyhyCBxQ5j\r\nZ+xFInEEvyQ6KaVOm9+p8U0sRwNpx/jdLToDyuaLZ5g4g5vg7YFQR0RwO1sm\r\nTyVkQSGUaKmM75LONS9hndkfWy0p1RB3DdlU4ZloRa17nOTpKfXhltCAxccq\r\nO1HGrySyr7qbVeF1/l3A4+Kc4avGESOH4czTSmMjwK43KrcTSblgzOXe+5u+\r\nrsZ8iZEUDudVMkH7Zr72AQICFOSICq63SlmZAKx7+C87SqOfMVuJBX7Mzvss\r\nS7z4D0IMC8NVqkyUPxVgaddU0h5EDVER8kmyIWt5mrbyJCZvMhD6LLBgJGbs\r\nrAeDkXe0bTGYesx5z31fN9Hom2HSyXyaifTYpRfa9yB8sHQ9yAcmx68wSdGr\r\nT5VL0FIFqv0KO6TzclkNlIvcewsD84/3aRUcOiLjkBUF+jdz1O1cyQYT31Xt\r\nOyvo7gLGM/Z34PARNkH1ihE4+CEsTkder1bEkFXXmMTxfTaXvFp0JwQOxNBX\r\n9QewHQfZ/4bGhT0APb+T5lZS86s0wcTpaweHOUal2H4/9VSj8YDfDoy5I9oR\r\napacMMuYRFUptRMu5Xs/y9UHYbUa/Y9lyn65pIwqXtEjCuqPmdoKPW52RUEm\r\nvJTJbh1nehNpW2SsTRcjsKd14Y+I9uzUrHg=\r\n=9k0v\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.99_1680117973672_0.5931790687365608"},"_hasShrinkwrap":false},"0.9.1-next.100":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.100","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.100+d77ff41","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"d77ff412cb9da4de9e5932c82e1eae142a083172","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.100","_nodeVersion":"16.19.1","_npmVersion":"lerna/6.5.1/node@v16.19.1+x64 (linux)","dist":{"integrity":"sha512-KMxgq8djJkx6tXuUTp7iyWEwMitCANkFy625TIPoc/wdkMxzieNBjLmjTgn6Vv2mbEP3MaxOqY6bNkIz8Rdb9w==","shasum":"cacf2547d1dfe6071358e568ea5a00364d2cfc7b","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.100.tgz","fileCount":19,"unpackedSize":54754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFq2yxnLGzynA93hgJtT5WkDZ+yzR/m7fZEGG/NTTxhQIhAP5eZbZk0kO6wB0rYLBbxW540t1Yk/U9Wpy6bRmSYH3u"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJJMBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0OQ/7BRUkUFOCXhtirp7UlG9LfgBVVvxz7ppAU4fRjU1FQXELN3h3\r\nKGEJfsZIWzsh0vNz75GytgkQ6wdDDCyUJqD2m4OI4JBXMnbfcHA+ml5mOaxs\r\nWOrmiUmE9rK4rL40MV25KD3O5LqdJs4a2210OGliXgt7uPM7yE3VJLt4otyA\r\nQcEO6cs+sWm9R4iCke4fuqnOBriuCYuN7Gv7/kuuxYbrINYySLnEUT1Phc74\r\nENsNANcE0NsSigS4hBn6f8YnO15cUz+pjJ9lvmj2ZRC1dTngBAhFERcdAseX\r\n68qlFrReAlY0sl9md7xoChwty14OELMdADXevEQ/zWQEmVFJ66LrM3WVAL6z\r\nuve7GHdIoAjKgISGFp0RuNT6nh95F0my2ualuiH6wL9vJBkA8h58Dp5zP/wq\r\n/eHb5/i1ZsMxOFR7Eh6Hz5hV27+UczyYAZO3OG1ugmDhC9RtOcVSn5SsWRyw\r\n/d0l/IxNnjGE+BDraAJ/WfdBI2wEe/RZYhpIdvlsGTcxCHsJHMxkR4gaT8kn\r\nqia/yFpVyVeA6XuPKmn4r+xVmkrARn9YIrZ4Dqr/DNR1wC+bqz+pT2niAJG3\r\nHFdMNSAxMU0etnL7jfXqzx3/+wVlOhShK2qVJROA6YN2upfxv2rXnXhW7ceH\r\nf5btAOYuRiwvC3o3qx63uvGEkTgDgwzZEek=\r\n=G0XN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.100_1680118529696_0.8580662238664416"},"_hasShrinkwrap":false},"0.9.1-unstable.109":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.109","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.109+db2213e","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"db2213ec08f5d44a9e39c619ef0b5456155f2e0c","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.109","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.6.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-/pICshNJHDE6kYSleDVEg7dqs0VaZgn/plxj4FkFLje5ONy6spdQkl3hGOgmUDgOXF5k1XA5ykGHkivh6Q6tyg==","shasum":"105dabe1f432788bc7212667be78de2079e406cb","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.109.tgz","fileCount":19,"unpackedSize":54782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDTJjCBO7IcNh+iyuT/v8KT2C7YRU3+vbSvywXbZXTJdAiEA9JpXVq/GldE8uHFAQuGpofZModnEkifoAr5OswWne58="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkN0HrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYUxAAhoX+U0EaJkvZVmMXGcrxA/w27lThtwf872O6b1FHeaArMl4t\r\nIOxceLalO49E6Mltt6YdhF+C5EOebHS5ivss8BjxZjz/pN5bwxPwHuMYEnAo\r\nJzTja203FK26i/XSCcrNq1uqdyHlfS/nndeypH/4uzflPUQec8QWDu8HwO98\r\nsLLnTvara74qBLYClJ8mKm3gfHWrymBkVSTxGHGUxR1jlZH+bIxJZTx5uwmp\r\no5F0jx0q4k0uXibTaGDV3kh0I3NJ6c2l9fhFjHlEhrmJZxkhgg8RzML0IoS9\r\nnJ0ZfT65saRRODKJFsPF8fCSqLW1LQBcX0Rfgcg6KPNGUVlrVQRRcOp3bNg+\r\njQkChpgYOoFAl3D5nSuilAXo2r4a3HMFWujZP+SSEgC8ESTVK8hNOw4mDbKN\r\nXTDAe43VHGDw/eSzkxUbo/vukptf1Jnw9R2FSDnpXnX+BfGR/+qCC+G/RAtN\r\nattU6tOTMvQT2vZZ3HJwNaZAsjaQIulB7BOmw+IUd2rFGdDE88FRS5QR0phI\r\nLm9aLH01Ge0INIwWRWDiYBB7s5YcSaAYvHN1RGaUeE1Sjk+66XsC3Qd15EXv\r\nIZsRiyQe5WBs30ouQ9VrU4xOrnrb1Q1KyUB9hNBzlJUnr3fA+YBTMCOo4Gmo\r\nhGanY9Wk07NJEVzpaXV27n/g+Up1M54hjSA=\r\n=pnLQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.109_1681342954701_0.3621584245867846"},"_hasShrinkwrap":false},"0.9.1-unstable.101":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.101","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.101+fafa982","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"fafa982bef719986aacce61ac59d2cba1685744c","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.101","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-DuBspcDnY/kiVFfHwLcIoZ3bEkKn+XK1TFqgiJ7uptfs9vY9UYtmH422Y44u643D+F40xf2HHAG+/MtbS0jQXw==","shasum":"df259079bec46c449613e5af096efe11561ffcba","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.101.tgz","fileCount":19,"unpackedSize":54762,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDW0ImsRMWeK0IiYWv1Lh8sNUL/kS4bj3/J+K2XTSekJgIgbEGDa1ROHKh+FIitz0uVDtm2oMmQk052cUfnmqMwSqQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkN890ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp7tQ/5ASr0e6HVva8TUaQZBo5sN2rKylh7iPT8RDTiDqZEuTV2/esm\r\n64Njx6OaMEQw0EYP7i4SXU64Mf5P24R/SKqA3iLFKnC1lz/3jmaW8TGeYi/3\r\neOcmN5zGTBf85D/OYKB3DQ8u1GucxvTohMcfoVd3CPBs/Z8S8VOxShvp0287\r\nBVZhSgAaF8br1w82aalnKfdsQXZUluifOv8fJN2DkZmT/l6WfY+Xst4ARheK\r\n8fF+jyeXXUOKUqlQUh/JqJYZRsQwoKXUnWk+4QwaV78cGR/desTuU5fLv22p\r\nMdoF8hhxIJLYeUUrWuZfJQe5lgKTM0t56KQeOWP0uf/Ym8r2AD97q6H2exv3\r\nxmXnrwQQINcGl/XCnzGNT/S6LOMxM6sYTLN6VRD7myTDyBNOt9725w2WRNUY\r\n8E8Q96pHn3DDAFVPoCUYpJJRKCHtkr8iMDRpOpqU5zmhoNrRvNzk3e/Z0cW8\r\nVJ6GLz5uyQ1MXwQgnkEk1QsLulRQL0Ev8rFOOW81LJtqgehTRKH6VnBqWaAU\r\ncKwVQcMhsJTniyiNtCujMzRCC2MwPLP3+mqL9WSjUEVD2MTakYnjU/i5yiku\r\nf4x6+KRWHCkpj9Dg40lxe+b2Ln/DvLaeOFC4wPtTjuWSUmdz5KlCAULLK02l\r\nlXFZOp3YPpS5i4tmI5xBY8pCcBq/wjeUE5o=\r\n=5Rwk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.101_1681379187922_0.7023519369341797"},"_hasShrinkwrap":false},"0.9.1-unstable.112":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.112","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.112+b48f38d","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"b48f38d804083f4278f146e286ef05bb557baa7a","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.112","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.6.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-PUn77pbXQJ7qipVsqUoqq5GLB+Ps4eXi7Q553rbPKZEUJJMPAaQ6r8mzpFgJQLjK9+RWa3lMRSOvG5AVnaz/tg==","shasum":"11746b18a6f582347b28feda36d16bfffd17d6e7","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.112.tgz","fileCount":19,"unpackedSize":54782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5mDv236askIqcfFMcQKVXs4IX3X5gRhB+rcrV+k/pogIhAPbo2kipKo404FpqhjgZbmkAi4GSGiYEoj7kyXfbO5y6"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOB4+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkvBAAhRFHTsci+XYx2bU5GBCiTh7XYTSxowpuYiBxDhpCFwULp5Sa\r\n3Bs0+uPDe2wIyYScsmlgPrsCcL6VhEbfi16VAObP42dCiOm/ffoIDI9qoWfM\r\n30yJYpe4B/U8iYPCP0iBBAH60joo9m3zQQ1GdYVlAl1t4M0ECbs9hu8lyipW\r\nVx9BYw7kWvz1MFF8HF7vHA79cs77Kze1cbnkeCRx8v5Tp7tkKg689Qhi013P\r\nMPwgjUc+wMshiQrdfEG3cHKHRC+L06PXx51yY52oW8b8tDX9RUMRJPJL5IvQ\r\nZSVBJpsqsWyKqq+wxSzmS3iTT7L+UtzWfgtz/0X2Z2czIM1k5/y1xb+2CY63\r\nFGEd2XC7Bczt4cPhLYixEbgapd0efuNmfRWgmdyTiTSt0/lSbrtMvqnOjC7p\r\nN5POLaWzcvfskiycrFuadu+Okknd4u6uy8kTKSOSvKe4IhYsVCoELHDvKCgv\r\nno7ENUS8GcLe6JwgQhYkizTEdjDq4i0iCfmKv/dN1MU/q77YWLd390pMh4KR\r\nZfQVimsa6Op2sK+ZRMw9cfQPAzobOOYUryPqtETzfb1S5ORNx5iyLul1tDvY\r\nNzO/0V7YrEzMRmRvoX+p2gnwiu2mFJ1d+ZkABpIyrn+yVYeCy5Q53fqUIxPf\r\nhSu5e3hVOHbleO6TERoX5COMQ3yf0Z8tGEo=\r\n=KgIm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.112_1681399357730_0.8110664026934871"},"_hasShrinkwrap":false},"0.9.1-unstable.113":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.113","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.113+1a534cd","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"1a534cd5eab80a1bd697856e4a240fd2f30fa86b","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.113","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.6.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-8J10RjnaLrTLu9Rx97Hb6cE2ftTo4bLcKPxR+4T8kk0JfLFmBvdhT4DKN/iyBCcHE0c2ATZQMSK4MWQSdvZXsA==","shasum":"e80488f90352578e2d98f494838d60e7596da438","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.113.tgz","fileCount":19,"unpackedSize":54782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAQSeedSDfXcibxeqV437cNctX8SXuVYzF1dJ8skTQCYAiAHYUwMnc0NYmYuhHjUIL+LcYtnMFvgg9LVDpv4MszznA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOCJhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1ag//Wk1euBFjQVxtS3/1ylyGzzC2/hcSq+noiJkc1Lmn58H4bVUE\r\nYJGIZRAi95kxZTyzDGHSBKDmQXYFfWkRDL1zZAgg8KvG/CPS9ZU5jlDXyL91\r\nbj2t6MZZV3x2Y6M+z9niFGxbX56poPa8cV5R3P7puXUipQoXUm5vvIxaZUaU\r\nRUYuzWxV+zJPp2RCo+iZEUP8vfkMgIBtA2a8AcU0wTRxcMjNndsLRgcKf8yv\r\nIXljaPgEP6o1BdaPW+dJohRvZjFg9yOKzoTBvpSP8LBNLRBtHnYxh3hvU6EJ\r\nXMPLaC9wQ8E+9RBtn+18nUJUZZmwLgaU93m7iEb8qSsZRfb0C/5LPNryK8Lp\r\ngSJMAQl9H+wOXZSxo/UnE+NpmZqNNVVSfmZ9Th6YKMNU2vTyDNAkOkqZ2y25\r\ngyTdArRw9FyzUxEQH4Q76gFd9COHDE7f9qd66LR7AhODtYaD9QvI3ewET0RO\r\nNEZCY2VSkTFfyQiNZG0bNnNZqJlsiBHr4C73oY+b0oDpFnTsW5QcYAvhwV5+\r\ndJe7dA/FAbvTH0NU77UXH4ZvB7zHeOU2NqxWNr680s9OcOSE+PWxL/aXmqLb\r\nHc13B7eGcN0/vZLCQcwWGl5ttSgeCfrzBWkKGXCjoh/5Dm59htLJD0M4Zz4P\r\nBv0aZD961d1XkPCzHRaq9hy4IHAE2it8mN8=\r\n=K9QE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.113_1681400417249_0.9295903415451292"},"_hasShrinkwrap":false},"0.9.1-unstable.114":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.114","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.114+0fd92c1","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"0fd92c10ff980915bd64d10fee08dfae8b0e179d","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.114","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.6.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-i0sdEBVBog39lQcEF1OamTcBoQUf7uBQSKOqt3G73e6/SXR3q98uJqkts33NE3r3numm+aeBJaewJAC1DP2FCA==","shasum":"d9bd41048ab993933539164dd159af80fa16f490","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.114.tgz","fileCount":19,"unpackedSize":54782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGm0uuGgjtbXeafNYOSHLajVzn3jvopas0HYJ3zz4Ac4AiBFyirhdMMOpKcIFTI4pHyVqmuzS40Q1ZYZ4tUorTsCBQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOGk8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSfQ//ZL8dtVM0LULoZ3XbTSAiT7itmkDtC9aMHvpq4VVmfKE9nPgg\r\nhBT1kcUpFYxn6If8P86LIuTkfE4LSkvDel826YW6Ikrk3UCVU4ME3Rf4QBcM\r\nW9eNOovgApgqrGZdkj6ha6ZqEgqGcr5gAjCqeVSewZI3rIdRSEMUJtreVYBO\r\nk0hFKAfCxn0s6/7XgPCc6aPGsVVDt13XAtTsR87TtVx98mQ++PKh/Fjg35iA\r\nrdXPxPVWFAY1qmjiNtOYWsp8oqzVY1X1bKm7+kQIvezeZrvLD0TrA7c2R67M\r\n/kSHIfPAwVseua0HNrR9Cl9dvDurncq27/LcugAG3WtfQtzCDtugW9iYGnba\r\nMbZDp/gz2u3JUEcXbf36jXjtMdEvfxL4HCgYE5ysp4PMvOrSfk3NSKpT24Bp\r\ntSjw1/WwJH59EOhd6sNCyzAlu2goOdHlb6IYvDuw2hucChrcI6o67r/xtiHl\r\nZPckznz9vyjqT8IKKDAqyJbtG9ti+RHeXnZWJQx1LZOzJfGDzRPmHnG73GPX\r\nb/W1nACDRtxITfAGz4F9FWEEuO8Mfc9ib81pB4Pyq3XX3ZKLyXM7XCBfc1XF\r\nBP6LKYZt8SOwdYc3xJPSCiGHewbZSRDn8E/hNt6DD8BSEJ3au2QcWxTnHAc8\r\nlLFrdtAcAZfkBwY74GJI0aN7VapmzO+Pr5M=\r\n=LjMy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.114_1681418556635_0.24877530439098106"},"_hasShrinkwrap":false},"0.9.1-unstable.116":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.116","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.116+31f99e9","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"31f99e9f3d13f979adaafc8fe46a6bd6adf8615f","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.116","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.6.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-gnyJuAA6uaeEfiNXoW4qi8Eh0nMKruEqiMWlpdwdN8wO2/77mscLF7lA4+hLjs4mTpbKHw8PWLNCBOFmA1Ikow==","shasum":"f68e74ac65c16847cbd1e5d27068cefabd85bebe","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.116.tgz","fileCount":19,"unpackedSize":54782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLKOLR3xUS5k0Aa6wBk+KxyxmoiQFlnyYy03/ZVEJ3WQIgCSsJhZWOjck7qc+pWQ+Pfk+6tjN9RDi/S3nUhL2rgXw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOIrpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOsQ//ZWVvbHueYWobiznJ3dLS/nuvcroUz7iw02UcdSwAqL6Fz4OU\r\nbcO+DD38xwuDGZyw2qVpiv6gMZBSZRmIjue88qNTpXOqElzqdOrOi37UblWU\r\nTRncDL9auBNmWopQsdgpJOG2+kt5+saMmdreQE6SpoQ8c7zRaAKKbjiLggmw\r\nDxUBkNZKZI38D9twWLAcgRSdGw9l3SL5JBwu0yDCuoCphASPrKpvov3F3vZM\r\n+MljuuDrWkgzf5ypP5WvRweez3NIdnFEdjePgJkvNCbE0nYQQAZDlt3Y0VBJ\r\nK/nxKGZ3qOIz8y0lz3+AvJSV62fPvcuHYp4BTc55k9OeZ32rHaKXyx5wR+6c\r\nuTtY2sPTaNAxaVlJfmGMN8LYh0gEX4R/K1MQFbPnmKFNB4CPnR4e3lpjH0CO\r\nNhJ2c9/AaBkdbymunX+vQKW14TOCZtEiaPtUbc3lDDNQ7lMNP3ZiPNoNkksK\r\nCwanVdze0BVvAyk4iKwGlRQwd/OUBbuNpBouF6eaYZnafbxYUF5rFtCOljK9\r\nLPtnXIolxPcWjCxP7cgzcF4PmN101qO0HENUS2fwstfAGJIE1X3hHzo87s8c\r\nim/iDXh7dk5TvjufYTLq4F0Nau/dd9C0FTH5WNgbSZQ6Py0wIUM5+BGh3cL0\r\n9uhCdWnJ4E0dfeaW5uszyFB1aD4MX0t16s4=\r\n=XLpi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.116_1681427177250_0.29917903770882104"},"_hasShrinkwrap":false},"0.9.1-unstable.117":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.117","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.117+6425e4f","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"6425e4f9912043dcc6a104722e184a91d47e8048","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.117","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.6.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-pOhr7mMDP1qpAGHo13TKqkaeIpEiLZVfCB1N92HoG4morER+nGAZkWSNxPxteiOYRuaCGXJkKZa1zBinL13AwA==","shasum":"a3a0b076cf3e6420487c3a7f63033a389042de0f","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.117.tgz","fileCount":19,"unpackedSize":54782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0JHlTJLZoQyZRGrO+wHnCqTOg+ZMwNvJxyvfmmaUMSwIhAKr+8kXzN9mlNz5nYHpsqn4xGO0t584n7k1HckERFMkf"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOJ64ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPbA//XmXn9yrAY1QdGZaBJ6e6JIZjz0malYP5Q0Ih7HUO7GVj0szQ\r\nRKidGZWiSdGpLIyttFcK0uNzDSsAZ0Cj+6mFJDcnbLUWMhxMC1E5qbzHjGZ/\r\nycA+aDJXpYXgiEhHY1+Tsa8ccpRYJ4cz6kuTsEfbkbciGJWFmg8ehd+Krf4K\r\nSRj427KsSdbCpm2tZrSSaYXsODAMFk8+ZdOmrnuu2W75FRvN0xiICQqQadKb\r\n01OAzpG4qre16XYWpoEr4qk8ZpHUGWIi8llxs2Yt9eQmChRf9Tv6kalRvwTJ\r\nvTnLKgZX3Nco1aF+F3DcqQguXsyJHeBwtOqxlQVeui4iRtB5rmWy5U3WH+ZT\r\nRjMmvaLu5ngYAeQ0YF/eNL9Gg0AaaPw/Jk1O2pBBS5MwEMOD3jdqNeOP/mpe\r\nxqsR60Re/IlBk7B7fUbdf1skKvZJflLd5PbB3PefBtSD6TiVwlrSNsYSdNZE\r\n1HPPgeOwtLoa+Pjv/gKuAx7qlsswj4+eXO0M5yKkFJqs6eKg2ZxuihuV+uX/\r\ncvgRyZqPMhzq50v//a212Z3d15mLtGCLo/JAET3f3HfQ1cXjtu7Ti450pvlM\r\nP9jewR0DW8uH0GMyUqKk8dfbxu/Nf0GEAsLIfdNmAvKV9ZcJYb9eKR6AGJ2n\r\nSozvja4b5Q+bg6Koy8f5DUNPoJdvRcJ2hTE=\r\n=ePiK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.117_1681432248131_0.13773885534826857"},"_hasShrinkwrap":false},"0.9.1-unstable.102":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.102","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.102+21fe47b","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"21fe47b972573ef0d1bd27ba112bde191716895d","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.102","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-dMWGZPrjAH0rrHvEXZ8UV7gyl9XRbV47uYFeuloIUymqGG+Sd126drQKMiO3R2K/AAY+wqx9Nqz4ES26gA7qbw==","shasum":"516f10e691135c82bdcdcc7f2adbd06d57b7e181","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.102.tgz","fileCount":19,"unpackedSize":54762,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNzCx9xr1jrvU4mgv36tT4q/A2YGhjETBWTw3uWXGACAIgeMmJnz1BhA7rAilfnY9rgEZ+XqNLPC1A/c9uWPyl5o8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOVH7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrY8g//QDeQPTYmUSSRI8yzANcef5mY3JxX27XqjO0cCqbUccu2sOmU\r\nEKAIVkAmFbmv08ytpjmp2sh2NgxciAFb8UkzwMmLQESnjdBC1OVTeQhk1WtS\r\nAfIfwGmrLLSsF/gBXJSW7EgXiulC17kEeiMZkLQOifd6LlDEx4sNOerwJqjW\r\nvo/vgEpEqiP2MGHy+u3yfRSDSrMPOYU3KGaOLPC4vL6V79/RKlisv41KmLFC\r\nL/Pajo8+ZnECiget05LBmHGOxar4j+dWUX7dHgQhIP1VrZ0H14x+NnBWtb/x\r\nAikmIFmBRoxfW9Bc/Y9ZQgyfR01+7JC3i5osirnp3GCwT/ntW6drgNSLiyfN\r\nfi48rFKItJNkMLCkWFNNEijV2Mg5Rco+eh9pbUPKqOorfZIrg5ffTBouY0GN\r\n5s92bujnaSPi/Y5pGwpET/83ec66yXGEI/vdrdMQczIex/WMEyv0YHY8uhyh\r\nRz3l+QZQKv67LzfYGN+kZYNZpM4h1K0zMuY/1CsBKPTHtiO9eT+vKG3nDyP6\r\nNlTr/W9oz96zMZ22XKUl7otj7OsfVv9PE/sJxLlo8SNpyZIvaL9BXjzT/mCd\r\nvkLlh6fJGIYlQqiG27kaloi2btTSirWIeKj42ur8zUGoxb3b73banUSD6wsq\r\nDHdVt67ue4QPdfTQpkUbkbm4FdDDhtyBgNc=\r\n=mW66\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.102_1681478139565_0.87703205488932"},"_hasShrinkwrap":false},"0.9.1-unstable.130":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.130","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.130+975801e","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"975801e1e6c8270fd470acd7e2ce67ae4971a16f","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.130","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.6.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-ROqcRdeDGCyfwRvJZDGMNk9BaDk2VEZgp58FeAOpAD3SAJt6xWpKFjcdttBZJViMqRU2iYlBsM9YphcVfaC4eQ==","shasum":"e670131a6d3876ddd472a5d66de03dea3303f37b","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.130.tgz","fileCount":19,"unpackedSize":54782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyW81yyiclWCfNot6hedLPK1bANIfNJiL5kyg+rTZJsQIhALa6hQWeuNvHUhr9gJA8qbIlC5GsEA/5dvBxtYCrYejK"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOWTmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzVw//RQV9cYdbEpdACkysf+t5afRznqISC7KzPYYGbhyQ2Gwf6ZIq\r\nLTLp8zzQ5R4txPaAOFAoaSpg7kEIRFfHLOg+o9+ZlESmg1TPFyIh+CkjDvq0\r\n5H6jfwJLjMkvWRgc3yjIfKoAAhCAvS+KQXVKLmFcID9UMgYq571DIFFIrCfC\r\nrRbO7VOlWn38DQW+1PgGitA/U9bJp1GRUQuQn6VMXVXbrP5KatItru9aOBeU\r\nbcc341qaHwe1jw9zKlE17wsp/PmDoti1s9gLxd5EsatGnes9Po4GY5EG6qKV\r\nHilj+UvMld/9qCR10ov3lqtIMna+ymwzL6U1/YvXafkLawwtntRkbGHPCqmQ\r\nC5dz3uecYgvkNOgWZSade3LzfSniysPWYAa0ovgLYsC13QaqjIDtqkxOKbFZ\r\nse1UJgqSLJBqMD4ecQsAev5S2ntOPCBPmpfysTtlJRiGacGJLx/Zv6J14YNO\r\ngLnwt8/+SggQMvkgILbP9dRMvP6XmPGatVCzevOaJMZjR22Vh66NkQ8JqlQ8\r\nvHM6g1Ltia8uLG7S2rRuBdMfwskIwltxr+Anmi+xooobHrumWxJK459mSftF\r\nVd+oxOA+vyu3Yr7e88Xl3h4TapXyUYVep+jvI6gYdDT6smacocaJcsekkwSt\r\nMvEuPxqG+axTnnpINIee7HHUVD7ROndimtw=\r\n=E7hU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.130_1681482981930_0.7548085304771401"},"_hasShrinkwrap":false},"0.9.1-next.103":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.103","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.103+61d5c12","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"61d5c12378a1c8214bb321a2c87050e61739f242","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.103","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-J6ADUH3eVQGIsmyEs3jkDvP5NwWdaaHMKzhxOyYK/U9scAZDZqYBMCCKgy/i7TLpRckeZ/apFB3hiPk+yDR5FA==","shasum":"53e9bab7a47f5a0dffb36c94d24bf1d4344105a8","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.103.tgz","fileCount":19,"unpackedSize":54754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAxoqd9LW6xrIMLRru9bSm9iuZCnxjKLYWCfsIxqymDgIgPrml5ZIis30GppEIbj8Pv83YcknzL7tB51Kro3+16rE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPQ1NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFEw/+K0ah0bHqsQbP1OVhYEv4xmYVKzh0gIF/Sw8CRR6y4JyDPDbn\r\nkMcuNw7bc2ELzSIwRwrvRdlc6AQfPUJV5E1TXlUEoHOjgzEo8UIBO4oLSilu\r\n/tHkbMjKtMz7ddAi6UgvknMBYX1qqo6P8SDS4jK05Km1YGEnDiAzjI2VB6AO\r\nkdnHhaF45dS5kBvt4npVgUR1M3DGfE1W9RfA2kyLjLj0718VNeTW8Ad6C/Ef\r\nE7qDcG/pi6zTY1vnpXh24872DjeH/rvS4Gti5KdLgfUWV1eH6w8/JkwuEp4E\r\nNsdlwjVd0UWFRaq1oyRhMNWhc+/oQZREFBsIgHE/N7+ZvlVbp1SPLns+jH+k\r\nQuqaV+KTajVMCWi6Hzcr375LIwzuwtWNuciKBj4kVZcpbOI5bfEjnkNnxDpS\r\n+OI21TdYTNPjG7mINHXT+vdX6WeNtjKrfg/H8FcKrOI2JTt9Dw+Z1Mb1HnWG\r\nzDyKa2rZbIaQJeeSCpJej7IcXaeZwr4PGEH09qcNgG3KCLZJIyT7dFGt/bym\r\nceUwnEKPdqdfRdCpDgLx/I4ON6oPC6M3iMwvEWhsDMhRmdLb2HWLvjSXCxEK\r\nlh0c6Buutd0tjIRUS76QhDXL+vZ/LUMVMM5EX13nRW3AIIOtaXoTQkzM17ah\r\n/q4jC6Lt77BRS/ZolfLnXu+wQNWv16etaE8=\r\n=jUeV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.103_1681722701218_0.5929772575234071"},"_hasShrinkwrap":false},"0.9.1-unstable.136":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.136","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.136+e9f30f1","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"e9f30f1acf0fba4df29924d5a3ab9c1bf7e83340","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.136","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.6.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-YCDc5E12kD70HAvjs0w5ulxkqx8VNXdhchj2bEdvJ3lGzj7vuYqEltiN2iQDNsmy3D4W56kD8YTyQPJx6H1ziQ==","shasum":"e0743f316c9ce3647e9afa4412baa0a53affd6af","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.136.tgz","fileCount":19,"unpackedSize":54782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDR8ob/ytotLLaxvFLiwvutzDvxP/xKojLNhW/xhbSMAgIhAMPzRrZ+5E/fAzTZanKhCV40XttEjvOll5vFd5MTqXkV"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPVdRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/dw//UdWmWx3/p6FCx/Gkun0ImclymNb6pmM+LKWpTFDIS/+4IJ3G\r\n0c+0Cg8tfJ6bnaZ2Uz0m/k1amo5VDiG4Z9Srpq0vY7QChAVdDwSCuXP+SBPP\r\nOtAMpKIam4u1LqzKR1/eUAVGgfO1J8W9Th9yQgbSeDHO+oZHDY8f6UI8kjOO\r\nH6s99c7MK7FIouYQ+BijwRoonrTQ3YLqFwlqwGnKrZ9C/UYtlWy+jOQqN55l\r\nycjmWemEZqJNgt4V8nNKwtPrh4o6eJUzwTTBkPiknRkzI5tWLJcUotB7FZl+\r\nmhKxbPTx6N8Yw06mcrIKLrvFRX/Nx3IsLjgZJODqaU01Do2DIYA7VY34H8m2\r\nB0CBrjCiLKG1y3JCmo5eUF8P6E2oqJpLaMblvRCjzR7FZGqc+tFgrimmncg4\r\nRkRcTcd0uYS/2FzxMBChdlhCuMuLnnnoe6lZXUeQ40olOg3sv80w1kGQJxHt\r\nsJxt6piZEF1Y3AWSD0Gk/wjVf2nJmQkQeQyIj3RNk+omPzgIT4MpEWZ345Wh\r\nRbtuxL90WIe2ehKOMz8QGoQCmbH4Mal9pM4OI7L3p4WYPpGKKqE4igMjl09g\r\nti0GxpmxFB4TkazFCY6LN2Vxu2roeMr6bM5l/f5HiUiN98vmPwAjwAUAy7xz\r\n/oD2jLTVkuV/FA74GF50d8J+suGI+8Xuk3o=\r\n=dHaK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.136_1681741649153_0.6589459263635304"},"_hasShrinkwrap":false},"0.9.1-unstable.104":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-unstable.104","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-unstable.104+728c8e1","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"728c8e10be5ca3f5491c3f31870bbf57975c597b","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-unstable.104","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-cDxs3vSXczQhPEMTVZaknVgpn0FLJN+JydRDlZmpZKcm4ClVKyHfRnsqxdVDtQzf713CxwxXYljNIwbpvYjVyg==","shasum":"a89bc22ba3eb0ced07a215015982f6de82d0a807","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-unstable.104.tgz","fileCount":19,"unpackedSize":54762,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcvqihfP4fr9CeEauft+guGiMzJG4MG3hmhFFwtVEcpwIhAJUoOBMDxqnfnTYptdAdVVzF2H1iGmth9/gFjlEHuAom"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRpzuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnhA/9F0l0mNOWSg+qmEkTE7n3G/dUEHky1lAhEwzIlNVwu6kv4bZO\r\n3ItrjaAbInSlbc5k5Zuk9ZTeRluCNcmnEwo+rvpIpZR1/4dZnoUwh7422XiD\r\nw5zl7IvYCZZdqM18hBsOBOMDjcU5LdJuNjXC2xnDL8GDKfchHYQExAx/oZ+G\r\nGKf42FRDWK5KwUWPxxKOqqw0poBUDRDxog8V8y4vUmET1mYjk1f5ZbZQI2Ht\r\nvUuQccq4vnJkuuDTVHN+W68D4kIAaMyFLc/rjilTy63+zf0q6sxP4uzZ1hDJ\r\nFjQP02FYj+ai77kDtD4YLMebKNFqqrMzpS3E6nVtMgk3zUOUNNxu8tmYKqHQ\r\nBisX/reSLevW7j1D7cs53WkO+0aXoDXiN+ZYMXbMtdVPCtg0JnsvW6ftfRMZ\r\nz5g5feRJgbMr/soNQbF6pyjb+KXdB0tGvOYAzmOY0lDkxG+g843lZ013y8Pi\r\nPxoBfTjYu3t1K8XQ2qrvf4Sx7Nw/r1c17rEUq8h7I28DiB8lLRJEg4F/XuPa\r\nm13elbGyfliFu1zyayQeDkjpgUwVwJh8xm/mfnONXWoDf4eGygxUHRp77QkV\r\nAKOfiZHUrpewrNDr0fsXc41sIYBMKd0IGiXUEZYJ357tBMffmmBUxM96nCRS\r\n7wFh9swHgYrrhK80Rzi1UeupCJgPHD8Z8Ek=\r\n=jF/T\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-unstable.104_1682349293865_0.5386135268123953"},"_hasShrinkwrap":false},"0.9.1-next.105":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.105","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.105+cbcf678","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"cbcf678b279648f358aa9f9e56745b5745161e1f","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.105","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-MEcHsLqWr3UKfuqMJxPmnteo2+4BHH1rQkrRZXo5Z2Zy6d8ae9HYZcvP3ark+sces0bUxJTHZvRQEHV3DdvIIQ==","shasum":"569533babe523af1271cc0ff770ce37bb62386fe","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.105.tgz","fileCount":19,"unpackedSize":54754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+E5py1vEsVc1w8x5VmQXlVzv1H8pq4TMjQleYdRIVFAIgP237kO4PC/edwBwhkhYfZ7h4Lmf5tYfHUEVoly05BUk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRumSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+sA/+LY6QwhJ+L4vN9Se6iKs7E1JwVP9yKvsQAkEMw0DFxJHYsXFu\r\nf0hd5hrvzsPP4ACQZ76Kx41NwAOj9NB8WIZZqvF5F9SX/b94/inxRHVY86Sx\r\nE0DfByPRFY/Xm6RdjO+kGk503lum6SfIAzdMKV5iXsuprbBZrFVb4/bOTo4m\r\nedhd+0XIPaTpjGH+EAy/lB9Spx7hFREZMfXjyw29bEgCrHJVaL0TbTKG+7W8\r\nx8+wqVPsGDjVD8KeCvza1HCgsDF0HwfS9fTq3mVR9ovPxKVRUTw3H/31jkrd\r\nCjdm+HEHU3NtmVt43JQ1yzua46Vub8zQok7jmf7lViC7ml8YywGtU+8WbIHU\r\nCRNHi/z7aZmZn3vWQcPNyRTFTj1P2NMTJC907LUuO3ek27kkhWMlbd8gEi8A\r\nqBg2qlSzF940OKDtxuu1Yvw6lB5xD5Ik0HvR7AEumHcCnWiuTqlAEpjqAuie\r\nj59qqbsTxVIWovj1bHYSu5IhjjCuJASqiLf3pZ1cekDlOntkWGBve7PxzY8h\r\nYE2m4wPl4H6nZPmUEE0gBPrcjgZoXUbtM+uP3XnbJuF8vsmt9iM4z4l0dPJK\r\nJkdruBDKx9uKerppp0Ymhe72MCEJk3Q2E86K25PpAUldVK9qehVQa1QNdfDR\r\n30fP6bls7G1amp5g/ctphchde+0TMWwF3f0=\r\n=dBSl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.105_1682368914393_0.046108680222898046"},"_hasShrinkwrap":false},"0.9.1-next.107":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.107","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.107+41161a4","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"41161a405425e30dff40e39d6123368c58c3f655","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.107","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-W9SE8agjEqqQJWmKTjXxwOuyynFjSqaQFTsRxSEIeTTEQx8EdOSsvq4uiV+tfgN5mPimNuDUlSH3PBnjFl+TMw==","shasum":"c780a42e0503274b0874ce3831564721f0ab41ed","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.107.tgz","fileCount":19,"unpackedSize":54754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICSyNSvAtsH8qGwosMaFG1+6xHxt6PEbyTmMEsXcMr5GAiEA7ZzlCzVcPFC5zOa/ckfUnHTdBttyu4DaD4CbirvbN0E="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR6RyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2CxAAnsrDJLN+ZUTRgVSb6y+9XlS1BMPJ/RjE/rENZxtqJrguJ6dn\r\n1yNcdPdT17ncDjSXFYZKSQ8ki3P6zBooxGGIfehoOfDuSkiJoMgAN+l/c4Yb\r\nB7p1y2wP4N76qgVMDnmN95JR1+VLLorzh3RJOkqmbatLFilz5Fnq7zGFMRcZ\r\nHL4Do1ZsxqHo2R0jmvgPZ2XFTflqXnYe02FS02CRaBH4TQHlncZn0IJmg0YN\r\nXSYR/ShXazNo7wDgwYSKmsn+6fuQ+ckoH1NvaMcedpc8sIcaKUAAtfpfPYOT\r\nz2EL8o13WamGr9qdeCnV1v+2l9V8GZXy4mUozzvUX6laXia7vtpV+aGLstbw\r\n/XWPjv3XsZ2pwNmz/sai+wXfxsIOC4TA9K2EqxSfmPWLD9NjgDt2Ao9C1s7/\r\nLIz/PJKRiTjEstwPNUbjS9kZn3gLgX3VuQPqTwOxiWdugKLJsyDgRb2ZFfWy\r\n83RFXajH5ACbVjGC+5x0PNgXbW+9Gl+tTOC/4Pnh0iWOVpWgxpFegq7OiFVp\r\ncKpog+0KvAJ9puNy5j8BqEQ7lYfLbnaKQf2rBEQ/6FG1X87f4oeeg16dnYIa\r\nmmsuob1UIPWcbji4KMoIBRBpSOlY+6EPWzekLEz6q2oQx2XILWmfkQJ7JEHS\r\nrivnZmMZPioJ+6it69SlUjAS5kWvApqum0Y=\r\n=LQLr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.107_1682416753904_0.3981007916797654"},"_hasShrinkwrap":false},"0.9.1-next.109":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.109","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.109+bd82063","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"bd82063fc3f98bde5d171420266993642c530cfd","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.109","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-UtvITbO3v5Ff+ZeiIF6x0Lqro2B23M1HePu0stO7uBdmJotZXda0qfp72dtiIPyWIQfQESY9bLvsDAEGQVA4aw==","shasum":"4b56aab5cf4b47ae4957b13e2fd60a313a521d71","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.109.tgz","fileCount":19,"unpackedSize":54754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZXyWKt7itxVq920nGY/+BIxHVaaJtxhYWg3xpOjfxrwIhAKBgRCspisZwPQWxSNWhGkBK/ZhMxF7QMBEGi+3m6ni+"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSQwLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0zxAAnQkGRW5uxtdYJ96UT9NUw1uXt/R3TVE4AsToASgn81nSx3Gk\r\n3wZAg1yt1lX0k7qlaOk6kza6yehpkmSOvC/QT42gBvm7OFQ9fBXREErhX/6I\r\nUYKbI1Gq9Ad0ey/bABKrHh+fII350Y9qud7/8tYuSwKim6TNkoekwQNI15zu\r\noIl9wrMu3utzf+0+B1szQVb5KUrDJEsmgmumjkYH4+7YtX1JZqeI+ZufblVI\r\n8vukCDj4P68Zb/QM4G9YfelKWkmk6l0cIFkVMDKhvf6gP5Gb2KjaHJzmWtH3\r\nfpjz6BzrpBR+4X/AlR5qdTY4LnsaogWFQ2bmvUrhupvVopAoUL7lSEh0qmhM\r\nT/yLO6AohpF2WNNPcHIU9RWKwnK3M3YZ/kU9R1HITZC3LMlmuPc9BUXGNZ5V\r\nAnzw/r4TAL+GSVve+DxAOjGxtIK5qEHemJvZdtWgF9r+m4RwHNWgXRiVI5J3\r\ne5G3zXbTHCh0+TrQEmZfoXCXjk4ZZO9S/2wWYZgfpynnb44S8lNWZRxDXIfL\r\nf2Z5J6sb+AQD7LtY/kd5ozfygdRD11rFll6TM/8gpVPpViAqt0yu11RTX+hp\r\n/UVqeTtLbpnmLUZtWiQu42zIbDRPyfrwF/N7tD3ZcZZl4Ii9072GpFH4Y699\r\nwIayPVgvJrgIqpFiKd0yfUOmQSwhvoyBX4M=\r\n=/DMh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.109_1682508811832_0.9383732697008755"},"_hasShrinkwrap":false},"0.9.1-next.113":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.113","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.113+cc806d4","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"cc806d4e2d4da20a32fabcc806a560155e123487","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.113","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-r+swIRdP6IZVN33Esconr9qy9xCn4Twao2x7zpTZw35ukBCSGFIFEWwSRF7d8EQMbXcHgl4hoZZD/PT9ieiiqw==","shasum":"88b030408b2b28e5188431d91b1266c4ecd06ff0","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.113.tgz","fileCount":19,"unpackedSize":54754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5YO6sjqmNt8bPxd7Wv1tqB+bdXXcQGtbFsHPNl24BlQIhAN7E66JuisPPRCfPhdtX1pXvw66sgBhPDNUEUm7Q+Dbq"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSTurACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp2EQ//f8k9V9WsRh/CojYGisa53zzQRZzT6DAwFlmrqfSWrDKhWa4B\r\naXZJ04NNj5AhlIkXSQZQfLDshZeRVFwv5QTSExviWS/H5C++aScg77llRHdb\r\n0iUE9qkG1lnnZWBkW4F9Qdy1Q2qsjFXBggZgmQ+IOWH7XeNanyNtYVC/uHMi\r\nU5xmkEdwtBM8Nd5P5rV+TEc8t6wJhcnqJVTOEh4uRuumWjkU5AFpwJ/ghGam\r\noxFHvp4tR9LFB0GFtkKMRF5km/FOBs9FTVNWfUzQrgRMPSQnqWtvXKCax1LP\r\nYUA4rO9D9Vcuw8go0JWFX9aoqMUOPEGHjGxYQvKMznZOjpMN+6N2CFRP0biE\r\n4Dyo/nQaVOrFIYOfl9dE3pI50+x67yDj3TqST0eQua0+88g65+GC1lC/MMVK\r\nEVsM7BODstNv6K9avvAQhMvlM+zV06pAzM5tTkhRyaE71c629tNXgVa6XlD5\r\nbOlnsKeuqnKxVsSwzPUuJYbg1e7I+zzJVpokBOx7xWw66FTXLfB3qs6hx80g\r\nDVdfN4OMEYKs+axcHIgF13iFVCcMdTSc3bgOFpobgQvz0xoGtdTjCVHGGlak\r\n53KuuFQUMZa7+69TLDk1Xb0TEPdR6TULNcj67LddTOl7m1WlzwrZGGtRztZo\r\nlTT2YAc5BG84z3bs/Y1a24gIEdjSKJTDA+k=\r\n=kQhh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.113_1682521003679_0.5924412134088055"},"_hasShrinkwrap":false},"0.9.1-next.114":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.114","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.114+08ec06e","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"08ec06ee2c9b883f7f497e960068458a51113b55","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.114","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-KwQfwTsra4X1BLZjx7JB64beHbYcDZNHsN6dQV+z787NS8gcMSlzQLeS+84iNGKaHWisgjfUSfuGlfShHNTN9Q==","shasum":"aa6a29be06b834ebabce6a1c20d391bb9228fd82","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.114.tgz","fileCount":19,"unpackedSize":54754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHCn73Cl1wM5iq957F3PM2T2bwb8bYbFYbURUKBevAcHAiBwC6+ovQwnW7Dz7MQKDS1QeR7mkyFXBBtxyxJ5mA5ZDQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSsoNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquBw//YcNRijqp7BHod3QL/rzzlFp4r89tJKIoqoiXTm/fPFeu8JSR\r\nTRpR+zrYYYsu+toPmpKVSwcpoquRtIRhYuvLRqxvAqL00sX+Qni1JI4DP0bj\r\nE3ul5rcIQn0OOIhQym7U5R0bdOZEls9ablF9CznxnAofKjj6qd800PdTMLJt\r\nQBQa9RD8CWdV5EeL3+aedNGOTGKmnKG07CbxxRhFzBUmlUgYoqvznRZ9OxqH\r\nONHc0Zkh8bIJX+VBpi5mbYHHrp+IO45BWR0+nbwoL4Oo/eqbLH45hsKtKak9\r\ncflHR+FnWfcRFfamSkNgl4MxJfFZU59WqVtmmBJlswGDqZeSVmRbohlXvoHD\r\n1roCoF4hdGHfKjUosMqjFSVLZwlmE8eVcoq0bayRLi3OLNg5t74KsEWja+4V\r\n9MzyBfuVjeXkWuxLR0I+Zro92DV5qzNYIGxYtdGz7gu7EYkIjK88tSVhPYgR\r\nNWxVdxtOYhTfL/CEoWWVx53jpwPesiC4oV+fZB5PKbpH2qiYvLZyNp/MZlRD\r\nvBL3KoE+lNKhBYV1+pI8SLhZQgOVhTnVnfbaC2xdCVaSviSXHmIH0AVMcQOd\r\nHebTigxUjKW1oHnpFOEsBDWHx9e9g5cufSFFEjaZY1IYxvwik0B+o5kTpkXi\r\n3nlvIsOAqXsfYCmjEKg82gSyT9BvNEHtRX0=\r\n=/v7Q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.114_1682622989190_0.9745562293707961"},"_hasShrinkwrap":false},"0.9.1-next.116":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.116","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.116+01593a4","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"01593a4452e25fed16ec878e17d70c280f28e4ca","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.116","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-AF+bEiErbMyIh+L9mpjQQ9bpwDQIdhsJc6kqHLWYiCFmzNoWNPfGqnksfrzAJ4lHBFIZQgk+KdzQEfPplDIUkA==","shasum":"5ea3d408b1ea905610bf50fb3baa26c0f52a199d","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.116.tgz","fileCount":19,"unpackedSize":54754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBWlhoRsRGz/fUOP0GBbZjGWfjNaypI9kZ34FV8gfNAgAiEA9ivjEujyUKLREgogFskuyL/CRKTjI3TLvf6wOxFCy0g="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSvLpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr3Yw//XD7o0Jn6ZTFvg3/6teFWW8YhCBx9eAyO9cZIFzZMrzAKOXpd\r\nu0EohV3Bt4B+wpeymshvSpVnOYNrjF/jXccAW5NzBumo48cG54B1ZaLlDHn0\r\nHWZL6uc5cWPgMehhNPVvQ+ZSWqg1aE6o8m6B0/lfEuXNINwUwHMRvfn55prq\r\neaeCaUrmHmhfG0WQ0I7lZl8M1XFFrO9P//5SchYoKrWRgEF5LGHhZfZB7RZb\r\nEFJe6H/R5Mcmur2EtroR/7P5/GY8WlZywgkj2jSiB9LoFykgeMaxFZvg5seH\r\nCxPYZ/VE8FiUjFrKhN74ZuR90DI3d++5kAR20mMg1WJvJe8f/JGcpC9GuTY2\r\n5n4CR8jMuN26YrpU/JkzokiAAjgqawfdkZ5dlVD/Mge58B3UOX42O0WzRVEF\r\n0K/S785Bj4X3RghQgZVAEIaWZd1qnCqoQ7VVgCEE53c/R2tzEOua+fDeWQVL\r\n3SjZAC/SM7E+2HW09bCcwr5Z/jV7ChJOE/pfH81r5MdcOvoa3sSea2S5jSxB\r\n1OKJ7EbV3nItZTyvnvjlh+RreJaM0Cg/5ss059e4eFdwZlg0rbAju8nOCZst\r\nudhHH/I+9vUBkMiw/7DEEKWgH0+fUSkd/X+xcei0jgcG5e7Lb9qni71AIjEm\r\nh7Hq2p+Dd9lkxqCVUdMmp7m/joMtAGJlzVw=\r\n=jarJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.116_1682633449308_0.1716994563290215"},"_hasShrinkwrap":false},"0.9.1-next.118":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.118","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.118+612b082","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"612b082d754eb90402160f423d939f3a6f9ec181","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.118","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-w2QlHI2/48lUCDBC/uZMaSmoRZ+5e7Ky6pwLY9t6X4/COZehpw+OD4A4PYOv7gPj613YtmlfUPKtq6NGJ74laA==","shasum":"d3dd8a35aa88327455e9bf27f4090bc09107094a","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.118.tgz","fileCount":19,"unpackedSize":54754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGQD1jkCk9lq48K685Cj4xBUFEpss3uk1QMLtDCF6Ze+AiEAh35lqQTWj4xsl5R+pkshy0U7YURbwF5TqTvKpyJDboI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTYHiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLxBAAkLzSfIXImJTZG0pH+ZeB/Iyg6AUshFIBUk+TWJBMjYDKsKRe\r\nAP4LVeafT3lpjqRisL/ajjEzttNwVcphceXtxjADi7VAnAnHDNjH2sWEMroX\r\nPu8JycLsRXd/GjoLKudH8/9Hp/7wPmuENxpQXEacVNklF5ByvlddTHKKAiqy\r\nB5KF8uGKKK4fUv1cLIMfxCz4Rsdu5gMyo4GYbclAALnsFazs3H31mCVrAQvB\r\n2hSKCki6GbP4ZTPaZDNthjqGQHRhny9Oc07MNQfP7h24dfaxa+UgWfwlP+Xe\r\noSp/SHBV4XJUqoOMDV2GY8pSbOU9dyzvoUGQZRh7+Og4/C9N8EzFQ5SO3QZy\r\neK43eeygoSdCS6oiB+5UIEy2WmWOkt6+3AFvDi/7dG3wpiXFRXtBLgeFXLHM\r\nbQs9kYcy6nETE3H8FL6LVVpzbMaausLg05KEUV6pwvaSjTnZbh5eS4h2aRe6\r\nKkJe21gZGQOSXO9BtIL6c+ieJrKSq+f6PLYCBEcLEENYSssDUwLTtyJnJ2ds\r\nSUCX/P2btXq1fN+rmJqwWsTPrJ7RhlwQDFNcdhPuY4fewW5gVP4OKQh1YISs\r\n5E7AKIrMJPV4KrPU6USCHhJbucfj2+IiB+RGfNhd1RCZOLaxfZ8U/2VBajLR\r\nt2qSFnNEXvtNZQHF8h3tNSPhpElhrSikezo=\r\n=XBZA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.118_1682801122228_0.8906886663256666"},"_hasShrinkwrap":false},"0.9.1-next.120":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.120","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.120+198701d","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"198701dd4319c030608df1fc33ce25d62870dc43","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.120","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-DQLAXHsL40h12Az5sfE463oNy9I0gd+LxQNk02SxY2nmEAbirmvHUZL25rTBCTBmsjcx7+SyNPjKMfXqSoZMaQ==","shasum":"8d2903addad0bd2e6e77d5bb210cc14f898d684e","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.120.tgz","fileCount":19,"unpackedSize":54754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaIuwCduZEwLA48u0faba+dL9D1/0fmk0+6aEsXiqEzgIgckEREcHcWltwupGsAc/L9tFkA+KqGat2IKdrVPsMA3M="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTkiMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoCNA//cOFORwZxA1qukSA5t1J7yAR5YkB66BkvD4K4ZCmmmSOtPn53\r\n+ehwNNTaqO5zWISKZdZTyelGTyI9DiCcRCiXsGfSokGr/sVgnWz4A5gPqubr\r\nGxYCwrY7Mno5XMGS/Ed5x8m69XHUr/YRRMqJd1U4Updnjca/fZZT0LNVckGV\r\nsun0eMwtYjQBaLqMfTtj+cN84u8OKqG2jOyeZKufeBH2iot+NSXXMZ6mcnU7\r\naKr/X93cMG1U/t7jG9NhrhvufC00f1o6GuHJyttErSatF5HJcv5INBngycbZ\r\no6hy5gTX/uAxq++go3V4WKLA9fZp1j/Tf+iS6GKDKQ8LTk6mUV3nzxbsn/yQ\r\nzP54tYYz1Mm72+LlJ2Q8RcU6JUrgA4ArI2wXL72nB+Z9RQPpQ2dI/GAGa8fL\r\nsrEp/v2wlU5ptZeEfU147rvWBDPEjGdRdlyJzaR7/lIvsqrQ2wQQyDfDOvwj\r\nc4Db/KJ8kVdKRZK7kXLWGMaeePe6fgw4P0F8HszSKl9O7aMGsNO6Bd4VAlfb\r\nZChnnz637RrTtsThq/B7MqOzHy2LcP2k7cldI9CexfG4Q8LSrbDcI2sYirY5\r\nJl+JNaSUEKzfKeJ+UWSaJ6EKWo1FoA0kVUFesXMWYn+6j6W14a7cF4V2O6+b\r\nNWU5SK+v64JkOqR/qFz2PsfbW2NFlsXI1P4=\r\n=qxQx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.120_1682851980274_0.6864245866356042"},"_hasShrinkwrap":false},"0.9.1-next.121":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.9.1-next.121","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.9.1-next.121+60cb6d6","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"60cb6d63087feae065bd4cb5d43fb6665725d694","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.9.1-next.121","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-zf8IWk/X9/QsaGgbGH37caZCi4esaUpe9m8+JO371gy7qKtit0V4cP+dvBs9Ptyap/kmlT5ttxj6VNeAeTgAYQ==","shasum":"c966f36543ce1461c8c3cefc1cac4bcf62bb8af1","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.9.1-next.121.tgz","fileCount":19,"unpackedSize":54754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRxEnIBlZV5NJsm7H4EgT8peoAoa/ZXirpLhLSe/4dMQIgaElgDCmuQlOtPmTcx8x+UFlUlcIEgjQWxjpMbzLjpKU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTtIHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZBg//bO2wZ9rXepK4RY0tf3o0ef9o3PabRjrSd8EQggwkxucyuc7b\r\n4s6Xop8eds/7cdZmv8xqGBRvigG6os2BffpVKxECduvwAfAi3H4ngg1/F4Af\r\n+M0pzXhS3wZt2zqgHqk8zmSdFWFBxWwN8W7CUvwJjlwC5z7Z7K8pyQi2BmpX\r\nQW3A6H1/ITCiBmb0kQ+bcFa6p1odRHm61B7ph9/pNQKzKw/OqHQ9NZPDFDqr\r\nIFu1O7srrvqB0Aw1tPB76Jt+L1ZO8qGGTErs7UxpexzMXz5PYWcybTbk9gla\r\nBygOJHGqQCZjGB70+1DqD/ffMx8LFJUyeDBmeNVX0R42nMKVoZ2sG0TvGQ/t\r\n00YInKfyr6X3z0qWbMogSJXgmeZeFwtwhyju2vmbFOp05BnG5yRv4qUkiWC7\r\ntO3aOFRgpn0qIGU1x+RZGlvIaaZ95IpkY0FY5ao8a4hI81Vw412fnD3qsC7q\r\nDxiQIdZTnX/SlDkiMQvu8mjS7fJ9Y1WEeNYeabqMObi7OqR62VEsHW9PfkKM\r\nGemlR2nqfwU6WGXefQWwNnZ1ZeSGCZd1syEA/AyTwSlkE4ENJwq4Vhl2Vvco\r\nfLZXiV73qX2eecoBQElaveY6wH+hcJ3tyxFT57mewTnOdW+ej3eNNdyBZ3BG\r\nUm1AcN74U9ye12L4a6qMzGbT6WhR7wlLK10=\r\n=DZ6g\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.9.1-next.121_1682887175104_0.526427998579478"},"_hasShrinkwrap":false},"0.10.0":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.0","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.10.0","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"134e3ba941e7f9574c2e11c6d5088ab5e8581955","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.0","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-sp97ypzGCzZmD8OdqZXIYRkapV7yFnGj+WacUoR4on29Y8EG3tnrOYhe05S5uwhyvdtAO+ViMhMfaFYb+HqaDA==","shasum":"df8cacf4241eb0ddf8e38571c6861a002f5e0f49","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.0.tgz","fileCount":19,"unpackedSize":54722,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCchOC7CeGtYGaiJfClhbqucx0+0simb7pq2Z7SlXzLeAIgBPWZYm75domnfzYHefGAgY4sKpf570ah6D7d/vonC0o="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTudmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrfeg/7BcFatcFQYiIA/CsiQwg7HNRWHfF4UUAV5Y8BE6q2LPgYwqwU\r\nXP0HMRmoVnOBSDBYHtC8dEqnL0NCRc1t7yKZwYjJq8C6n5MgsZ19oYF9VxyK\r\nhJfZIep6ABXiDJD3V2TUXAk9F0u/EMfIXANXgA/zcyg8lEBuyntyQBUpzjqE\r\ndl6z4lnEJmbHY58bf2zpb0kcqnenui/oiZoJXOHJ74K2v5cWcPJcpX7HdsNm\r\n2qxPWF3K14EBDTyfbVYFEiOzlzgOtMyjG2F11v5gzjERya7yW/aH9qKVAgXH\r\nmvOtLimvY8WjP0KaLpjPOkIOhNkOyETfqlqBWeRC7iKJ7BSzCnRspThs0yQX\r\nRhqrJx3NwRq125+0Xbnh2aOAYCLwdUNsWVmRYp4KM6MmeBqhaC0yombSf+7D\r\na9IXn9kxvzDcyobRoXo1AcehRS0hn4ReBwhJRJrMhRvYSQMybcBgAwkKk0gC\r\nw81awS0AfpoDue7lymlBeeZ4NFN8MjS+D2PLShh4JaZafQM9+XRobY6hmNyX\r\n0oa6ifMdxgz49l4Axt3Sbxh/tem30EzxFyzOrtwCIQBagO+US7HYPlSh5zo4\r\nTUC209jDNGXWjSMxKl2arPVbxGjFgMz2b1TP0ly8pMgJKwxzzy7KCiD5zsxO\r\n/qoqz84RB0RC62l3En/bGiWKsd3ZIx/jmnE=\r\n=mxgM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.0_1682892646520_0.8281221843155027"},"_hasShrinkwrap":false},"0.10.1-next.2":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.1-next.2","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.10.1-next.2+488111f","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"488111f22ed6a844f0db4738994647e02e0cf23d","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.1-next.2","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-sk5SeYh3iYpf6biIJvN7AGZHrgtiNocLWuHZjYSp/OiHcHvKAKbdmojcVqzZiOgETYrna2leksj6ztXcpgDj+g==","shasum":"5bd79c671604c50bcfafd877552d26fd1cc3c605","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.1-next.2.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAnjRhvD53IKRjbXTGTaUQM8705peCTdb9rhCbN48fV2AiBD7qqVSmv1cbRc2dXR3JlOPbtzJuVMXvJEn9oAMPcbsQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTxY1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrLg//bu+rIDWF7UFOO51Rjj/qj5wevXFczQ27A9FVWcTl+fh/So8j\r\nrYdc4HbqZP3Nwxs42THBc1tIUrCRRx0ucjCXbtbw4c+igZfmyyexy2XgSvqo\r\nz2VQzCYQyKAPJwY9TMKOXQ/zfVkw8vNM/w7bd7Rqa7lBTiMXdQqcxoyHl/61\r\nvkmkkAmR+gIU8or8aCTJURP/ylNNNUMmTR9QrerDI7PktSEhod3/mqmzwjy5\r\nnWnOTayJAmjyYpfQvg4D6/lc6kS/l4JsQgl19oc+4AKGm1dajt7/TMhB405L\r\n0uacMxYyh87xNvuTsKqeTQnVjbNIcHqUuOm0ilHd9srx3a5Uc0+XWUdd3LkZ\r\nK4mqxtHHXekQylClcK+lZ5ps4mKqXqEREAVYQSBddsUfcR+CRinOAAP26C7r\r\nPkBuWYtJ5v6KbngYSKBTkOP5UQDLvfSV5FQ0ac6U4Wwhgv2GpCwpkv48hdVc\r\nv9RjYCs5QLO5UiRPWfx5vqRbP+pvrX71S5EKySruArHjSHVJyyWF94MMPBVI\r\ngUU6yTzIE5s2FZeBR75fQmFqzIAsFFLWeGMmfdKoYfEyIlIlNV4OOer9509H\r\nnzy08M5IiIuBOFDYJV3v7fWWFCyb7iKanPiWI4ViQBMHXx2g+/UuANmKjYGw\r\nM4pLYITDAdS6oqb66IwB1nLKgZRGkekPqSE=\r\n=8Gxy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.1-next.2_1682904629628_0.011552639727568703"},"_hasShrinkwrap":false},"0.10.1-unstable.49":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.1-unstable.49","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.10.1-unstable.49+79bca14","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"79bca14b2561576176b0ed87bffb87f7f16a2c97","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.1-unstable.49","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.6.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-0OBuIlbbZvLkZs1iW4yZCOKwNRsbcNZgDoxChYC0JK8oWydsJKPjyphvdEKrfjftdGszWkGYhHrP3QO9a9FzYQ==","shasum":"8fafdf86baf6b351ce01b993664eec1c76e434c3","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.1-unstable.49.tgz","fileCount":19,"unpackedSize":54782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+6UPuVV2dsvyti+l7L4adL4mwIIp8uNVSrsgB+HB6XQIgBtuQul8RMSC8Ovm4O64UCGCnq1GyzxPHipjNHJn1Q/U="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUmsmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqE3w//eN6DfpzjEtpUOf46zwJK2Gcg/t45wqkLSrXho2u/2JxEa2w1\r\n33Wn3aQDHH4491balU42SjKXRRb6nzTOfrPepgRoEVskXFxGG5/5542PRrDA\r\nx5YmuShtrRwnZIZDfdrZ/jyVngTQ8C4gbgymWrUnHgml0WRIEjPGfY7utJ/o\r\n8/W26q14/E205EtQYhH/Bq4uSXwWZKlZm/MqaDN/6vTAG/LKKCT2AqgiuxX7\r\n+WUCqAsKnbpMq0j6HiWXpYKIGdWWLvfoktXg8p200XMYco2oVVOZ84uLqYid\r\nnnIjd9bx5CCL2Cwvl2uDT48NN7q1PV42uENdgIRKNG7qPqlDx0NvA+7EEHyN\r\nHn4iYWdhEN4UShfo3m/iJk+e9DiDJAvPsdjzJ28vFM2caip9Pr+x6jmBALw0\r\ngBd3ve0bh3kkb7XhT9QiWHF4NHV9DXAP0jngpJh6D5qxNSLCcKPPfEoIE1C3\r\ndddQMtzvOnoCvNhWLaRlF3yxbAIbQUT1Atue1MvWHzNnnXCXYbz1S06lSdaD\r\npFbW5kIgftyODmGUWVcQbqUBdjDQg956wIZ+DVT5XlKGrovYtrFXseWjypoF\r\ncPHtSrgIzVQXA4w2dqBQHe7c2XsVyWSEjyzqNqSxMumMdGRt6CFak9NplApF\r\nuLtG0lYMm8g9yt+1T0s1tYtiMwwSveVGO0s=\r\n=047L\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.1-unstable.49_1683122982363_0.1963678771418953"},"_hasShrinkwrap":false},"0.10.1-unstable.50":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.1-unstable.50","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.10.1-unstable.50+6f3a76c","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"6f3a76c592a31dbf0c4d352bb55933372932ae33","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.1-unstable.50","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.6.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-sZmL2gmTyBmPvI9O+GpJNnNzOxhGAffzatSHpnXyrAWPe+TJgWnA4jUCu8+L9jhUG3IaNAffbafl2mRbN4G/Xg==","shasum":"6a73466f06190f626744d2174ae88bef760e80dd","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.1-unstable.50.tgz","fileCount":19,"unpackedSize":54782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG5vKo7bPXg37SppZkz0Dzaic7JHrNDNlaRELU3ZkvJSAiBG1BJIUItUMBpfhrwZYGuyKi2KuwsMVyqpAPcZ3yQefA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUnKjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrWgA//Q/8aZSOfVAyjmmgKOJXXFJmLsos8T8rSAUveCdZCdLoTfhcJ\r\nKKCyf1CQDzgQdbzxqNJ64BuJfnKI9FDn0vCDAqVyKiafWnSxnhNdjTY7YY6C\r\n8/9xpuXmMO/abQkCxNRWzlpCvkbi8/Our6AkqOywaNgw1Fu3Msec0IBCa0U6\r\nrDHff/EEqhVh0imYA5WN8JU1QoL71LamN6YeKbXe8BVB+vZqOqF/km8IYEEG\r\nN+AmQvxOWCvmaoM/19mPU3Srcj7+KYpF43aYAYSOpKeNFSt3P7dNmEs3Gnce\r\njvVAS952GAkVA6UkUavGIMVNmTUY1Iq3jAw6oEPFinVEmGMOiBBx8k0J8jxN\r\n3psDeSuWuiDYgludBsh0oX00Iw89LYxTlWh2QhYs2ld0nPwFrCNCzP4UCZ4U\r\nXO9SsP7yhv/seRI7SWsLKaSq30ftxvLtjAdAzJSCSIAjjUiCvv+8eerGiBAm\r\nWp0GK1NKqJS13vkip3F1Hl0APJwfasoCFUnf4g9EpqhxMLjHkHslJVVJoAOX\r\nv53Yj0sToOAZZIbwxxA4CkQD0yofaQAx4hr21+Yu1iYNK3BY24NF7EV2teEm\r\nsG1wiCMgkr4IerolBLrGgPVlVP0ZNDXsiosd53i2fTB/n/Jb0bdGWd/p2BaM\r\n6OTy6RQhD5s+GMk4D2RZFY9q5s1qLDGa+EI=\r\n=LR22\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.1-unstable.50_1683124898970_0.5567222449240321"},"_hasShrinkwrap":false},"0.10.1-unstable.52":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.1-unstable.52","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.10.1-unstable.52+8463776","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"84637764cbeb97af4d4f300ccfef01fb77c280d5","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.1-unstable.52","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.6.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-YBpJrtjbwttr8/2Wu1aeM+VqtdP/RgYlTdIBVcZk6xOacDgPUnFeUN8XrlP39gB7si/92zehX1ghoXazmoJChQ==","shasum":"c4267efe574ddcff27291bca267c5a569972c523","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.1-unstable.52.tgz","fileCount":19,"unpackedSize":54782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCM8/KOO6u9RbE7ps9qKXtCsgbOxJ41ZIVx/aSQCv0AjwIgJuLT8J3XyCj9CJ4uesZH3OQonUTKs9WJDHOxzhK4Nc0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUo6DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq0ww//f9aoOoVVRBhGLt3sT2Rj3Sylkh5xy9Cb6ZL84gy31Xyrn/ex\r\nFqA1TC1sSsOOwBciPROoHl8GWu0t4vNlcH1cDQ3/BKRHO2xduSNfl6VPPG+k\r\nIQTfgP4U2iLsg9dENchdlPqjCbXSKvMtItqCFZALUB30je4HuP77c2sd1CvS\r\n4tueSvbcW3u94AgMGqr+pmfa2YTlHwZdu85S/fn4ouPDU0bf/0MnX4I+9I+8\r\ngM5qqlFUzdntw1rnCPelseeGfmD+zDQ/CgFOmowUtWhfr9GyrAJBCG23M0jq\r\nfk/NvIWvMkCXXbh26BdBjgTLd5Z9QMcruxesHvc5clmXa/RuQ2pzPI60KiAA\r\niC6e6iYr8kT0+iY37LEn9tR5Iz3HtIM3/+Zfj96UVLtFrQjfgL5CjC/XgEHV\r\n5lIP/G1ScUlTWSe369vAgJ17q+R5wj7XbB6a47WbFnOUZHRwVGY1jl/rTGJK\r\nhGXA6I7oN1qr9VafncremQ94VodbEhbGpSxF35igMQdQdAYKK4CLWFH0DTwW\r\n3IQF5HYINi96vh79GcmtvjBtJOaoo0HSDt43A13qUiEbH3TgmGK9l/5wD+tC\r\n7fsXrf8u9RouUFuZsuHn4DPWfOP/dmyzJ8j9FgBhcRUKL5ZGv8hn7X7EvcFG\r\nFMbuhHyaCvgeZu4edHZmkMRon3SJ0H7h2Cc=\r\n=SUXi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.1-unstable.52_1683132035035_0.7446433892094471"},"_hasShrinkwrap":false},"0.10.1-next.6":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.1-next.6","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.10.1-next.6+ce5b487","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"ce5b487d4b5831aa033615fec9e4a45c19c1f3f7","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.1-next.6","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-UULyrnNr3RgON1z3UiMPtfP30Yjjh9BKfDtohdrxftKmABKYEdNJoa7lATU4ihdMPokwVSv295n4T1AjZAsZYA==","shasum":"e141e2cda86bcca12654f4786256629df617f7d7","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.1-next.6.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGZ7wGEssnIHL5y8RWhWvvI/GN6AzVQgVvINRyjLAtl3AiEA7aCBQHGA2RpsxkEr/FNzoL//IAbW1Jy+sttaLZNThGs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkVD1LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7xg/+PU+/VvQ2w+khr/WqMBhu1NmSgPfkwbT0jafwizFf5AieJV4m\r\nUUFGMdt23Y/i5SZAkTmDiVyxIADd1v/22gC5hZQK0+kMIVYlOESyTj8XRRy+\r\n71bmWM/82A3R6asu9nAhcXJJTDbyMDnrVWnsreVOP8J8PJ7YFytaj284Gf3z\r\n8uT2bKlN98ImMnHcYqwlAfv7kID8eGat9e5Te8gkCsKd2jl7MYFj1mEFhDnx\r\nQ+/U5xwWXZt5MA6D1pMG2T17rC0QrlSI7itnsUgLFLp57jFeX0xwbBvpLi41\r\nTTDsBH3eqw9EnAi/OVE9XQwG9RsWAPi5+jlHN6q1thrOWfI6y3OmMRam8q+p\r\nQaavJLdYNi355D4+9cueTLlpqhcoOTZ5lqNSyCrZskolPAB3B++56TlMQJMO\r\naaHnE6PFR5stWysASDHj1onxM6xbN8VCJtRtCT4B8rdxlaLL69TnpVW+KEIx\r\nLDUjgaS4bEBmTGmyVTJ1FaOUYGfFUjioG9Zj9Zk26K7iwz25JBySulkMtBxv\r\naAgh4+I+sJwEHMgNsjx+6zTgJv8vmpUg1epkV7uRjnZAHT3iT9wfHL0yG1/o\r\nIg6shUlvV5WYuuQMUT2ZerQEfwRkWZsZC6LuxS5ADURt5lxIf+NNKvTfoJLu\r\nVdg220BAnFp4DgPPVno8ZR+4zD2vaFJl4Kc=\r\n=AOQE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.1-next.6_1683242315501_0.5575213876682465"},"_hasShrinkwrap":false},"0.10.1-next.8":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.1-next.8","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.10.1-next.8+7df0e64","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"7df0e64ad6553e8153cf96d62156867fde8e4cef","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.1-next.8","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-cnH8cJ9HpwDy7XmpyrnV0q64mi/aCLqfx5XkB8x0r7n19Dn5BCaU677afMRDUcvhvxdCqQzpjb/4DPFjeZMaRQ==","shasum":"0dfcf6350de6d2e91aeef4c141b59fc0dd55cb83","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.1-next.8.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDm38qjIwW/j/Pmxl0f4G0UT25CV90ENVsxLYKHriTjcAiBKilWIOIi5y9pn/dhjcOOAlsbFmAEIsHr89bQtq5dJaw=="}]},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.1-next.8_1683307208986_0.07550905945867359"},"_hasShrinkwrap":false},"0.10.1-next.9":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.1-next.9","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.10.1-next.9+1b2d26b","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@veramo/cli":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"1b2d26bee8ef80eedbdb3389a36c960f30d9fa9d","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.1-next.9","_nodeVersion":"16.20.0","_npmVersion":"lerna/6.5.1/node@v16.20.0+x64 (linux)","dist":{"integrity":"sha512-iCACu5ny422B6yu30oHw4WO3YNOId9vvDUSz65E4DfJfGGgYViZ4xxIIHr+0OV1A6+el5tz+7S2wELn2DW/Nwg==","shasum":"8410f1fb94631ef8f83a4d2928da1386333b94d9","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.1-next.9.tgz","fileCount":19,"unpackedSize":54752,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfH9LgvU/8sxWkq6M9KgCYb4+HBXZZQQ6fqv75morF2gIhAP5Cd7O+lxFojgWX71UhQL+5e6yvBYnKkh3FBhH0/3uz"}]},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.1-next.9_1683309627239_0.0822412379632893"},"_hasShrinkwrap":false},"0.10.1-next.13":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.1-next.13","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.10.1-next.13+8f56f22","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@sphereon/ssi-sdk-agent-config":"^0.10.1-next.13+8f56f22","@veramo/remote-client":"4.2.0","@veramo/remote-server":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"8f56f226b2845ec49488734fabb9fde6ae707017","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.1-next.13","_nodeVersion":"18.16.0","_npmVersion":"lerna/6.6.2/node@v18.16.0+x64 (linux)","dist":{"integrity":"sha512-cyP5qpsz0Z5y/+Nm1rv41HZDNlXDNxonbuEfooQq9Cx85k+2XBHoAhtMcNTTmWObadYGfE71a6xZGfZj7J+h2A==","shasum":"dacaab6b43895a0ec5bb7869fa3130c63e5810eb","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.1-next.13.tgz","fileCount":19,"unpackedSize":54867,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHHzg/5C/RAJ4Dwarz8XDD/eCyJytANrMslvagZhYY2UAiEA3bdZAVuR4vTqoPnUqSobBH6INnZYkEqsZe0wez+nH1Q="}]},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.1-next.13_1683332807186_0.897274847007038"},"_hasShrinkwrap":false},"0.10.1-next.14":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.1-next.14","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.10.1-next.14+344ae1c","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@sphereon/ssi-sdk-agent-config":"^0.10.1-next.14+344ae1c","@veramo/remote-client":"4.2.0","@veramo/remote-server":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"344ae1c41b4c30ceab399df3ee531635ae789835","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.1-next.14","_nodeVersion":"18.16.0","_npmVersion":"lerna/6.6.2/node@v18.16.0+x64 (linux)","dist":{"integrity":"sha512-2N9M2QfQi7shw5yxs75TT7DLMcpkABRELstYnrIxpEy1A+KkaFI4wuJLIXe20ojdVMI0niLErgrPq8QxI+7PXg==","shasum":"f2a4286e5a672fcd3abad210bb49cfef85a693b5","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.1-next.14.tgz","fileCount":19,"unpackedSize":54867,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoreh43FDznaf37sCaO92/v3O/egMcTHeghus7Yt5ASwIhAIeoLduJEe5X29EVG4yjxg0FF6or7fy2Gk+a/4w7Nn+Y"}]},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.1-next.14_1683357316998_0.19763058318791282"},"_hasShrinkwrap":false},"0.10.1-unstable.73":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.1-unstable.73","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"0.10.1-unstable.73+ad39a5c","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@sphereon/ssi-sdk-agent-config":"0.10.1-unstable.73+ad39a5c","@sphereon/ssi-sdk-data-store":"workspace:*","@veramo/remote-client":"4.2.0","@veramo/remote-server":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"ad39a5c4eb0893c4699ee119214d638f954486d4","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.1-unstable.73","_nodeVersion":"18.16.0","_npmVersion":"lerna/6.6.1/node@v18.16.0+x64 (linux)","dist":{"integrity":"sha512-umluzdLXpweSdDldC8JkiPVh1eSu+cLxfGe/9TijgudOWCXBneXMD6ZEaT4WkKzMAqEBleugTufLTkfLOGMZZQ==","shasum":"578d33eb6549fe812ff6c946abac6d97e033b363","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.1-unstable.73.tgz","fileCount":19,"unpackedSize":54940,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGl52xjTbehKRK6+Am+LUksq/kB0EyQS95J/r4EGiF/hAiAWzdls45lyHDlOk+JpvwWQYScDBGaM77vlU+SiApUnYA=="}]},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.1-unstable.73_1683495201449_0.3725079303794152"},"_hasShrinkwrap":false},"0.10.2-next.11":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.2-next.11","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.10.2-next.11+6e6b83f","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@sphereon/ssi-sdk-agent-config":"^0.10.2-next.11+6e6b83f","@veramo/remote-client":"4.2.0","@veramo/remote-server":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"6e6b83fe7e6887cd2faad5846b8b1c7ad24aee7b","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.2-next.11","_nodeVersion":"18.16.0","_npmVersion":"lerna/6.6.2/node@v18.16.0+x64 (linux)","dist":{"integrity":"sha512-jPTOCG26C0ghuk8/043EGu7LW6GXbvTqynfCg5yN5uLfyQcVZQuVlBvRVRisl8RxnRNiAw4JQG3pi6HaJMMW0Q==","shasum":"6ae7b675c316ed4ef9bcbf4afc92a07b9e77db9b","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.2-next.11.tgz","fileCount":19,"unpackedSize":54867,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAhbHhEtAM6lFehSFYtZZF8AYGwqHpZD7/lMv+kDnQdHAiEAzRVSQzFd63tb7o+CQG1U65UbwrXQD5LD3dbW+ZLdg+o="}]},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.2-next.11_1683495870848_0.7852093571903305"},"_hasShrinkwrap":false},"0.10.2-unstable.72":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.10.2-unstable.72","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"0.10.2-unstable.72+34aa2c9","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@sphereon/ssi-sdk-agent-config":"0.10.2-unstable.72+34aa2c9","@sphereon/ssi-sdk-data-store":"workspace:*","@veramo/remote-client":"4.2.0","@veramo/remote-server":"4.2.0"},"private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"34aa2c9e407ad98fdacf62c68fb85425a31c9856","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.10.2-unstable.72","_nodeVersion":"18.16.0","_npmVersion":"lerna/6.6.1/node@v18.16.0+x64 (linux)","dist":{"integrity":"sha512-Kp8wfhpoCOy5psyrsaI50NTUyi67WdhgNCgqcbvoN3H866zCPbnQpJD+VCPNna1oaojQrAfKYOqALWKV38vb2g==","shasum":"66fe8109b61c568aa52e34c1d3cd9e8c917f39e6","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.10.2-unstable.72.tgz","fileCount":19,"unpackedSize":54940,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEpwYnP3rhqB3VE0Ja2ZwehaS1/+7P3mwpuuGAAtZwlKAiEAgGb5pa3DkkU9EMgugGTfkeBvcVOAWChLPwJJzRCyZck="}]},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.10.2-unstable.72_1683495898983_0.2095812116814979"},"_hasShrinkwrap":false},"0.11.0":{"name":"@sphereon/ssi-sdk-contact-manager","version":"0.11.0","source":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","veramo":{"pluginInterfaces":{"IContactManager":"./src/types/IContactManager.ts"}},"scripts":{"build":"tsc --build","build:clean":"tsc --build --clean && tsc --build"},"dependencies":{"@sphereon/ssi-sdk-data-store":"^0.11.0","cross-fetch":"^3.1.5","typeorm":"^0.3.12"},"devDependencies":{"@sphereon/ssi-sdk-agent-config":"^0.11.0","@veramo/remote-client":"4.2.0","@veramo/remote-server":"4.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"license":"Apache-2.0","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"gitHead":"c0b30e037a02bb4bedbf1165feb73184ca8ef571","description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","_id":"@sphereon/ssi-sdk-contact-manager@0.11.0","_nodeVersion":"18.16.0","_npmVersion":"lerna/6.6.2/node@v18.16.0+x64 (linux)","dist":{"integrity":"sha512-pb3nIrhksjBR58P53iKur1Yv0xX1YFlmULf7fzBfdhLM/hHKMEPlMD4My2w9PYo92KfKkzeghQGw248rsvBWFA==","shasum":"bc5b9029dbd29692b4c4858fb75cb47603d024a3","tarball":"https://registry.npmjs.org/@sphereon/ssi-sdk-contact-manager/-/ssi-sdk-contact-manager-0.11.0.tgz","fileCount":19,"unpackedSize":54819,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDP+1CHoX9SJd+ZpU8v2f53lYouLRcDU2ytZxNNz6wfnAIgXnNYx/hEk+8SvZ85G7A/81i/YhRHsKCoz2Nbxbjw3xc="}]},"_npmUser":{"name":"nklomp78","email":"dev@sphereon.com"},"directories":{},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ssi-sdk-contact-manager_0.11.0_1683497040091_0.2348143166523744"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-17T11:52:25.720Z","0.9.1-next.55":"2023-03-17T11:52:26.028Z","modified":"2023-05-07T22:04:00.387Z","0.9.1-next.56":"2023-03-19T00:04:43.185Z","0.9.1-next.62":"2023-03-22T00:37:12.766Z","0.9.1-unstable.66":"2023-03-22T12:05:41.469Z","0.9.1-unstable.67":"2023-03-23T09:12:09.882Z","0.9.1-unstable.65":"2023-03-23T11:57:32.362Z","0.9.1-unstable.68":"2023-03-23T15:13:33.261Z","0.9.1-next.69":"2023-03-24T11:59:12.574Z","0.9.1-unstable.85":"2023-03-27T10:49:40.786Z","0.9.1-unstable.87":"2023-03-27T12:09:29.015Z","0.9.1-unstable.88":"2023-03-27T12:12:03.194Z","0.9.1-next.89":"2023-03-27T21:34:17.384Z","0.9.1-next.96":"2023-03-29T09:07:01.595Z","0.9.1-next.97":"2023-03-29T19:23:27.698Z","0.9.1-next.99":"2023-03-29T19:26:13.846Z","0.9.1-next.100":"2023-03-29T19:35:29.879Z","0.9.1-unstable.109":"2023-04-12T23:42:34.966Z","0.9.1-unstable.101":"2023-04-13T09:46:28.107Z","0.9.1-unstable.112":"2023-04-13T15:22:37.976Z","0.9.1-unstable.113":"2023-04-13T15:40:17.449Z","0.9.1-unstable.114":"2023-04-13T20:42:36.828Z","0.9.1-unstable.116":"2023-04-13T23:06:17.391Z","0.9.1-unstable.117":"2023-04-14T00:30:48.318Z","0.9.1-unstable.102":"2023-04-14T13:15:39.777Z","0.9.1-unstable.130":"2023-04-14T14:36:22.115Z","0.9.1-next.103":"2023-04-17T09:11:41.423Z","0.9.1-unstable.136":"2023-04-17T14:27:29.320Z","0.9.1-unstable.104":"2023-04-24T15:14:54.095Z","0.9.1-next.105":"2023-04-24T20:41:54.716Z","0.9.1-next.107":"2023-04-25T09:59:14.090Z","0.9.1-next.109":"2023-04-26T11:33:31.953Z","0.9.1-next.113":"2023-04-26T14:56:43.860Z","0.9.1-next.114":"2023-04-27T19:16:29.418Z","0.9.1-next.116":"2023-04-27T22:10:49.531Z","0.9.1-next.118":"2023-04-29T20:45:22.439Z","0.9.1-next.120":"2023-04-30T10:53:00.442Z","0.9.1-next.121":"2023-04-30T20:39:35.287Z","0.10.0":"2023-04-30T22:10:46.758Z","0.10.1-next.2":"2023-05-01T01:30:29.828Z","0.10.1-unstable.49":"2023-05-03T14:09:42.581Z","0.10.1-unstable.50":"2023-05-03T14:41:39.130Z","0.10.1-unstable.52":"2023-05-03T16:40:35.243Z","0.10.1-next.6":"2023-05-04T23:18:35.790Z","0.10.1-next.8":"2023-05-05T17:20:09.151Z","0.10.1-next.9":"2023-05-05T18:00:27.387Z","0.10.1-next.13":"2023-05-06T00:26:47.415Z","0.10.1-next.14":"2023-05-06T07:15:17.151Z","0.10.1-unstable.73":"2023-05-07T21:33:21.646Z","0.10.2-next.11":"2023-05-07T21:44:30.982Z","0.10.2-unstable.72":"2023-05-07T21:44:59.198Z","0.11.0":"2023-05-07T22:04:00.270Z"},"maintainers":[{"name":"nklomp78","email":"dev@sphereon.com"},{"name":"nklomp","email":"nklomp@sphereon.com"},{"name":"spostma","email":"spostma@sphereon.com"},{"name":"bramtencate","email":"btencate@sphereon.com"}],"description":"<!--suppress HtmlDeprecatedAttribute --> <h1 align=\"center\">   <br>   <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>   <br>Contact Manager (Typescript)    <br>","homepage":"https://github.com/Sphereon-Opensource/SSI-SDK#readme","keywords":["Sphereon","SSI","Veramo","OpenID","Contact Manager"],"repository":{"type":"git","url":"git+ssh://git@github.com/Sphereon-Opensource/SSI-SDK.git"},"author":{"name":"Sphereon","email":"dev@sphereon.com"},"bugs":{"url":"https://github.com/Sphereon-Opensource/SSI-SDK/issues"},"license":"Apache-2.0","readme":"<!--suppress HtmlDeprecatedAttribute -->\n<h1 align=\"center\">\n  <br>\n  <a href=\"https://www.sphereon.com\"><img src=\"https://sphereon.com/content/themes/sphereon/assets/img/logo.svg\" alt=\"Sphereon\" width=\"400\"></a>\n  <br>Contact Manager (Typescript) \n  <br>\n</h1>\n\n---\n\n**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**\n\n---\n\nA Veramo contact manager plugin. This plugin manages contacts and identity configurations to third parties and persists them. These configurations can then be used to establish a connection.\n\n## Supported identity connection types\n\nFor now the following connection types are supported:\n\n- OpenID Connect\n- Self Issued OpenID v2\n\n## Available functions\n\n- cmGetContact\n- cmGetContacts\n- cmAddContact\n- cmUpdateContact\n- cmRemoveContact\n- cmGetIdentity\n- cmGetIdentities\n- cmAddIdentity\n- cmUpdateIdentity\n- cmRemoveIdentity\n\n## Usage\n\n### Adding the plugin to an agent:\n\n```typescript\nimport { migrations, Entities } from '@veramo/data-store'\nimport DataStoreConnectionEntities from '@sphereon/ssi-sdk-contact-manager'\nimport { ContactStore, DataStoreMigrations } from '@sphereon/ssi-sdk-data-store'\n\nconst dbConnection = createConnection({\n  type: 'react-native',\n  database: 'app.sqlite',\n  location: 'default',\n  logging: false,\n  synchronize: false,\n  migrationsRun: true,\n  migrations: [...DataStoreMigrations, ...migrations],\n  entities: [...DataStoreConnectionEntities, ...Entities],\n})\n\nconst agent = createAgent<IContactManager>({\n  plugins: [\n    new ContactManager({\n      store: new ContactStore(dbConnection),\n    }),\n  ],\n})\n```\n\n### Get a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst result = await agent.cmGetContact({\n  contactId,\n})\n```\n\n### Get contacts:\n\n```typescript\nconst result = await agent.cmGetContacts()\n```\n\n### Add a contact:\n\n```typescript\nconst result = await agent.cmAddContact({ name: 'contact_name', alias: 'contact_alias' })\n```\n\n### Update a contact:\n\n```typescript\nconst contactId = '8efb937f-4e90-4056-9a4d-7185ce8dc173'\nconst contact = await agent\n  .cmGetContact({\n    contact,\n  })\n  .then((contact) => {\n    return { ...contact, name: 'new_name' }\n  })\n\nconst result = await agent.cmUpdateContact({ contact })\n```\n\n### Remove a contact:\n\n```typescript\nconst contactId = 'ef6e13b2-a520-4bb6-9a13-9be529ce22b8'\nconst result = await agent.cmRemoveContact({ contactId })\n```\n\n### Get an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst result = await agent.cmGetIdentity({\n  identityId,\n})\n```\n\n### Get identities:\n\n```typescript\nconst contactId = '00492d95-22b9-41c1-b475-90bf1667ae52'\nconst result = await agent.cmGetIdentities({ contactId })\n```\n\n### Add an identity:\n\n```typescript\nconst contactId = 'a4a47842-43a7-4741-9562-0fb3a973ec98'\nconst identity = {\n  alias: correlationId,\n  identifier: {\n    type: CorrelationIdentifierEnum.URL,\n    correlationId,\n  },\n  connection: {\n    type: ConnectionTypeEnum.DIDAUTH,\n    config: {\n      identifier: {\n        did: 'did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n        provider: 'test_provider',\n        keys: [],\n        services: [],\n      },\n      redirectUrl: 'https://example.com',\n      stateId: 'e91f3510-5ce9-42ee-83b7-fa68ff323d27',\n      sessionId: 'https://example.com/did:test:138d7bf8-c930-4c6e-b928-97d3a4928b01',\n    },\n  },\n  metadata: [\n    {\n      label: 'Authorization URL',\n      value: 'https://example.com',\n    },\n    {\n      label: 'Scope',\n      value: 'Authorization',\n    },\n  ],\n}\n\nconst result = await agent.cmAddIdentity({\n  contactId,\n  identity,\n})\n```\n\n### Update an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nconst identity = await agent\n  .cmGetIdentity({\n    identityId,\n  })\n  .then((identity) => {\n    return { ...identity, alias: 'new_alias' }\n  })\nconst result = await agent.cmUpdateIdentity({ identity })\n```\n\n### Remove an identity:\n\n```typescript\nconst identityId = 'cdfd231c-6d40-4e43-9bd0-e8c97262ffe1'\nawait agent.cmRemoveIdentity({\n  identityId,\n})\n```\n\n## Installation\n\n```shell\nyarn add @sphereon/ssi-sdk-contact-manager\n```\n\n## Build\n\n```shell\nyarn build\n```\n","readmeFilename":"README.md"}