@sphereon/ssi-sdk.pd-manager 0.34.1-feature.SSISDK.50.98 → 0.34.1-feature.SSISDK.50.type.refactor.142

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.
package/dist/index.cjs CHANGED
@@ -1220,24 +1220,34 @@ var PDManager = class {
1220
1220
  existingItem.tenantId = definitionItem.tenantId;
1221
1221
  existingItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name;
1222
1222
  existingItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose;
1223
- existingItem.dcqlPayload = definitionItem.dcqlPayload;
1223
+ existingItem.dcqlQuery = definitionItem.dcqlQuery;
1224
1224
  existingItem.definitionPayload = definitionItem.definitionPayload;
1225
1225
  return await this.store.updateDefinition(existingItem);
1226
1226
  } else {
1227
- return await this.store.addDefinition(definitionItem);
1227
+ const newDefinitionItem = {
1228
+ ...definitionItem,
1229
+ name: definitionItem.name ?? definitionItem.definitionPayload?.name,
1230
+ purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose
1231
+ };
1232
+ return await this.store.addDefinition(newDefinitionItem);
1228
1233
  }
1229
1234
  }
1230
1235
  async handleOverwriteLatestMode(latestVersionItem, definitionItem) {
1231
1236
  if (latestVersionItem) {
1232
1237
  latestVersionItem.definitionId = definitionItem.definitionId;
1233
1238
  latestVersionItem.tenantId = definitionItem.tenantId;
1234
- latestVersionItem.name = definitionItem.name;
1235
- latestVersionItem.purpose = definitionItem.purpose;
1239
+ latestVersionItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name;
1240
+ latestVersionItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose;
1236
1241
  latestVersionItem.definitionPayload = definitionItem.definitionPayload;
1237
- latestVersionItem.dcqlPayload = definitionItem.dcqlPayload;
1242
+ latestVersionItem.dcqlQuery = definitionItem.dcqlQuery;
1238
1243
  return await this.store.updateDefinition(latestVersionItem);
1239
1244
  } else {
1240
- return await this.store.addDefinition(definitionItem);
1245
+ const newDefinitionItem = {
1246
+ ...definitionItem,
1247
+ name: definitionItem.name ?? definitionItem.definitionPayload?.name,
1248
+ purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose
1249
+ };
1250
+ return await this.store.addDefinition(newDefinitionItem);
1241
1251
  }
1242
1252
  }
1243
1253
  async handleManualMode(existingItem, definitionItem, tenantId, version) {
@@ -1258,7 +1268,7 @@ var PDManager = class {
1258
1268
  let normalizedBaseVersion = import_preload.default.coerce(baseVersion)?.version ?? `${defaultVersion}.0.0`;
1259
1269
  let preReleaseIdentifier = preReleaseSuffix ? preReleaseSuffix.match(/^[a-zA-Z]+/)?.[0] : void 0;
1260
1270
  let fullVersionToIncrement = preReleaseIdentifier ? `${normalizedBaseVersion}-${preReleaseSuffix}` : normalizedBaseVersion;
1261
- let incrementedVersion = import_preload.default.inc(fullVersionToIncrement, releaseType, preReleaseIdentifier);
1271
+ let incrementedVersion = import_preload.default.inc(fullVersionToIncrement, releaseType, void 0, preReleaseIdentifier);
1262
1272
  if (!incrementedVersion) {
1263
1273
  throw new Error(`Could not increment ${releaseType} version on ${currentVersion} ${preReleaseSuffix}`);
1264
1274
  }
@@ -1273,8 +1283,13 @@ var PDManager = class {
1273
1283
  resultVersion += `-${incrementedSuffix}`;
1274
1284
  }
1275
1285
  }
1276
- definitionItem.version = resultVersion;
1277
- return await this.store.addDefinition(definitionItem);
1286
+ const newDefinitionItem = {
1287
+ ...definitionItem,
1288
+ version: resultVersion,
1289
+ name: definitionItem.name ?? definitionItem.definitionPayload?.name,
1290
+ purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose
1291
+ };
1292
+ return await this.store.addDefinition(newDefinitionItem);
1278
1293
  }
1279
1294
  normalizeToSemverVersionFormat(version) {
1280
1295
  const defaultVersion = "1.0.0";
@@ -1 +1 @@
1
- {"version":3,"sources":["../plugin.schema.json","../src/index.ts","../src/agent/PDManager.ts"],"sourcesContent":["{\n \"IPDManager\": {\n \"components\": {\n \"schemas\": {\n \"DeleteDefinitionItemArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"itemId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"itemId\"],\n \"additionalProperties\": false\n },\n \"DeleteDefinitionItemsArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"GetDefinitionItemsArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"filter\": {\n \"$ref\": \"#/components/schemas/FindDefinitionArgs\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/FetchOptions\"\n }\n },\n \"additionalProperties\": false\n },\n \"FindDefinitionArgs\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItemFilter\"\n }\n },\n \"PresentationDefinitionItemFilter\": {\n \"$ref\": \"#/components/schemas/Partial<Omit<PresentationDefinitionItem,(\\\"definitionPayload\\\"|\\\"dcqlPayload\\\")>>\"\n },\n \"Partial<Omit<PresentationDefinitionItem,(\\\"definitionPayload\\\"|\\\"dcqlPayload\\\")>>\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"createdAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"lastUpdatedAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"additionalProperties\": false\n },\n \"FetchOptions\": {\n \"type\": \"object\",\n \"properties\": {\n \"showVersionHistory\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"GetDefinitionItemArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"itemId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"itemId\"],\n \"additionalProperties\": false\n },\n \"PresentationDefinitionItem\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"definitionPayload\": {\n \"$ref\": \"#/components/schemas/IPresentationDefinition\"\n },\n \"dcqlPayload\": {\n \"$ref\": \"#/components/schemas/DcqlQueryREST\"\n },\n \"createdAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"lastUpdatedAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"required\": [\"id\", \"definitionId\", \"version\", \"definitionPayload\", \"createdAt\", \"lastUpdatedAt\"],\n \"additionalProperties\": false\n },\n \"IPresentationDefinition\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/PresentationDefinitionV1\"\n },\n {\n \"$ref\": \"#/components/schemas/PresentationDefinitionV2\"\n }\n ]\n },\n \"PresentationDefinitionV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"submission_requirements\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n },\n \"input_descriptors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/InputDescriptorV1\"\n }\n }\n },\n \"required\": [\"id\", \"input_descriptors\"],\n \"additionalProperties\": false\n },\n \"Format\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwt\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vc\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vc_json\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vp\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vp_json\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"ldp\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"ldp_vc\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"ldp_vp\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"di\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"di_vc\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"di_vp\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"dc+sd-jwt\": {\n \"$ref\": \"#/components/schemas/SdJwtObject\"\n },\n \"mso_mdoc\": {\n \"$ref\": \"#/components/schemas/MsoMdocObject\"\n }\n },\n \"additionalProperties\": false\n },\n \"JwtObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"alg\"],\n \"additionalProperties\": false\n },\n \"LdpObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"proof_type\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"proof_type\"],\n \"additionalProperties\": false\n },\n \"DiObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"proof_type\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"cryptosuite\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"proof_type\", \"cryptosuite\"],\n \"additionalProperties\": false\n },\n \"SdJwtObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"sd-jwt_alg_values\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kb-jwt_alg_values\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"MsoMdocObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"alg\"],\n \"additionalProperties\": false\n },\n \"SubmissionRequirement\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"rule\": {\n \"$ref\": \"#/components/schemas/Rules\"\n },\n \"count\": {\n \"type\": \"number\"\n },\n \"min\": {\n \"type\": \"number\"\n },\n \"max\": {\n \"type\": \"number\"\n },\n \"from\": {\n \"type\": \"string\"\n },\n \"from_nested\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n }\n },\n \"required\": [\"rule\"],\n \"additionalProperties\": false\n },\n \"Rules\": {\n \"type\": \"string\",\n \"enum\": [\"all\", \"pick\"]\n },\n \"InputDescriptorV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"group\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Schema\"\n }\n },\n \"issuance\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Issuance\"\n }\n },\n \"constraints\": {\n \"$ref\": \"#/components/schemas/ConstraintsV1\"\n }\n },\n \"required\": [\"id\", \"schema\"],\n \"additionalProperties\": false\n },\n \"Schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"uri\": {\n \"type\": \"string\"\n },\n \"required\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\"uri\"],\n \"additionalProperties\": false\n },\n \"Issuance\": {\n \"type\": \"object\",\n \"properties\": {\n \"manifest\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {}\n },\n \"ConstraintsV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"limit_disclosure\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"statuses\": {\n \"$ref\": \"#/components/schemas/Statuses\"\n },\n \"fields\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/FieldV1\"\n }\n },\n \"subject_is_issuer\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"is_holder\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n },\n \"same_subject\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"Optionality\": {\n \"type\": \"string\",\n \"enum\": [\"required\", \"preferred\"]\n },\n \"Statuses\": {\n \"type\": \"object\",\n \"properties\": {\n \"active\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n },\n \"suspended\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n },\n \"revoked\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n }\n },\n \"additionalProperties\": false\n },\n \"PdStatus\": {\n \"type\": \"object\",\n \"properties\": {\n \"directive\": {\n \"$ref\": \"#/components/schemas/Directives\"\n }\n },\n \"additionalProperties\": false\n },\n \"Directives\": {\n \"type\": \"string\",\n \"enum\": [\"required\", \"allowed\", \"disallowed\"]\n },\n \"FieldV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/FilterV1\"\n },\n \"predicate\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n }\n },\n \"required\": [\"path\"],\n \"additionalProperties\": false\n },\n \"FilterV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"OneOfNumberStringBoolean\": {\n \"type\": [\"boolean\", \"number\", \"string\"]\n },\n \"OneOfNumberString\": {\n \"type\": [\"number\", \"string\"]\n },\n \"HolderSubject\": {\n \"type\": \"object\",\n \"properties\": {\n \"field_id\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"directive\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n }\n },\n \"required\": [\"field_id\", \"directive\"],\n \"additionalProperties\": false\n },\n \"PresentationDefinitionV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"submission_requirements\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n },\n \"input_descriptors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/InputDescriptorV2\"\n }\n },\n \"frame\": {\n \"type\": \"object\"\n }\n },\n \"required\": [\"id\", \"input_descriptors\"],\n \"additionalProperties\": false\n },\n \"InputDescriptorV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"group\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"issuance\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Issuance\"\n }\n },\n \"constraints\": {\n \"$ref\": \"#/components/schemas/ConstraintsV2\"\n }\n },\n \"required\": [\"id\", \"constraints\"],\n \"additionalProperties\": false\n },\n \"ConstraintsV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"limit_disclosure\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"statuses\": {\n \"$ref\": \"#/components/schemas/Statuses\"\n },\n \"fields\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/FieldV2\"\n }\n },\n \"subject_is_issuer\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"is_holder\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n },\n \"same_subject\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"FieldV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"predicate\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"intent_to_retain\": {\n \"type\": \"boolean\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"optional\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\"path\"],\n \"additionalProperties\": false\n },\n \"FilterV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"formatMaximum\": {\n \"type\": \"string\"\n },\n \"formatMinimum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMaximum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMinimum\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"contains\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"items\": {\n \"$ref\": \"#/components/schemas/FilterV2Items\"\n }\n },\n \"additionalProperties\": false\n },\n \"FilterV2Items\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"formatMaximum\": {\n \"type\": \"string\"\n },\n \"formatMinimum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMaximum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMinimum\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"contains\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"items\": {\n \"$ref\": \"#/components/schemas/FilterV2Items\"\n }\n },\n \"additionalProperties\": false\n },\n \"DcqlQueryREST\": {\n \"type\": \"object\",\n \"properties\": {\n \"credentials\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/DcqlCredentialQuery\"\n }\n }\n },\n \"required\": [\"credentials\"],\n \"additionalProperties\": false\n },\n \"DcqlCredentialQuery\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"claims\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/DcqlClaim\"\n }\n },\n \"meta\": {\n \"$ref\": \"#/components/schemas/Record<string,any>\"\n }\n },\n \"required\": [\"id\", \"format\", \"claims\"],\n \"additionalProperties\": false\n },\n \"DcqlClaim\": {\n \"type\": \"object\",\n \"properties\": {\n \"namespace\": {\n \"type\": \"string\"\n },\n \"claim_name\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/DcqlFilter\"\n }\n },\n \"required\": [\"namespace\", \"claim_name\"],\n \"additionalProperties\": false\n },\n \"DcqlFilter\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\"string\", \"number\", \"boolean\"]\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"maximum\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\"type\"],\n \"additionalProperties\": false\n },\n \"Record<string,any>\": {\n \"type\": \"object\"\n },\n \"HasDefinitionItemArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemArgs\"\n },\n \"HasDefinitionItemsArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"PersistDefinitionArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"definitionItem\": {\n \"$ref\": \"#/components/schemas/PersistPresentationDefinitionItem\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/PersistOptions\"\n }\n },\n \"required\": [\"definitionItem\"],\n \"additionalProperties\": false\n },\n \"PersistPresentationDefinitionItem\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"definitionPayload\": {\n \"$ref\": \"#/components/schemas/IPresentationDefinition\"\n },\n \"dcqlPayload\": {\n \"$ref\": \"#/components/schemas/DcqlQueryREST\"\n }\n },\n \"required\": [\"definitionPayload\"]\n },\n \"PersistOptions\": {\n \"type\": \"object\",\n \"properties\": {\n \"versionControlMode\": {\n \"$ref\": \"#/components/schemas/VersionControlMode\"\n },\n \"versionIncrementReleaseType\": {\n \"$ref\": \"#/components/schemas/ReleaseType\"\n }\n },\n \"additionalProperties\": false\n },\n \"VersionControlMode\": {\n \"type\": \"string\",\n \"enum\": [\"AutoIncrement\", \"Manual\", \"Overwrite\", \"OverwriteLatest\"]\n },\n \"ReleaseType\": {\n \"type\": \"string\",\n \"enum\": [\"major\", \"premajor\", \"minor\", \"preminor\", \"patch\", \"prepatch\", \"prerelease\", \"release\"]\n }\n },\n \"methods\": {\n \"pdmDeleteDefinition\": {\n \"description\": \"Delete a single presentation definition records by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/DeleteDefinitionItemArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmDeleteDefinitions\": {\n \"description\": \"Delete multiple presentation definitions records using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/DeleteDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"number\"\n }\n },\n \"pdmGetDefinition\": {\n \"description\": \"Get a single presentation definition records by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n },\n \"pdmGetDefinitions\": {\n \"description\": \"Find one or more presentation definition records using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n }\n },\n \"pdmHasDefinition\": {\n \"description\": \"Checks whether a presentation definition record exists by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/HasDefinitionItemArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmHasDefinitions\": {\n \"description\": \"Checks whether one or more presentation definition records exist using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/HasDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmPersistDefinition\": {\n \"description\": \"Check in a presentation definition. It has version control logic which will add or update presentation definition records and has settings for automatic version numbering.\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/PersistDefinitionArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n }\n }\n }\n }\n}\n","/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\nexport { PDManager, pdManagerMethods } from './agent/PDManager'\nexport * from './types/IPDManager'\n\nexport type { ReleaseType } from 'semver'\n","import { IAgentPlugin } from '@veramo/core'\nimport {\n DeleteDefinitionItemArgs,\n DeleteDefinitionItemsArgs,\n GetDefinitionItemArgs,\n GetDefinitionItemsArgs,\n HasDefinitionItemArgs,\n HasDefinitionItemsArgs,\n IPDManager,\n PersistDefinitionArgs,\n schema,\n} from '../index'\nimport {\n AbstractPDStore,\n isPresentationDefinitionEqual,\n NonPersistedPresentationDefinitionItem,\n PresentationDefinitionItem,\n} from '@sphereon/ssi-sdk.data-store'\nimport semver from 'semver/preload'\nimport { ReleaseType } from 'semver'\n\n// Exposing the methods here for any REST implementation\nexport const pdManagerMethods: Array<string> = [\n 'pdmHasDefinition',\n 'pdmHasGetDefinitions',\n 'pdmGetDefinition',\n 'pdmGetDefinitions',\n 'pdmPersistDefinition',\n 'pdmDeleteDefinition',\n 'pdmDeleteDefinitions',\n]\n\n/**\n * {@inheritDoc IPDManager}\n */\nexport class PDManager implements IAgentPlugin {\n readonly schema = schema.IPDManager\n readonly methods: IPDManager = {\n pdmPersistDefinition: this.pdmPersistDefinition.bind(this),\n pdmHasDefinition: this.pdmHasDefinition.bind(this),\n pdmHasDefinitions: this.pdmHasDefinitions.bind(this),\n pdmGetDefinition: this.pdmGetDefinition.bind(this),\n pdmGetDefinitions: this.pdmGetDefinitions.bind(this),\n pdmDeleteDefinition: this.pdmDeleteDefinition.bind(this),\n pdmDeleteDefinitions: this.pdmDeleteDefinitions.bind(this),\n }\n\n private readonly store: AbstractPDStore\n\n constructor(options: { store: AbstractPDStore }) {\n this.store = options.store\n }\n\n /** {@inheritDoc IPDManager.pdmHasDefinition} */\n private async pdmHasDefinition(args: HasDefinitionItemArgs): Promise<boolean> {\n const { itemId } = args\n return this.store.hasDefinition({ itemId })\n }\n\n /** {@inheritDoc IPDManager.pdmHasDefinitions} */\n private async pdmHasDefinitions(args: HasDefinitionItemsArgs): Promise<boolean> {\n const { filter } = args\n return this.store.hasDefinitions({ filter })\n }\n\n /** {@inheritDoc IPDManager.pdmGetDefinition} */\n private async pdmGetDefinition(args: GetDefinitionItemArgs): Promise<PresentationDefinitionItem> {\n const { itemId } = args\n return this.store.getDefinition({ itemId })\n }\n\n /** {@inheritDoc IPDManager.pdmGetDefinitions} */\n private async pdmGetDefinitions(args: GetDefinitionItemsArgs): Promise<Array<PresentationDefinitionItem>> {\n const { filter, opts } = args\n const allDefinitions = await this.store.getDefinitions({ filter })\n let definitions: PresentationDefinitionItem[] = []\n if (opts == undefined || opts.showVersionHistory !== true) {\n const groupedByDefinitionId = allDefinitions.reduce(\n (acc, entity) => {\n if (!acc[entity.definitionId]) {\n acc[entity.definitionId] = []\n }\n acc[entity.definitionId].push(entity)\n return acc\n },\n {} as Record<string, PresentationDefinitionItem[]>,\n )\n definitions = Object.values(groupedByDefinitionId).map((entities) =>\n entities.reduce((highestVersionItem, baseItem) => {\n const baseVersion = this.normalizeToSemverVersionFormat(baseItem.version)\n const highestVersion = this.normalizeToSemverVersionFormat(highestVersionItem.version)\n return semver.gt(baseVersion, highestVersion) ? baseItem : highestVersionItem\n }),\n )\n } else {\n definitions = allDefinitions\n }\n return definitions\n }\n\n /** {@inheritDoc IPDManager.pdmDeleteDefinition} */\n private async pdmDeleteDefinition(args: DeleteDefinitionItemArgs): Promise<boolean> {\n return this.store.deleteDefinition(args).then((value) => true)\n }\n\n /** {@inheritDoc IPDManager.pdmDeleteDefinitions} */\n private async pdmDeleteDefinitions(args: DeleteDefinitionItemsArgs): Promise<number> {\n return this.store.deleteDefinitions(args)\n }\n\n /** {@inheritDoc IPDManager.pdmPersistDefinition} */\n private async pdmPersistDefinition(args: PersistDefinitionArgs): Promise<PresentationDefinitionItem> {\n const { definitionItem, opts } = args\n const { versionControlMode, versionIncrementReleaseType } = opts ?? { versionControlMode: 'AutoIncrement' }\n const { version, tenantId } = definitionItem\n const definitionId = definitionItem.definitionId\n\n let { id } = definitionItem\n if (id !== undefined && versionControlMode !== 'Overwrite') {\n id = undefined\n }\n\n const nonPersistedDefinitionItem: NonPersistedPresentationDefinitionItem = {\n ...definitionItem,\n version: version ?? '1',\n }\n\n const existing = await this.store.getDefinitions({ filter: [{ id, definitionId, tenantId, version }] })\n const existingItem = existing[0]\n\n // Always fetch all definitions for the definitionId/tenantId and determine the truly latest version\n const allDefinitions = await this.store.getDefinitions({ filter: [{ definitionId, tenantId }] })\n allDefinitions.sort((a, b) => semver.compare(this.normalizeToSemverVersionFormat(a.version), this.normalizeToSemverVersionFormat(b.version)))\n const trulyLatestVersionItem = allDefinitions[allDefinitions.length - 1]\n\n let latestVersionItem: PresentationDefinitionItem | undefined = trulyLatestVersionItem\n\n // If a specific version exists and matches existingItem, we keep that as a base.\n // Otherwise we use the trulyLatestVersionItem\n if (existingItem && version) {\n latestVersionItem = trulyLatestVersionItem ?? existingItem\n }\n\n const isPayloadModified = !existingItem || !isPresentationDefinitionEqual(existingItem, definitionItem)\n if (!isPayloadModified) return existingItem\n\n switch (versionControlMode) {\n case 'Overwrite':\n return this.handleOverwriteMode(existingItem, nonPersistedDefinitionItem, version)\n case 'OverwriteLatest':\n return this.handleOverwriteLatestMode(latestVersionItem, nonPersistedDefinitionItem)\n case 'Manual':\n return this.handleManualMode(existingItem, nonPersistedDefinitionItem, tenantId, version)\n case 'AutoIncrement':\n return this.handleAutoIncrementMode(latestVersionItem, nonPersistedDefinitionItem, versionIncrementReleaseType ?? 'major')\n default:\n throw new Error(`Unknown version control mode: ${versionControlMode}`)\n }\n }\n\n private async handleOverwriteMode(\n existingItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n version: string | undefined,\n ): Promise<PresentationDefinitionItem> {\n if (existingItem) {\n existingItem.definitionId = definitionItem.definitionId\n existingItem.version = version ?? existingItem.version ?? '1'\n existingItem.tenantId = definitionItem.tenantId\n existingItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name\n existingItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose\n existingItem.dcqlPayload = definitionItem.dcqlPayload\n existingItem.definitionPayload = definitionItem.definitionPayload\n\n return await this.store.updateDefinition(existingItem)\n } else {\n return await this.store.addDefinition(definitionItem)\n }\n }\n\n private async handleOverwriteLatestMode(\n latestVersionItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n ): Promise<PresentationDefinitionItem> {\n if (latestVersionItem) {\n latestVersionItem.definitionId = definitionItem.definitionId\n latestVersionItem.tenantId = definitionItem.tenantId\n latestVersionItem.name = definitionItem.name\n latestVersionItem.purpose = definitionItem.purpose\n latestVersionItem.definitionPayload = definitionItem.definitionPayload\n latestVersionItem.dcqlPayload = definitionItem.dcqlPayload\n\n return await this.store.updateDefinition(latestVersionItem)\n } else {\n return await this.store.addDefinition(definitionItem)\n }\n }\n\n private async handleManualMode(\n existingItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n tenantId: string | undefined,\n version: string | undefined,\n ): Promise<PresentationDefinitionItem> {\n if (existingItem && !isPresentationDefinitionEqual(existingItem, definitionItem)) {\n throw Error(\n `Cannot update definition ${definitionItem.definitionId} for tenant ${tenantId} version ${version} because definition exists and manual version control is enabled.`,\n )\n } else {\n return await this.store.addDefinition(definitionItem)\n }\n }\n\n private async handleAutoIncrementMode(\n latestVersionItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n releaseType: ReleaseType,\n ): Promise<PresentationDefinitionItem> {\n const defaultVersion = '1'\n let currentVersion = latestVersionItem?.version ?? definitionItem.version ?? defaultVersion\n let resultVersion: string\n\n if (!latestVersionItem) {\n resultVersion = currentVersion\n } else {\n let [baseVersion, preReleaseSuffix] = currentVersion.split(/-(.+)/)\n\n // Normalize the base version to at least 'major.minor.patch', that's what semver needs as input\n let normalizedBaseVersion = semver.coerce(baseVersion)?.version ?? `${defaultVersion}.0.0`\n let preReleaseIdentifier = preReleaseSuffix ? preReleaseSuffix.match(/^[a-zA-Z]+/)?.[0] : undefined\n let fullVersionToIncrement = preReleaseIdentifier ? `${normalizedBaseVersion}-${preReleaseSuffix}` : normalizedBaseVersion\n\n // Use semver to increment the version\n let incrementedVersion = semver.inc(fullVersionToIncrement, releaseType, preReleaseIdentifier)\n if (!incrementedVersion) {\n throw new Error(`Could not increment ${releaseType} version on ${currentVersion} ${preReleaseSuffix}`)\n }\n\n // Extract new base version to match the original input format\n let [incrementedBaseVersion, incrementedSuffix] = incrementedVersion.split(/-(.+)/)\n let originalParts = baseVersion.split('.')\n let newParts = incrementedBaseVersion.split('.')\n while (newParts.length > originalParts.length) {\n newParts.pop() // Reduce to original length by removing extra .0s\n }\n resultVersion = newParts.join('.')\n if (incrementedSuffix) {\n resultVersion += `-${incrementedSuffix}`\n }\n }\n\n definitionItem.version = resultVersion\n return await this.store.addDefinition(definitionItem)\n }\n\n private normalizeToSemverVersionFormat(version: string): string {\n const defaultVersion = '1.0.0'\n let [baseVersion, preReleaseSuffix] = version.split(/-(.+)/)\n\n // Normalize the base version to at least 'major.minor.patch', that's what semver needs as input\n let normalizedBaseVersion = semver.coerce(baseVersion)?.version ?? defaultVersion\n if (preReleaseSuffix) {\n normalizedBaseVersion += `-${preReleaseSuffix}`\n }\n\n return normalizedBaseVersion\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,gCAAAA,SAAA;AAAA,IAAAA,QAAA;AAAA,MACE,YAAc;AAAA,QACZ,YAAc;AAAA,UACZ,SAAW;AAAA,YACT,0BAA4B;AAAA,cAC1B,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,QAAQ;AAAA,cACrB,sBAAwB;AAAA,YAC1B;AAAA,YACA,2BAA6B;AAAA,cAC3B,MAAQ;AAAA,YACV;AAAA,YACA,wBAA0B;AAAA,cACxB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,oBAAsB;AAAA,cACpB,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,kCAAoC;AAAA,cAClC,MAAQ;AAAA,YACV;AAAA,YACA,iFAAqF;AAAA,cACnF,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,gBACV;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,kBACR,QAAU;AAAA,gBACZ;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,kBACR,QAAU;AAAA,gBACZ;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,cAAgB;AAAA,cACd,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,oBAAsB;AAAA,kBACpB,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,uBAAyB;AAAA,cACvB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,QAAQ;AAAA,cACrB,sBAAwB;AAAA,YAC1B;AAAA,YACA,4BAA8B;AAAA,cAC5B,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,gBACV;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,mBAAqB;AAAA,kBACnB,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,kBACR,QAAU;AAAA,gBACZ;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,kBACR,QAAU;AAAA,gBACZ;AAAA,cACF;AAAA,cACA,UAAY,CAAC,MAAM,gBAAgB,WAAW,qBAAqB,aAAa,eAAe;AAAA,cAC/F,sBAAwB;AAAA,YAC1B;AAAA,YACA,yBAA2B;AAAA,cACzB,OAAS;AAAA,gBACP;AAAA,kBACE,MAAQ;AAAA,gBACV;AAAA,gBACA;AAAA,kBACE,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,YACA,0BAA4B;AAAA,cAC1B,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,yBAA2B;AAAA,kBACzB,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,mBAAqB;AAAA,kBACnB,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAY,CAAC,MAAM,mBAAmB;AAAA,cACtC,sBAAwB;AAAA,YAC1B;AAAA,YACA,QAAU;AAAA,cACR,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,KAAO;AAAA,kBACL,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,gBACA,KAAO;AAAA,kBACL,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,WAAa;AAAA,cACX,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,KAAO;AAAA,kBACL,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAY,CAAC,KAAK;AAAA,cAClB,sBAAwB;AAAA,YAC1B;AAAA,YACA,WAAa;AAAA,cACX,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,YAAc;AAAA,kBACZ,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAY,CAAC,YAAY;AAAA,cACzB,sBAAwB;AAAA,YAC1B;AAAA,YACA,UAAY;AAAA,cACV,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,YAAc;AAAA,kBACZ,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAY,CAAC,cAAc,aAAa;AAAA,cACxC,sBAAwB;AAAA,YAC1B;AAAA,YACA,aAAe;AAAA,cACb,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,qBAAqB;AAAA,kBACnB,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,qBAAqB;AAAA,kBACnB,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,KAAO;AAAA,kBACL,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAY,CAAC,KAAK;AAAA,cAClB,sBAAwB;AAAA,YAC1B;AAAA,YACA,uBAAyB;AAAA,cACvB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,KAAO;AAAA,kBACL,MAAQ;AAAA,gBACV;AAAA,gBACA,KAAO;AAAA,kBACL,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAY,CAAC,MAAM;AAAA,cACnB,sBAAwB;AAAA,YAC1B;AAAA,YACA,OAAS;AAAA,cACP,MAAQ;AAAA,cACR,MAAQ,CAAC,OAAO,MAAM;AAAA,YACxB;AAAA,YACA,mBAAqB;AAAA,cACnB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,OAAS;AAAA,kBACP,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,MAAM,QAAQ;AAAA,cAC3B,sBAAwB;AAAA,YAC1B;AAAA,YACA,QAAU;AAAA,cACR,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,KAAO;AAAA,kBACL,MAAQ;AAAA,gBACV;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,KAAK;AAAA,cAClB,sBAAwB;AAAA,YAC1B;AAAA,YACA,UAAY;AAAA,cACV,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,UAAY;AAAA,kBACV,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB,CAAC;AAAA,YAC3B;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,mBAAqB;AAAA,kBACnB,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,aAAe;AAAA,cACb,MAAQ;AAAA,cACR,MAAQ,CAAC,YAAY,WAAW;AAAA,YAClC;AAAA,YACA,UAAY;AAAA,cACV,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,UAAY;AAAA,cACV,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,cACR,MAAQ,CAAC,YAAY,WAAW,YAAY;AAAA,YAC9C;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,MAAM;AAAA,cACnB,sBAAwB;AAAA,YAC1B;AAAA,YACA,UAAY;AAAA,cACV,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,KAAO;AAAA,kBACL,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,0BAA4B;AAAA,cAC1B,MAAQ,CAAC,WAAW,UAAU,QAAQ;AAAA,YACxC;AAAA,YACA,mBAAqB;AAAA,cACnB,MAAQ,CAAC,UAAU,QAAQ;AAAA,YAC7B;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,UAAY;AAAA,kBACV,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,YAAY,WAAW;AAAA,cACpC,sBAAwB;AAAA,YAC1B;AAAA,YACA,0BAA4B;AAAA,cAC1B,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,yBAA2B;AAAA,kBACzB,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,mBAAqB;AAAA,kBACnB,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,MAAM,mBAAmB;AAAA,cACtC,sBAAwB;AAAA,YAC1B;AAAA,YACA,mBAAqB;AAAA,cACnB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,OAAS;AAAA,kBACP,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,MAAM,aAAa;AAAA,cAChC,sBAAwB;AAAA,YAC1B;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,mBAAqB;AAAA,kBACnB,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,gBACA,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,MAAM;AAAA,cACnB,sBAAwB;AAAA,YAC1B;AAAA,YACA,UAAY;AAAA,cACV,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,wBAA0B;AAAA,kBACxB,MAAQ;AAAA,gBACV;AAAA,gBACA,wBAA0B;AAAA,kBACxB,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,KAAO;AAAA,kBACL,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,gBACV;AAAA,gBACA,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,eAAiB;AAAA,kBACf,MAAQ;AAAA,gBACV;AAAA,gBACA,wBAA0B;AAAA,kBACxB,MAAQ;AAAA,gBACV;AAAA,gBACA,wBAA0B;AAAA,kBACxB,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,gBACA,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,KAAO;AAAA,kBACL,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,gBACV;AAAA,gBACA,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,aAAe;AAAA,kBACb,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAY,CAAC,aAAa;AAAA,cAC1B,sBAAwB;AAAA,YAC1B;AAAA,YACA,qBAAuB;AAAA,cACrB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,gBACA,KAAO;AAAA,kBACL,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,MAAM,UAAU,QAAQ;AAAA,cACrC,sBAAwB;AAAA,YAC1B;AAAA,YACA,WAAa;AAAA,cACX,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,WAAa;AAAA,kBACX,MAAQ;AAAA,gBACV;AAAA,gBACA,YAAc;AAAA,kBACZ,MAAQ;AAAA,gBACV;AAAA,gBACA,QAAU;AAAA,kBACR,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,aAAa,YAAY;AAAA,cACtC,sBAAwB;AAAA,YAC1B;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,MAAQ;AAAA,kBACN,MAAQ;AAAA,kBACR,MAAQ,CAAC,UAAU,UAAU,SAAS;AAAA,gBACxC;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,MAAM;AAAA,cACnB,sBAAwB;AAAA,YAC1B;AAAA,YACA,sBAAsB;AAAA,cACpB,MAAQ;AAAA,YACV;AAAA,YACA,uBAAyB;AAAA,cACvB,MAAQ;AAAA,YACV;AAAA,YACA,wBAA0B;AAAA,cACxB,MAAQ;AAAA,YACV;AAAA,YACA,uBAAyB;AAAA,cACvB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,gBAAkB;AAAA,kBAChB,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,gBAAgB;AAAA,cAC7B,sBAAwB;AAAA,YAC1B;AAAA,YACA,mCAAqC;AAAA,cACnC,MAAQ;AAAA,cACR,sBAAwB;AAAA,cACxB,YAAc;AAAA,gBACZ,IAAM;AAAA,kBACJ,MAAQ;AAAA,gBACV;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,UAAY;AAAA,kBACV,MAAQ;AAAA,gBACV;AAAA,gBACA,MAAQ;AAAA,kBACN,MAAQ;AAAA,gBACV;AAAA,gBACA,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,gBACA,mBAAqB;AAAA,kBACnB,MAAQ;AAAA,gBACV;AAAA,gBACA,aAAe;AAAA,kBACb,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,UAAY,CAAC,mBAAmB;AAAA,YAClC;AAAA,YACA,gBAAkB;AAAA,cAChB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,oBAAsB;AAAA,kBACpB,MAAQ;AAAA,gBACV;AAAA,gBACA,6BAA+B;AAAA,kBAC7B,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,oBAAsB;AAAA,cACpB,MAAQ;AAAA,cACR,MAAQ,CAAC,iBAAiB,UAAU,aAAa,iBAAiB;AAAA,YACpE;AAAA,YACA,aAAe;AAAA,cACb,MAAQ;AAAA,cACR,MAAQ,CAAC,SAAS,YAAY,SAAS,YAAY,SAAS,YAAY,cAAc,SAAS;AAAA,YACjG;AAAA,UACF;AAAA,UACA,SAAW;AAAA,YACT,qBAAuB;AAAA,cACrB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,sBAAwB;AAAA,cACtB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,kBAAoB;AAAA,cAClB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,mBAAqB;AAAA,cACnB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,YACA,kBAAoB;AAAA,cAClB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,mBAAqB;AAAA,cACnB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,sBAAwB;AAAA,cACtB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;AClgCA;;;;;;;;;ACYA,qBAKO;AACP,qBAAmB;AAIZ,IAAMC,mBAAkC;EAC7C;EACA;EACA;EACA;EACA;EACA;EACA;;AAMK,IAAMC,YAAN,MAAMA;EAlCb,OAkCaA;;;EACFC,SAASA,OAAOC;EAChBC,UAAsB;IAC7BC,sBAAsB,KAAKA,qBAAqBC,KAAK,IAAI;IACzDC,kBAAkB,KAAKA,iBAAiBD,KAAK,IAAI;IACjDE,mBAAmB,KAAKA,kBAAkBF,KAAK,IAAI;IACnDG,kBAAkB,KAAKA,iBAAiBH,KAAK,IAAI;IACjDI,mBAAmB,KAAKA,kBAAkBJ,KAAK,IAAI;IACnDK,qBAAqB,KAAKA,oBAAoBL,KAAK,IAAI;IACvDM,sBAAsB,KAAKA,qBAAqBN,KAAK,IAAI;EAC3D;EAEiBO;EAEjBC,YAAYC,SAAqC;AAC/C,SAAKF,QAAQE,QAAQF;EACvB;;EAGA,MAAcN,iBAAiBS,MAA+C;AAC5E,UAAM,EAAEC,OAAM,IAAKD;AACnB,WAAO,KAAKH,MAAMK,cAAc;MAAED;IAAO,CAAA;EAC3C;;EAGA,MAAcT,kBAAkBQ,MAAgD;AAC9E,UAAM,EAAEG,OAAM,IAAKH;AACnB,WAAO,KAAKH,MAAMO,eAAe;MAAED;IAAO,CAAA;EAC5C;;EAGA,MAAcV,iBAAiBO,MAAkE;AAC/F,UAAM,EAAEC,OAAM,IAAKD;AACnB,WAAO,KAAKH,MAAMQ,cAAc;MAAEJ;IAAO,CAAA;EAC3C;;EAGA,MAAcP,kBAAkBM,MAA0E;AACxG,UAAM,EAAEG,QAAQG,KAAI,IAAKN;AACzB,UAAMO,iBAAiB,MAAM,KAAKV,MAAMW,eAAe;MAAEL;IAAO,CAAA;AAChE,QAAIM,cAA4C,CAAA;AAChD,QAAIH,QAAQI,UAAaJ,KAAKK,uBAAuB,MAAM;AACzD,YAAMC,wBAAwBL,eAAeM,OAC3C,CAACC,KAAKC,WAAAA;AACJ,YAAI,CAACD,IAAIC,OAAOC,YAAY,GAAG;AAC7BF,cAAIC,OAAOC,YAAY,IAAI,CAAA;QAC7B;AACAF,YAAIC,OAAOC,YAAY,EAAEC,KAAKF,MAAAA;AAC9B,eAAOD;MACT,GACA,CAAC,CAAA;AAEHL,oBAAcS,OAAOC,OAAOP,qBAAAA,EAAuBQ,IAAI,CAACC,aACtDA,SAASR,OAAO,CAACS,oBAAoBC,aAAAA;AACnC,cAAMC,cAAc,KAAKC,+BAA+BF,SAASG,OAAO;AACxE,cAAMC,iBAAiB,KAAKF,+BAA+BH,mBAAmBI,OAAO;AACrF,eAAOE,eAAAA,QAAOC,GAAGL,aAAaG,cAAAA,IAAkBJ,WAAWD;MAC7D,CAAA,CAAA;IAEJ,OAAO;AACLb,oBAAcF;IAChB;AACA,WAAOE;EACT;;EAGA,MAAcd,oBAAoBK,MAAkD;AAClF,WAAO,KAAKH,MAAMiC,iBAAiB9B,IAAAA,EAAM+B,KAAK,CAACC,UAAU,IAAA;EAC3D;;EAGA,MAAcpC,qBAAqBI,MAAkD;AACnF,WAAO,KAAKH,MAAMoC,kBAAkBjC,IAAAA;EACtC;;EAGA,MAAcX,qBAAqBW,MAAkE;AACnG,UAAM,EAAEkC,gBAAgB5B,KAAI,IAAKN;AACjC,UAAM,EAAEmC,oBAAoBC,4BAA2B,IAAK9B,QAAQ;MAAE6B,oBAAoB;IAAgB;AAC1G,UAAM,EAAET,SAASW,SAAQ,IAAKH;AAC9B,UAAMlB,eAAekB,eAAelB;AAEpC,QAAI,EAAEsB,GAAE,IAAKJ;AACb,QAAII,OAAO5B,UAAayB,uBAAuB,aAAa;AAC1DG,WAAK5B;IACP;AAEA,UAAM6B,6BAAqE;MACzE,GAAGL;MACHR,SAASA,WAAW;IACtB;AAEA,UAAMc,WAAW,MAAM,KAAK3C,MAAMW,eAAe;MAAEL,QAAQ;QAAC;UAAEmC;UAAItB;UAAcqB;UAAUX;QAAQ;;IAAG,CAAA;AACrG,UAAMe,eAAeD,SAAS,CAAA;AAG9B,UAAMjC,iBAAiB,MAAM,KAAKV,MAAMW,eAAe;MAAEL,QAAQ;QAAC;UAAEa;UAAcqB;QAAS;;IAAG,CAAA;AAC9F9B,mBAAemC,KAAK,CAACC,GAAGC,MAAMhB,eAAAA,QAAOiB,QAAQ,KAAKpB,+BAA+BkB,EAAEjB,OAAO,GAAG,KAAKD,+BAA+BmB,EAAElB,OAAO,CAAA,CAAA;AAC1I,UAAMoB,yBAAyBvC,eAAeA,eAAewC,SAAS,CAAA;AAEtE,QAAIC,oBAA4DF;AAIhE,QAAIL,gBAAgBf,SAAS;AAC3BsB,0BAAoBF,0BAA0BL;IAChD;AAEA,UAAMQ,oBAAoB,CAACR,gBAAgB,KAACS,8CAA8BT,cAAcP,cAAAA;AACxF,QAAI,CAACe,kBAAmB,QAAOR;AAE/B,YAAQN,oBAAAA;MACN,KAAK;AACH,eAAO,KAAKgB,oBAAoBV,cAAcF,4BAA4Bb,OAAAA;MAC5E,KAAK;AACH,eAAO,KAAK0B,0BAA0BJ,mBAAmBT,0BAAAA;MAC3D,KAAK;AACH,eAAO,KAAKc,iBAAiBZ,cAAcF,4BAA4BF,UAAUX,OAAAA;MACnF,KAAK;AACH,eAAO,KAAK4B,wBAAwBN,mBAAmBT,4BAA4BH,+BAA+B,OAAA;MACpH;AACE,cAAM,IAAImB,MAAM,iCAAiCpB,kBAAAA,EAAoB;IACzE;EACF;EAEA,MAAcgB,oBACZV,cACAP,gBACAR,SACqC;AACrC,QAAIe,cAAc;AAChBA,mBAAazB,eAAekB,eAAelB;AAC3CyB,mBAAaf,UAAUA,WAAWe,aAAaf,WAAW;AAC1De,mBAAaJ,WAAWH,eAAeG;AACvCI,mBAAae,OAAOtB,eAAeuB,mBAAmBD,QAAQtB,eAAesB;AAC7Ef,mBAAaiB,UAAUxB,eAAeuB,mBAAmBC,WAAWxB,eAAewB;AACnFjB,mBAAakB,cAAczB,eAAeyB;AAC1ClB,mBAAagB,oBAAoBvB,eAAeuB;AAEhD,aAAO,MAAM,KAAK5D,MAAM+D,iBAAiBnB,YAAAA;IAC3C,OAAO;AACL,aAAO,MAAM,KAAK5C,MAAMgE,cAAc3B,cAAAA;IACxC;EACF;EAEA,MAAckB,0BACZJ,mBACAd,gBACqC;AACrC,QAAIc,mBAAmB;AACrBA,wBAAkBhC,eAAekB,eAAelB;AAChDgC,wBAAkBX,WAAWH,eAAeG;AAC5CW,wBAAkBQ,OAAOtB,eAAesB;AACxCR,wBAAkBU,UAAUxB,eAAewB;AAC3CV,wBAAkBS,oBAAoBvB,eAAeuB;AACrDT,wBAAkBW,cAAczB,eAAeyB;AAE/C,aAAO,MAAM,KAAK9D,MAAM+D,iBAAiBZ,iBAAAA;IAC3C,OAAO;AACL,aAAO,MAAM,KAAKnD,MAAMgE,cAAc3B,cAAAA;IACxC;EACF;EAEA,MAAcmB,iBACZZ,cACAP,gBACAG,UACAX,SACqC;AACrC,QAAIe,gBAAgB,KAACS,8CAA8BT,cAAcP,cAAAA,GAAiB;AAChF,YAAMqB,MACJ,4BAA4BrB,eAAelB,YAAY,eAAeqB,QAAAA,YAAoBX,OAAAA,mEAA0E;IAExK,OAAO;AACL,aAAO,MAAM,KAAK7B,MAAMgE,cAAc3B,cAAAA;IACxC;EACF;EAEA,MAAcoB,wBACZN,mBACAd,gBACA4B,aACqC;AACrC,UAAMC,iBAAiB;AACvB,QAAIC,iBAAiBhB,mBAAmBtB,WAAWQ,eAAeR,WAAWqC;AAC7E,QAAIE;AAEJ,QAAI,CAACjB,mBAAmB;AACtBiB,sBAAgBD;IAClB,OAAO;AACL,UAAI,CAACxC,aAAa0C,gBAAAA,IAAoBF,eAAeG,MAAM,OAAA;AAG3D,UAAIC,wBAAwBxC,eAAAA,QAAOyC,OAAO7C,WAAAA,GAAcE,WAAW,GAAGqC,cAAAA;AACtE,UAAIO,uBAAuBJ,mBAAmBA,iBAAiBK,MAAM,YAAA,IAAgB,CAAA,IAAK7D;AAC1F,UAAI8D,yBAAyBF,uBAAuB,GAAGF,qBAAAA,IAAyBF,gBAAAA,KAAqBE;AAGrG,UAAIK,qBAAqB7C,eAAAA,QAAO8C,IAAIF,wBAAwBV,aAAaQ,oBAAAA;AACzE,UAAI,CAACG,oBAAoB;AACvB,cAAM,IAAIlB,MAAM,uBAAuBO,WAAAA,eAA0BE,cAAAA,IAAkBE,gBAAAA,EAAkB;MACvG;AAGA,UAAI,CAACS,wBAAwBC,iBAAAA,IAAqBH,mBAAmBN,MAAM,OAAA;AAC3E,UAAIU,gBAAgBrD,YAAY2C,MAAM,GAAA;AACtC,UAAIW,WAAWH,uBAAuBR,MAAM,GAAA;AAC5C,aAAOW,SAAS/B,SAAS8B,cAAc9B,QAAQ;AAC7C+B,iBAASC,IAAG;MACd;AACAd,sBAAgBa,SAASE,KAAK,GAAA;AAC9B,UAAIJ,mBAAmB;AACrBX,yBAAiB,IAAIW,iBAAAA;MACvB;IACF;AAEA1C,mBAAeR,UAAUuC;AACzB,WAAO,MAAM,KAAKpE,MAAMgE,cAAc3B,cAAAA;EACxC;EAEQT,+BAA+BC,SAAyB;AAC9D,UAAMqC,iBAAiB;AACvB,QAAI,CAACvC,aAAa0C,gBAAAA,IAAoBxC,QAAQyC,MAAM,OAAA;AAGpD,QAAIC,wBAAwBxC,eAAAA,QAAOyC,OAAO7C,WAAAA,GAAcE,WAAWqC;AACnE,QAAIG,kBAAkB;AACpBE,+BAAyB,IAAIF,gBAAAA;IAC/B;AAEA,WAAOE;EACT;AACF;;;ADxQA,IAAMa,SAASC;","names":["module","pdManagerMethods","PDManager","schema","IPDManager","methods","pdmPersistDefinition","bind","pdmHasDefinition","pdmHasDefinitions","pdmGetDefinition","pdmGetDefinitions","pdmDeleteDefinition","pdmDeleteDefinitions","store","constructor","options","args","itemId","hasDefinition","filter","hasDefinitions","getDefinition","opts","allDefinitions","getDefinitions","definitions","undefined","showVersionHistory","groupedByDefinitionId","reduce","acc","entity","definitionId","push","Object","values","map","entities","highestVersionItem","baseItem","baseVersion","normalizeToSemverVersionFormat","version","highestVersion","semver","gt","deleteDefinition","then","value","deleteDefinitions","definitionItem","versionControlMode","versionIncrementReleaseType","tenantId","id","nonPersistedDefinitionItem","existing","existingItem","sort","a","b","compare","trulyLatestVersionItem","length","latestVersionItem","isPayloadModified","isPresentationDefinitionEqual","handleOverwriteMode","handleOverwriteLatestMode","handleManualMode","handleAutoIncrementMode","Error","name","definitionPayload","purpose","dcqlPayload","updateDefinition","addDefinition","releaseType","defaultVersion","currentVersion","resultVersion","preReleaseSuffix","split","normalizedBaseVersion","coerce","preReleaseIdentifier","match","fullVersionToIncrement","incrementedVersion","inc","incrementedBaseVersion","incrementedSuffix","originalParts","newParts","pop","join","schema","require"]}
1
+ {"version":3,"sources":["../plugin.schema.json","../src/index.ts","../src/agent/PDManager.ts"],"sourcesContent":["{\n \"IPDManager\": {\n \"components\": {\n \"schemas\": {\n \"DeleteDefinitionItemArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"itemId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"itemId\"],\n \"additionalProperties\": false\n },\n \"DeleteDefinitionItemsArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"GetDefinitionItemsArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"filter\": {\n \"$ref\": \"#/components/schemas/FindDefinitionArgs\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/FetchOptions\"\n }\n },\n \"additionalProperties\": false\n },\n \"FindDefinitionArgs\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItemFilter\"\n }\n },\n \"PresentationDefinitionItemFilter\": {\n \"$ref\": \"#/components/schemas/Partial<Omit<PresentationDefinitionItem,(\\\"definitionPayload\\\"|\\\"dcqlPayload\\\")>>\"\n },\n \"Partial<Omit<PresentationDefinitionItem,(\\\"definitionPayload\\\"|\\\"dcqlPayload\\\")>>\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"createdAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"lastUpdatedAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"additionalProperties\": false\n },\n \"FetchOptions\": {\n \"type\": \"object\",\n \"properties\": {\n \"showVersionHistory\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"GetDefinitionItemArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"itemId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"itemId\"],\n \"additionalProperties\": false\n },\n \"PresentationDefinitionItem\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"definitionPayload\": {\n \"$ref\": \"#/components/schemas/IPresentationDefinition\"\n },\n \"dcqlPayload\": {\n \"$ref\": \"#/components/schemas/DcqlQueryREST\"\n },\n \"createdAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"lastUpdatedAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"required\": [\"id\", \"definitionId\", \"version\", \"definitionPayload\", \"createdAt\", \"lastUpdatedAt\"],\n \"additionalProperties\": false\n },\n \"IPresentationDefinition\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/PresentationDefinitionV1\"\n },\n {\n \"$ref\": \"#/components/schemas/PresentationDefinitionV2\"\n }\n ]\n },\n \"PresentationDefinitionV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"submission_requirements\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n },\n \"input_descriptors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/InputDescriptorV1\"\n }\n }\n },\n \"required\": [\"id\", \"input_descriptors\"],\n \"additionalProperties\": false\n },\n \"Format\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwt\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vc\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vc_json\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vp\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vp_json\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"ldp\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"ldp_vc\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"ldp_vp\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"di\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"di_vc\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"di_vp\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"dc+sd-jwt\": {\n \"$ref\": \"#/components/schemas/SdJwtObject\"\n },\n \"mso_mdoc\": {\n \"$ref\": \"#/components/schemas/MsoMdocObject\"\n }\n },\n \"additionalProperties\": false\n },\n \"JwtObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"alg\"],\n \"additionalProperties\": false\n },\n \"LdpObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"proof_type\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"proof_type\"],\n \"additionalProperties\": false\n },\n \"DiObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"proof_type\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"cryptosuite\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"proof_type\", \"cryptosuite\"],\n \"additionalProperties\": false\n },\n \"SdJwtObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"sd-jwt_alg_values\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kb-jwt_alg_values\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"MsoMdocObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"alg\"],\n \"additionalProperties\": false\n },\n \"SubmissionRequirement\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"rule\": {\n \"$ref\": \"#/components/schemas/Rules\"\n },\n \"count\": {\n \"type\": \"number\"\n },\n \"min\": {\n \"type\": \"number\"\n },\n \"max\": {\n \"type\": \"number\"\n },\n \"from\": {\n \"type\": \"string\"\n },\n \"from_nested\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n }\n },\n \"required\": [\"rule\"],\n \"additionalProperties\": false\n },\n \"Rules\": {\n \"type\": \"string\",\n \"enum\": [\"all\", \"pick\"]\n },\n \"InputDescriptorV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"group\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Schema\"\n }\n },\n \"issuance\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Issuance\"\n }\n },\n \"constraints\": {\n \"$ref\": \"#/components/schemas/ConstraintsV1\"\n }\n },\n \"required\": [\"id\", \"schema\"],\n \"additionalProperties\": false\n },\n \"Schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"uri\": {\n \"type\": \"string\"\n },\n \"required\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\"uri\"],\n \"additionalProperties\": false\n },\n \"Issuance\": {\n \"type\": \"object\",\n \"properties\": {\n \"manifest\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {}\n },\n \"ConstraintsV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"limit_disclosure\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"statuses\": {\n \"$ref\": \"#/components/schemas/Statuses\"\n },\n \"fields\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/FieldV1\"\n }\n },\n \"subject_is_issuer\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"is_holder\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n },\n \"same_subject\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"Optionality\": {\n \"type\": \"string\",\n \"enum\": [\"required\", \"preferred\"]\n },\n \"Statuses\": {\n \"type\": \"object\",\n \"properties\": {\n \"active\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n },\n \"suspended\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n },\n \"revoked\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n }\n },\n \"additionalProperties\": false\n },\n \"PdStatus\": {\n \"type\": \"object\",\n \"properties\": {\n \"directive\": {\n \"$ref\": \"#/components/schemas/Directives\"\n }\n },\n \"additionalProperties\": false\n },\n \"Directives\": {\n \"type\": \"string\",\n \"enum\": [\"required\", \"allowed\", \"disallowed\"]\n },\n \"FieldV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/FilterV1\"\n },\n \"predicate\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n }\n },\n \"required\": [\"path\"],\n \"additionalProperties\": false\n },\n \"FilterV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"OneOfNumberStringBoolean\": {\n \"type\": [\"boolean\", \"number\", \"string\"]\n },\n \"OneOfNumberString\": {\n \"type\": [\"number\", \"string\"]\n },\n \"HolderSubject\": {\n \"type\": \"object\",\n \"properties\": {\n \"field_id\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"directive\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n }\n },\n \"required\": [\"field_id\", \"directive\"],\n \"additionalProperties\": false\n },\n \"PresentationDefinitionV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"submission_requirements\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n },\n \"input_descriptors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/InputDescriptorV2\"\n }\n },\n \"frame\": {\n \"type\": \"object\"\n }\n },\n \"required\": [\"id\", \"input_descriptors\"],\n \"additionalProperties\": false\n },\n \"InputDescriptorV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"group\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"issuance\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Issuance\"\n }\n },\n \"constraints\": {\n \"$ref\": \"#/components/schemas/ConstraintsV2\"\n }\n },\n \"required\": [\"id\", \"constraints\"],\n \"additionalProperties\": false\n },\n \"ConstraintsV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"limit_disclosure\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"statuses\": {\n \"$ref\": \"#/components/schemas/Statuses\"\n },\n \"fields\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/FieldV2\"\n }\n },\n \"subject_is_issuer\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"is_holder\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n },\n \"same_subject\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"FieldV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"predicate\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"intent_to_retain\": {\n \"type\": \"boolean\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"optional\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\"path\"],\n \"additionalProperties\": false\n },\n \"FilterV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"formatMaximum\": {\n \"type\": \"string\"\n },\n \"formatMinimum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMaximum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMinimum\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"contains\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"items\": {\n \"$ref\": \"#/components/schemas/FilterV2Items\"\n }\n },\n \"additionalProperties\": false\n },\n \"FilterV2Items\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"formatMaximum\": {\n \"type\": \"string\"\n },\n \"formatMinimum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMaximum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMinimum\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"contains\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"items\": {\n \"$ref\": \"#/components/schemas/FilterV2Items\"\n }\n },\n \"additionalProperties\": false\n },\n \"DcqlQueryREST\": {\n \"type\": \"object\",\n \"properties\": {\n \"credentials\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/DcqlCredentialQuery\"\n }\n }\n },\n \"required\": [\"credentials\"],\n \"additionalProperties\": false\n },\n \"DcqlCredentialQuery\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"claims\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/DcqlClaim\"\n }\n },\n \"meta\": {\n \"$ref\": \"#/components/schemas/Record<string,any>\"\n }\n },\n \"required\": [\"id\", \"format\", \"claims\"],\n \"additionalProperties\": false\n },\n \"DcqlClaim\": {\n \"type\": \"object\",\n \"properties\": {\n \"namespace\": {\n \"type\": \"string\"\n },\n \"claim_name\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/DcqlFilter\"\n }\n },\n \"required\": [\"namespace\", \"claim_name\"],\n \"additionalProperties\": false\n },\n \"DcqlFilter\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\"string\", \"number\", \"boolean\"]\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"maximum\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\"type\"],\n \"additionalProperties\": false\n },\n \"Record<string,any>\": {\n \"type\": \"object\"\n },\n \"HasDefinitionItemArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemArgs\"\n },\n \"HasDefinitionItemsArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"PersistDefinitionArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"definitionItem\": {\n \"$ref\": \"#/components/schemas/PersistPresentationDefinitionItem\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/PersistOptions\"\n }\n },\n \"required\": [\"definitionItem\"],\n \"additionalProperties\": false\n },\n \"PersistPresentationDefinitionItem\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"definitionPayload\": {\n \"$ref\": \"#/components/schemas/IPresentationDefinition\"\n },\n \"dcqlPayload\": {\n \"$ref\": \"#/components/schemas/DcqlQueryREST\"\n }\n },\n \"required\": [\"definitionPayload\"]\n },\n \"PersistOptions\": {\n \"type\": \"object\",\n \"properties\": {\n \"versionControlMode\": {\n \"$ref\": \"#/components/schemas/VersionControlMode\"\n },\n \"versionIncrementReleaseType\": {\n \"$ref\": \"#/components/schemas/ReleaseType\"\n }\n },\n \"additionalProperties\": false\n },\n \"VersionControlMode\": {\n \"type\": \"string\",\n \"enum\": [\"AutoIncrement\", \"Manual\", \"Overwrite\", \"OverwriteLatest\"]\n },\n \"ReleaseType\": {\n \"type\": \"string\",\n \"enum\": [\"major\", \"premajor\", \"minor\", \"preminor\", \"patch\", \"prepatch\", \"prerelease\", \"release\"]\n }\n },\n \"methods\": {\n \"pdmDeleteDefinition\": {\n \"description\": \"Delete a single presentation definition records by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/DeleteDefinitionItemArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmDeleteDefinitions\": {\n \"description\": \"Delete multiple presentation definitions records using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/DeleteDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"number\"\n }\n },\n \"pdmGetDefinition\": {\n \"description\": \"Get a single presentation definition records by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n },\n \"pdmGetDefinitions\": {\n \"description\": \"Find one or more presentation definition records using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n }\n },\n \"pdmHasDefinition\": {\n \"description\": \"Checks whether a presentation definition record exists by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/HasDefinitionItemArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmHasDefinitions\": {\n \"description\": \"Checks whether one or more presentation definition records exist using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/HasDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmPersistDefinition\": {\n \"description\": \"Check in a presentation definition. It has version control logic which will add or update presentation definition records and has settings for automatic version numbering.\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/PersistDefinitionArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n }\n }\n }\n }\n}\n","/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\nexport { PDManager, pdManagerMethods } from './agent/PDManager'\nexport * from './types/IPDManager'\n\nexport type { ReleaseType } from 'semver'\nexport type { DcqlQueryImportItem } from '@sphereon/ssi-sdk.data-store'\n","import { IAgentPlugin } from '@veramo/core'\nimport {\n DeleteDefinitionItemArgs,\n DeleteDefinitionItemsArgs,\n GetDefinitionItemArgs,\n GetDefinitionItemsArgs,\n HasDefinitionItemArgs,\n HasDefinitionItemsArgs,\n IPDManager,\n PersistDefinitionArgs,\n schema,\n} from '../index'\nimport {\n AbstractPDStore,\n isPresentationDefinitionEqual,\n NonPersistedPresentationDefinitionItem,\n PresentationDefinitionItem,\n} from '@sphereon/ssi-sdk.data-store'\nimport semver from 'semver/preload'\nimport { ReleaseType } from 'semver'\n\n// Exposing the methods here for any REST implementation\nexport const pdManagerMethods: Array<string> = [\n 'pdmHasDefinition',\n 'pdmHasGetDefinitions',\n 'pdmGetDefinition',\n 'pdmGetDefinitions',\n 'pdmPersistDefinition',\n 'pdmDeleteDefinition',\n 'pdmDeleteDefinitions',\n]\n\n/**\n * {@inheritDoc IPDManager}\n */\nexport class PDManager implements IAgentPlugin {\n readonly schema = schema.IPDManager\n readonly methods: IPDManager = {\n pdmPersistDefinition: this.pdmPersistDefinition.bind(this),\n pdmHasDefinition: this.pdmHasDefinition.bind(this),\n pdmHasDefinitions: this.pdmHasDefinitions.bind(this),\n pdmGetDefinition: this.pdmGetDefinition.bind(this),\n pdmGetDefinitions: this.pdmGetDefinitions.bind(this),\n pdmDeleteDefinition: this.pdmDeleteDefinition.bind(this),\n pdmDeleteDefinitions: this.pdmDeleteDefinitions.bind(this),\n }\n\n private readonly store: AbstractPDStore\n\n constructor(options: { store: AbstractPDStore }) {\n this.store = options.store\n }\n\n /** {@inheritDoc IPDManager.pdmHasDefinition} */\n private async pdmHasDefinition(args: HasDefinitionItemArgs): Promise<boolean> {\n const { itemId } = args\n return this.store.hasDefinition({ itemId })\n }\n\n /** {@inheritDoc IPDManager.pdmHasDefinitions} */\n private async pdmHasDefinitions(args: HasDefinitionItemsArgs): Promise<boolean> {\n const { filter } = args\n return this.store.hasDefinitions({ filter })\n }\n\n /** {@inheritDoc IPDManager.pdmGetDefinition} */\n private async pdmGetDefinition(args: GetDefinitionItemArgs): Promise<PresentationDefinitionItem> {\n const { itemId } = args\n return this.store.getDefinition({ itemId })\n }\n\n /** {@inheritDoc IPDManager.pdmGetDefinitions} */\n private async pdmGetDefinitions(args: GetDefinitionItemsArgs): Promise<Array<PresentationDefinitionItem>> {\n const { filter, opts } = args\n const allDefinitions = await this.store.getDefinitions({ filter })\n let definitions: PresentationDefinitionItem[] = []\n if (opts == undefined || opts.showVersionHistory !== true) {\n const groupedByDefinitionId = allDefinitions.reduce(\n (acc, entity) => {\n if (!acc[entity.definitionId]) {\n acc[entity.definitionId] = []\n }\n acc[entity.definitionId].push(entity)\n return acc\n },\n {} as Record<string, PresentationDefinitionItem[]>,\n )\n definitions = Object.values(groupedByDefinitionId).map((entities) =>\n entities.reduce((highestVersionItem, baseItem) => {\n const baseVersion = this.normalizeToSemverVersionFormat(baseItem.version)\n const highestVersion = this.normalizeToSemverVersionFormat(highestVersionItem.version)\n return semver.gt(baseVersion, highestVersion) ? baseItem : highestVersionItem\n }),\n )\n } else {\n definitions = allDefinitions\n }\n return definitions\n }\n\n /** {@inheritDoc IPDManager.pdmDeleteDefinition} */\n private async pdmDeleteDefinition(args: DeleteDefinitionItemArgs): Promise<boolean> {\n return this.store.deleteDefinition(args).then((value) => true)\n }\n\n /** {@inheritDoc IPDManager.pdmDeleteDefinitions} */\n private async pdmDeleteDefinitions(args: DeleteDefinitionItemsArgs): Promise<number> {\n return this.store.deleteDefinitions(args)\n }\n\n /** {@inheritDoc IPDManager.pdmPersistDefinition} */\n private async pdmPersistDefinition(args: PersistDefinitionArgs): Promise<PresentationDefinitionItem> {\n const { definitionItem, opts } = args\n const { versionControlMode, versionIncrementReleaseType } = opts ?? { versionControlMode: 'AutoIncrement' }\n const { version, tenantId } = definitionItem\n const definitionId = definitionItem.definitionId\n\n let { id } = definitionItem\n if (id !== undefined && versionControlMode !== 'Overwrite') {\n id = undefined\n }\n\n const nonPersistedDefinitionItem: NonPersistedPresentationDefinitionItem = {\n ...definitionItem,\n version: version ?? '1',\n }\n\n const existing = await this.store.getDefinitions({ filter: [{ id, definitionId, tenantId, version }] })\n const existingItem = existing[0]\n\n // Always fetch all definitions for the definitionId/tenantId and determine the truly latest version\n const allDefinitions = await this.store.getDefinitions({ filter: [{ definitionId, tenantId }] })\n allDefinitions.sort((a, b) => semver.compare(this.normalizeToSemverVersionFormat(a.version), this.normalizeToSemverVersionFormat(b.version)))\n const trulyLatestVersionItem = allDefinitions[allDefinitions.length - 1]\n\n let latestVersionItem: PresentationDefinitionItem | undefined = trulyLatestVersionItem\n\n // If a specific version exists and matches existingItem, we keep that as a base.\n // Otherwise we use the trulyLatestVersionItem\n if (existingItem && version) {\n latestVersionItem = trulyLatestVersionItem ?? existingItem\n }\n\n const isPayloadModified = !existingItem || !isPresentationDefinitionEqual(existingItem, definitionItem)\n if (!isPayloadModified) return existingItem\n\n switch (versionControlMode) {\n case 'Overwrite':\n return this.handleOverwriteMode(existingItem, nonPersistedDefinitionItem, version)\n case 'OverwriteLatest':\n return this.handleOverwriteLatestMode(latestVersionItem, nonPersistedDefinitionItem)\n case 'Manual':\n return this.handleManualMode(existingItem, nonPersistedDefinitionItem, tenantId, version)\n case 'AutoIncrement':\n return this.handleAutoIncrementMode(latestVersionItem, nonPersistedDefinitionItem, versionIncrementReleaseType ?? 'major')\n default:\n throw new Error(`Unknown version control mode: ${versionControlMode}`)\n }\n }\n\n private async handleOverwriteMode(\n existingItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n version: string | undefined,\n ): Promise<PresentationDefinitionItem> {\n if (existingItem) {\n existingItem.definitionId = definitionItem.definitionId\n existingItem.version = version ?? existingItem.version ?? '1'\n existingItem.tenantId = definitionItem.tenantId\n existingItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name\n existingItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose\n existingItem.dcqlQuery = definitionItem.dcqlQuery\n existingItem.definitionPayload = definitionItem.definitionPayload\n\n return await this.store.updateDefinition(existingItem)\n } else {\n // Apply the same field extraction logic for new items\n const newDefinitionItem = {\n ...definitionItem,\n name: definitionItem.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose,\n }\n return await this.store.addDefinition(newDefinitionItem)\n }\n }\n\n private async handleOverwriteLatestMode(\n latestVersionItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n ): Promise<PresentationDefinitionItem> {\n if (latestVersionItem) {\n latestVersionItem.definitionId = definitionItem.definitionId\n latestVersionItem.tenantId = definitionItem.tenantId\n latestVersionItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name\n latestVersionItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose\n latestVersionItem.definitionPayload = definitionItem.definitionPayload\n latestVersionItem.dcqlQuery = definitionItem.dcqlQuery\n\n return await this.store.updateDefinition(latestVersionItem)\n } else {\n // Apply the same field extraction logic for new items\n const newDefinitionItem = {\n ...definitionItem,\n name: definitionItem.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose,\n }\n return await this.store.addDefinition(newDefinitionItem)\n }\n }\n\n private async handleManualMode(\n existingItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n tenantId: string | undefined,\n version: string | undefined,\n ): Promise<PresentationDefinitionItem> {\n if (existingItem && !isPresentationDefinitionEqual(existingItem, definitionItem)) {\n throw Error(\n `Cannot update definition ${definitionItem.definitionId} for tenant ${tenantId} version ${version} because definition exists and manual version control is enabled.`,\n )\n } else {\n return await this.store.addDefinition(definitionItem)\n }\n }\n\n private async handleAutoIncrementMode(\n latestVersionItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n releaseType: ReleaseType,\n ): Promise<PresentationDefinitionItem> {\n const defaultVersion = '1'\n let currentVersion = latestVersionItem?.version ?? definitionItem.version ?? defaultVersion\n let resultVersion: string\n\n if (!latestVersionItem) {\n resultVersion = currentVersion\n } else {\n let [baseVersion, preReleaseSuffix] = currentVersion.split(/-(.+)/)\n\n // Normalize the base version to at least 'major.minor.patch', that's what semver needs as input\n let normalizedBaseVersion = semver.coerce(baseVersion)?.version ?? `${defaultVersion}.0.0`\n let preReleaseIdentifier = preReleaseSuffix ? preReleaseSuffix.match(/^[a-zA-Z]+/)?.[0] : undefined\n let fullVersionToIncrement = preReleaseIdentifier ? `${normalizedBaseVersion}-${preReleaseSuffix}` : normalizedBaseVersion\n\n // Use semver to increment the version\n let incrementedVersion = semver.inc(fullVersionToIncrement, releaseType, undefined, preReleaseIdentifier)\n if (!incrementedVersion) {\n throw new Error(`Could not increment ${releaseType} version on ${currentVersion} ${preReleaseSuffix}`)\n }\n\n // Extract new base version to match the original input format\n let [incrementedBaseVersion, incrementedSuffix] = incrementedVersion.split(/-(.+)/)\n let originalParts = baseVersion.split('.')\n let newParts = incrementedBaseVersion.split('.')\n while (newParts.length > originalParts.length) {\n newParts.pop() // Reduce to original length by removing extra .0s\n }\n resultVersion = newParts.join('.')\n if (incrementedSuffix) {\n resultVersion += `-${incrementedSuffix}`\n }\n }\n\n // Apply field extraction logic before adding\n const newDefinitionItem = {\n ...definitionItem,\n version: resultVersion,\n name: definitionItem.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose,\n }\n\n return await this.store.addDefinition(newDefinitionItem)\n }\n private normalizeToSemverVersionFormat(version: string): string {\n const defaultVersion = '1.0.0'\n let [baseVersion, preReleaseSuffix] = version.split(/-(.+)/)\n\n // Normalize the base version to at least 'major.minor.patch', that's what semver needs as input\n let normalizedBaseVersion = semver.coerce(baseVersion)?.version ?? defaultVersion\n if (preReleaseSuffix) {\n normalizedBaseVersion += `-${preReleaseSuffix}`\n }\n\n return normalizedBaseVersion\n }\n}\n"],"mappings":"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","names":["module","pdManagerMethods","PDManager","schema","IPDManager","methods","pdmPersistDefinition","bind","pdmHasDefinition","pdmHasDefinitions","pdmGetDefinition","pdmGetDefinitions","pdmDeleteDefinition","pdmDeleteDefinitions","store","options","args","itemId","hasDefinition","filter","hasDefinitions","getDefinition","opts","allDefinitions","getDefinitions","definitions","undefined","showVersionHistory","groupedByDefinitionId","reduce","acc","entity","definitionId","push","Object","values","map","entities","highestVersionItem","baseItem","baseVersion","normalizeToSemverVersionFormat","version","highestVersion","semver","gt","deleteDefinition","then","value","deleteDefinitions","definitionItem","versionControlMode","versionIncrementReleaseType","tenantId","id","nonPersistedDefinitionItem","existing","existingItem","sort","a","b","compare","trulyLatestVersionItem","length","latestVersionItem","isPayloadModified","isPresentationDefinitionEqual","handleOverwriteMode","handleOverwriteLatestMode","handleManualMode","handleAutoIncrementMode","Error","name","definitionPayload","purpose","dcqlQuery","updateDefinition","newDefinitionItem","addDefinition","releaseType","defaultVersion","currentVersion","resultVersion","preReleaseSuffix","split","normalizedBaseVersion","coerce","preReleaseIdentifier","match","fullVersionToIncrement","incrementedVersion","inc","incrementedBaseVersion","incrementedSuffix","originalParts","newParts","pop","join","schema","require"]}
package/dist/index.d.cts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { IAgentPlugin, IPluginMethodMap, IAgentContext } from '@veramo/core';
2
2
  import { AbstractPDStore, PresentationDefinitionItem, FindDefinitionArgs, NonPersistedPresentationDefinitionItem } from '@sphereon/ssi-sdk.data-store';
3
+ export { DcqlQueryImportItem } from '@sphereon/ssi-sdk.data-store';
3
4
  import { ReleaseType } from 'semver';
4
5
  export { ReleaseType } from 'semver';
5
6
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { IAgentPlugin, IPluginMethodMap, IAgentContext } from '@veramo/core';
2
2
  import { AbstractPDStore, PresentationDefinitionItem, FindDefinitionArgs, NonPersistedPresentationDefinitionItem } from '@sphereon/ssi-sdk.data-store';
3
+ export { DcqlQueryImportItem } from '@sphereon/ssi-sdk.data-store';
3
4
  import { ReleaseType } from 'semver';
4
5
  export { ReleaseType } from 'semver';
5
6
 
package/dist/index.js CHANGED
@@ -1185,24 +1185,34 @@ var PDManager = class {
1185
1185
  existingItem.tenantId = definitionItem.tenantId;
1186
1186
  existingItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name;
1187
1187
  existingItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose;
1188
- existingItem.dcqlPayload = definitionItem.dcqlPayload;
1188
+ existingItem.dcqlQuery = definitionItem.dcqlQuery;
1189
1189
  existingItem.definitionPayload = definitionItem.definitionPayload;
1190
1190
  return await this.store.updateDefinition(existingItem);
1191
1191
  } else {
1192
- return await this.store.addDefinition(definitionItem);
1192
+ const newDefinitionItem = {
1193
+ ...definitionItem,
1194
+ name: definitionItem.name ?? definitionItem.definitionPayload?.name,
1195
+ purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose
1196
+ };
1197
+ return await this.store.addDefinition(newDefinitionItem);
1193
1198
  }
1194
1199
  }
1195
1200
  async handleOverwriteLatestMode(latestVersionItem, definitionItem) {
1196
1201
  if (latestVersionItem) {
1197
1202
  latestVersionItem.definitionId = definitionItem.definitionId;
1198
1203
  latestVersionItem.tenantId = definitionItem.tenantId;
1199
- latestVersionItem.name = definitionItem.name;
1200
- latestVersionItem.purpose = definitionItem.purpose;
1204
+ latestVersionItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name;
1205
+ latestVersionItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose;
1201
1206
  latestVersionItem.definitionPayload = definitionItem.definitionPayload;
1202
- latestVersionItem.dcqlPayload = definitionItem.dcqlPayload;
1207
+ latestVersionItem.dcqlQuery = definitionItem.dcqlQuery;
1203
1208
  return await this.store.updateDefinition(latestVersionItem);
1204
1209
  } else {
1205
- return await this.store.addDefinition(definitionItem);
1210
+ const newDefinitionItem = {
1211
+ ...definitionItem,
1212
+ name: definitionItem.name ?? definitionItem.definitionPayload?.name,
1213
+ purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose
1214
+ };
1215
+ return await this.store.addDefinition(newDefinitionItem);
1206
1216
  }
1207
1217
  }
1208
1218
  async handleManualMode(existingItem, definitionItem, tenantId, version) {
@@ -1223,7 +1233,7 @@ var PDManager = class {
1223
1233
  let normalizedBaseVersion = semver.coerce(baseVersion)?.version ?? `${defaultVersion}.0.0`;
1224
1234
  let preReleaseIdentifier = preReleaseSuffix ? preReleaseSuffix.match(/^[a-zA-Z]+/)?.[0] : void 0;
1225
1235
  let fullVersionToIncrement = preReleaseIdentifier ? `${normalizedBaseVersion}-${preReleaseSuffix}` : normalizedBaseVersion;
1226
- let incrementedVersion = semver.inc(fullVersionToIncrement, releaseType, preReleaseIdentifier);
1236
+ let incrementedVersion = semver.inc(fullVersionToIncrement, releaseType, void 0, preReleaseIdentifier);
1227
1237
  if (!incrementedVersion) {
1228
1238
  throw new Error(`Could not increment ${releaseType} version on ${currentVersion} ${preReleaseSuffix}`);
1229
1239
  }
@@ -1238,8 +1248,13 @@ var PDManager = class {
1238
1248
  resultVersion += `-${incrementedSuffix}`;
1239
1249
  }
1240
1250
  }
1241
- definitionItem.version = resultVersion;
1242
- return await this.store.addDefinition(definitionItem);
1251
+ const newDefinitionItem = {
1252
+ ...definitionItem,
1253
+ version: resultVersion,
1254
+ name: definitionItem.name ?? definitionItem.definitionPayload?.name,
1255
+ purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose
1256
+ };
1257
+ return await this.store.addDefinition(newDefinitionItem);
1243
1258
  }
1244
1259
  normalizeToSemverVersionFormat(version) {
1245
1260
  const defaultVersion = "1.0.0";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../plugin.schema.json","../src/agent/PDManager.ts","../src/index.ts"],"sourcesContent":["{\n \"IPDManager\": {\n \"components\": {\n \"schemas\": {\n \"DeleteDefinitionItemArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"itemId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"itemId\"],\n \"additionalProperties\": false\n },\n \"DeleteDefinitionItemsArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"GetDefinitionItemsArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"filter\": {\n \"$ref\": \"#/components/schemas/FindDefinitionArgs\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/FetchOptions\"\n }\n },\n \"additionalProperties\": false\n },\n \"FindDefinitionArgs\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItemFilter\"\n }\n },\n \"PresentationDefinitionItemFilter\": {\n \"$ref\": \"#/components/schemas/Partial<Omit<PresentationDefinitionItem,(\\\"definitionPayload\\\"|\\\"dcqlPayload\\\")>>\"\n },\n \"Partial<Omit<PresentationDefinitionItem,(\\\"definitionPayload\\\"|\\\"dcqlPayload\\\")>>\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"createdAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"lastUpdatedAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"additionalProperties\": false\n },\n \"FetchOptions\": {\n \"type\": \"object\",\n \"properties\": {\n \"showVersionHistory\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"GetDefinitionItemArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"itemId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"itemId\"],\n \"additionalProperties\": false\n },\n \"PresentationDefinitionItem\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"definitionPayload\": {\n \"$ref\": \"#/components/schemas/IPresentationDefinition\"\n },\n \"dcqlPayload\": {\n \"$ref\": \"#/components/schemas/DcqlQueryREST\"\n },\n \"createdAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"lastUpdatedAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"required\": [\"id\", \"definitionId\", \"version\", \"definitionPayload\", \"createdAt\", \"lastUpdatedAt\"],\n \"additionalProperties\": false\n },\n \"IPresentationDefinition\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/PresentationDefinitionV1\"\n },\n {\n \"$ref\": \"#/components/schemas/PresentationDefinitionV2\"\n }\n ]\n },\n \"PresentationDefinitionV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"submission_requirements\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n },\n \"input_descriptors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/InputDescriptorV1\"\n }\n }\n },\n \"required\": [\"id\", \"input_descriptors\"],\n \"additionalProperties\": false\n },\n \"Format\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwt\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vc\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vc_json\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vp\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vp_json\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"ldp\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"ldp_vc\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"ldp_vp\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"di\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"di_vc\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"di_vp\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"dc+sd-jwt\": {\n \"$ref\": \"#/components/schemas/SdJwtObject\"\n },\n \"mso_mdoc\": {\n \"$ref\": \"#/components/schemas/MsoMdocObject\"\n }\n },\n \"additionalProperties\": false\n },\n \"JwtObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"alg\"],\n \"additionalProperties\": false\n },\n \"LdpObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"proof_type\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"proof_type\"],\n \"additionalProperties\": false\n },\n \"DiObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"proof_type\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"cryptosuite\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"proof_type\", \"cryptosuite\"],\n \"additionalProperties\": false\n },\n \"SdJwtObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"sd-jwt_alg_values\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kb-jwt_alg_values\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"MsoMdocObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"alg\"],\n \"additionalProperties\": false\n },\n \"SubmissionRequirement\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"rule\": {\n \"$ref\": \"#/components/schemas/Rules\"\n },\n \"count\": {\n \"type\": \"number\"\n },\n \"min\": {\n \"type\": \"number\"\n },\n \"max\": {\n \"type\": \"number\"\n },\n \"from\": {\n \"type\": \"string\"\n },\n \"from_nested\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n }\n },\n \"required\": [\"rule\"],\n \"additionalProperties\": false\n },\n \"Rules\": {\n \"type\": \"string\",\n \"enum\": [\"all\", \"pick\"]\n },\n \"InputDescriptorV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"group\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Schema\"\n }\n },\n \"issuance\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Issuance\"\n }\n },\n \"constraints\": {\n \"$ref\": \"#/components/schemas/ConstraintsV1\"\n }\n },\n \"required\": [\"id\", \"schema\"],\n \"additionalProperties\": false\n },\n \"Schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"uri\": {\n \"type\": \"string\"\n },\n \"required\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\"uri\"],\n \"additionalProperties\": false\n },\n \"Issuance\": {\n \"type\": \"object\",\n \"properties\": {\n \"manifest\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {}\n },\n \"ConstraintsV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"limit_disclosure\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"statuses\": {\n \"$ref\": \"#/components/schemas/Statuses\"\n },\n \"fields\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/FieldV1\"\n }\n },\n \"subject_is_issuer\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"is_holder\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n },\n \"same_subject\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"Optionality\": {\n \"type\": \"string\",\n \"enum\": [\"required\", \"preferred\"]\n },\n \"Statuses\": {\n \"type\": \"object\",\n \"properties\": {\n \"active\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n },\n \"suspended\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n },\n \"revoked\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n }\n },\n \"additionalProperties\": false\n },\n \"PdStatus\": {\n \"type\": \"object\",\n \"properties\": {\n \"directive\": {\n \"$ref\": \"#/components/schemas/Directives\"\n }\n },\n \"additionalProperties\": false\n },\n \"Directives\": {\n \"type\": \"string\",\n \"enum\": [\"required\", \"allowed\", \"disallowed\"]\n },\n \"FieldV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/FilterV1\"\n },\n \"predicate\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n }\n },\n \"required\": [\"path\"],\n \"additionalProperties\": false\n },\n \"FilterV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"OneOfNumberStringBoolean\": {\n \"type\": [\"boolean\", \"number\", \"string\"]\n },\n \"OneOfNumberString\": {\n \"type\": [\"number\", \"string\"]\n },\n \"HolderSubject\": {\n \"type\": \"object\",\n \"properties\": {\n \"field_id\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"directive\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n }\n },\n \"required\": [\"field_id\", \"directive\"],\n \"additionalProperties\": false\n },\n \"PresentationDefinitionV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"submission_requirements\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n },\n \"input_descriptors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/InputDescriptorV2\"\n }\n },\n \"frame\": {\n \"type\": \"object\"\n }\n },\n \"required\": [\"id\", \"input_descriptors\"],\n \"additionalProperties\": false\n },\n \"InputDescriptorV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"group\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"issuance\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Issuance\"\n }\n },\n \"constraints\": {\n \"$ref\": \"#/components/schemas/ConstraintsV2\"\n }\n },\n \"required\": [\"id\", \"constraints\"],\n \"additionalProperties\": false\n },\n \"ConstraintsV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"limit_disclosure\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"statuses\": {\n \"$ref\": \"#/components/schemas/Statuses\"\n },\n \"fields\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/FieldV2\"\n }\n },\n \"subject_is_issuer\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"is_holder\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n },\n \"same_subject\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"FieldV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"predicate\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"intent_to_retain\": {\n \"type\": \"boolean\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"optional\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\"path\"],\n \"additionalProperties\": false\n },\n \"FilterV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"formatMaximum\": {\n \"type\": \"string\"\n },\n \"formatMinimum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMaximum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMinimum\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"contains\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"items\": {\n \"$ref\": \"#/components/schemas/FilterV2Items\"\n }\n },\n \"additionalProperties\": false\n },\n \"FilterV2Items\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"formatMaximum\": {\n \"type\": \"string\"\n },\n \"formatMinimum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMaximum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMinimum\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"contains\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"items\": {\n \"$ref\": \"#/components/schemas/FilterV2Items\"\n }\n },\n \"additionalProperties\": false\n },\n \"DcqlQueryREST\": {\n \"type\": \"object\",\n \"properties\": {\n \"credentials\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/DcqlCredentialQuery\"\n }\n }\n },\n \"required\": [\"credentials\"],\n \"additionalProperties\": false\n },\n \"DcqlCredentialQuery\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"claims\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/DcqlClaim\"\n }\n },\n \"meta\": {\n \"$ref\": \"#/components/schemas/Record<string,any>\"\n }\n },\n \"required\": [\"id\", \"format\", \"claims\"],\n \"additionalProperties\": false\n },\n \"DcqlClaim\": {\n \"type\": \"object\",\n \"properties\": {\n \"namespace\": {\n \"type\": \"string\"\n },\n \"claim_name\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/DcqlFilter\"\n }\n },\n \"required\": [\"namespace\", \"claim_name\"],\n \"additionalProperties\": false\n },\n \"DcqlFilter\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\"string\", \"number\", \"boolean\"]\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"maximum\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\"type\"],\n \"additionalProperties\": false\n },\n \"Record<string,any>\": {\n \"type\": \"object\"\n },\n \"HasDefinitionItemArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemArgs\"\n },\n \"HasDefinitionItemsArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"PersistDefinitionArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"definitionItem\": {\n \"$ref\": \"#/components/schemas/PersistPresentationDefinitionItem\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/PersistOptions\"\n }\n },\n \"required\": [\"definitionItem\"],\n \"additionalProperties\": false\n },\n \"PersistPresentationDefinitionItem\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"definitionPayload\": {\n \"$ref\": \"#/components/schemas/IPresentationDefinition\"\n },\n \"dcqlPayload\": {\n \"$ref\": \"#/components/schemas/DcqlQueryREST\"\n }\n },\n \"required\": [\"definitionPayload\"]\n },\n \"PersistOptions\": {\n \"type\": \"object\",\n \"properties\": {\n \"versionControlMode\": {\n \"$ref\": \"#/components/schemas/VersionControlMode\"\n },\n \"versionIncrementReleaseType\": {\n \"$ref\": \"#/components/schemas/ReleaseType\"\n }\n },\n \"additionalProperties\": false\n },\n \"VersionControlMode\": {\n \"type\": \"string\",\n \"enum\": [\"AutoIncrement\", \"Manual\", \"Overwrite\", \"OverwriteLatest\"]\n },\n \"ReleaseType\": {\n \"type\": \"string\",\n \"enum\": [\"major\", \"premajor\", \"minor\", \"preminor\", \"patch\", \"prepatch\", \"prerelease\", \"release\"]\n }\n },\n \"methods\": {\n \"pdmDeleteDefinition\": {\n \"description\": \"Delete a single presentation definition records by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/DeleteDefinitionItemArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmDeleteDefinitions\": {\n \"description\": \"Delete multiple presentation definitions records using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/DeleteDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"number\"\n }\n },\n \"pdmGetDefinition\": {\n \"description\": \"Get a single presentation definition records by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n },\n \"pdmGetDefinitions\": {\n \"description\": \"Find one or more presentation definition records using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n }\n },\n \"pdmHasDefinition\": {\n \"description\": \"Checks whether a presentation definition record exists by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/HasDefinitionItemArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmHasDefinitions\": {\n \"description\": \"Checks whether one or more presentation definition records exist using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/HasDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmPersistDefinition\": {\n \"description\": \"Check in a presentation definition. It has version control logic which will add or update presentation definition records and has settings for automatic version numbering.\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/PersistDefinitionArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n }\n }\n }\n }\n}\n","import { IAgentPlugin } from '@veramo/core'\nimport {\n DeleteDefinitionItemArgs,\n DeleteDefinitionItemsArgs,\n GetDefinitionItemArgs,\n GetDefinitionItemsArgs,\n HasDefinitionItemArgs,\n HasDefinitionItemsArgs,\n IPDManager,\n PersistDefinitionArgs,\n schema,\n} from '../index'\nimport {\n AbstractPDStore,\n isPresentationDefinitionEqual,\n NonPersistedPresentationDefinitionItem,\n PresentationDefinitionItem,\n} from '@sphereon/ssi-sdk.data-store'\nimport semver from 'semver/preload'\nimport { ReleaseType } from 'semver'\n\n// Exposing the methods here for any REST implementation\nexport const pdManagerMethods: Array<string> = [\n 'pdmHasDefinition',\n 'pdmHasGetDefinitions',\n 'pdmGetDefinition',\n 'pdmGetDefinitions',\n 'pdmPersistDefinition',\n 'pdmDeleteDefinition',\n 'pdmDeleteDefinitions',\n]\n\n/**\n * {@inheritDoc IPDManager}\n */\nexport class PDManager implements IAgentPlugin {\n readonly schema = schema.IPDManager\n readonly methods: IPDManager = {\n pdmPersistDefinition: this.pdmPersistDefinition.bind(this),\n pdmHasDefinition: this.pdmHasDefinition.bind(this),\n pdmHasDefinitions: this.pdmHasDefinitions.bind(this),\n pdmGetDefinition: this.pdmGetDefinition.bind(this),\n pdmGetDefinitions: this.pdmGetDefinitions.bind(this),\n pdmDeleteDefinition: this.pdmDeleteDefinition.bind(this),\n pdmDeleteDefinitions: this.pdmDeleteDefinitions.bind(this),\n }\n\n private readonly store: AbstractPDStore\n\n constructor(options: { store: AbstractPDStore }) {\n this.store = options.store\n }\n\n /** {@inheritDoc IPDManager.pdmHasDefinition} */\n private async pdmHasDefinition(args: HasDefinitionItemArgs): Promise<boolean> {\n const { itemId } = args\n return this.store.hasDefinition({ itemId })\n }\n\n /** {@inheritDoc IPDManager.pdmHasDefinitions} */\n private async pdmHasDefinitions(args: HasDefinitionItemsArgs): Promise<boolean> {\n const { filter } = args\n return this.store.hasDefinitions({ filter })\n }\n\n /** {@inheritDoc IPDManager.pdmGetDefinition} */\n private async pdmGetDefinition(args: GetDefinitionItemArgs): Promise<PresentationDefinitionItem> {\n const { itemId } = args\n return this.store.getDefinition({ itemId })\n }\n\n /** {@inheritDoc IPDManager.pdmGetDefinitions} */\n private async pdmGetDefinitions(args: GetDefinitionItemsArgs): Promise<Array<PresentationDefinitionItem>> {\n const { filter, opts } = args\n const allDefinitions = await this.store.getDefinitions({ filter })\n let definitions: PresentationDefinitionItem[] = []\n if (opts == undefined || opts.showVersionHistory !== true) {\n const groupedByDefinitionId = allDefinitions.reduce(\n (acc, entity) => {\n if (!acc[entity.definitionId]) {\n acc[entity.definitionId] = []\n }\n acc[entity.definitionId].push(entity)\n return acc\n },\n {} as Record<string, PresentationDefinitionItem[]>,\n )\n definitions = Object.values(groupedByDefinitionId).map((entities) =>\n entities.reduce((highestVersionItem, baseItem) => {\n const baseVersion = this.normalizeToSemverVersionFormat(baseItem.version)\n const highestVersion = this.normalizeToSemverVersionFormat(highestVersionItem.version)\n return semver.gt(baseVersion, highestVersion) ? baseItem : highestVersionItem\n }),\n )\n } else {\n definitions = allDefinitions\n }\n return definitions\n }\n\n /** {@inheritDoc IPDManager.pdmDeleteDefinition} */\n private async pdmDeleteDefinition(args: DeleteDefinitionItemArgs): Promise<boolean> {\n return this.store.deleteDefinition(args).then((value) => true)\n }\n\n /** {@inheritDoc IPDManager.pdmDeleteDefinitions} */\n private async pdmDeleteDefinitions(args: DeleteDefinitionItemsArgs): Promise<number> {\n return this.store.deleteDefinitions(args)\n }\n\n /** {@inheritDoc IPDManager.pdmPersistDefinition} */\n private async pdmPersistDefinition(args: PersistDefinitionArgs): Promise<PresentationDefinitionItem> {\n const { definitionItem, opts } = args\n const { versionControlMode, versionIncrementReleaseType } = opts ?? { versionControlMode: 'AutoIncrement' }\n const { version, tenantId } = definitionItem\n const definitionId = definitionItem.definitionId\n\n let { id } = definitionItem\n if (id !== undefined && versionControlMode !== 'Overwrite') {\n id = undefined\n }\n\n const nonPersistedDefinitionItem: NonPersistedPresentationDefinitionItem = {\n ...definitionItem,\n version: version ?? '1',\n }\n\n const existing = await this.store.getDefinitions({ filter: [{ id, definitionId, tenantId, version }] })\n const existingItem = existing[0]\n\n // Always fetch all definitions for the definitionId/tenantId and determine the truly latest version\n const allDefinitions = await this.store.getDefinitions({ filter: [{ definitionId, tenantId }] })\n allDefinitions.sort((a, b) => semver.compare(this.normalizeToSemverVersionFormat(a.version), this.normalizeToSemverVersionFormat(b.version)))\n const trulyLatestVersionItem = allDefinitions[allDefinitions.length - 1]\n\n let latestVersionItem: PresentationDefinitionItem | undefined = trulyLatestVersionItem\n\n // If a specific version exists and matches existingItem, we keep that as a base.\n // Otherwise we use the trulyLatestVersionItem\n if (existingItem && version) {\n latestVersionItem = trulyLatestVersionItem ?? existingItem\n }\n\n const isPayloadModified = !existingItem || !isPresentationDefinitionEqual(existingItem, definitionItem)\n if (!isPayloadModified) return existingItem\n\n switch (versionControlMode) {\n case 'Overwrite':\n return this.handleOverwriteMode(existingItem, nonPersistedDefinitionItem, version)\n case 'OverwriteLatest':\n return this.handleOverwriteLatestMode(latestVersionItem, nonPersistedDefinitionItem)\n case 'Manual':\n return this.handleManualMode(existingItem, nonPersistedDefinitionItem, tenantId, version)\n case 'AutoIncrement':\n return this.handleAutoIncrementMode(latestVersionItem, nonPersistedDefinitionItem, versionIncrementReleaseType ?? 'major')\n default:\n throw new Error(`Unknown version control mode: ${versionControlMode}`)\n }\n }\n\n private async handleOverwriteMode(\n existingItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n version: string | undefined,\n ): Promise<PresentationDefinitionItem> {\n if (existingItem) {\n existingItem.definitionId = definitionItem.definitionId\n existingItem.version = version ?? existingItem.version ?? '1'\n existingItem.tenantId = definitionItem.tenantId\n existingItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name\n existingItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose\n existingItem.dcqlPayload = definitionItem.dcqlPayload\n existingItem.definitionPayload = definitionItem.definitionPayload\n\n return await this.store.updateDefinition(existingItem)\n } else {\n return await this.store.addDefinition(definitionItem)\n }\n }\n\n private async handleOverwriteLatestMode(\n latestVersionItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n ): Promise<PresentationDefinitionItem> {\n if (latestVersionItem) {\n latestVersionItem.definitionId = definitionItem.definitionId\n latestVersionItem.tenantId = definitionItem.tenantId\n latestVersionItem.name = definitionItem.name\n latestVersionItem.purpose = definitionItem.purpose\n latestVersionItem.definitionPayload = definitionItem.definitionPayload\n latestVersionItem.dcqlPayload = definitionItem.dcqlPayload\n\n return await this.store.updateDefinition(latestVersionItem)\n } else {\n return await this.store.addDefinition(definitionItem)\n }\n }\n\n private async handleManualMode(\n existingItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n tenantId: string | undefined,\n version: string | undefined,\n ): Promise<PresentationDefinitionItem> {\n if (existingItem && !isPresentationDefinitionEqual(existingItem, definitionItem)) {\n throw Error(\n `Cannot update definition ${definitionItem.definitionId} for tenant ${tenantId} version ${version} because definition exists and manual version control is enabled.`,\n )\n } else {\n return await this.store.addDefinition(definitionItem)\n }\n }\n\n private async handleAutoIncrementMode(\n latestVersionItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n releaseType: ReleaseType,\n ): Promise<PresentationDefinitionItem> {\n const defaultVersion = '1'\n let currentVersion = latestVersionItem?.version ?? definitionItem.version ?? defaultVersion\n let resultVersion: string\n\n if (!latestVersionItem) {\n resultVersion = currentVersion\n } else {\n let [baseVersion, preReleaseSuffix] = currentVersion.split(/-(.+)/)\n\n // Normalize the base version to at least 'major.minor.patch', that's what semver needs as input\n let normalizedBaseVersion = semver.coerce(baseVersion)?.version ?? `${defaultVersion}.0.0`\n let preReleaseIdentifier = preReleaseSuffix ? preReleaseSuffix.match(/^[a-zA-Z]+/)?.[0] : undefined\n let fullVersionToIncrement = preReleaseIdentifier ? `${normalizedBaseVersion}-${preReleaseSuffix}` : normalizedBaseVersion\n\n // Use semver to increment the version\n let incrementedVersion = semver.inc(fullVersionToIncrement, releaseType, preReleaseIdentifier)\n if (!incrementedVersion) {\n throw new Error(`Could not increment ${releaseType} version on ${currentVersion} ${preReleaseSuffix}`)\n }\n\n // Extract new base version to match the original input format\n let [incrementedBaseVersion, incrementedSuffix] = incrementedVersion.split(/-(.+)/)\n let originalParts = baseVersion.split('.')\n let newParts = incrementedBaseVersion.split('.')\n while (newParts.length > originalParts.length) {\n newParts.pop() // Reduce to original length by removing extra .0s\n }\n resultVersion = newParts.join('.')\n if (incrementedSuffix) {\n resultVersion += `-${incrementedSuffix}`\n }\n }\n\n definitionItem.version = resultVersion\n return await this.store.addDefinition(definitionItem)\n }\n\n private normalizeToSemverVersionFormat(version: string): string {\n const defaultVersion = '1.0.0'\n let [baseVersion, preReleaseSuffix] = version.split(/-(.+)/)\n\n // Normalize the base version to at least 'major.minor.patch', that's what semver needs as input\n let normalizedBaseVersion = semver.coerce(baseVersion)?.version ?? defaultVersion\n if (preReleaseSuffix) {\n normalizedBaseVersion += `-${preReleaseSuffix}`\n }\n\n return normalizedBaseVersion\n }\n}\n","/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\nexport { PDManager, pdManagerMethods } from './agent/PDManager'\nexport * from './types/IPDManager'\n\nexport type { ReleaseType } from 'semver'\n"],"mappings":"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","names":["isPresentationDefinitionEqual","semver","pdManagerMethods","PDManager","schema","IPDManager","methods","pdmPersistDefinition","bind","pdmHasDefinition","pdmHasDefinitions","pdmGetDefinition","pdmGetDefinitions","pdmDeleteDefinition","pdmDeleteDefinitions","store","constructor","options","args","itemId","hasDefinition","filter","hasDefinitions","getDefinition","opts","allDefinitions","getDefinitions","definitions","undefined","showVersionHistory","groupedByDefinitionId","reduce","acc","entity","definitionId","push","Object","values","map","entities","highestVersionItem","baseItem","baseVersion","normalizeToSemverVersionFormat","version","highestVersion","semver","gt","deleteDefinition","then","value","deleteDefinitions","definitionItem","versionControlMode","versionIncrementReleaseType","tenantId","id","nonPersistedDefinitionItem","existing","existingItem","sort","a","b","compare","trulyLatestVersionItem","length","latestVersionItem","isPayloadModified","isPresentationDefinitionEqual","handleOverwriteMode","handleOverwriteLatestMode","handleManualMode","handleAutoIncrementMode","Error","name","definitionPayload","purpose","dcqlPayload","updateDefinition","addDefinition","releaseType","defaultVersion","currentVersion","resultVersion","preReleaseSuffix","split","normalizedBaseVersion","coerce","preReleaseIdentifier","match","fullVersionToIncrement","incrementedVersion","inc","incrementedBaseVersion","incrementedSuffix","originalParts","newParts","pop","join","schema","require"]}
1
+ {"version":3,"sources":["../plugin.schema.json","../src/agent/PDManager.ts","../src/index.ts"],"sourcesContent":["{\n \"IPDManager\": {\n \"components\": {\n \"schemas\": {\n \"DeleteDefinitionItemArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"itemId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"itemId\"],\n \"additionalProperties\": false\n },\n \"DeleteDefinitionItemsArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"GetDefinitionItemsArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"filter\": {\n \"$ref\": \"#/components/schemas/FindDefinitionArgs\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/FetchOptions\"\n }\n },\n \"additionalProperties\": false\n },\n \"FindDefinitionArgs\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItemFilter\"\n }\n },\n \"PresentationDefinitionItemFilter\": {\n \"$ref\": \"#/components/schemas/Partial<Omit<PresentationDefinitionItem,(\\\"definitionPayload\\\"|\\\"dcqlPayload\\\")>>\"\n },\n \"Partial<Omit<PresentationDefinitionItem,(\\\"definitionPayload\\\"|\\\"dcqlPayload\\\")>>\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"createdAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"lastUpdatedAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"additionalProperties\": false\n },\n \"FetchOptions\": {\n \"type\": \"object\",\n \"properties\": {\n \"showVersionHistory\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false\n },\n \"GetDefinitionItemArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"itemId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"itemId\"],\n \"additionalProperties\": false\n },\n \"PresentationDefinitionItem\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"definitionPayload\": {\n \"$ref\": \"#/components/schemas/IPresentationDefinition\"\n },\n \"dcqlPayload\": {\n \"$ref\": \"#/components/schemas/DcqlQueryREST\"\n },\n \"createdAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"lastUpdatedAt\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n }\n },\n \"required\": [\"id\", \"definitionId\", \"version\", \"definitionPayload\", \"createdAt\", \"lastUpdatedAt\"],\n \"additionalProperties\": false\n },\n \"IPresentationDefinition\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/PresentationDefinitionV1\"\n },\n {\n \"$ref\": \"#/components/schemas/PresentationDefinitionV2\"\n }\n ]\n },\n \"PresentationDefinitionV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"submission_requirements\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n },\n \"input_descriptors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/InputDescriptorV1\"\n }\n }\n },\n \"required\": [\"id\", \"input_descriptors\"],\n \"additionalProperties\": false\n },\n \"Format\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwt\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vc\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vc_json\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vp\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"jwt_vp_json\": {\n \"$ref\": \"#/components/schemas/JwtObject\"\n },\n \"ldp\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"ldp_vc\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"ldp_vp\": {\n \"$ref\": \"#/components/schemas/LdpObject\"\n },\n \"di\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"di_vc\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"di_vp\": {\n \"$ref\": \"#/components/schemas/DiObject\"\n },\n \"dc+sd-jwt\": {\n \"$ref\": \"#/components/schemas/SdJwtObject\"\n },\n \"mso_mdoc\": {\n \"$ref\": \"#/components/schemas/MsoMdocObject\"\n }\n },\n \"additionalProperties\": false\n },\n \"JwtObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"alg\"],\n \"additionalProperties\": false\n },\n \"LdpObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"proof_type\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"proof_type\"],\n \"additionalProperties\": false\n },\n \"DiObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"proof_type\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"cryptosuite\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"proof_type\", \"cryptosuite\"],\n \"additionalProperties\": false\n },\n \"SdJwtObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"sd-jwt_alg_values\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kb-jwt_alg_values\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"MsoMdocObject\": {\n \"type\": \"object\",\n \"properties\": {\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"alg\"],\n \"additionalProperties\": false\n },\n \"SubmissionRequirement\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"rule\": {\n \"$ref\": \"#/components/schemas/Rules\"\n },\n \"count\": {\n \"type\": \"number\"\n },\n \"min\": {\n \"type\": \"number\"\n },\n \"max\": {\n \"type\": \"number\"\n },\n \"from\": {\n \"type\": \"string\"\n },\n \"from_nested\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n }\n },\n \"required\": [\"rule\"],\n \"additionalProperties\": false\n },\n \"Rules\": {\n \"type\": \"string\",\n \"enum\": [\"all\", \"pick\"]\n },\n \"InputDescriptorV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"group\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Schema\"\n }\n },\n \"issuance\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Issuance\"\n }\n },\n \"constraints\": {\n \"$ref\": \"#/components/schemas/ConstraintsV1\"\n }\n },\n \"required\": [\"id\", \"schema\"],\n \"additionalProperties\": false\n },\n \"Schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"uri\": {\n \"type\": \"string\"\n },\n \"required\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\"uri\"],\n \"additionalProperties\": false\n },\n \"Issuance\": {\n \"type\": \"object\",\n \"properties\": {\n \"manifest\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {}\n },\n \"ConstraintsV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"limit_disclosure\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"statuses\": {\n \"$ref\": \"#/components/schemas/Statuses\"\n },\n \"fields\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/FieldV1\"\n }\n },\n \"subject_is_issuer\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"is_holder\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n },\n \"same_subject\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"Optionality\": {\n \"type\": \"string\",\n \"enum\": [\"required\", \"preferred\"]\n },\n \"Statuses\": {\n \"type\": \"object\",\n \"properties\": {\n \"active\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n },\n \"suspended\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n },\n \"revoked\": {\n \"$ref\": \"#/components/schemas/PdStatus\"\n }\n },\n \"additionalProperties\": false\n },\n \"PdStatus\": {\n \"type\": \"object\",\n \"properties\": {\n \"directive\": {\n \"$ref\": \"#/components/schemas/Directives\"\n }\n },\n \"additionalProperties\": false\n },\n \"Directives\": {\n \"type\": \"string\",\n \"enum\": [\"required\", \"allowed\", \"disallowed\"]\n },\n \"FieldV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/FilterV1\"\n },\n \"predicate\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n }\n },\n \"required\": [\"path\"],\n \"additionalProperties\": false\n },\n \"FilterV1\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"OneOfNumberStringBoolean\": {\n \"type\": [\"boolean\", \"number\", \"string\"]\n },\n \"OneOfNumberString\": {\n \"type\": [\"number\", \"string\"]\n },\n \"HolderSubject\": {\n \"type\": \"object\",\n \"properties\": {\n \"field_id\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"directive\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n }\n },\n \"required\": [\"field_id\", \"directive\"],\n \"additionalProperties\": false\n },\n \"PresentationDefinitionV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"submission_requirements\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/SubmissionRequirement\"\n }\n },\n \"input_descriptors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/InputDescriptorV2\"\n }\n },\n \"frame\": {\n \"type\": \"object\"\n }\n },\n \"required\": [\"id\", \"input_descriptors\"],\n \"additionalProperties\": false\n },\n \"InputDescriptorV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"$ref\": \"#/components/schemas/Format\"\n },\n \"group\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"issuance\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Issuance\"\n }\n },\n \"constraints\": {\n \"$ref\": \"#/components/schemas/ConstraintsV2\"\n }\n },\n \"required\": [\"id\", \"constraints\"],\n \"additionalProperties\": false\n },\n \"ConstraintsV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"limit_disclosure\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"statuses\": {\n \"$ref\": \"#/components/schemas/Statuses\"\n },\n \"fields\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/FieldV2\"\n }\n },\n \"subject_is_issuer\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"is_holder\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n },\n \"same_subject\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/HolderSubject\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"FieldV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"predicate\": {\n \"$ref\": \"#/components/schemas/Optionality\"\n },\n \"intent_to_retain\": {\n \"type\": \"boolean\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"optional\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\"path\"],\n \"additionalProperties\": false\n },\n \"FilterV2\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"formatMaximum\": {\n \"type\": \"string\"\n },\n \"formatMinimum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMaximum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMinimum\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"contains\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"items\": {\n \"$ref\": \"#/components/schemas/FilterV2Items\"\n }\n },\n \"additionalProperties\": false\n },\n \"FilterV2Items\": {\n \"type\": \"object\",\n \"properties\": {\n \"const\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n },\n \"enum\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/OneOfNumberStringBoolean\"\n }\n },\n \"exclusiveMinimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"exclusiveMaximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"formatMaximum\": {\n \"type\": \"string\"\n },\n \"formatMinimum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMaximum\": {\n \"type\": \"string\"\n },\n \"formatExclusiveMinimum\": {\n \"type\": \"string\"\n },\n \"minLength\": {\n \"type\": \"number\"\n },\n \"maxLength\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"maximum\": {\n \"$ref\": \"#/components/schemas/OneOfNumberString\"\n },\n \"not\": {\n \"type\": \"object\"\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"contains\": {\n \"$ref\": \"#/components/schemas/FilterV2\"\n },\n \"items\": {\n \"$ref\": \"#/components/schemas/FilterV2Items\"\n }\n },\n \"additionalProperties\": false\n },\n \"DcqlQueryREST\": {\n \"type\": \"object\",\n \"properties\": {\n \"credentials\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/DcqlCredentialQuery\"\n }\n }\n },\n \"required\": [\"credentials\"],\n \"additionalProperties\": false\n },\n \"DcqlCredentialQuery\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"format\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"claims\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/DcqlClaim\"\n }\n },\n \"meta\": {\n \"$ref\": \"#/components/schemas/Record<string,any>\"\n }\n },\n \"required\": [\"id\", \"format\", \"claims\"],\n \"additionalProperties\": false\n },\n \"DcqlClaim\": {\n \"type\": \"object\",\n \"properties\": {\n \"namespace\": {\n \"type\": \"string\"\n },\n \"claim_name\": {\n \"type\": \"string\"\n },\n \"filter\": {\n \"$ref\": \"#/components/schemas/DcqlFilter\"\n }\n },\n \"required\": [\"namespace\", \"claim_name\"],\n \"additionalProperties\": false\n },\n \"DcqlFilter\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\"string\", \"number\", \"boolean\"]\n },\n \"pattern\": {\n \"type\": \"string\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"maximum\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\"type\"],\n \"additionalProperties\": false\n },\n \"Record<string,any>\": {\n \"type\": \"object\"\n },\n \"HasDefinitionItemArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemArgs\"\n },\n \"HasDefinitionItemsArgs\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"PersistDefinitionArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"definitionItem\": {\n \"$ref\": \"#/components/schemas/PersistPresentationDefinitionItem\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/PersistOptions\"\n }\n },\n \"required\": [\"definitionItem\"],\n \"additionalProperties\": false\n },\n \"PersistPresentationDefinitionItem\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"definitionId\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n },\n \"tenantId\": {\n \"type\": \"string\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"purpose\": {\n \"type\": \"string\"\n },\n \"definitionPayload\": {\n \"$ref\": \"#/components/schemas/IPresentationDefinition\"\n },\n \"dcqlPayload\": {\n \"$ref\": \"#/components/schemas/DcqlQueryREST\"\n }\n },\n \"required\": [\"definitionPayload\"]\n },\n \"PersistOptions\": {\n \"type\": \"object\",\n \"properties\": {\n \"versionControlMode\": {\n \"$ref\": \"#/components/schemas/VersionControlMode\"\n },\n \"versionIncrementReleaseType\": {\n \"$ref\": \"#/components/schemas/ReleaseType\"\n }\n },\n \"additionalProperties\": false\n },\n \"VersionControlMode\": {\n \"type\": \"string\",\n \"enum\": [\"AutoIncrement\", \"Manual\", \"Overwrite\", \"OverwriteLatest\"]\n },\n \"ReleaseType\": {\n \"type\": \"string\",\n \"enum\": [\"major\", \"premajor\", \"minor\", \"preminor\", \"patch\", \"prepatch\", \"prerelease\", \"release\"]\n }\n },\n \"methods\": {\n \"pdmDeleteDefinition\": {\n \"description\": \"Delete a single presentation definition records by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/DeleteDefinitionItemArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmDeleteDefinitions\": {\n \"description\": \"Delete multiple presentation definitions records using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/DeleteDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"number\"\n }\n },\n \"pdmGetDefinition\": {\n \"description\": \"Get a single presentation definition records by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n },\n \"pdmGetDefinitions\": {\n \"description\": \"Find one or more presentation definition records using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/GetDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n }\n },\n \"pdmHasDefinition\": {\n \"description\": \"Checks whether a presentation definition record exists by primary key\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/HasDefinitionItemArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmHasDefinitions\": {\n \"description\": \"Checks whether one or more presentation definition records exist using filters\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/HasDefinitionItemsArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"pdmPersistDefinition\": {\n \"description\": \"Check in a presentation definition. It has version control logic which will add or update presentation definition records and has settings for automatic version numbering.\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/PersistDefinitionArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/PresentationDefinitionItem\"\n }\n }\n }\n }\n }\n}\n","import { IAgentPlugin } from '@veramo/core'\nimport {\n DeleteDefinitionItemArgs,\n DeleteDefinitionItemsArgs,\n GetDefinitionItemArgs,\n GetDefinitionItemsArgs,\n HasDefinitionItemArgs,\n HasDefinitionItemsArgs,\n IPDManager,\n PersistDefinitionArgs,\n schema,\n} from '../index'\nimport {\n AbstractPDStore,\n isPresentationDefinitionEqual,\n NonPersistedPresentationDefinitionItem,\n PresentationDefinitionItem,\n} from '@sphereon/ssi-sdk.data-store'\nimport semver from 'semver/preload'\nimport { ReleaseType } from 'semver'\n\n// Exposing the methods here for any REST implementation\nexport const pdManagerMethods: Array<string> = [\n 'pdmHasDefinition',\n 'pdmHasGetDefinitions',\n 'pdmGetDefinition',\n 'pdmGetDefinitions',\n 'pdmPersistDefinition',\n 'pdmDeleteDefinition',\n 'pdmDeleteDefinitions',\n]\n\n/**\n * {@inheritDoc IPDManager}\n */\nexport class PDManager implements IAgentPlugin {\n readonly schema = schema.IPDManager\n readonly methods: IPDManager = {\n pdmPersistDefinition: this.pdmPersistDefinition.bind(this),\n pdmHasDefinition: this.pdmHasDefinition.bind(this),\n pdmHasDefinitions: this.pdmHasDefinitions.bind(this),\n pdmGetDefinition: this.pdmGetDefinition.bind(this),\n pdmGetDefinitions: this.pdmGetDefinitions.bind(this),\n pdmDeleteDefinition: this.pdmDeleteDefinition.bind(this),\n pdmDeleteDefinitions: this.pdmDeleteDefinitions.bind(this),\n }\n\n private readonly store: AbstractPDStore\n\n constructor(options: { store: AbstractPDStore }) {\n this.store = options.store\n }\n\n /** {@inheritDoc IPDManager.pdmHasDefinition} */\n private async pdmHasDefinition(args: HasDefinitionItemArgs): Promise<boolean> {\n const { itemId } = args\n return this.store.hasDefinition({ itemId })\n }\n\n /** {@inheritDoc IPDManager.pdmHasDefinitions} */\n private async pdmHasDefinitions(args: HasDefinitionItemsArgs): Promise<boolean> {\n const { filter } = args\n return this.store.hasDefinitions({ filter })\n }\n\n /** {@inheritDoc IPDManager.pdmGetDefinition} */\n private async pdmGetDefinition(args: GetDefinitionItemArgs): Promise<PresentationDefinitionItem> {\n const { itemId } = args\n return this.store.getDefinition({ itemId })\n }\n\n /** {@inheritDoc IPDManager.pdmGetDefinitions} */\n private async pdmGetDefinitions(args: GetDefinitionItemsArgs): Promise<Array<PresentationDefinitionItem>> {\n const { filter, opts } = args\n const allDefinitions = await this.store.getDefinitions({ filter })\n let definitions: PresentationDefinitionItem[] = []\n if (opts == undefined || opts.showVersionHistory !== true) {\n const groupedByDefinitionId = allDefinitions.reduce(\n (acc, entity) => {\n if (!acc[entity.definitionId]) {\n acc[entity.definitionId] = []\n }\n acc[entity.definitionId].push(entity)\n return acc\n },\n {} as Record<string, PresentationDefinitionItem[]>,\n )\n definitions = Object.values(groupedByDefinitionId).map((entities) =>\n entities.reduce((highestVersionItem, baseItem) => {\n const baseVersion = this.normalizeToSemverVersionFormat(baseItem.version)\n const highestVersion = this.normalizeToSemverVersionFormat(highestVersionItem.version)\n return semver.gt(baseVersion, highestVersion) ? baseItem : highestVersionItem\n }),\n )\n } else {\n definitions = allDefinitions\n }\n return definitions\n }\n\n /** {@inheritDoc IPDManager.pdmDeleteDefinition} */\n private async pdmDeleteDefinition(args: DeleteDefinitionItemArgs): Promise<boolean> {\n return this.store.deleteDefinition(args).then((value) => true)\n }\n\n /** {@inheritDoc IPDManager.pdmDeleteDefinitions} */\n private async pdmDeleteDefinitions(args: DeleteDefinitionItemsArgs): Promise<number> {\n return this.store.deleteDefinitions(args)\n }\n\n /** {@inheritDoc IPDManager.pdmPersistDefinition} */\n private async pdmPersistDefinition(args: PersistDefinitionArgs): Promise<PresentationDefinitionItem> {\n const { definitionItem, opts } = args\n const { versionControlMode, versionIncrementReleaseType } = opts ?? { versionControlMode: 'AutoIncrement' }\n const { version, tenantId } = definitionItem\n const definitionId = definitionItem.definitionId\n\n let { id } = definitionItem\n if (id !== undefined && versionControlMode !== 'Overwrite') {\n id = undefined\n }\n\n const nonPersistedDefinitionItem: NonPersistedPresentationDefinitionItem = {\n ...definitionItem,\n version: version ?? '1',\n }\n\n const existing = await this.store.getDefinitions({ filter: [{ id, definitionId, tenantId, version }] })\n const existingItem = existing[0]\n\n // Always fetch all definitions for the definitionId/tenantId and determine the truly latest version\n const allDefinitions = await this.store.getDefinitions({ filter: [{ definitionId, tenantId }] })\n allDefinitions.sort((a, b) => semver.compare(this.normalizeToSemverVersionFormat(a.version), this.normalizeToSemverVersionFormat(b.version)))\n const trulyLatestVersionItem = allDefinitions[allDefinitions.length - 1]\n\n let latestVersionItem: PresentationDefinitionItem | undefined = trulyLatestVersionItem\n\n // If a specific version exists and matches existingItem, we keep that as a base.\n // Otherwise we use the trulyLatestVersionItem\n if (existingItem && version) {\n latestVersionItem = trulyLatestVersionItem ?? existingItem\n }\n\n const isPayloadModified = !existingItem || !isPresentationDefinitionEqual(existingItem, definitionItem)\n if (!isPayloadModified) return existingItem\n\n switch (versionControlMode) {\n case 'Overwrite':\n return this.handleOverwriteMode(existingItem, nonPersistedDefinitionItem, version)\n case 'OverwriteLatest':\n return this.handleOverwriteLatestMode(latestVersionItem, nonPersistedDefinitionItem)\n case 'Manual':\n return this.handleManualMode(existingItem, nonPersistedDefinitionItem, tenantId, version)\n case 'AutoIncrement':\n return this.handleAutoIncrementMode(latestVersionItem, nonPersistedDefinitionItem, versionIncrementReleaseType ?? 'major')\n default:\n throw new Error(`Unknown version control mode: ${versionControlMode}`)\n }\n }\n\n private async handleOverwriteMode(\n existingItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n version: string | undefined,\n ): Promise<PresentationDefinitionItem> {\n if (existingItem) {\n existingItem.definitionId = definitionItem.definitionId\n existingItem.version = version ?? existingItem.version ?? '1'\n existingItem.tenantId = definitionItem.tenantId\n existingItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name\n existingItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose\n existingItem.dcqlQuery = definitionItem.dcqlQuery\n existingItem.definitionPayload = definitionItem.definitionPayload\n\n return await this.store.updateDefinition(existingItem)\n } else {\n // Apply the same field extraction logic for new items\n const newDefinitionItem = {\n ...definitionItem,\n name: definitionItem.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose,\n }\n return await this.store.addDefinition(newDefinitionItem)\n }\n }\n\n private async handleOverwriteLatestMode(\n latestVersionItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n ): Promise<PresentationDefinitionItem> {\n if (latestVersionItem) {\n latestVersionItem.definitionId = definitionItem.definitionId\n latestVersionItem.tenantId = definitionItem.tenantId\n latestVersionItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name\n latestVersionItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose\n latestVersionItem.definitionPayload = definitionItem.definitionPayload\n latestVersionItem.dcqlQuery = definitionItem.dcqlQuery\n\n return await this.store.updateDefinition(latestVersionItem)\n } else {\n // Apply the same field extraction logic for new items\n const newDefinitionItem = {\n ...definitionItem,\n name: definitionItem.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose,\n }\n return await this.store.addDefinition(newDefinitionItem)\n }\n }\n\n private async handleManualMode(\n existingItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n tenantId: string | undefined,\n version: string | undefined,\n ): Promise<PresentationDefinitionItem> {\n if (existingItem && !isPresentationDefinitionEqual(existingItem, definitionItem)) {\n throw Error(\n `Cannot update definition ${definitionItem.definitionId} for tenant ${tenantId} version ${version} because definition exists and manual version control is enabled.`,\n )\n } else {\n return await this.store.addDefinition(definitionItem)\n }\n }\n\n private async handleAutoIncrementMode(\n latestVersionItem: PresentationDefinitionItem | undefined,\n definitionItem: NonPersistedPresentationDefinitionItem,\n releaseType: ReleaseType,\n ): Promise<PresentationDefinitionItem> {\n const defaultVersion = '1'\n let currentVersion = latestVersionItem?.version ?? definitionItem.version ?? defaultVersion\n let resultVersion: string\n\n if (!latestVersionItem) {\n resultVersion = currentVersion\n } else {\n let [baseVersion, preReleaseSuffix] = currentVersion.split(/-(.+)/)\n\n // Normalize the base version to at least 'major.minor.patch', that's what semver needs as input\n let normalizedBaseVersion = semver.coerce(baseVersion)?.version ?? `${defaultVersion}.0.0`\n let preReleaseIdentifier = preReleaseSuffix ? preReleaseSuffix.match(/^[a-zA-Z]+/)?.[0] : undefined\n let fullVersionToIncrement = preReleaseIdentifier ? `${normalizedBaseVersion}-${preReleaseSuffix}` : normalizedBaseVersion\n\n // Use semver to increment the version\n let incrementedVersion = semver.inc(fullVersionToIncrement, releaseType, undefined, preReleaseIdentifier)\n if (!incrementedVersion) {\n throw new Error(`Could not increment ${releaseType} version on ${currentVersion} ${preReleaseSuffix}`)\n }\n\n // Extract new base version to match the original input format\n let [incrementedBaseVersion, incrementedSuffix] = incrementedVersion.split(/-(.+)/)\n let originalParts = baseVersion.split('.')\n let newParts = incrementedBaseVersion.split('.')\n while (newParts.length > originalParts.length) {\n newParts.pop() // Reduce to original length by removing extra .0s\n }\n resultVersion = newParts.join('.')\n if (incrementedSuffix) {\n resultVersion += `-${incrementedSuffix}`\n }\n }\n\n // Apply field extraction logic before adding\n const newDefinitionItem = {\n ...definitionItem,\n version: resultVersion,\n name: definitionItem.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose,\n }\n\n return await this.store.addDefinition(newDefinitionItem)\n }\n private normalizeToSemverVersionFormat(version: string): string {\n const defaultVersion = '1.0.0'\n let [baseVersion, preReleaseSuffix] = version.split(/-(.+)/)\n\n // Normalize the base version to at least 'major.minor.patch', that's what semver needs as input\n let normalizedBaseVersion = semver.coerce(baseVersion)?.version ?? defaultVersion\n if (preReleaseSuffix) {\n normalizedBaseVersion += `-${preReleaseSuffix}`\n }\n\n return normalizedBaseVersion\n }\n}\n","/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\nexport { PDManager, pdManagerMethods } from './agent/PDManager'\nexport * from './types/IPDManager'\n\nexport type { ReleaseType } from 'semver'\nexport type { DcqlQueryImportItem } from '@sphereon/ssi-sdk.data-store'\n"],"mappings":"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","names":["isPresentationDefinitionEqual","semver","pdManagerMethods","PDManager","schema","IPDManager","methods","pdmPersistDefinition","bind","pdmHasDefinition","pdmHasDefinitions","pdmGetDefinition","pdmGetDefinitions","pdmDeleteDefinition","pdmDeleteDefinitions","store","options","args","itemId","hasDefinition","filter","hasDefinitions","getDefinition","opts","allDefinitions","getDefinitions","definitions","undefined","showVersionHistory","groupedByDefinitionId","reduce","acc","entity","definitionId","push","Object","values","map","entities","highestVersionItem","baseItem","baseVersion","normalizeToSemverVersionFormat","version","highestVersion","semver","gt","deleteDefinition","then","value","deleteDefinitions","definitionItem","versionControlMode","versionIncrementReleaseType","tenantId","id","nonPersistedDefinitionItem","existing","existingItem","sort","a","b","compare","trulyLatestVersionItem","length","latestVersionItem","isPayloadModified","isPresentationDefinitionEqual","handleOverwriteMode","handleOverwriteLatestMode","handleManualMode","handleAutoIncrementMode","Error","name","definitionPayload","purpose","dcqlQuery","updateDefinition","newDefinitionItem","addDefinition","releaseType","defaultVersion","currentVersion","resultVersion","preReleaseSuffix","split","normalizedBaseVersion","coerce","preReleaseIdentifier","match","fullVersionToIncrement","incrementedVersion","inc","incrementedBaseVersion","incrementedSuffix","originalParts","newParts","pop","join","schema","require"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.pd-manager",
3
- "version": "0.34.1-feature.SSISDK.50.98+48bdc676",
3
+ "version": "0.34.1-feature.SSISDK.50.type.refactor.142+de2d8d54",
4
4
  "source": "src/index.ts",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -29,15 +29,16 @@
29
29
  "dependencies": {
30
30
  "@sphereon/pex": "5.0.0-unstable.28",
31
31
  "@sphereon/pex-models": "^2.3.2",
32
- "@sphereon/ssi-sdk.data-store": "0.34.1-feature.SSISDK.50.98+48bdc676",
33
- "@sphereon/ssi-types": "0.34.1-feature.SSISDK.50.98+48bdc676",
32
+ "@sphereon/ssi-sdk.data-store": "0.34.1-feature.SSISDK.50.type.refactor.142+de2d8d54",
33
+ "@sphereon/ssi-types": "0.34.1-feature.SSISDK.50.type.refactor.142+de2d8d54",
34
34
  "cross-fetch": "^4.1.0",
35
+ "dcql": "1.0.1",
35
36
  "debug": "^4.3.5",
36
37
  "semver": "^7.6.3",
37
38
  "typeorm": "0.3.20"
38
39
  },
39
40
  "devDependencies": {
40
- "@sphereon/ssi-sdk.agent-config": "0.34.1-feature.SSISDK.50.98+48bdc676",
41
+ "@sphereon/ssi-sdk.agent-config": "0.34.1-feature.SSISDK.50.type.refactor.142+de2d8d54",
41
42
  "@types/semver": "^7.5.8",
42
43
  "@veramo/remote-client": "4.2.0",
43
44
  "@veramo/remote-server": "4.2.0"
@@ -63,5 +64,5 @@
63
64
  "Presentation Defintion Manager",
64
65
  "PD Manager"
65
66
  ],
66
- "gitHead": "48bdc676bed10bd17c66ed7dfdbd401c54925cbb"
67
+ "gitHead": "de2d8d5432490eb88e3f081d2838f8e9164c59ac"
67
68
  }
@@ -169,12 +169,18 @@ export class PDManager implements IAgentPlugin {
169
169
  existingItem.tenantId = definitionItem.tenantId
170
170
  existingItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name
171
171
  existingItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose
172
- existingItem.dcqlPayload = definitionItem.dcqlPayload
172
+ existingItem.dcqlQuery = definitionItem.dcqlQuery
173
173
  existingItem.definitionPayload = definitionItem.definitionPayload
174
174
 
175
175
  return await this.store.updateDefinition(existingItem)
176
176
  } else {
177
- return await this.store.addDefinition(definitionItem)
177
+ // Apply the same field extraction logic for new items
178
+ const newDefinitionItem = {
179
+ ...definitionItem,
180
+ name: definitionItem.name ?? definitionItem.definitionPayload?.name,
181
+ purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose,
182
+ }
183
+ return await this.store.addDefinition(newDefinitionItem)
178
184
  }
179
185
  }
180
186
 
@@ -185,14 +191,20 @@ export class PDManager implements IAgentPlugin {
185
191
  if (latestVersionItem) {
186
192
  latestVersionItem.definitionId = definitionItem.definitionId
187
193
  latestVersionItem.tenantId = definitionItem.tenantId
188
- latestVersionItem.name = definitionItem.name
189
- latestVersionItem.purpose = definitionItem.purpose
194
+ latestVersionItem.name = definitionItem.definitionPayload?.name ?? definitionItem.name
195
+ latestVersionItem.purpose = definitionItem.definitionPayload?.purpose ?? definitionItem.purpose
190
196
  latestVersionItem.definitionPayload = definitionItem.definitionPayload
191
- latestVersionItem.dcqlPayload = definitionItem.dcqlPayload
197
+ latestVersionItem.dcqlQuery = definitionItem.dcqlQuery
192
198
 
193
199
  return await this.store.updateDefinition(latestVersionItem)
194
200
  } else {
195
- return await this.store.addDefinition(definitionItem)
201
+ // Apply the same field extraction logic for new items
202
+ const newDefinitionItem = {
203
+ ...definitionItem,
204
+ name: definitionItem.name ?? definitionItem.definitionPayload?.name,
205
+ purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose,
206
+ }
207
+ return await this.store.addDefinition(newDefinitionItem)
196
208
  }
197
209
  }
198
210
 
@@ -231,7 +243,7 @@ export class PDManager implements IAgentPlugin {
231
243
  let fullVersionToIncrement = preReleaseIdentifier ? `${normalizedBaseVersion}-${preReleaseSuffix}` : normalizedBaseVersion
232
244
 
233
245
  // Use semver to increment the version
234
- let incrementedVersion = semver.inc(fullVersionToIncrement, releaseType, preReleaseIdentifier)
246
+ let incrementedVersion = semver.inc(fullVersionToIncrement, releaseType, undefined, preReleaseIdentifier)
235
247
  if (!incrementedVersion) {
236
248
  throw new Error(`Could not increment ${releaseType} version on ${currentVersion} ${preReleaseSuffix}`)
237
249
  }
@@ -249,10 +261,16 @@ export class PDManager implements IAgentPlugin {
249
261
  }
250
262
  }
251
263
 
252
- definitionItem.version = resultVersion
253
- return await this.store.addDefinition(definitionItem)
254
- }
264
+ // Apply field extraction logic before adding
265
+ const newDefinitionItem = {
266
+ ...definitionItem,
267
+ version: resultVersion,
268
+ name: definitionItem.name ?? definitionItem.definitionPayload?.name,
269
+ purpose: definitionItem.purpose ?? definitionItem.definitionPayload?.purpose,
270
+ }
255
271
 
272
+ return await this.store.addDefinition(newDefinitionItem)
273
+ }
256
274
  private normalizeToSemverVersionFormat(version: string): string {
257
275
  const defaultVersion = '1.0.0'
258
276
  let [baseVersion, preReleaseSuffix] = version.split(/-(.+)/)
package/src/index.ts CHANGED
@@ -7,3 +7,4 @@ export { PDManager, pdManagerMethods } from './agent/PDManager'
7
7
  export * from './types/IPDManager'
8
8
 
9
9
  export type { ReleaseType } from 'semver'
10
+ export type { DcqlQueryImportItem } from '@sphereon/ssi-sdk.data-store'