@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
57 lines • 2.92 kB
text/typescript
import { MdocDeviceResponseDcqlQueryOptions, MdocDeviceResponseOptions, MdocDeviceResponsePresentationDefinitionOptions, MdocDeviceResponseVerifyOptions } from "./MdocOptions.mjs";
import { ClaimFormat } from "../vc/models/ClaimFormat.mjs";
import "../vc/index.mjs";
import { Mdoc } from "./Mdoc.mjs";
import { AgentContext } from "../../agent/context/AgentContext.mjs";
import "../../agent/index.mjs";
import { DeviceResponse } from "@owf/mdoc";
import { InputDescriptorV2 } from "@sphereon/pex-models";
//#region src/modules/mdoc/MdocDeviceResponse.d.ts
export type DeviceAndIssuerClaims = {
[docType: string]: {
[namespace: string]: {
[claimIdentifier: string]: unknown;
};
};
};
export declare class MdocDeviceResponse {
readonly deviceResponse: DeviceResponse;
private constructor();
/**
* claim format is convenience method added to all credential instances
*/
get claimFormat(): ClaimFormat.MsoMdoc;
/**
* Encoded is convenience method added to all credential instances
*/
get encoded(): string;
/**
* To support a single DeviceResponse with multiple documents in OpenID4VP
*/
splitIntoSingleDocumentResponses(): MdocDeviceResponse[];
static fromBase64Url(base64Url: string): MdocDeviceResponse;
static createDeviceResponseWithPresentationDefinition(agentContext: AgentContext, options: MdocDeviceResponsePresentationDefinitionOptions): Promise<MdocDeviceResponse>;
/**
* @deprecated Credo does not use this method itself, and it only supports part of DCQL. Every claim
* of every `mso_mdoc` credential query is requested: `credential_sets`, `claim_sets` and `values`
* are ignored, credential queries with the same doctype are merged, nested claim paths are
* truncated, and a claim missing from the mdoc throws instead of being treated as optional. Use
* `DcqlService.createPresentation` to present mdocs for a DCQL query, or
* {@link MdocDeviceResponse.createDeviceResponse} with explicit `documentRequests`.
*/
static createDeviceResponseWithDcqlQuery(agentContext: AgentContext, options: MdocDeviceResponseDcqlQueryOptions): Promise<MdocDeviceResponse>;
static limitDisclosureToInputDescriptor(_agentContext: AgentContext, { mdoc, ...options }: {
inputDescriptor: InputDescriptorV2;
mdoc: Mdoc;
}): Promise<Record<string, Record<string, unknown>>>;
private static matchInputDescriptor;
private static assertMdocInputDescriptor;
static createDeviceResponse(agentContext: AgentContext, options: MdocDeviceResponseOptions): Promise<MdocDeviceResponse>;
verify(agentContext: AgentContext, options: Omit<MdocDeviceResponseVerifyOptions, 'deviceResponse'>): Promise<void>;
private static calculateSessionTranscriptBytes;
private static getAlgForDeviceKeyJwk;
get issuerClaims(): DeviceAndIssuerClaims;
get deviceClaims(): DeviceAndIssuerClaims;
}
//#endregion
//# sourceMappingURL=MdocDeviceResponse.d.mts.map