@sphereon/ssi-sdk.pd-manager 0.34.1-fix.117 → 0.34.1-fix.141
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 +26 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.js +26 -10
- package/dist/index.js.map +1 -1
- package/package.json +6 -4
- package/src/agent/PDManager.ts +30 -11
- package/src/types/IPDManager.ts +1 -2
package/dist/index.cjs
CHANGED
|
@@ -1164,14 +1164,13 @@ var PDManager = class {
|
|
|
1164
1164
|
versionControlMode: "AutoIncrement"
|
|
1165
1165
|
};
|
|
1166
1166
|
const { version, tenantId } = definitionItem;
|
|
1167
|
-
const definitionId = definitionItem.definitionId
|
|
1167
|
+
const definitionId = definitionItem.definitionId;
|
|
1168
1168
|
let { id } = definitionItem;
|
|
1169
1169
|
if (id !== void 0 && versionControlMode !== "Overwrite") {
|
|
1170
1170
|
id = void 0;
|
|
1171
1171
|
}
|
|
1172
1172
|
const nonPersistedDefinitionItem = {
|
|
1173
1173
|
...definitionItem,
|
|
1174
|
-
definitionId,
|
|
1175
1174
|
version: version ?? "1"
|
|
1176
1175
|
};
|
|
1177
1176
|
const existing = await this.store.getDefinitions({
|
|
@@ -1219,24 +1218,36 @@ var PDManager = class {
|
|
|
1219
1218
|
existingItem.definitionId = definitionItem.definitionId;
|
|
1220
1219
|
existingItem.version = version ?? existingItem.version ?? "1";
|
|
1221
1220
|
existingItem.tenantId = definitionItem.tenantId;
|
|
1222
|
-
existingItem.name = definitionItem.definitionPayload
|
|
1223
|
-
existingItem.purpose = definitionItem.definitionPayload
|
|
1221
|
+
existingItem.name = definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name ?? definitionItem.name;
|
|
1222
|
+
existingItem.purpose = definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose ?? definitionItem.purpose;
|
|
1223
|
+
existingItem.dcqlPayload = definitionItem.dcqlPayload;
|
|
1224
1224
|
existingItem.definitionPayload = definitionItem.definitionPayload;
|
|
1225
1225
|
return await this.store.updateDefinition(existingItem);
|
|
1226
1226
|
} else {
|
|
1227
|
-
|
|
1227
|
+
const newDefinitionItem = {
|
|
1228
|
+
...definitionItem,
|
|
1229
|
+
name: definitionItem.name ?? definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,
|
|
1230
|
+
purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? 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.dcqlPayload?.name ?? definitionItem.definitionPayload?.name ?? definitionItem.name;
|
|
1240
|
+
latestVersionItem.purpose = definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose ?? definitionItem.purpose;
|
|
1236
1241
|
latestVersionItem.definitionPayload = definitionItem.definitionPayload;
|
|
1242
|
+
latestVersionItem.dcqlPayload = definitionItem.dcqlPayload;
|
|
1237
1243
|
return await this.store.updateDefinition(latestVersionItem);
|
|
1238
1244
|
} else {
|
|
1239
|
-
|
|
1245
|
+
const newDefinitionItem = {
|
|
1246
|
+
...definitionItem,
|
|
1247
|
+
name: definitionItem.name ?? definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,
|
|
1248
|
+
purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose
|
|
1249
|
+
};
|
|
1250
|
+
return await this.store.addDefinition(newDefinitionItem);
|
|
1240
1251
|
}
|
|
1241
1252
|
}
|
|
1242
1253
|
async handleManualMode(existingItem, definitionItem, tenantId, version) {
|
|
@@ -1272,8 +1283,13 @@ var PDManager = class {
|
|
|
1272
1283
|
resultVersion += `-${incrementedSuffix}`;
|
|
1273
1284
|
}
|
|
1274
1285
|
}
|
|
1275
|
-
|
|
1276
|
-
|
|
1286
|
+
const newDefinitionItem = {
|
|
1287
|
+
...definitionItem,
|
|
1288
|
+
version: resultVersion,
|
|
1289
|
+
name: definitionItem.name ?? definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,
|
|
1290
|
+
purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose
|
|
1291
|
+
};
|
|
1292
|
+
return await this.store.addDefinition(newDefinitionItem);
|
|
1277
1293
|
}
|
|
1278
1294
|
normalizeToSemverVersionFormat(version) {
|
|
1279
1295
|
const defaultVersion = "1.0.0";
|
package/dist/index.cjs.map
CHANGED
|
@@ -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 ?? definitionItem.definitionPayload.id\n\n let { id } = definitionItem\n if (id !== undefined && versionControlMode !== 'Overwrite') {\n id = undefined\n }\n\n const nonPersistedDefinitionItem: NonPersistedPresentationDefinitionItem = {\n ...definitionItem,\n definitionId: definitionId,\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.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\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, 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 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":"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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","definitionPayload","id","nonPersistedDefinitionItem","existing","existingItem","sort","a","b","compare","trulyLatestVersionItem","length","latestVersionItem","isPayloadModified","isPresentationDefinitionEqual","handleOverwriteMode","handleOverwriteLatestMode","handleManualMode","handleAutoIncrementMode","Error","name","purpose","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'\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.dcqlPayload?.name ?? definitionItem.definitionPayload?.name ?? definitionItem.name\n existingItem.purpose = definitionItem.dcqlPayload?.defaultPurpose ?? 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 // Apply the same field extraction logic for new items\n const newDefinitionItem = {\n ...definitionItem,\n name: definitionItem.name ?? definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? 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.dcqlPayload?.name ?? definitionItem.definitionPayload?.name ?? definitionItem.name\n latestVersionItem.purpose = definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose ?? definitionItem.purpose\n latestVersionItem.definitionPayload = definitionItem.definitionPayload\n latestVersionItem.dcqlPayload = definitionItem.dcqlPayload\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.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? 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.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? 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","dcqlPayload","definitionPayload","purpose","defaultPurpose","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
|
@@ -90,9 +90,8 @@ type DeleteDefinitionItemArgs = {
|
|
|
90
90
|
itemId: string;
|
|
91
91
|
};
|
|
92
92
|
type DeleteDefinitionItemsArgs = GetDefinitionItemsArgs;
|
|
93
|
-
type PersistPresentationDefinitionItem = Omit<NonPersistedPresentationDefinitionItem, '
|
|
93
|
+
type PersistPresentationDefinitionItem = Omit<NonPersistedPresentationDefinitionItem, 'version'> & {
|
|
94
94
|
id?: string;
|
|
95
|
-
definitionId?: string;
|
|
96
95
|
version?: string;
|
|
97
96
|
};
|
|
98
97
|
type PersistOptions = {
|
package/dist/index.d.ts
CHANGED
|
@@ -90,9 +90,8 @@ type DeleteDefinitionItemArgs = {
|
|
|
90
90
|
itemId: string;
|
|
91
91
|
};
|
|
92
92
|
type DeleteDefinitionItemsArgs = GetDefinitionItemsArgs;
|
|
93
|
-
type PersistPresentationDefinitionItem = Omit<NonPersistedPresentationDefinitionItem, '
|
|
93
|
+
type PersistPresentationDefinitionItem = Omit<NonPersistedPresentationDefinitionItem, 'version'> & {
|
|
94
94
|
id?: string;
|
|
95
|
-
definitionId?: string;
|
|
96
95
|
version?: string;
|
|
97
96
|
};
|
|
98
97
|
type PersistOptions = {
|
package/dist/index.js
CHANGED
|
@@ -1129,14 +1129,13 @@ var PDManager = class {
|
|
|
1129
1129
|
versionControlMode: "AutoIncrement"
|
|
1130
1130
|
};
|
|
1131
1131
|
const { version, tenantId } = definitionItem;
|
|
1132
|
-
const definitionId = definitionItem.definitionId
|
|
1132
|
+
const definitionId = definitionItem.definitionId;
|
|
1133
1133
|
let { id } = definitionItem;
|
|
1134
1134
|
if (id !== void 0 && versionControlMode !== "Overwrite") {
|
|
1135
1135
|
id = void 0;
|
|
1136
1136
|
}
|
|
1137
1137
|
const nonPersistedDefinitionItem = {
|
|
1138
1138
|
...definitionItem,
|
|
1139
|
-
definitionId,
|
|
1140
1139
|
version: version ?? "1"
|
|
1141
1140
|
};
|
|
1142
1141
|
const existing = await this.store.getDefinitions({
|
|
@@ -1184,24 +1183,36 @@ var PDManager = class {
|
|
|
1184
1183
|
existingItem.definitionId = definitionItem.definitionId;
|
|
1185
1184
|
existingItem.version = version ?? existingItem.version ?? "1";
|
|
1186
1185
|
existingItem.tenantId = definitionItem.tenantId;
|
|
1187
|
-
existingItem.name = definitionItem.definitionPayload
|
|
1188
|
-
existingItem.purpose = definitionItem.definitionPayload
|
|
1186
|
+
existingItem.name = definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name ?? definitionItem.name;
|
|
1187
|
+
existingItem.purpose = definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose ?? definitionItem.purpose;
|
|
1188
|
+
existingItem.dcqlPayload = definitionItem.dcqlPayload;
|
|
1189
1189
|
existingItem.definitionPayload = definitionItem.definitionPayload;
|
|
1190
1190
|
return await this.store.updateDefinition(existingItem);
|
|
1191
1191
|
} else {
|
|
1192
|
-
|
|
1192
|
+
const newDefinitionItem = {
|
|
1193
|
+
...definitionItem,
|
|
1194
|
+
name: definitionItem.name ?? definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,
|
|
1195
|
+
purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? 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.dcqlPayload?.name ?? definitionItem.definitionPayload?.name ?? definitionItem.name;
|
|
1205
|
+
latestVersionItem.purpose = definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose ?? definitionItem.purpose;
|
|
1201
1206
|
latestVersionItem.definitionPayload = definitionItem.definitionPayload;
|
|
1207
|
+
latestVersionItem.dcqlPayload = definitionItem.dcqlPayload;
|
|
1202
1208
|
return await this.store.updateDefinition(latestVersionItem);
|
|
1203
1209
|
} else {
|
|
1204
|
-
|
|
1210
|
+
const newDefinitionItem = {
|
|
1211
|
+
...definitionItem,
|
|
1212
|
+
name: definitionItem.name ?? definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,
|
|
1213
|
+
purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose
|
|
1214
|
+
};
|
|
1215
|
+
return await this.store.addDefinition(newDefinitionItem);
|
|
1205
1216
|
}
|
|
1206
1217
|
}
|
|
1207
1218
|
async handleManualMode(existingItem, definitionItem, tenantId, version) {
|
|
@@ -1237,8 +1248,13 @@ var PDManager = class {
|
|
|
1237
1248
|
resultVersion += `-${incrementedSuffix}`;
|
|
1238
1249
|
}
|
|
1239
1250
|
}
|
|
1240
|
-
|
|
1241
|
-
|
|
1251
|
+
const newDefinitionItem = {
|
|
1252
|
+
...definitionItem,
|
|
1253
|
+
version: resultVersion,
|
|
1254
|
+
name: definitionItem.name ?? definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,
|
|
1255
|
+
purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose
|
|
1256
|
+
};
|
|
1257
|
+
return await this.store.addDefinition(newDefinitionItem);
|
|
1242
1258
|
}
|
|
1243
1259
|
normalizeToSemverVersionFormat(version) {
|
|
1244
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 ?? definitionItem.definitionPayload.id\n\n let { id } = definitionItem\n if (id !== undefined && versionControlMode !== 'Overwrite') {\n id = undefined\n }\n\n const nonPersistedDefinitionItem: NonPersistedPresentationDefinitionItem = {\n ...definitionItem,\n definitionId: definitionId,\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.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\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, 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 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","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","definitionPayload","id","nonPersistedDefinitionItem","existing","existingItem","sort","a","b","compare","trulyLatestVersionItem","length","latestVersionItem","isPayloadModified","isPresentationDefinitionEqual","handleOverwriteMode","handleOverwriteLatestMode","handleManualMode","handleAutoIncrementMode","Error","name","purpose","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.dcqlPayload?.name ?? definitionItem.definitionPayload?.name ?? definitionItem.name\n existingItem.purpose = definitionItem.dcqlPayload?.defaultPurpose ?? 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 // Apply the same field extraction logic for new items\n const newDefinitionItem = {\n ...definitionItem,\n name: definitionItem.name ?? definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? 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.dcqlPayload?.name ?? definitionItem.definitionPayload?.name ?? definitionItem.name\n latestVersionItem.purpose = definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose ?? definitionItem.purpose\n latestVersionItem.definitionPayload = definitionItem.definitionPayload\n latestVersionItem.dcqlPayload = definitionItem.dcqlPayload\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.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? 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.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,\n purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? 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'\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","dcqlPayload","definitionPayload","purpose","defaultPurpose","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-fix.
|
|
3
|
+
"version": "0.34.1-fix.141+ea643e42",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -29,14 +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-fix.
|
|
32
|
+
"@sphereon/ssi-sdk.data-store": "0.34.1-fix.141+ea643e42",
|
|
33
|
+
"@sphereon/ssi-types": "0.34.1-fix.141+ea643e42",
|
|
33
34
|
"cross-fetch": "^4.1.0",
|
|
35
|
+
"dcql": "1.0.1",
|
|
34
36
|
"debug": "^4.3.5",
|
|
35
37
|
"semver": "^7.6.3",
|
|
36
38
|
"typeorm": "0.3.20"
|
|
37
39
|
},
|
|
38
40
|
"devDependencies": {
|
|
39
|
-
"@sphereon/ssi-sdk.agent-config": "0.34.1-fix.
|
|
41
|
+
"@sphereon/ssi-sdk.agent-config": "0.34.1-fix.141+ea643e42",
|
|
40
42
|
"@types/semver": "^7.5.8",
|
|
41
43
|
"@veramo/remote-client": "4.2.0",
|
|
42
44
|
"@veramo/remote-server": "4.2.0"
|
|
@@ -62,5 +64,5 @@
|
|
|
62
64
|
"Presentation Defintion Manager",
|
|
63
65
|
"PD Manager"
|
|
64
66
|
],
|
|
65
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "ea643e42804501f2a323a73971465d527981123d"
|
|
66
68
|
}
|
package/src/agent/PDManager.ts
CHANGED
|
@@ -113,7 +113,7 @@ export class PDManager implements IAgentPlugin {
|
|
|
113
113
|
const { definitionItem, opts } = args
|
|
114
114
|
const { versionControlMode, versionIncrementReleaseType } = opts ?? { versionControlMode: 'AutoIncrement' }
|
|
115
115
|
const { version, tenantId } = definitionItem
|
|
116
|
-
const definitionId = definitionItem.definitionId
|
|
116
|
+
const definitionId = definitionItem.definitionId
|
|
117
117
|
|
|
118
118
|
let { id } = definitionItem
|
|
119
119
|
if (id !== undefined && versionControlMode !== 'Overwrite') {
|
|
@@ -122,7 +122,6 @@ export class PDManager implements IAgentPlugin {
|
|
|
122
122
|
|
|
123
123
|
const nonPersistedDefinitionItem: NonPersistedPresentationDefinitionItem = {
|
|
124
124
|
...definitionItem,
|
|
125
|
-
definitionId: definitionId,
|
|
126
125
|
version: version ?? '1',
|
|
127
126
|
}
|
|
128
127
|
|
|
@@ -168,13 +167,20 @@ export class PDManager implements IAgentPlugin {
|
|
|
168
167
|
existingItem.definitionId = definitionItem.definitionId
|
|
169
168
|
existingItem.version = version ?? existingItem.version ?? '1'
|
|
170
169
|
existingItem.tenantId = definitionItem.tenantId
|
|
171
|
-
existingItem.name = definitionItem.definitionPayload
|
|
172
|
-
existingItem.purpose = definitionItem.definitionPayload
|
|
170
|
+
existingItem.name = definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name ?? definitionItem.name
|
|
171
|
+
existingItem.purpose = definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose ?? definitionItem.purpose
|
|
172
|
+
existingItem.dcqlPayload = definitionItem.dcqlPayload
|
|
173
173
|
existingItem.definitionPayload = definitionItem.definitionPayload
|
|
174
174
|
|
|
175
175
|
return await this.store.updateDefinition(existingItem)
|
|
176
176
|
} else {
|
|
177
|
-
|
|
177
|
+
// Apply the same field extraction logic for new items
|
|
178
|
+
const newDefinitionItem = {
|
|
179
|
+
...definitionItem,
|
|
180
|
+
name: definitionItem.name ?? definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,
|
|
181
|
+
purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose,
|
|
182
|
+
}
|
|
183
|
+
return await this.store.addDefinition(newDefinitionItem)
|
|
178
184
|
}
|
|
179
185
|
}
|
|
180
186
|
|
|
@@ -185,13 +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.dcqlPayload?.name ?? definitionItem.definitionPayload?.name ?? definitionItem.name
|
|
195
|
+
latestVersionItem.purpose = definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose ?? definitionItem.purpose
|
|
190
196
|
latestVersionItem.definitionPayload = definitionItem.definitionPayload
|
|
197
|
+
latestVersionItem.dcqlPayload = definitionItem.dcqlPayload
|
|
191
198
|
|
|
192
199
|
return await this.store.updateDefinition(latestVersionItem)
|
|
193
200
|
} else {
|
|
194
|
-
|
|
201
|
+
// Apply the same field extraction logic for new items
|
|
202
|
+
const newDefinitionItem = {
|
|
203
|
+
...definitionItem,
|
|
204
|
+
name: definitionItem.name ?? definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,
|
|
205
|
+
purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose,
|
|
206
|
+
}
|
|
207
|
+
return await this.store.addDefinition(newDefinitionItem)
|
|
195
208
|
}
|
|
196
209
|
}
|
|
197
210
|
|
|
@@ -248,10 +261,16 @@ export class PDManager implements IAgentPlugin {
|
|
|
248
261
|
}
|
|
249
262
|
}
|
|
250
263
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
264
|
+
// Apply field extraction logic before adding
|
|
265
|
+
const newDefinitionItem = {
|
|
266
|
+
...definitionItem,
|
|
267
|
+
version: resultVersion,
|
|
268
|
+
name: definitionItem.name ?? definitionItem.dcqlPayload?.name ?? definitionItem.definitionPayload?.name,
|
|
269
|
+
purpose: definitionItem.purpose ?? definitionItem.dcqlPayload?.defaultPurpose ?? definitionItem.definitionPayload?.purpose,
|
|
270
|
+
}
|
|
254
271
|
|
|
272
|
+
return await this.store.addDefinition(newDefinitionItem)
|
|
273
|
+
}
|
|
255
274
|
private normalizeToSemverVersionFormat(version: string): string {
|
|
256
275
|
const defaultVersion = '1.0.0'
|
|
257
276
|
let [baseVersion, preReleaseSuffix] = version.split(/-(.+)/)
|
package/src/types/IPDManager.ts
CHANGED
|
@@ -72,9 +72,8 @@ export type DeleteDefinitionItemArgs = {
|
|
|
72
72
|
|
|
73
73
|
export type DeleteDefinitionItemsArgs = GetDefinitionItemsArgs
|
|
74
74
|
|
|
75
|
-
export type PersistPresentationDefinitionItem = Omit<NonPersistedPresentationDefinitionItem, '
|
|
75
|
+
export type PersistPresentationDefinitionItem = Omit<NonPersistedPresentationDefinitionItem, 'version'> & {
|
|
76
76
|
id?: string
|
|
77
|
-
definitionId?: string
|
|
78
77
|
version?: string
|
|
79
78
|
}
|
|
80
79
|
|