{"version":3,"sources":["../plugin.schema.json","../src/index.ts","../src/agent/OID4VCIStore.ts"],"sourcesContent":["{\n  \"IDidAuthSiopOpAuthenticator\": {\n    \"components\": {\n      \"schemas\": {\n        \"IGetSiopSessionArgs\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"sessionId\": {\n              \"type\": \"string\"\n            },\n            \"additionalProperties\": false\n          },\n          \"required\": [\"sessionId\"],\n          \"description\": \"Arguments needed for {@link DidAuthSiopOpAuthenticator.getSessionForSiop } \"\n        },\n        \"IRegisterSiopSessionArgs\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"identifier\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"did\": {\n                  \"type\": \"string\"\n                },\n                \"alias\": {\n                  \"type\": \"string\"\n                },\n                \"provider\": {\n                  \"type\": \"string\"\n                },\n                \"controllerKeyId\": {\n                  \"type\": \"string\"\n                },\n                \"keys\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"additionalProperties\": true\n                    }\n                  }\n                },\n                \"services\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"additionalProperties\": true\n                    }\n                  }\n                }\n              },\n              \"additionalProperties\": false,\n              \"required\": [\"did\", \"provider\", \"keys\", \"services\"]\n            },\n            \"sessionId\": {\n              \"type\": \"string\"\n            },\n            \"expiresIn\": {\n              \"type\": \"number\"\n            },\n            \"additionalProperties\": false\n          },\n          \"required\": [\"identifier\"],\n          \"description\": \"Arguments needed for {@link DidAuthSiopOpAuthenticator.registerSessionForSiop } \"\n        },\n        \"IRemoveSiopSessionArgs\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"sessionId\": {\n              \"type\": \"string\"\n            },\n            \"additionalProperties\": false\n          },\n          \"required\": [\"sessionId\"],\n          \"description\": \"Arguments needed for {@link DidAuthSiopOpAuthenticator.removeSessionForSiop } \"\n        },\n        \"IAuthenticateWithSiopArgs\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"sessionId\": {\n              \"type\": \"string\"\n            },\n            \"stateId\": {\n              \"type\": \"string\"\n            },\n            \"redirectUrl\": {\n              \"type\": \"string\"\n            },\n            \"additionalProperties\": false\n          },\n          \"required\": [\"sessionId\", \"stateId\", \"redirectUrl\"],\n          \"description\": \"Arguments needed for {@link DidAuthSiopOpAuthenticator.authenticateWithSiop } \"\n        },\n        \"IResponse\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"status\": {\n              \"type\": \"number\"\n            },\n            \"additionalProperties\": true\n          },\n          \"required\": [\"status\"],\n          \"description\": \"Result of {@link DidAuthSiopOpAuthenticator.authenticateWithSiop & DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } \"\n        },\n        \"IGetSiopAuthenticationRequestFromRpArgs\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"sessionId\": {\n              \"type\": \"string\"\n            },\n            \"stateId\": {\n              \"type\": \"string\"\n            },\n            \"redirectUrl\": {\n              \"type\": \"string\"\n            },\n            \"additionalProperties\": false\n          },\n          \"required\": [\"sessionId\", \"stateId\", \"redirectUrl\"],\n          \"description\": \"Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } \"\n        },\n        \"ParsedAuthenticationRequestURI\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"jwt\": {\n              \"type\": \"string\"\n            },\n            \"requestPayload\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"additionalProperties\": true\n              }\n            },\n            \"registration\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"additionalProperties\": true\n              }\n            },\n            \"additionalProperties\": false\n          },\n          \"required\": [\"jwt\", \"requestPayload\", \"registration\"],\n          \"description\": \"Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } \"\n        },\n        \"IGetSiopAuthenticationRequestDetailsArgs\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"sessionId\": {\n              \"type\": \"string\"\n            },\n            \"verifiedAuthenticationRequest\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"additionalProperties\": true\n              }\n            },\n            \"credentialFilter\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"additionalProperties\": true\n              }\n            },\n            \"additionalProperties\": false\n          },\n          \"required\": [\"sessionId\", \"verifiedAuthenticationRequest\"],\n          \"description\": \"Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } \"\n        },\n        \"IAuthRequestDetails\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"id\": {\n              \"type\": \"string\"\n            },\n            \"alsoKnownAs\": {\n              \"type\": \"array\",\n              \"items\": {\n                \"type\": \"string\"\n              }\n            },\n            \"vpResponseOpts\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"additionalProperties\": true\n              }\n            },\n            \"additionalProperties\": false\n          },\n          \"required\": [\"id\", \"vpResponseOpts\"],\n          \"description\": \"Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } \"\n        },\n        \"IVerifySiopAuthenticationRequestUriArgs\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"sessionId\": {\n              \"type\": \"string\"\n            },\n            \"ParsedAuthenticationRequestURI\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"additionalProperties\": true\n              }\n            },\n            \"additionalProperties\": false\n          },\n          \"required\": [\"sessionId\", \"ParsedAuthenticationRequestURI\"],\n          \"description\": \"Arguments needed for {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } \"\n        },\n        \"VerifiedAuthorizationRequest\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"payload\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"additionalProperties\": true\n              }\n            },\n            \"presentationDefinitions\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"additionalProperties\": true\n              }\n            },\n            \"verifyOpts\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"additionalProperties\": true\n              }\n            },\n            \"additionalProperties\": false\n          },\n          \"required\": [\"payload\", \"verifyOpts\"],\n          \"description\": \"Result of {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } \"\n        },\n        \"ISendSiopAuthenticationResponseArgs\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"sessionId\": {\n              \"type\": \"string\"\n            },\n            \"verifiedAuthenticationRequest\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"additionalProperties\": true\n              }\n            },\n            \"verifiablePresentationResponse\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"additionalProperties\": true\n              }\n            },\n            \"additionalProperties\": false\n          },\n          \"required\": [\"sessionId\", \"verifiedAuthenticationRequest\"],\n          \"description\": \"Arguments needed for {@link DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } \"\n        }\n      },\n      \"methods\": {\n        \"getSessionForSiop\": {\n          \"description\": \"Get SIOP session\",\n          \"arguments\": {\n            \"$ref\": \"#/components/schemas/IGetSiopSessionArgs\"\n          },\n          \"returnType\": \"object\"\n        },\n        \"registerSessionForSiop\": {\n          \"description\": \"Register SIOP session\",\n          \"arguments\": {\n            \"$ref\": \"#/components/schemas/IRegisterSiopSessionArgs\"\n          },\n          \"returnType\": \"object\"\n        },\n        \"removeSessionForSiop\": {\n          \"description\": \"Remove SIOP session\",\n          \"arguments\": {\n            \"$ref\": \"#/components/schemas/IRemoveSiopSessionArgs\"\n          },\n          \"returnType\": \"boolean\"\n        },\n        \"authenticateWithSiop\": {\n          \"description\": \"Authenticate using DID Auth SIOP\",\n          \"arguments\": {\n            \"$ref\": \"#/components/schemas/IAuthenticateWithSiopArgs\"\n          },\n          \"returnType\": {\n            \"$ref\": \"#/components/schemas/Response\"\n          }\n        },\n        \"getSiopAuthenticationRequestFromRP\": {\n          \"description\": \"Get authentication request from RP\",\n          \"arguments\": {\n            \"$ref\": \"#/components/schemas/IGetSiopAuthenticationRequestFromRpArgs\"\n          },\n          \"returnType\": {\n            \"$ref\": \"#/components/schemas/ParsedAuthenticationRequestURI\"\n          }\n        },\n        \"getSiopAuthenticationRequestDetails\": {\n          \"description\": \"Get authentication request details\",\n          \"arguments\": {\n            \"$ref\": \"#/components/schemas/IGetSiopAuthenticationRequestDetailsArgs\"\n          },\n          \"returnType\": {\n            \"$ref\": \"#/components/schemas/IAuthRequestDetails\"\n          }\n        },\n        \"verifySiopAuthenticationRequestURI\": {\n          \"description\": \"Verify authentication request URI\",\n          \"arguments\": {\n            \"$ref\": \"#/components/schemas/IVerifySiopAuthenticationRequestUriArgs\"\n          },\n          \"returnType\": {\n            \"$ref\": \"#/components/schemas/VerifiedAuthorizationRequest\"\n          }\n        },\n        \"sendSiopAuthenticationResponse\": {\n          \"description\": \"Send authentication response\",\n          \"arguments\": {\n            \"$ref\": \"#/components/schemas/ISendSiopAuthenticationResponseArgs\"\n          },\n          \"returnType\": {\n            \"$ref\": \"#/components/schemas/IRequiredContext\"\n          }\n        }\n      }\n    }\n  }\n}\n","/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\nexport { OID4VCIStore } from './agent/OID4VCIStore'\nexport * from './types/IOID4VCIStore'\n","import { AuthorizationServerMetadata, IssuerMetadata } from '@sphereon/oid4vci-common'\nimport { IKeyValueStore, IValueData, KeyValueStore, ValueStoreType } from '@sphereon/ssi-sdk.kv-store-temp'\nimport { IAgentPlugin } from '@veramo/core'\nimport {\n  IIssuerDefaultOpts,\n  IIssuerMetadataImportArgs,\n  IIssuerOptions,\n  IIssuerOptsImportArgs,\n  IIssuerOptsPersistArgs,\n  IMetadataImportArgs,\n  IMetadataPersistArgs,\n  Ioid4vciStoreClearArgs,\n  Ioid4vciStoreExistsArgs,\n  IOid4vciStoreGetArgs,\n  IOid4vciStoreListArgs,\n  IOID4VCIStoreOpts,\n  Ioid4vciStoreRemoveArgs,\n  OptionalIssuerMetadata,\n  OptionalIssuerMetadataValue,\n} from '../index'\n\nimport { IOID4VCIStore } from '../types/IOID4VCIStore'\n\nexport class OID4VCIStore implements IAgentPlugin {\n  get defaultOpts(): IIssuerDefaultOpts | undefined {\n    return this._defaultOpts\n  }\n\n  set defaultOpts(value: IIssuerDefaultOpts | undefined) {\n    this._defaultOpts = value\n  }\n\n  private readonly _issuerMetadataStores: Map<string, IKeyValueStore<IssuerMetadata>>\n  private readonly _authorizationServerMetadataStores: Map<string, IKeyValueStore<AuthorizationServerMetadata>>\n  private readonly _optionStores: Map<string, IKeyValueStore<IIssuerOptions>>\n  private readonly defaultStoreId: string\n  private readonly defaultNamespace: string\n\n  private _defaultOpts?: IIssuerDefaultOpts\n\n  readonly methods: IOID4VCIStore = {\n    oid4vciStoreDefaultMetadata: this.oid4vciStoreDefaultMetadata.bind(this),\n    oid4vciStoreDefaultIssuerOptions: this.oid4vciStoreIssuerOptions.bind(this),\n    oid4vciStoreDefaultStoreId: this.oid4vciStoreDefaultStoreId.bind(this),\n    oid4vciStoreDefaultNamespace: this.oid4vciStoreDefaultNamespace.bind(this),\n\n    oid4vciStoreGetIssuerOpts: this.oid4vciStoreGetIssuerOpts.bind(this),\n    oid4vciStoreHasIssuerOpts: this.oid4vciStoreHasIssuerOpts.bind(this),\n    oid4vciStorePersistIssuerOpts: this.oid4vciStorePersistIssuerOpts.bind(this),\n    oid4vciStoreRemoveIssuerOpts: this.oid4vciStoreRemoveIssuerOpts.bind(this),\n    oid4vciStoreClearAllIssuerOpts: this.oid4vciStoreClearAllIssuerOpts.bind(this),\n\n    oid4vciStoreGetMetadata: this.oid4vciStoreGetMetadata.bind(this),\n    oid4vciStoreListMetadata: this.oid4vciStoreListMetadata.bind(this),\n    oid4vciStoreHasMetadata: this.oid4vciStoreHasMetadata.bind(this),\n    oid4vciStorePersistMetadata: this.oid4vciStorePersistMetadata.bind(this),\n    oid4vciStoreRemoveMetadata: this.oid4vciStoreRemoveMetadata.bind(this),\n    oid4vciStoreClearAllMetadata: this.oid4vciStoreClearAllMetadata.bind(this),\n  }\n\n  constructor(opts: IOID4VCIStoreOpts) {\n    this.defaultStoreId = opts.defaultStore ?? '_default'\n    this.defaultNamespace = opts.defaultNamespace ?? 'oid4vci'\n    if (opts.defaultOpts) {\n      this._defaultOpts = opts.defaultOpts\n    }\n    if (opts?.issuerMetadataStores && opts.issuerMetadataStores instanceof Map) {\n      this._issuerMetadataStores = opts.issuerMetadataStores\n    } else if (opts?.issuerMetadataStores) {\n      this._issuerMetadataStores = new Map().set(this.defaultStoreId, opts.issuerMetadataStores)\n    } else {\n      this._issuerMetadataStores = new Map().set(\n        this.defaultStoreId,\n        new KeyValueStore({\n          namespace: this.defaultNamespace,\n          store: new Map<string, IssuerMetadata>(),\n        }),\n      )\n    }\n    if (opts?.authorizationServerMetadataStores && opts.authorizationServerMetadataStores instanceof Map) {\n      this._authorizationServerMetadataStores = opts.authorizationServerMetadataStores\n    } else if (opts?.authorizationServerMetadataStores) {\n      this._authorizationServerMetadataStores = new Map().set(this.defaultStoreId, opts.authorizationServerMetadataStores)\n    } else {\n      this._authorizationServerMetadataStores = new Map().set(\n        this.defaultStoreId,\n        new KeyValueStore({\n          namespace: this.defaultNamespace,\n          store: new Map<string, AuthorizationServerMetadata>(),\n        }),\n      )\n    }\n\n    if (opts && Array.isArray(opts?.importMetadatas)) {\n      opts.importMetadatas.forEach((metaImport: IMetadataImportArgs) => {\n        const meta = metaImport as IIssuerMetadataImportArgs\n        void this.oid4vciStorePersistMetadata({\n          metadataType: meta.metadataType,\n          metadata: meta.metadata,\n          storeId: meta.storeId ?? this.defaultStoreId,\n          correlationId: meta.correlationId,\n          namespace: meta.namespace ?? this.defaultNamespace,\n          overwriteExisting: meta.overwriteExisting === undefined ? true : meta.overwriteExisting,\n        })\n      })\n    }\n\n    if (opts?.issuerOptsStores && opts.issuerOptsStores instanceof Map) {\n      this._optionStores = opts.issuerOptsStores\n    } else if (opts?.issuerOptsStores) {\n      this._optionStores = new Map().set(this.defaultStoreId, opts.issuerOptsStores)\n    } else {\n      this._optionStores = new Map().set(\n        this.defaultStoreId,\n        new KeyValueStore({\n          namespace: this.defaultNamespace,\n          store: new Map<string, IIssuerOptions>(),\n        }),\n      )\n    }\n    if (opts && Array.isArray(opts?.importIssuerOpts)) {\n      opts.importIssuerOpts.forEach((opt) => this.oid4vciStorePersistIssuerOpts(opt))\n    }\n  }\n\n  private async oid4vciStoreGetIssuerOpts({ correlationId, storeId, namespace }: IOid4vciStoreGetArgs): Promise<IIssuerOptions | undefined> {\n    return (\n      (await this.store({ stores: this._optionStores, storeId }).get(\n        this.prefix({\n          namespace,\n          correlationId,\n        }),\n      )) ?? this.defaultOpts\n    )\n  }\n\n  public importIssuerOpts(importOpts: IIssuerOptsImportArgs[]) {\n    importOpts.forEach((opt) => this.oid4vciStorePersistIssuerOpts(opt))\n  }\n\n  private async oid4vciStoreHasIssuerOpts({ correlationId, storeId, namespace }: Ioid4vciStoreExistsArgs): Promise<boolean> {\n    return this.store({ stores: this._optionStores, storeId }).has(this.prefix({ namespace, correlationId }))\n  }\n\n  private async oid4vciStorePersistIssuerOpts(args: IIssuerOptsPersistArgs): Promise<IValueData<IIssuerOptions>> {\n    const storeId = this.storeIdStr(args)\n    const namespace = this.namespaceStr(args)\n    const { correlationId, issuerOpts, ttl } = args\n    if (args?.validation !== false) {\n      //todo\n    }\n    const existing = await this.store({ stores: this._optionStores, storeId }).getAsValueData(\n      this.prefix({\n        namespace,\n        correlationId,\n      }),\n    )\n    if (!existing.value || (existing.value && args.overwriteExisting !== false)) {\n      return await this.store({ stores: this._optionStores, storeId }).set(\n        this.prefix({\n          namespace,\n          correlationId,\n        }),\n        issuerOpts,\n        ttl,\n      )\n    }\n    return existing\n  }\n\n  private async oid4vciStoreRemoveIssuerOpts({ storeId, correlationId, namespace }: Ioid4vciStoreRemoveArgs): Promise<boolean> {\n    return this.store({ stores: this._optionStores, storeId }).delete(this.prefix({ namespace, correlationId }))\n  }\n\n  private async oid4vciStoreClearAllIssuerOpts({ storeId }: Ioid4vciStoreClearArgs): Promise<boolean> {\n    return await this.store({ stores: this._optionStores, storeId })\n      .clear()\n      .then(() => true)\n  }\n\n  private async oid4vciStoreGetMetadata({\n    metadataType,\n    correlationId,\n    storeId,\n    namespace,\n  }: IOid4vciStoreGetArgs): Promise<IssuerMetadata | AuthorizationServerMetadata | undefined> {\n    switch (metadataType) {\n      case 'authorizationServer':\n        return this.store<AuthorizationServerMetadata>({\n          stores: this._authorizationServerMetadataStores,\n          storeId,\n        }).get(this.prefix({ namespace, correlationId }))\n      case 'issuer':\n        return this.store<IssuerMetadata>({\n          stores: this._issuerMetadataStores,\n          storeId,\n        }).get(this.prefix({ namespace, correlationId }))\n    }\n    return undefined\n  }\n\n  private async oid4vciStoreListMetadata({ metadataType, storeId, namespace }: IOid4vciStoreListArgs): Promise<Array<OptionalIssuerMetadata>> {\n    switch (metadataType) {\n      case 'authorizationServer':\n        return this.store<AuthorizationServerMetadata>({\n          stores: this._authorizationServerMetadataStores,\n          storeId,\n        }).getMany([`${this.namespaceStr({ namespace })}`])\n      case 'issuer':\n        return this.store<IssuerMetadata>({\n          stores: this._issuerMetadataStores,\n          storeId,\n        }).getMany([`${this.namespaceStr({ namespace })}`])\n    }\n    return []\n  }\n\n  private async oid4vciStoreHasMetadata({ metadataType, correlationId, storeId, namespace }: Ioid4vciStoreExistsArgs): Promise<boolean> {\n    switch (metadataType) {\n      case 'authorizationServer':\n        return this.store<AuthorizationServerMetadata>({\n          stores: this._authorizationServerMetadataStores,\n          storeId,\n        }).has(this.prefix({ namespace, correlationId }))\n      case 'issuer':\n        return this.store<IssuerMetadata>({\n          stores: this._issuerMetadataStores,\n          storeId,\n        }).has(this.prefix({ namespace, correlationId }))\n    }\n    return false\n  }\n\n  private async oid4vciStorePersistMetadata(args: IMetadataPersistArgs): Promise<OptionalIssuerMetadataValue> {\n    const namespace = this.namespaceStr(args)\n    const storeId = this.storeIdStr(args)\n    const { correlationId, metadata, ttl, metadataType } = args\n\n    if (args?.validation !== false) {\n      //todo\n    }\n\n    switch (metadataType) {\n      case 'authorizationServer':\n        const existingAuth = await this.store<AuthorizationServerMetadata>({\n          stores: this._authorizationServerMetadataStores,\n          storeId,\n        }).getAsValueData(this.prefix({ namespace, correlationId }))\n\n        if (!existingAuth.value || (existingAuth.value && args.overwriteExisting !== false)) {\n          return await this.store<AuthorizationServerMetadata>({\n            stores: this._authorizationServerMetadataStores,\n            storeId,\n          }).set(this.prefix({ namespace, correlationId }), metadata as AuthorizationServerMetadata, ttl)\n        }\n        return existingAuth\n      case 'issuer':\n        const existingIssuer = await this.store<IssuerMetadata>({\n          stores: this._issuerMetadataStores,\n          storeId,\n        }).getAsValueData(this.prefix({ namespace, correlationId }))\n\n        if (!existingIssuer.value || (existingIssuer.value && args.overwriteExisting !== false)) {\n          return await this.store<IssuerMetadata>({\n            stores: this._issuerMetadataStores,\n            storeId,\n          }).set(this.prefix({ namespace, correlationId }), metadata as IssuerMetadata, ttl)\n        }\n        return existingIssuer\n    }\n    return undefined\n  }\n\n  private async oid4vciStoreRemoveMetadata(args: Ioid4vciStoreRemoveArgs): Promise<boolean> {\n    const namespace = this.namespaceStr(args)\n    const storeId = this.storeIdStr(args)\n\n    switch (args.metadataType) {\n      case 'authorizationServer':\n        return this.store<AuthorizationServerMetadata>({\n          stores: this._authorizationServerMetadataStores,\n          storeId,\n        }).delete(this.prefix({ namespace, correlationId: args.correlationId }))\n      case 'issuer':\n        return this.store<IssuerMetadata>({\n          stores: this._issuerMetadataStores,\n          storeId,\n        }).delete(this.prefix({ namespace, correlationId: args.correlationId }))\n    }\n    return false\n  }\n\n  private async oid4vciStoreClearAllMetadata({ metadataType, storeId }: Ioid4vciStoreClearArgs): Promise<boolean> {\n    switch (metadataType) {\n      case 'authorizationServer':\n        return await this.store<AuthorizationServerMetadata>({\n          stores: this._authorizationServerMetadataStores,\n          storeId,\n        })\n          .clear()\n          .then(() => true)\n      case 'issuer':\n        return await this.store<IssuerMetadata>({\n          stores: this._issuerMetadataStores,\n          storeId,\n        })\n          .clear()\n          .then(() => true)\n    }\n    return false\n  }\n\n  private oid4vciStoreIssuerOptions(): Promise<IKeyValueStore<IIssuerOptions>> {\n    return Promise.resolve(this.store({ stores: this._optionStores, storeId: this.defaultStoreId }))\n  }\n\n  private oid4vciStoreDefaultMetadata(): Promise<IKeyValueStore<IssuerMetadata>> {\n    return Promise.resolve(this.store({ stores: this._issuerMetadataStores, storeId: this.defaultStoreId }))\n  }\n\n  private oid4vciStoreDefaultStoreId(): Promise<string> {\n    return Promise.resolve(this.defaultStoreId)\n  }\n\n  private oid4vciStoreDefaultNamespace(): Promise<string> {\n    return Promise.resolve(this.defaultNamespace)\n  }\n\n  private store<T extends ValueStoreType>(args: { stores: Map<string, IKeyValueStore<T>>; storeId?: string }): IKeyValueStore<T> {\n    const storeId = this.storeIdStr({ storeId: args.storeId })\n    const store = args.stores.get(storeId)\n    if (!store) {\n      throw Error(`Could not get issuer metadata store: ${storeId}`)\n    }\n    return store\n  }\n\n  private storeIdStr({ storeId }: { storeId?: string }): string {\n    return storeId ?? this.defaultStoreId\n  }\n\n  private namespaceStr({ namespace }: { namespace?: string }): string {\n    return namespace ?? this.defaultNamespace\n  }\n\n  private prefix({ namespace, correlationId }: { namespace?: string; correlationId: string }): string {\n    return `${this.namespaceStr({ namespace })}:${correlationId}`\n  }\n}\n"],"mappings":"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","names":["module","OID4VCIStore","defaultOpts","_defaultOpts","value","_issuerMetadataStores","_authorizationServerMetadataStores","_optionStores","defaultStoreId","defaultNamespace","methods","oid4vciStoreDefaultMetadata","bind","oid4vciStoreDefaultIssuerOptions","oid4vciStoreIssuerOptions","oid4vciStoreDefaultStoreId","oid4vciStoreDefaultNamespace","oid4vciStoreGetIssuerOpts","oid4vciStoreHasIssuerOpts","oid4vciStorePersistIssuerOpts","oid4vciStoreRemoveIssuerOpts","oid4vciStoreClearAllIssuerOpts","oid4vciStoreGetMetadata","oid4vciStoreListMetadata","oid4vciStoreHasMetadata","oid4vciStorePersistMetadata","oid4vciStoreRemoveMetadata","oid4vciStoreClearAllMetadata","constructor","opts","defaultStore","issuerMetadataStores","Map","set","KeyValueStore","namespace","store","authorizationServerMetadataStores","Array","isArray","importMetadatas","forEach","metaImport","meta","metadataType","metadata","storeId","correlationId","overwriteExisting","undefined","issuerOptsStores","importIssuerOpts","opt","stores","get","prefix","importOpts","has","args","storeIdStr","namespaceStr","issuerOpts","ttl","validation","existing","getAsValueData","delete","clear","then","getMany","existingAuth","existingIssuer","Promise","resolve","Error","schema","require"]}