@learncard/vc-templates-plugin 1.0.53 → 1.0.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/templates.ts", "../src/vc-templates.ts"],
4
- "sourcesContent": ["export { getVCTemplatesPlugin } from './vc-templates';\nexport * from './types';\n", "import { UnsignedVC, UnsignedAchievementCredential } from '@learncard/types';\n\nimport { VcTemplates } from './types';\n\n/** @group VC Templates Plugin */\nexport const VC_TEMPLATES: { [Key in keyof VcTemplates]: (args: VcTemplates[Key]) => UnsignedVC } =\n {\n basic: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n name = 'Teamwork Badge',\n achievementName = 'Teamwork',\n description = 'This badge recognizes the development of the capacity to collaborate within a group environment.',\n criteriaNarrative = 'Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.2.json',\n ],\n id: 'http://example.com/credentials/3527',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: did,\n issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: 'https://example.com/achievements/21st-century-skills/teamwork',\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n ],\n id: 'urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n issuer: {\n type: ['Profile'],\n id: did,\n name: 'Jobs for the Future (JFF)',\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png',\n type: 'Image',\n },\n },\n issuanceDate: issuanceDate,\n credentialSubject: {\n type: ['AchievementSubject'],\n id: subject,\n achievement: {\n id: 'urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922',\n type: ['Achievement'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n description:\n 'This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.',\n criteria: {\n narrative:\n 'Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers.',\n },\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png',\n type: 'Image',\n },\n },\n },\n }),\n boost: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n attachments,\n display,\n familyTitles,\n skills,\n groupID = '',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.2.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n displayType: {\n '@id': 'lcn:boostDisplayType',\n '@type': 'xsd:string',\n },\n fadeBackgroundImage: {\n '@id': 'lcn:boostFadeBackgroundImage',\n '@type': 'xsd:boolean',\n },\n repeatBackgroundImage: {\n '@id': 'lcn:boostRepeatBackgroundImage',\n '@type': 'xsd:boolean',\n },\n emoji: {\n '@id': 'lcn:boostEmoji',\n '@context': {\n activeSkinTone: {\n '@id': 'lcn:boostEmojiActiveSkinTone',\n '@type': 'xsd:string',\n },\n unified: {\n '@id': 'lcn:boostEmojiUnified',\n '@type': 'xsd:string',\n },\n unifiedWithoutSkinTone: {\n '@id': 'lcn:boostEmojiUnifiedWithoutSkinTone',\n '@type': 'xsd:string',\n },\n names: {\n '@id': 'lcn:boostEmojiNames',\n '@container': '@set',\n '@type': 'xsd:string',\n },\n imageUrl: {\n '@id': 'lcn:boostEmojiImageUrl',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n familyTitles: {\n '@id': 'lcn:familyTitles',\n '@context': {\n guardians: {\n '@id': 'lcn:guardians',\n '@container': '@set',\n '@context': {\n plural: {\n '@id': 'lcn:plural',\n '@type': 'xsd:string',\n },\n singular: {\n '@id': 'lcn:singular',\n '@type': 'xsd:string',\n },\n },\n },\n dependents: {\n '@id': 'lcn:dependents',\n '@container': '@set',\n '@context': {\n plural: {\n '@id': 'lcn:plural',\n '@type': 'xsd:string',\n },\n singular: {\n '@id': 'lcn:singular',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n fileName: {\n '@id': 'lcn:boostAttachmentFileName',\n '@type': 'xsd:string',\n },\n fileSize: {\n '@id': 'lcn:boostAttachmentFileSize',\n '@type': 'xsd:string',\n },\n fileType: {\n '@id': 'lcn:boostAttachmentFileType',\n '@type': 'xsd:string',\n },\n },\n },\n address: {\n '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address',\n },\n skills: {\n '@id': 'lcn:boostSkills',\n '@container': '@set',\n '@context': {\n category: {\n '@id': 'lcn:boostSkillCategory',\n '@type': 'xsd:string',\n },\n skill: {\n '@id': 'lcn:boostSkill',\n '@type': 'xsd:string',\n },\n subskills: {\n '@id': 'lcn:boostSubskills',\n '@container': '@set',\n '@type': 'xsd:string',\n },\n },\n },\n groupID: {\n '@id': 'lcn:groupID',\n '@type': 'xsd:string',\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n groupID,\n }),\n boostID: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n address,\n attachments,\n skills,\n display,\n familyTitles,\n boostID,\n groupID = '',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.2.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n displayType: {\n '@id': 'lcn:boostDisplayType',\n '@type': 'xsd:string',\n },\n fadeBackgroundImage: {\n '@id': 'lcn:boostFadeBackgroundImage',\n '@type': 'xsd:boolean',\n },\n repeatBackgroundImage: {\n '@id': 'lcn:boostRepeatBackgroundImage',\n '@type': 'xsd:boolean',\n },\n emoji: {\n '@id': 'lcn:boostEmoji',\n '@context': {\n activeSkinTone: {\n '@id': 'lcn:boostEmojiActiveSkinTone',\n '@type': 'xsd:string',\n },\n unified: {\n '@id': 'lcn:boostEmojiUnified',\n '@type': 'xsd:string',\n },\n unifiedWithoutSkinTone: {\n '@id': 'lcn:boostEmojiUnifiedWithoutSkinTone',\n '@type': 'xsd:string',\n },\n names: {\n '@id': 'lcn:boostEmojiNames',\n '@container': '@set',\n '@type': 'xsd:string',\n },\n imageUrl: {\n '@id': 'lcn:boostEmojiImageUrl',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n familyTitles: {\n '@id': 'lcn:familyTitles',\n '@context': {\n guardians: {\n '@id': 'lcn:guardians',\n '@container': '@set',\n '@context': {\n plural: {\n '@id': 'lcn:plural',\n '@type': 'xsd:string',\n },\n singular: {\n '@id': 'lcn:singular',\n '@type': 'xsd:string',\n },\n },\n },\n dependents: {\n '@id': 'lcn:dependents',\n '@container': '@set',\n '@context': {\n plural: {\n '@id': 'lcn:plural',\n '@type': 'xsd:string',\n },\n singular: {\n '@id': 'lcn:singular',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n fileName: {\n '@id': 'lcn:boostAttachmentFileName',\n '@type': 'xsd:string',\n },\n fileSize: {\n '@id': 'lcn:boostAttachmentFileSize',\n '@type': 'xsd:string',\n },\n fileType: {\n '@id': 'lcn:boostAttachmentFileType',\n '@type': 'xsd:string',\n },\n },\n },\n skills: {\n '@id': 'lcn:boostSkills',\n '@container': '@set',\n '@context': {\n category: {\n '@id': 'lcn:boostSkillCategory',\n '@type': 'xsd:string',\n },\n skill: {\n '@id': 'lcn:boostSkill',\n '@type': 'xsd:string',\n },\n subskills: {\n '@id': 'lcn:boostSubskills',\n '@container': '@set',\n '@type': 'xsd:string',\n },\n },\n },\n groupID: {\n '@id': 'lcn:groupID',\n '@type': 'xsd:string',\n },\n address: {\n '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address',\n },\n },\n },\n },\n {\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostID: {\n '@id': 'lcn:boostID',\n '@context': {\n boostID: {\n '@id': 'lcn:boostIDField',\n '@context': {\n fontColor: {\n '@id': 'lcn:boostIDFontColor',\n '@type': 'xsd:string',\n },\n accentColor: {\n '@id': 'lcn:boostIDAccentColor',\n '@type': 'xsd:string',\n },\n backgroundImage: {\n '@id': 'lcn:boostIDBackgroundImage',\n '@type': 'xsd:string',\n },\n dimBackgroundImage: {\n '@id': 'lcn:boostIDDimBackgroundImage',\n '@type': 'xsd:boolean',\n },\n issuerThumbnail: {\n '@id': 'lcn:boostIDIssuerThumbnail',\n '@type': 'xsd:string',\n },\n showIssuerThumbnail: {\n '@id': 'lcn:boostIDShowIssuerThumbnail',\n '@type': 'xsd:boolean',\n },\n IDIssuerName: {\n '@id': 'lcn:boostIDIssuerName',\n '@type': 'xsd:string',\n },\n idThumbnail: {\n '@id': 'lcn:boostIDThumbnail',\n '@type': 'xsd:string',\n },\n accentFontColor: {\n '@id': 'lcn:boostIDFontColor',\n '@type': 'xsd:string',\n },\n idBackgroundColor: {\n '@id': 'lcn:boostIDBackgroundColor',\n '@type': 'xsd:string',\n },\n repeatIdBackgroundImage: {\n '@id': 'lcn:boostIDRepeatIdBackgroundImage',\n '@type': 'xsd:boolean',\n },\n idDescription: {\n '@id': 'lcn:boostIDDescription',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n ...(address\n ? {\n address: {\n type: ['Address'],\n ...address,\n ...(address.geo\n ? { geo: { type: ['GeoCoordinates'], ...address.geo } }\n : {}),\n },\n }\n : {}),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n boostID,\n groupID,\n }),\n delegate: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = new Date().toISOString(),\n access = ['read'],\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n\n {\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n DelegateCredential: {\n '@id': 'lcn:delegateCredential',\n '@context': {\n permissions: {\n '@id': 'lcn:delegateAccess',\n '@context': {\n statementAccess: {\n '@id': 'lcn:delegateAccess',\n '@container': '@set',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'DelegateCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n permissions: { statementAccess: access },\n }),\n };\n", "import { VC_TEMPLATES } from './templates';\n\nimport { VCTemplatePlugin } from './types';\n\n/**\n * @group Plugins\n */\nexport const getVCTemplatesPlugin = (): VCTemplatePlugin => {\n return {\n name: 'VC Templates',\n displayName: 'VC Templates',\n description: 'Allows for the easy creation of VCs and VPs based on predefined templates',\n methods: {\n newCredential: (_learnCard, args = { type: 'basic' }) => {\n const did = args.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n const defaults = {\n did,\n subject: 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate: new Date().toISOString(),\n };\n\n const { type = 'basic', ...functionArgs } = args;\n\n if (!(type in VC_TEMPLATES)) throw new Error('Invalid Test VC Type!');\n\n return VC_TEMPLATES[type]({ ...defaults, ...functionArgs });\n },\n newPresentation: async (_learnCard, credential, args = {}) => {\n const did = args?.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export { getVCTemplatesPlugin } from './vc-templates';\nexport * from './types';\n", "import { UnsignedVC, UnsignedAchievementCredential } from '@learncard/types';\n\nimport { VcTemplates } from './types';\n\n/** @group VC Templates Plugin */\nexport const VC_TEMPLATES: {\n [Key in keyof VcTemplates]: (args: VcTemplates[Key], crypto: Crypto) => UnsignedVC;\n} = {\n basic: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ) => ({\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n name = 'Teamwork Badge',\n achievementName = 'Teamwork',\n description = 'This badge recognizes the development of the capacity to collaborate within a group environment.',\n criteriaNarrative = 'Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n ],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: { id: did },\n validFrom: issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n ],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n issuer: {\n type: ['Profile'],\n id: did,\n name: 'Jobs for the Future (JFF)',\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png',\n type: 'Image',\n },\n },\n issuanceDate: issuanceDate,\n credentialSubject: {\n type: ['AchievementSubject'],\n id: subject,\n achievement: {\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n description:\n 'This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.',\n criteria: {\n narrative:\n 'Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers.',\n },\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png',\n type: 'Image',\n },\n },\n },\n }),\n boost: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n attachments,\n display,\n familyTitles,\n skills,\n groupID = '',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.1.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n groupID,\n }),\n boostID: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n address,\n attachments,\n skills,\n display,\n familyTitles,\n boostID,\n groupID = '',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.1.json',\n 'https://ctx.learncard.com/boostIDs/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n ...(address\n ? {\n address: {\n type: ['Address'],\n ...address,\n ...(address.geo ? { geo: { type: ['GeoCoordinates'], ...address.geo } } : {}),\n },\n }\n : {}),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n boostID,\n groupID,\n }),\n delegate: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = new Date().toISOString(),\n access = ['read'],\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://ctx.learncard.com/delegates/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'DelegateCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n permissions: { statementAccess: access },\n }),\n};\n", "import { VC_TEMPLATES } from './templates';\n\nimport { VCTemplatePlugin } from './types';\n\n/**\n * @group Plugins\n */\nexport const getVCTemplatesPlugin = (): VCTemplatePlugin => {\n return {\n name: 'VC Templates',\n displayName: 'VC Templates',\n description: 'Allows for the easy creation of VCs and VPs based on predefined templates',\n methods: {\n newCredential: (_learnCard, args = { type: 'basic' }) => {\n const did = args.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n const defaults = {\n did,\n subject: 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate: new Date().toISOString(),\n };\n\n const { type = 'basic', ...functionArgs } = args;\n\n if (!(type in VC_TEMPLATES)) throw new Error('Invalid Test VC Type!');\n\n return VC_TEMPLATES[type](\n { ...defaults, ...functionArgs },\n _learnCard.invoke.crypto()\n );\n },\n newPresentation: async (_learnCard, credential, args = {}) => {\n const did = args?.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n return {\n '@context': ['https://www.w3.org/ns/credentials/v2'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var l=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var w=(t,e)=>l(t,"name",{value:e,configurable:!0});var S=(t,e)=>{for(var i in e)l(t,i,{get:e[i],enumerable:!0})},B=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of k(e))!A.call(t,s)&&s!==i&&l(t,s,{get:()=>e[s],enumerable:!(n=C(e,s))||n.enumerable});return t};var D=t=>B(l({},"__esModule",{value:!0}),t);var j={};S(j,{getVCTemplatesPlugin:()=>I});module.exports=D(j);var f={basic:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z"}={})=>({"@context":["https://www.w3.org/2018/credentials/v1"],id:"http://example.org/credentials/3731",type:["VerifiableCredential"],issuer:t,issuanceDate:i,credentialSubject:{id:e}}),achievement:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",name:i="Teamwork Badge",achievementName:n="Teamwork",description:s="This badge recognizes the development of the capacity to collaborate within a group environment.",criteriaNarrative:o="Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.",issuanceDate:a="2020-08-19T21:41:50Z"}={})=>({"@context":["https://www.w3.org/2018/credentials/v1","https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.2.json"],id:"http://example.com/credentials/3527",type:["VerifiableCredential","OpenBadgeCredential"],issuer:t,issuanceDate:a,name:i,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:"https://example.com/achievements/21st-century-skills/teamwork",type:["Achievement"],criteria:{narrative:o},description:s,name:n}}}),jff2:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z"}={})=>({"@context":["https://www.w3.org/2018/credentials/v1","https://purl.imsglobal.org/spec/ob/v3p0/context.json","https://w3id.org/security/suites/ed25519-2020/v1"],id:"urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58",type:["VerifiableCredential","OpenBadgeCredential"],name:"JFF x vc-edu PlugFest 2 Interoperability",issuer:{type:["Profile"],id:t,name:"Jobs for the Future (JFF)",image:{id:"https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",type:"Image"}},issuanceDate:i,credentialSubject:{type:["AchievementSubject"],id:e,achievement:{id:"urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922",type:["Achievement"],name:"JFF x vc-edu PlugFest 2 Interoperability",description:"This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.",criteria:{narrative:"Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers."},image:{id:"https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png",type:"Image"}}}}),boost:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z",expirationDate:n,boostName:s="Example Boost",boostId:o="urn:uuid:boost:example:555",boostImage:a,achievementId:r="urn:uuid:123",achievementType:c="Influencer",achievementName:p="Awesome Badge",achievementDescription:g="Awesome People Earn Awesome Badge",achievementNarrative:m="Earned by being awesome.",achievementImage:b="",attachments:d,display:u,familyTitles:y,skills:x,groupID:h=""}={})=>({"@context":["https://www.w3.org/2018/credentials/v1","https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.2.json",{type:"@type",xsd:"https://www.w3.org/2001/XMLSchema#",lcn:"https://docs.learncard.com/definitions#",BoostCredential:{"@id":"lcn:boostCredential","@context":{boostId:{"@id":"lcn:boostId","@type":"xsd:string"},display:{"@id":"lcn:boostDisplay","@context":{backgroundImage:{"@id":"lcn:boostBackgroundImage","@type":"xsd:string"},backgroundColor:{"@id":"lcn:boostBackgroundColor","@type":"xsd:string"},displayType:{"@id":"lcn:boostDisplayType","@type":"xsd:string"},fadeBackgroundImage:{"@id":"lcn:boostFadeBackgroundImage","@type":"xsd:boolean"},repeatBackgroundImage:{"@id":"lcn:boostRepeatBackgroundImage","@type":"xsd:boolean"},emoji:{"@id":"lcn:boostEmoji","@context":{activeSkinTone:{"@id":"lcn:boostEmojiActiveSkinTone","@type":"xsd:string"},unified:{"@id":"lcn:boostEmojiUnified","@type":"xsd:string"},unifiedWithoutSkinTone:{"@id":"lcn:boostEmojiUnifiedWithoutSkinTone","@type":"xsd:string"},names:{"@id":"lcn:boostEmojiNames","@container":"@set","@type":"xsd:string"},imageUrl:{"@id":"lcn:boostEmojiImageUrl","@type":"xsd:string"}}}}},familyTitles:{"@id":"lcn:familyTitles","@context":{guardians:{"@id":"lcn:guardians","@container":"@set","@context":{plural:{"@id":"lcn:plural","@type":"xsd:string"},singular:{"@id":"lcn:singular","@type":"xsd:string"}}},dependents:{"@id":"lcn:dependents","@container":"@set","@context":{plural:{"@id":"lcn:plural","@type":"xsd:string"},singular:{"@id":"lcn:singular","@type":"xsd:string"}}}}},attachments:{"@id":"lcn:boostAttachments","@container":"@set","@context":{type:{"@id":"lcn:boostAttachmentType","@type":"xsd:string"},title:{"@id":"lcn:boostAttachmentTitle","@type":"xsd:string"},url:{"@id":"lcn:boostAttachmentUrl","@type":"xsd:string"},fileName:{"@id":"lcn:boostAttachmentFileName","@type":"xsd:string"},fileSize:{"@id":"lcn:boostAttachmentFileSize","@type":"xsd:string"},fileType:{"@id":"lcn:boostAttachmentFileType","@type":"xsd:string"}}},address:{"@id":"https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address"},skills:{"@id":"lcn:boostSkills","@container":"@set","@context":{category:{"@id":"lcn:boostSkillCategory","@type":"xsd:string"},skill:{"@id":"lcn:boostSkill","@type":"xsd:string"},subskills:{"@id":"lcn:boostSubskills","@container":"@set","@type":"xsd:string"}}},groupID:{"@id":"lcn:groupID","@type":"xsd:string"}}}}],type:["VerifiableCredential","OpenBadgeCredential","BoostCredential"],issuer:t,issuanceDate:i,name:s,expirationDate:n,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:r,type:["Achievement"],achievementType:c,name:p,description:g,image:b,criteria:{narrative:m}}},display:u,familyTitles:y,image:a,attachments:d,skills:x,groupID:h}),boostID:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z",expirationDate:n,boostName:s="Example Boost",boostId:o="urn:uuid:boost:example:555",boostImage:a,achievementId:r="urn:uuid:123",achievementType:c="Influencer",achievementName:p="Awesome Badge",achievementDescription:g="Awesome People Earn Awesome Badge",achievementNarrative:m="Earned by being awesome.",achievementImage:b="",address:d,attachments:u,skills:y,display:x,familyTitles:h,boostID:T,groupID:v=""}={})=>({"@context":["https://www.w3.org/2018/credentials/v1","https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.2.json",{type:"@type",xsd:"https://www.w3.org/2001/XMLSchema#",lcn:"https://docs.learncard.com/definitions#",BoostCredential:{"@id":"lcn:boostCredential","@context":{boostId:{"@id":"lcn:boostId","@type":"xsd:string"},display:{"@id":"lcn:boostDisplay","@context":{backgroundImage:{"@id":"lcn:boostBackgroundImage","@type":"xsd:string"},backgroundColor:{"@id":"lcn:boostBackgroundColor","@type":"xsd:string"},displayType:{"@id":"lcn:boostDisplayType","@type":"xsd:string"},fadeBackgroundImage:{"@id":"lcn:boostFadeBackgroundImage","@type":"xsd:boolean"},repeatBackgroundImage:{"@id":"lcn:boostRepeatBackgroundImage","@type":"xsd:boolean"},emoji:{"@id":"lcn:boostEmoji","@context":{activeSkinTone:{"@id":"lcn:boostEmojiActiveSkinTone","@type":"xsd:string"},unified:{"@id":"lcn:boostEmojiUnified","@type":"xsd:string"},unifiedWithoutSkinTone:{"@id":"lcn:boostEmojiUnifiedWithoutSkinTone","@type":"xsd:string"},names:{"@id":"lcn:boostEmojiNames","@container":"@set","@type":"xsd:string"},imageUrl:{"@id":"lcn:boostEmojiImageUrl","@type":"xsd:string"}}}}},familyTitles:{"@id":"lcn:familyTitles","@context":{guardians:{"@id":"lcn:guardians","@container":"@set","@context":{plural:{"@id":"lcn:plural","@type":"xsd:string"},singular:{"@id":"lcn:singular","@type":"xsd:string"}}},dependents:{"@id":"lcn:dependents","@container":"@set","@context":{plural:{"@id":"lcn:plural","@type":"xsd:string"},singular:{"@id":"lcn:singular","@type":"xsd:string"}}}}},attachments:{"@id":"lcn:boostAttachments","@container":"@set","@context":{type:{"@id":"lcn:boostAttachmentType","@type":"xsd:string"},title:{"@id":"lcn:boostAttachmentTitle","@type":"xsd:string"},url:{"@id":"lcn:boostAttachmentUrl","@type":"xsd:string"},fileName:{"@id":"lcn:boostAttachmentFileName","@type":"xsd:string"},fileSize:{"@id":"lcn:boostAttachmentFileSize","@type":"xsd:string"},fileType:{"@id":"lcn:boostAttachmentFileType","@type":"xsd:string"}}},skills:{"@id":"lcn:boostSkills","@container":"@set","@context":{category:{"@id":"lcn:boostSkillCategory","@type":"xsd:string"},skill:{"@id":"lcn:boostSkill","@type":"xsd:string"},subskills:{"@id":"lcn:boostSubskills","@container":"@set","@type":"xsd:string"}}},groupID:{"@id":"lcn:groupID","@type":"xsd:string"},address:{"@id":"https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address"}}}},{type:"@type",xsd:"https://www.w3.org/2001/XMLSchema#",lcn:"https://docs.learncard.com/definitions#",BoostID:{"@id":"lcn:boostID","@context":{boostID:{"@id":"lcn:boostIDField","@context":{fontColor:{"@id":"lcn:boostIDFontColor","@type":"xsd:string"},accentColor:{"@id":"lcn:boostIDAccentColor","@type":"xsd:string"},backgroundImage:{"@id":"lcn:boostIDBackgroundImage","@type":"xsd:string"},dimBackgroundImage:{"@id":"lcn:boostIDDimBackgroundImage","@type":"xsd:boolean"},issuerThumbnail:{"@id":"lcn:boostIDIssuerThumbnail","@type":"xsd:string"},showIssuerThumbnail:{"@id":"lcn:boostIDShowIssuerThumbnail","@type":"xsd:boolean"},IDIssuerName:{"@id":"lcn:boostIDIssuerName","@type":"xsd:string"},idThumbnail:{"@id":"lcn:boostIDThumbnail","@type":"xsd:string"},accentFontColor:{"@id":"lcn:boostIDFontColor","@type":"xsd:string"},idBackgroundColor:{"@id":"lcn:boostIDBackgroundColor","@type":"xsd:string"},repeatIdBackgroundImage:{"@id":"lcn:boostIDRepeatIdBackgroundImage","@type":"xsd:boolean"},idDescription:{"@id":"lcn:boostIDDescription","@type":"xsd:string"}}}}}}],type:["VerifiableCredential","OpenBadgeCredential","BoostCredential","BoostID"],issuer:t,issuanceDate:i,name:s,expirationDate:n,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:r,type:["Achievement"],achievementType:c,name:p,description:g,image:b,criteria:{narrative:m}}},...d?{address:{type:["Address"],...d,...d.geo?{geo:{type:["GeoCoordinates"],...d.geo}}:{}}}:{},display:x,familyTitles:h,image:a,attachments:u,skills:y,boostID:T,groupID:v}),delegate:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i=new Date().toISOString(),access:n=["read"]}={})=>({"@context":["https://www.w3.org/2018/credentials/v1",{type:"@type",xsd:"https://www.w3.org/2001/XMLSchema#",lcn:"https://docs.learncard.com/definitions#",DelegateCredential:{"@id":"lcn:delegateCredential","@context":{permissions:{"@id":"lcn:delegateAccess","@context":{statementAccess:{"@id":"lcn:delegateAccess","@container":"@set","@type":"xsd:string"}}}}}}],type:["VerifiableCredential","DelegateCredential"],issuer:t,issuanceDate:i,credentialSubject:{id:e},permissions:{statementAccess:n}})};var I=w(()=>({name:"VC Templates",displayName:"VC Templates",description:"Allows for the easy creation of VCs and VPs based on predefined templates",methods:{newCredential:(t,e={type:"basic"})=>{let i=e.did||t.id.did();if(!i)throw new Error("Could not get issuer did!");let n={did:i,subject:"did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:new Date().toISOString()},{type:s="basic",...o}=e;if(!(s in f))throw new Error("Invalid Test VC Type!");return f[s]({...n,...o})},newPresentation:async(t,e,i={})=>{let n=i?.did||t.id.did();if(!n)throw new Error("Could not get issuer did!");return{"@context":["https://www.w3.org/2018/credentials/v1"],type:["VerifiablePresentation"],holder:n,verifiableCredential:e}}}}),"getVCTemplatesPlugin");
1
+ "use strict";var c=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var x=(t,e)=>c(t,"name",{value:e,configurable:!0});var I=(t,e)=>{for(var i in e)c(t,i,{get:e[i],enumerable:!0})},F=(t,e,i,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of V(e))!A.call(t,a)&&a!==i&&c(t,a,{get:()=>e[a],enumerable:!(d=U(e,a))||d.enumerable});return t};var j=t=>F(c({},"__esModule",{value:!0}),t);var S={};I(S,{getVCTemplatesPlugin:()=>C});module.exports=j(S);var v={basic:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z"}={},d)=>({"@context":["https://www.w3.org/2018/credentials/v1"],id:`urn:uuid:${d.randomUUID()}`,type:["VerifiableCredential"],issuer:t,issuanceDate:i,credentialSubject:{id:e}}),achievement:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",name:i="Teamwork Badge",achievementName:d="Teamwork",description:a="This badge recognizes the development of the capacity to collaborate within a group environment.",criteriaNarrative:n="Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.",issuanceDate:o="2020-08-19T21:41:50Z"}={},r)=>({"@context":["https://www.w3.org/ns/credentials/v2","https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json"],id:`urn:uuid:${r.randomUUID()}`,type:["VerifiableCredential","OpenBadgeCredential"],issuer:{id:t},validFrom:o,name:i,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:`urn:uuid:${r.randomUUID()}`,type:["Achievement"],criteria:{narrative:n},description:a,name:d}}}),jff2:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z"}={},d)=>({"@context":["https://www.w3.org/2018/credentials/v1","https://purl.imsglobal.org/spec/ob/v3p0/context.json","https://w3id.org/security/suites/ed25519-2020/v1"],id:`urn:uuid:${d.randomUUID()}`,type:["VerifiableCredential","OpenBadgeCredential"],name:"JFF x vc-edu PlugFest 2 Interoperability",issuer:{type:["Profile"],id:t,name:"Jobs for the Future (JFF)",image:{id:"https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",type:"Image"}},issuanceDate:i,credentialSubject:{type:["AchievementSubject"],id:e,achievement:{id:`urn:uuid:${d.randomUUID()}`,type:["Achievement"],name:"JFF x vc-edu PlugFest 2 Interoperability",description:"This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.",criteria:{narrative:"Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers."},image:{id:"https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png",type:"Image"}}}}),boost:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z",expirationDate:d,boostName:a="Example Boost",boostImage:n,achievementId:o,achievementType:r="Influencer",achievementName:m="Awesome Badge",achievementDescription:p="Awesome People Earn Awesome Badge",achievementNarrative:u="Earned by being awesome.",achievementImage:g="",attachments:s,display:b,familyTitles:w,skills:h,groupID:f=""}={},l)=>({"@context":["https://www.w3.org/ns/credentials/v2","https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json","https://ctx.learncard.com/boosts/1.0.1.json"],type:["VerifiableCredential","OpenBadgeCredential","BoostCredential"],id:`urn:uuid:${l.randomUUID()}`,issuer:{id:t},validFrom:i,...d&&{validUntil:d},name:a,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:o??`urn:uuid:${l.randomUUID()}`,type:["Achievement"],achievementType:r,name:m,description:p,image:g,criteria:{narrative:u}}},display:b,familyTitles:w,image:n,attachments:s,skills:h,groupID:f}),boostID:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z",expirationDate:d,boostName:a="Example Boost",boostImage:n,achievementId:o,achievementType:r="Influencer",achievementName:m="Awesome Badge",achievementDescription:p="Awesome People Earn Awesome Badge",achievementNarrative:u="Earned by being awesome.",achievementImage:g="",address:s,attachments:b,skills:w,display:h,familyTitles:f,boostID:l,groupID:T=""}={},y)=>({"@context":["https://www.w3.org/ns/credentials/v2","https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json","https://ctx.learncard.com/boosts/1.0.1.json","https://ctx.learncard.com/boostIDs/1.0.0.json"],type:["VerifiableCredential","OpenBadgeCredential","BoostCredential","BoostID"],id:`urn:uuid:${y.randomUUID()}`,issuer:{id:t},validFrom:i,...d&&{validUntil:d},name:a,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:o??`urn:uuid:${y.randomUUID()}`,type:["Achievement"],achievementType:r,name:m,description:p,image:g,criteria:{narrative:u}}},...s?{address:{type:["Address"],...s,...s.geo?{geo:{type:["GeoCoordinates"],...s.geo}}:{}}}:{},display:h,familyTitles:f,image:n,attachments:b,skills:w,boostID:l,groupID:T}),delegate:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i=new Date().toISOString(),access:d=["read"]}={},a)=>({"@context":["https://www.w3.org/ns/credentials/v2","https://ctx.learncard.com/delegates/1.0.0.json"],type:["VerifiableCredential","DelegateCredential"],id:`urn:uuid:${a.randomUUID()}`,issuer:{id:t},validFrom:i,credentialSubject:{id:e},permissions:{statementAccess:d}})};var C=x(()=>({name:"VC Templates",displayName:"VC Templates",description:"Allows for the easy creation of VCs and VPs based on predefined templates",methods:{newCredential:(t,e={type:"basic"})=>{let i=e.did||t.id.did();if(!i)throw new Error("Could not get issuer did!");let d={did:i,subject:"did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:new Date().toISOString()},{type:a="basic",...n}=e;if(!(a in v))throw new Error("Invalid Test VC Type!");return v[a]({...d,...n},t.invoke.crypto())},newPresentation:async(t,e,i={})=>{let d=i?.did||t.id.did();if(!d)throw new Error("Could not get issuer did!");return{"@context":["https://www.w3.org/ns/credentials/v2"],type:["VerifiablePresentation"],holder:d,verifiableCredential:e}}}}),"getVCTemplatesPlugin");
2
2
  //# sourceMappingURL=vc-templates-plugin.cjs.production.min.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/templates.ts", "../src/vc-templates.ts"],
4
- "sourcesContent": ["export { getVCTemplatesPlugin } from './vc-templates';\nexport * from './types';\n", "import { UnsignedVC, UnsignedAchievementCredential } from '@learncard/types';\n\nimport { VcTemplates } from './types';\n\n/** @group VC Templates Plugin */\nexport const VC_TEMPLATES: { [Key in keyof VcTemplates]: (args: VcTemplates[Key]) => UnsignedVC } =\n {\n basic: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n name = 'Teamwork Badge',\n achievementName = 'Teamwork',\n description = 'This badge recognizes the development of the capacity to collaborate within a group environment.',\n criteriaNarrative = 'Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.2.json',\n ],\n id: 'http://example.com/credentials/3527',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: did,\n issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: 'https://example.com/achievements/21st-century-skills/teamwork',\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n ],\n id: 'urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n issuer: {\n type: ['Profile'],\n id: did,\n name: 'Jobs for the Future (JFF)',\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png',\n type: 'Image',\n },\n },\n issuanceDate: issuanceDate,\n credentialSubject: {\n type: ['AchievementSubject'],\n id: subject,\n achievement: {\n id: 'urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922',\n type: ['Achievement'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n description:\n 'This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.',\n criteria: {\n narrative:\n 'Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers.',\n },\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png',\n type: 'Image',\n },\n },\n },\n }),\n boost: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n attachments,\n display,\n familyTitles,\n skills,\n groupID = '',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.2.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n displayType: {\n '@id': 'lcn:boostDisplayType',\n '@type': 'xsd:string',\n },\n fadeBackgroundImage: {\n '@id': 'lcn:boostFadeBackgroundImage',\n '@type': 'xsd:boolean',\n },\n repeatBackgroundImage: {\n '@id': 'lcn:boostRepeatBackgroundImage',\n '@type': 'xsd:boolean',\n },\n emoji: {\n '@id': 'lcn:boostEmoji',\n '@context': {\n activeSkinTone: {\n '@id': 'lcn:boostEmojiActiveSkinTone',\n '@type': 'xsd:string',\n },\n unified: {\n '@id': 'lcn:boostEmojiUnified',\n '@type': 'xsd:string',\n },\n unifiedWithoutSkinTone: {\n '@id': 'lcn:boostEmojiUnifiedWithoutSkinTone',\n '@type': 'xsd:string',\n },\n names: {\n '@id': 'lcn:boostEmojiNames',\n '@container': '@set',\n '@type': 'xsd:string',\n },\n imageUrl: {\n '@id': 'lcn:boostEmojiImageUrl',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n familyTitles: {\n '@id': 'lcn:familyTitles',\n '@context': {\n guardians: {\n '@id': 'lcn:guardians',\n '@container': '@set',\n '@context': {\n plural: {\n '@id': 'lcn:plural',\n '@type': 'xsd:string',\n },\n singular: {\n '@id': 'lcn:singular',\n '@type': 'xsd:string',\n },\n },\n },\n dependents: {\n '@id': 'lcn:dependents',\n '@container': '@set',\n '@context': {\n plural: {\n '@id': 'lcn:plural',\n '@type': 'xsd:string',\n },\n singular: {\n '@id': 'lcn:singular',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n fileName: {\n '@id': 'lcn:boostAttachmentFileName',\n '@type': 'xsd:string',\n },\n fileSize: {\n '@id': 'lcn:boostAttachmentFileSize',\n '@type': 'xsd:string',\n },\n fileType: {\n '@id': 'lcn:boostAttachmentFileType',\n '@type': 'xsd:string',\n },\n },\n },\n address: {\n '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address',\n },\n skills: {\n '@id': 'lcn:boostSkills',\n '@container': '@set',\n '@context': {\n category: {\n '@id': 'lcn:boostSkillCategory',\n '@type': 'xsd:string',\n },\n skill: {\n '@id': 'lcn:boostSkill',\n '@type': 'xsd:string',\n },\n subskills: {\n '@id': 'lcn:boostSubskills',\n '@container': '@set',\n '@type': 'xsd:string',\n },\n },\n },\n groupID: {\n '@id': 'lcn:groupID',\n '@type': 'xsd:string',\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n groupID,\n }),\n boostID: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n address,\n attachments,\n skills,\n display,\n familyTitles,\n boostID,\n groupID = '',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.2.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n displayType: {\n '@id': 'lcn:boostDisplayType',\n '@type': 'xsd:string',\n },\n fadeBackgroundImage: {\n '@id': 'lcn:boostFadeBackgroundImage',\n '@type': 'xsd:boolean',\n },\n repeatBackgroundImage: {\n '@id': 'lcn:boostRepeatBackgroundImage',\n '@type': 'xsd:boolean',\n },\n emoji: {\n '@id': 'lcn:boostEmoji',\n '@context': {\n activeSkinTone: {\n '@id': 'lcn:boostEmojiActiveSkinTone',\n '@type': 'xsd:string',\n },\n unified: {\n '@id': 'lcn:boostEmojiUnified',\n '@type': 'xsd:string',\n },\n unifiedWithoutSkinTone: {\n '@id': 'lcn:boostEmojiUnifiedWithoutSkinTone',\n '@type': 'xsd:string',\n },\n names: {\n '@id': 'lcn:boostEmojiNames',\n '@container': '@set',\n '@type': 'xsd:string',\n },\n imageUrl: {\n '@id': 'lcn:boostEmojiImageUrl',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n familyTitles: {\n '@id': 'lcn:familyTitles',\n '@context': {\n guardians: {\n '@id': 'lcn:guardians',\n '@container': '@set',\n '@context': {\n plural: {\n '@id': 'lcn:plural',\n '@type': 'xsd:string',\n },\n singular: {\n '@id': 'lcn:singular',\n '@type': 'xsd:string',\n },\n },\n },\n dependents: {\n '@id': 'lcn:dependents',\n '@container': '@set',\n '@context': {\n plural: {\n '@id': 'lcn:plural',\n '@type': 'xsd:string',\n },\n singular: {\n '@id': 'lcn:singular',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n fileName: {\n '@id': 'lcn:boostAttachmentFileName',\n '@type': 'xsd:string',\n },\n fileSize: {\n '@id': 'lcn:boostAttachmentFileSize',\n '@type': 'xsd:string',\n },\n fileType: {\n '@id': 'lcn:boostAttachmentFileType',\n '@type': 'xsd:string',\n },\n },\n },\n skills: {\n '@id': 'lcn:boostSkills',\n '@container': '@set',\n '@context': {\n category: {\n '@id': 'lcn:boostSkillCategory',\n '@type': 'xsd:string',\n },\n skill: {\n '@id': 'lcn:boostSkill',\n '@type': 'xsd:string',\n },\n subskills: {\n '@id': 'lcn:boostSubskills',\n '@container': '@set',\n '@type': 'xsd:string',\n },\n },\n },\n groupID: {\n '@id': 'lcn:groupID',\n '@type': 'xsd:string',\n },\n address: {\n '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address',\n },\n },\n },\n },\n {\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostID: {\n '@id': 'lcn:boostID',\n '@context': {\n boostID: {\n '@id': 'lcn:boostIDField',\n '@context': {\n fontColor: {\n '@id': 'lcn:boostIDFontColor',\n '@type': 'xsd:string',\n },\n accentColor: {\n '@id': 'lcn:boostIDAccentColor',\n '@type': 'xsd:string',\n },\n backgroundImage: {\n '@id': 'lcn:boostIDBackgroundImage',\n '@type': 'xsd:string',\n },\n dimBackgroundImage: {\n '@id': 'lcn:boostIDDimBackgroundImage',\n '@type': 'xsd:boolean',\n },\n issuerThumbnail: {\n '@id': 'lcn:boostIDIssuerThumbnail',\n '@type': 'xsd:string',\n },\n showIssuerThumbnail: {\n '@id': 'lcn:boostIDShowIssuerThumbnail',\n '@type': 'xsd:boolean',\n },\n IDIssuerName: {\n '@id': 'lcn:boostIDIssuerName',\n '@type': 'xsd:string',\n },\n idThumbnail: {\n '@id': 'lcn:boostIDThumbnail',\n '@type': 'xsd:string',\n },\n accentFontColor: {\n '@id': 'lcn:boostIDFontColor',\n '@type': 'xsd:string',\n },\n idBackgroundColor: {\n '@id': 'lcn:boostIDBackgroundColor',\n '@type': 'xsd:string',\n },\n repeatIdBackgroundImage: {\n '@id': 'lcn:boostIDRepeatIdBackgroundImage',\n '@type': 'xsd:boolean',\n },\n idDescription: {\n '@id': 'lcn:boostIDDescription',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n ...(address\n ? {\n address: {\n type: ['Address'],\n ...address,\n ...(address.geo\n ? { geo: { type: ['GeoCoordinates'], ...address.geo } }\n : {}),\n },\n }\n : {}),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n boostID,\n groupID,\n }),\n delegate: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = new Date().toISOString(),\n access = ['read'],\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n\n {\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n DelegateCredential: {\n '@id': 'lcn:delegateCredential',\n '@context': {\n permissions: {\n '@id': 'lcn:delegateAccess',\n '@context': {\n statementAccess: {\n '@id': 'lcn:delegateAccess',\n '@container': '@set',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'DelegateCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n permissions: { statementAccess: access },\n }),\n };\n", "import { VC_TEMPLATES } from './templates';\n\nimport { VCTemplatePlugin } from './types';\n\n/**\n * @group Plugins\n */\nexport const getVCTemplatesPlugin = (): VCTemplatePlugin => {\n return {\n name: 'VC Templates',\n displayName: 'VC Templates',\n description: 'Allows for the easy creation of VCs and VPs based on predefined templates',\n methods: {\n newCredential: (_learnCard, args = { type: 'basic' }) => {\n const did = args.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n const defaults = {\n did,\n subject: 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate: new Date().toISOString(),\n };\n\n const { type = 'basic', ...functionArgs } = args;\n\n if (!(type in VC_TEMPLATES)) throw new Error('Invalid Test VC Type!');\n\n return VC_TEMPLATES[type]({ ...defaults, ...functionArgs });\n },\n newPresentation: async (_learnCard, credential, args = {}) => {\n const did = args?.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
5
- "mappings": "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,CACb,MAAO,sBACP,WAAY,CACR,QAAS,CACL,MAAO,cACP,QAAS,YACb,EACA,QAAS,CACL,MAAO,mBACP,WAAY,CACR,gBAAiB,CACb,MAAO,2BACP,QAAS,YACb,EACA,gBAAiB,CACb,MAAO,2BACP,QAAS,YACb,EACA,YAAa,CACT,MAAO,uBACP,QAAS,YACb,EACA,oBAAqB,CACjB,MAAO,+BACP,QAAS,aACb,EACA,sBAAuB,CACnB,MAAO,iCACP,QAAS,aACb,EACA,MAAO,CACH,MAAO,iBACP,WAAY,CACR,eAAgB,CACZ,MAAO,+BACP,QAAS,YACb,EACA,QAAS,CACL,MAAO,wBACP,QAAS,YACb,EACA,uBAAwB,CACpB,MAAO,uCACP,QAAS,YACb,EACA,MAAO,CACH,MAAO,sBACP,aAAc,OACd,QAAS,YACb,EACA,SAAU,CACN,MAAO,yBACP,QAAS,YACb,CACJ,CACJ,CACJ,CACJ,EACA,aAAc,CACV,MAAO,mBACP,WAAY,CACR,UAAW,CACP,MAAO,gBACP,aAAc,OACd,WAAY,CACR,OAAQ,CACJ,MAAO,aACP,QAAS,YACb,EACA,SAAU,CACN,MAAO,eACP,QAAS,YACb,CACJ,CACJ,EACA,WAAY,CACR,MAAO,iBACP,aAAc,OACd,WAAY,CACR,OAAQ,CACJ,MAAO,aACP,QAAS,YACb,EACA,SAAU,CACN,MAAO,eACP,QAAS,YACb,CACJ,CACJ,CACJ,CACJ,EACA,YAAa,CACT,MAAO,uBACP,aAAc,OACd,WAAY,CACR,KAAM,CACF,MAAO,0BACP,QAAS,YACb,EACA,MAAO,CACH,MAAO,2BACP,QAAS,YACb,EACA,IAAK,CACD,MAAO,yBACP,QAAS,YACb,EACA,SAAU,CACN,MAAO,8BACP,QAAS,YACb,EACA,SAAU,CACN,MAAO,8BACP,QAAS,YACb,EACA,SAAU,CACN,MAAO,8BACP,QAAS,YACb,CACJ,CACJ,EACA,OAAQ,CACJ,MAAO,kBACP,aAAc,OACd,WAAY,CACR,SAAU,CACN,MAAO,yBACP,QAAS,YACb,EACA,MAAO,CACH,MAAO,iBACP,QAAS,YACb,EACA,UAAW,CACP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",
6
- "names": ["src_exports", "__export", "getVCTemplatesPlugin", "__toCommonJS", "VC_TEMPLATES", "did", "subject", "issuanceDate", "name", "achievementName", "description", "criteriaNarrative", "expirationDate", "boostName", "boostId", "boostImage", "achievementId", "achievementType", "achievementDescription", "achievementNarrative", "achievementImage", "attachments", "display", "familyTitles", "skills", "groupID", "address", "boostID", "access", "getVCTemplatesPlugin", "__name", "_learnCard", "args", "did", "defaults", "type", "functionArgs", "VC_TEMPLATES", "credential"]
4
+ "sourcesContent": ["export { getVCTemplatesPlugin } from './vc-templates';\nexport * from './types';\n", "import { UnsignedVC, UnsignedAchievementCredential } from '@learncard/types';\n\nimport { VcTemplates } from './types';\n\n/** @group VC Templates Plugin */\nexport const VC_TEMPLATES: {\n [Key in keyof VcTemplates]: (args: VcTemplates[Key], crypto: Crypto) => UnsignedVC;\n} = {\n basic: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ) => ({\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n name = 'Teamwork Badge',\n achievementName = 'Teamwork',\n description = 'This badge recognizes the development of the capacity to collaborate within a group environment.',\n criteriaNarrative = 'Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n ],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: { id: did },\n validFrom: issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n ],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n issuer: {\n type: ['Profile'],\n id: did,\n name: 'Jobs for the Future (JFF)',\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png',\n type: 'Image',\n },\n },\n issuanceDate: issuanceDate,\n credentialSubject: {\n type: ['AchievementSubject'],\n id: subject,\n achievement: {\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n description:\n 'This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.',\n criteria: {\n narrative:\n 'Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers.',\n },\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png',\n type: 'Image',\n },\n },\n },\n }),\n boost: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n attachments,\n display,\n familyTitles,\n skills,\n groupID = '',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.1.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n groupID,\n }),\n boostID: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n address,\n attachments,\n skills,\n display,\n familyTitles,\n boostID,\n groupID = '',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.1.json',\n 'https://ctx.learncard.com/boostIDs/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n ...(address\n ? {\n address: {\n type: ['Address'],\n ...address,\n ...(address.geo ? { geo: { type: ['GeoCoordinates'], ...address.geo } } : {}),\n },\n }\n : {}),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n boostID,\n groupID,\n }),\n delegate: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = new Date().toISOString(),\n access = ['read'],\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://ctx.learncard.com/delegates/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'DelegateCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n permissions: { statementAccess: access },\n }),\n};\n", "import { VC_TEMPLATES } from './templates';\n\nimport { VCTemplatePlugin } from './types';\n\n/**\n * @group Plugins\n */\nexport const getVCTemplatesPlugin = (): VCTemplatePlugin => {\n return {\n name: 'VC Templates',\n displayName: 'VC Templates',\n description: 'Allows for the easy creation of VCs and VPs based on predefined templates',\n methods: {\n newCredential: (_learnCard, args = { type: 'basic' }) => {\n const did = args.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n const defaults = {\n did,\n subject: 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate: new Date().toISOString(),\n };\n\n const { type = 'basic', ...functionArgs } = args;\n\n if (!(type in VC_TEMPLATES)) throw new Error('Invalid Test VC Type!');\n\n return VC_TEMPLATES[type](\n { ...defaults, ...functionArgs },\n _learnCard.invoke.crypto()\n );\n },\n newPresentation: async (_learnCard, credential, args = {}) => {\n const did = args?.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n return {\n '@context': ['https://www.w3.org/ns/credentials/v2'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["src_exports", "__export", "getVCTemplatesPlugin", "__toCommonJS", "VC_TEMPLATES", "did", "subject", "issuanceDate", "crypto", "name", "achievementName", "description", "criteriaNarrative", "expirationDate", "boostName", "boostImage", "achievementId", "achievementType", "achievementDescription", "achievementNarrative", "achievementImage", "attachments", "display", "familyTitles", "skills", "groupID", "address", "boostID", "access", "getVCTemplatesPlugin", "__name", "_learnCard", "args", "did", "defaults", "type", "functionArgs", "VC_TEMPLATES", "credential"]
7
7
  }