UNPKG

@sphereon/ssi-sdk.mdl-mdoc

Version:

1,459 lines (1,457 loc) • 94.7 kB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // plugin.schema.json var require_plugin_schema = __commonJS({ "plugin.schema.json"(exports, module2) { module2.exports = { IEBSIAuthorizationClient: { components: { schemas: { EBSIAuthAccessTokenGetArgs: { type: "object", properties: { vc: { type: "string" }, definitionId: { $ref: "#/components/schemas/ScopeByDefinition" }, did: { type: "string" }, kid: { type: "string" }, scope: { $ref: "#/components/schemas/EBSIScope" }, apiOpts: { $ref: '#/components/schemas/Optional<ApiOpts,"version">' } }, required: ["vc", "definitionId", "did", "kid", "scope", "apiOpts"] }, ScopeByDefinition: { type: "string", enum: ["didr_invite", "didr_write", "tir_invite", "tir_write", "timestamp_write", "tnt_authorise", "tnt_create", "tnt_write"] }, EBSIScope: { type: "string", enum: [ "didr_write", "didr_invite", "tir_write", "tir_invite", "timestamp_write", "tnt_authorise", "tnt_create", "tnt_write", "did_authn" ], description: "The OpenID scope" }, 'Optional<ApiOpts,"version">': { type: "object", properties: { environment: { $ref: "#/components/schemas/EbsiEnvironment" }, version: { $ref: "#/components/schemas/EbsiApiVersion" } } }, EbsiEnvironment: { type: "string", enum: ["pilot", "conformance", "conformance-test"] }, EbsiApiVersion: { type: "string", enum: ["v3", "v4", "v5"] }, GetAccessTokenResponse: { anyOf: [ { $ref: "#/components/schemas/GetAccessTokenSuccessResponse" }, { $ref: "#/components/schemas/ExceptionResponse" } ] }, GetAccessTokenSuccessResponse: { type: "object", properties: { access_token: { type: "string" }, token_type: { $ref: "#/components/schemas/TokenType" }, expires_in: { type: "number" }, scope: { $ref: "#/components/schemas/EBSIScope" }, id_token: { type: "string" }, apiOpts: { $ref: "#/components/schemas/ApiOpts" } }, required: ["access_token", "token_type", "scope", "id_token", "apiOpts"] }, TokenType: { type: "string", const: "Bearer" }, ApiOpts: { type: "object", properties: { environment: { $ref: "#/components/schemas/EbsiEnvironment" }, version: { $ref: "#/components/schemas/EbsiApiVersion" } }, required: ["version"] }, ExceptionResponse: { type: "object", properties: { type: { type: "string" }, title: { type: "string" }, status: { type: "number" }, detail: { type: "string" }, instance: { type: "string" } } }, GetOIDProviderJwksResponse: { anyOf: [ { $ref: "#/components/schemas/GetOIDProviderJwksSuccessResponse" }, { $ref: "#/components/schemas/ExceptionResponse" } ] }, GetOIDProviderJwksSuccessResponse: { type: "object", properties: { keys: { type: "array", items: { $ref: "#/components/schemas/JWK" } } }, required: ["keys"] }, JWK: { type: "object", properties: { alg: { type: "string", description: 'JWK "alg" (Algorithm) Parameter.' }, crv: { type: "string" }, d: { type: "string" }, dp: { type: "string" }, dq: { type: "string" }, e: { type: "string" }, ext: { type: "boolean", description: 'JWK "ext" (Extractable) Parameter.' }, k: { type: "string" }, key_ops: { type: "array", items: { type: "string" }, description: 'JWK "key_ops" (Key Operations) Parameter.' }, kid: { type: "string", description: 'JWK "kid" (Key ID) Parameter.' }, kty: { type: "string", description: 'JWK "kty" (Key Type) Parameter.' }, n: { type: "string" }, oth: { type: "array", items: { type: "object", properties: { d: { type: "string" }, r: { type: "string" }, t: { type: "string" } } } }, p: { type: "string" }, q: { type: "string" }, qi: { type: "string" }, use: { type: "string", description: 'JWK "use" (Public Key Use) Parameter.' }, x: { type: "string" }, y: { type: "string" }, x5c: { type: "array", items: { type: "string" }, description: 'JWK "x5c" (X.509 Certificate Chain) Parameter.' }, x5t: { type: "string", description: 'JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter.' }, "x5t#S256": { type: "string", description: '"x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter.' }, x5u: { type: "string", description: 'JWK "x5u" (X.509 URL) Parameter.' } }, additionalProperties: {}, description: 'JSON Web Key ( {@link https://www.rfc-editor.org/rfc/rfc7517 | JWK } ). "RSA", "EC", "OKP", and "oct" key types are supported.' }, GetPresentationDefinitionArgs: { type: "object", properties: { scope: { $ref: "#/components/schemas/EBSIScope" }, apiOpts: { $ref: "#/components/schemas/ApiOpts" } }, required: ["scope"] }, GetPresentationDefinitionResponse: { $ref: "#/components/schemas/GetPresentationDefinitionSuccessResponse" }, GetPresentationDefinitionSuccessResponse: { type: "object", properties: { format: { $ref: "#/components/schemas/Format" }, id: { type: "string" }, name: { type: "string" }, purpose: { type: "string" }, submission_requirements: { type: "array", items: { $ref: "#/components/schemas/SubmissionRequirement" } }, input_descriptors: { type: "array", items: { $ref: "#/components/schemas/InputDescriptorV2" } }, frame: { type: "object" } }, required: ["id", "input_descriptors"] }, Format: { type: "object", properties: { jwt: { $ref: "#/components/schemas/JwtObject" }, jwt_vc: { $ref: "#/components/schemas/JwtObject" }, jwt_vc_json: { $ref: "#/components/schemas/JwtObject" }, jwt_vp: { $ref: "#/components/schemas/JwtObject" }, jwt_vp_json: { $ref: "#/components/schemas/JwtObject" }, ldp: { $ref: "#/components/schemas/LdpObject" }, ldp_vc: { $ref: "#/components/schemas/LdpObject" }, ldp_vp: { $ref: "#/components/schemas/LdpObject" }, di: { $ref: "#/components/schemas/DiObject" }, di_vc: { $ref: "#/components/schemas/DiObject" }, di_vp: { $ref: "#/components/schemas/DiObject" }, "dc+sd-jwt": { $ref: "#/components/schemas/SdJwtObject" } } }, JwtObject: { type: "object", properties: { alg: { type: "array", items: { type: "string" } } }, required: ["alg"] }, LdpObject: { type: "object", properties: { proof_type: { type: "array", items: { type: "string" } } }, required: ["proof_type"] }, DiObject: { type: "object", properties: { proof_type: { type: "array", items: { type: "string" } }, cryptosuite: { type: "array", items: { type: "string" } } }, required: ["proof_type", "cryptosuite"] }, SdJwtObject: { type: "object", properties: { "sd-jwt_alg_values": { type: "array", items: { type: "string" } }, "kb-jwt_alg_values": { type: "array", items: { type: "string" } } } }, SubmissionRequirement: { type: "object", properties: { name: { type: "string" }, purpose: { type: "string" }, rule: { $ref: "#/components/schemas/Rules" }, count: { type: "number" }, min: { type: "number" }, max: { type: "number" }, from: { type: "string" }, from_nested: { type: "array", items: { $ref: "#/components/schemas/SubmissionRequirement" } } }, required: ["rule"] }, Rules: { type: "string", enum: ["all", "pick"] }, InputDescriptorV2: { type: "object", properties: { id: { type: "string" }, name: { type: "string" }, purpose: { type: "string" }, format: { $ref: "#/components/schemas/Format" }, group: { type: "array", items: { type: "string" } }, issuance: { type: "array", items: { $ref: "#/components/schemas/Issuance" } }, constraints: { $ref: "#/components/schemas/ConstraintsV2" } }, required: ["id", "constraints"] }, Issuance: { type: "object", properties: { manifest: { type: "string" } }, additionalProperties: {} }, ConstraintsV2: { type: "object", properties: { limit_disclosure: { $ref: "#/components/schemas/Optionality" }, statuses: { $ref: "#/components/schemas/Statuses" }, fields: { type: "array", items: { $ref: "#/components/schemas/FieldV2" } }, subject_is_issuer: { $ref: "#/components/schemas/Optionality" }, is_holder: { type: "array", items: { $ref: "#/components/schemas/HolderSubject" } }, same_subject: { type: "array", items: { $ref: "#/components/schemas/HolderSubject" } } } }, Optionality: { type: "string", enum: ["required", "preferred"] }, Statuses: { type: "object", properties: { active: { $ref: "#/components/schemas/PdStatus" }, suspended: { $ref: "#/components/schemas/PdStatus" }, revoked: { $ref: "#/components/schemas/PdStatus" } } }, PdStatus: { type: "object", properties: { directive: { $ref: "#/components/schemas/Directives" } } }, Directives: { type: "string", enum: ["required", "allowed", "disallowed"] }, FieldV2: { type: "object", properties: { id: { type: "string" }, path: { type: "array", items: { type: "string" } }, purpose: { type: "string" }, filter: { $ref: "#/components/schemas/FilterV2" }, predicate: { $ref: "#/components/schemas/Optionality" }, name: { type: "string" }, optional: { type: "boolean" } }, required: ["path"] }, FilterV2: { type: "object", properties: { const: { $ref: "#/components/schemas/OneOfNumberStringBoolean" }, enum: { type: "array", items: { $ref: "#/components/schemas/OneOfNumberStringBoolean" } }, exclusiveMinimum: { $ref: "#/components/schemas/OneOfNumberString" }, exclusiveMaximum: { $ref: "#/components/schemas/OneOfNumberString" }, format: { type: "string" }, formatMaximum: { type: "string" }, formatMinimum: { type: "string" }, formatExclusiveMaximum: { type: "string" }, formatExclusiveMinimum: { type: "string" }, minLength: { type: "number" }, maxLength: { type: "number" }, minimum: { $ref: "#/components/schemas/OneOfNumberString" }, maximum: { $ref: "#/components/schemas/OneOfNumberString" }, not: { type: "object" }, pattern: { type: "string" }, type: { type: "string" }, contains: { $ref: "#/components/schemas/FilterV2Base" }, items: { $ref: "#/components/schemas/FilterV2BaseItems" } }, required: ["type"] }, OneOfNumberStringBoolean: { type: ["boolean", "number", "string"] }, OneOfNumberString: { type: ["number", "string"] }, FilterV2Base: { type: "object", properties: { const: { $ref: "#/components/schemas/OneOfNumberStringBoolean" }, enum: { type: "array", items: { $ref: "#/components/schemas/OneOfNumberStringBoolean" } }, exclusiveMinimum: { $ref: "#/components/schemas/OneOfNumberString" }, exclusiveMaximum: { $ref: "#/components/schemas/OneOfNumberString" }, format: { type: "string" }, formatMaximum: { type: "string" }, formatMinimum: { type: "string" }, formatExclusiveMaximum: { type: "string" }, formatExclusiveMinimum: { type: "string" }, minLength: { type: "number" }, maxLength: { type: "number" }, minimum: { $ref: "#/components/schemas/OneOfNumberString" }, maximum: { $ref: "#/components/schemas/OneOfNumberString" }, not: { type: "object" }, pattern: { type: "string" }, type: { type: "string" }, contains: { $ref: "#/components/schemas/FilterV2Base" }, items: { $ref: "#/components/schemas/FilterV2BaseItems" } } }, FilterV2BaseItems: { type: "object", properties: { const: { $ref: "#/components/schemas/OneOfNumberStringBoolean" }, enum: { type: "array", items: { $ref: "#/components/schemas/OneOfNumberStringBoolean" } }, exclusiveMinimum: { $ref: "#/components/schemas/OneOfNumberString" }, exclusiveMaximum: { $ref: "#/components/schemas/OneOfNumberString" }, format: { type: "string" }, formatMaximum: { type: "string" }, formatMinimum: { type: "string" }, formatExclusiveMaximum: { type: "string" }, formatExclusiveMinimum: { type: "string" }, minLength: { type: "number" }, maxLength: { type: "number" }, minimum: { $ref: "#/components/schemas/OneOfNumberString" }, maximum: { $ref: "#/components/schemas/OneOfNumberString" }, not: { type: "object" }, pattern: { type: "string" }, type: { type: "string" }, contains: { $ref: "#/components/schemas/FilterV2Base" }, items: { $ref: "#/components/schemas/FilterV2BaseItems" } }, required: ["type"] }, HolderSubject: { type: "object", properties: { field_id: { type: "array", items: { type: "string" } }, directive: { $ref: "#/components/schemas/Optionality" } }, required: ["field_id", "directive"] }, GetOIDProviderMetadataResponse: { $ref: "#/components/schemas/EbsiOpenIDMetadata" }, EbsiOpenIDMetadata: { anyOf: [ { type: "object", properties: { presentation_definition_endpoint: { type: "string" }, authorization_endpoint: { anyOf: [ { $ref: "#/components/schemas/Schema" }, { type: "string" } ] }, issuer: { anyOf: [ { $ref: "#/components/schemas/ResponseIss" }, { type: "string" } ] }, response_types_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/ResponseType" } }, { $ref: "#/components/schemas/ResponseType" } ] }, scopes_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/Scope" } }, { $ref: "#/components/schemas/Scope" } ] }, subject_types_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SubjectType" } }, { $ref: "#/components/schemas/SubjectType" } ] }, id_token_signing_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, request_object_signing_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, subject_syntax_types_supported: { type: "array", items: { type: "string" } }, token_endpoint: { type: "string" }, userinfo_endpoint: { type: "string" }, jwks_uri: { type: "string" }, registration_endpoint: { type: "string" }, response_modes_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/ResponseMode" } }, { $ref: "#/components/schemas/ResponseMode" } ] }, grant_types_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/GrantType" } }, { $ref: "#/components/schemas/GrantType" } ] }, acr_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/AuthenticationContextReferences" } }, { $ref: "#/components/schemas/AuthenticationContextReferences" } ] }, id_token_encryption_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, id_token_encryption_enc_values_supported: { anyOf: [ { type: "array", items: { type: "string" } }, { type: "string" } ], description: "OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the OP for the ID Token to encode the Claims in a JWT [JWT]." }, userinfo_signing_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, userinfo_encryption_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, userinfo_encryption_enc_values_supported: { anyOf: [ { type: "array", items: { type: "string" } }, { type: "string" } ], description: "OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT]." }, request_object_encryption_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, request_object_encryption_enc_values_supported: { anyOf: [ { type: "array", items: { type: "string" } }, { type: "string" } ], description: "OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the OP for Request Objects. These algorithms are used both when the Request Object is passed by value and when it is passed by reference." }, token_endpoint_auth_methods_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/TokenEndpointAuthMethod" } }, { $ref: "#/components/schemas/TokenEndpointAuthMethod" } ] }, token_endpoint_auth_signing_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, display_values_supported: { anyOf: [ { type: "array", items: {} }, {} ], description: "OPTIONAL. JSON array containing a list of the display parameter values that the OpenID Provider supports. These values are described in Section 3.1.2.1 of OpenID Connect Core 1.0 [OpenID.Core]." }, claim_types_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/ClaimType" } }, { $ref: "#/components/schemas/ClaimType" } ], description: "OPTIONAL. JSON array containing a list of the Claim Types that the OpenID Provider supports. These Claim Types are described in Section 5.6 of OpenID Connect Core 1.0 [OpenID.Core]. Values defined by this specification are normal, aggregated, and distributed. If omitted, the implementation supports only normal Claims." }, claims_supported: { anyOf: [ { type: "array", items: { type: "string" } }, { type: "string" } ], description: "RECOMMENDED. JSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for. Note that for privacy or other reasons, this might not be an exhaustive list." }, service_documentation: { type: "string" }, claims_locales_supported: { anyOf: [ { type: "array", items: { type: "string" } }, { type: "string" } ] }, ui_locales_supported: { anyOf: [ { type: "array", items: { type: "string" } }, { type: "string" } ] }, claims_parameter_supported: { type: "boolean" }, request_parameter_supported: { type: "boolean" }, request_uri_parameter_supported: { type: "boolean" }, require_request_uri_registration: { type: "boolean" }, op_policy_uri: { type: "string" }, op_tos_uri: { type: "string" }, client_id: { type: "string" }, redirect_uris: { type: "array", items: { type: "string" } }, client_name: { type: "string" }, token_endpoint_auth_method: { type: "string" }, application_type: { type: "string" }, response_types: { type: "string" }, grant_types: { type: "string" }, vp_formats: { $ref: "#/components/schemas/Format" } } }, { type: "object", properties: { presentation_definition_endpoint: { type: "string" }, authorization_endpoint: { anyOf: [ { $ref: "#/components/schemas/Schema" }, { type: "string" } ] }, issuer: { anyOf: [ { $ref: "#/components/schemas/ResponseIss" }, { type: "string" } ] }, response_types_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/ResponseType" } }, { $ref: "#/components/schemas/ResponseType" } ] }, scopes_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/Scope" } }, { $ref: "#/components/schemas/Scope" } ] }, subject_types_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SubjectType" } }, { $ref: "#/components/schemas/SubjectType" } ] }, id_token_signing_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, request_object_signing_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, subject_syntax_types_supported: { type: "array", items: { type: "string" } }, token_endpoint: { type: "string" }, userinfo_endpoint: { type: "string" }, jwks_uri: { type: "string" }, registration_endpoint: { type: "string" }, response_modes_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/ResponseMode" } }, { $ref: "#/components/schemas/ResponseMode" } ] }, grant_types_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/GrantType" } }, { $ref: "#/components/schemas/GrantType" } ] }, acr_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/AuthenticationContextReferences" } }, { $ref: "#/components/schemas/AuthenticationContextReferences" } ] }, id_token_encryption_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, id_token_encryption_enc_values_supported: { anyOf: [ { type: "array", items: { type: "string" } }, { type: "string" } ], description: "OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the OP for the ID Token to encode the Claims in a JWT [JWT]." }, userinfo_signing_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, userinfo_encryption_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, userinfo_encryption_enc_values_supported: { anyOf: [ { type: "array", items: { type: "string" } }, { type: "string" } ], description: "OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT]." }, request_object_encryption_alg_values_supported: { anyOf: [ { type: "array", items: { $ref: "#/components/schemas/SigningAlgo" } }, { $ref: "#/components/schemas/SigningAlgo" } ] }, request_object_encryption_enc_values_supported: { anyOf: [ { type: "array", items: { type: "string" } }, { type: "string" } ], description: "OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the OP for Request Objects. These algorithms are used both when the Request Object is passed by value and when it is passed by reference." }, token_endpoint_auth_methods_supported: {