@sphereon/ssi-sdk.pd-manager 0.32.1-next.13 → 0.32.1-next.145

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.
@@ -1 +1 @@
1
- {"version":3,"file":"PDManager.d.ts","sourceRoot":"","sources":["../../src/agent/PDManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAOL,UAAU,EAGX,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,eAAe,EAIhB,MAAM,8BAA8B,CAAA;AAKrC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAQ1C,CAAA;AAED;;GAEG;AACH,qBAAa,SAAU,YAAW,YAAY;IAC5C,QAAQ,CAAC,MAAM,MAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAQ3B;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;gBAE3B,OAAO,EAAE;QAAE,KAAK,EAAE,eAAe,CAAA;KAAE;IAI/C,gDAAgD;YAClC,gBAAgB;IAK9B,iDAAiD;YACnC,iBAAiB;IAK/B,gDAAgD;YAClC,gBAAgB;IAK9B,iDAAiD;YACnC,iBAAiB;IA4B/B,mDAAmD;YACrC,mBAAmB;IAIjC,oDAAoD;YACtC,oBAAoB;IAIlC,oDAAoD;YACtC,oBAAoB;YA2CpB,mBAAmB;YAmBnB,yBAAyB;YAiBzB,gBAAgB;YAehB,uBAAuB;IA0CrC,OAAO,CAAC,8BAA8B;CAYvC"}
1
+ {"version":3,"file":"PDManager.d.ts","sourceRoot":"","sources":["../../src/agent/PDManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAOL,UAAU,EAGX,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,eAAe,EAIhB,MAAM,8BAA8B,CAAA;AAKrC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAQ1C,CAAA;AAED;;GAEG;AACH,qBAAa,SAAU,YAAW,YAAY;IAC5C,QAAQ,CAAC,MAAM,MAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAQ3B;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;gBAE3B,OAAO,EAAE;QAAE,KAAK,EAAE,eAAe,CAAA;KAAE;IAI/C,gDAAgD;YAClC,gBAAgB;IAK9B,iDAAiD;YACnC,iBAAiB;IAK/B,gDAAgD;YAClC,gBAAgB;IAK9B,iDAAiD;YACnC,iBAAiB;IA4B/B,mDAAmD;YACrC,mBAAmB;IAIjC,oDAAoD;YACtC,oBAAoB;IAIlC,oDAAoD;YACtC,oBAAoB;YAkDpB,mBAAmB;YAmBnB,yBAAyB;YAiBzB,gBAAgB;YAehB,uBAAuB;IA0CrC,OAAO,CAAC,8BAA8B;CAYvC"}
@@ -105,7 +105,7 @@ class PDManager {
105
105
  /** {@inheritDoc IPDManager.pdmPersistDefinition} */
106
106
  pdmPersistDefinition(args) {
107
107
  return __awaiter(this, void 0, void 0, function* () {
108
- var _a, _b;
108
+ var _a;
109
109
  const { definitionItem, opts } = args;
110
110
  const { versionControlMode, versionIncrementReleaseType } = opts !== null && opts !== void 0 ? opts : { versionControlMode: 'AutoIncrement' };
111
111
  const { version, tenantId } = definitionItem;
@@ -117,10 +117,15 @@ class PDManager {
117
117
  const nonPersistedDefinitionItem = Object.assign(Object.assign({}, definitionItem), { definitionId: definitionId, version: version !== null && version !== void 0 ? version : '1' });
118
118
  const existing = yield this.store.getDefinitions({ filter: [{ id, definitionId, tenantId, version }] });
119
119
  const existingItem = existing[0];
120
- let latestVersionItem = existingItem;
120
+ // Always fetch all definitions for the definitionId/tenantId and determine the truly latest version
121
+ const allDefinitions = yield this.store.getDefinitions({ filter: [{ definitionId, tenantId }] });
122
+ allDefinitions.sort((a, b) => preload_1.default.compare(this.normalizeToSemverVersionFormat(a.version), this.normalizeToSemverVersionFormat(b.version)));
123
+ const trulyLatestVersionItem = allDefinitions[allDefinitions.length - 1];
124
+ let latestVersionItem = trulyLatestVersionItem;
125
+ // If a specific version exists and matches existingItem, we keep that as a base.
126
+ // Otherwise we use the trulyLatestVersionItem
121
127
  if (existingItem && version) {
122
- const latest = yield this.store.getDefinitions({ filter: [{ id, definitionId, tenantId }] });
123
- latestVersionItem = (_b = latest[0]) !== null && _b !== void 0 ? _b : existingItem;
128
+ latestVersionItem = trulyLatestVersionItem !== null && trulyLatestVersionItem !== void 0 ? trulyLatestVersionItem : existingItem;
124
129
  }
125
130
  const isPayloadModified = !existingItem || !(0, ssi_sdk_data_store_1.isPresentationDefinitionEqual)(existingItem, definitionItem);
126
131
  if (!isPayloadModified)
@@ -1 +1 @@
1
- {"version":3,"file":"PDManager.js","sourceRoot":"","sources":["../../src/agent/PDManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PDManager.js","sourceRoot":"","sources":["../../src/agent/PDManager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.pd-manager",
3
- "version": "0.32.1-next.13+886ea5b6",
3
+ "version": "0.32.1-next.145+1d1de14c",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,14 +17,14 @@
17
17
  "dependencies": {
18
18
  "@sphereon/pex": "5.0.0-unstable.28",
19
19
  "@sphereon/pex-models": "^2.3.2",
20
- "@sphereon/ssi-sdk.data-store": "0.32.1-next.13+886ea5b6",
20
+ "@sphereon/ssi-sdk.data-store": "0.32.1-next.145+1d1de14c",
21
21
  "cross-fetch": "^3.1.8",
22
22
  "debug": "^4.3.5",
23
23
  "semver": "^7.6.3",
24
24
  "typeorm": "^0.3.20"
25
25
  },
26
26
  "devDependencies": {
27
- "@sphereon/ssi-sdk.agent-config": "0.32.1-next.13+886ea5b6",
27
+ "@sphereon/ssi-sdk.agent-config": "0.32.1-next.145+1d1de14c",
28
28
  "@types/semver": "^7.5.8",
29
29
  "@veramo/remote-client": "4.2.0",
30
30
  "@veramo/remote-server": "4.2.0"
@@ -51,5 +51,5 @@
51
51
  "PD Manager"
52
52
  ],
53
53
  "nx": {},
54
- "gitHead": "886ea5b60c8ca5709ada1b053ee3baf5363861d9"
54
+ "gitHead": "1d1de14cc4240fac80d3cc765026f719f3067357"
55
55
  }
@@ -107,6 +107,9 @@
107
107
  "definitionPayload": {
108
108
  "$ref": "#/components/schemas/IPresentationDefinition"
109
109
  },
110
+ "dcqlPayload": {
111
+ "$ref": "#/components/schemas/DcqlQueryREST"
112
+ },
110
113
  "createdAt": {
111
114
  "type": "string",
112
115
  "format": "date-time"
@@ -829,6 +832,94 @@
829
832
  }
830
833
  }
831
834
  },
835
+ "DcqlQueryREST": {
836
+ "type": "object",
837
+ "properties": {
838
+ "credentials": {
839
+ "type": "array",
840
+ "items": {
841
+ "$ref": "#/components/schemas/DcqlCredentialQuery"
842
+ }
843
+ }
844
+ },
845
+ "required": [
846
+ "credentials"
847
+ ]
848
+ },
849
+ "DcqlCredentialQuery": {
850
+ "type": "object",
851
+ "properties": {
852
+ "id": {
853
+ "type": "string"
854
+ },
855
+ "format": {
856
+ "type": "string"
857
+ },
858
+ "alg": {
859
+ "type": "array",
860
+ "items": {
861
+ "type": "string"
862
+ }
863
+ },
864
+ "claims": {
865
+ "type": "array",
866
+ "items": {
867
+ "$ref": "#/components/schemas/DcqlClaim"
868
+ }
869
+ },
870
+ "meta": {
871
+ "type": "object"
872
+ }
873
+ },
874
+ "required": [
875
+ "id",
876
+ "format",
877
+ "claims"
878
+ ]
879
+ },
880
+ "DcqlClaim": {
881
+ "type": "object",
882
+ "properties": {
883
+ "namespace": {
884
+ "type": "string"
885
+ },
886
+ "claim_name": {
887
+ "type": "string"
888
+ },
889
+ "filter": {
890
+ "$ref": "#/components/schemas/DcqlFilter"
891
+ }
892
+ },
893
+ "required": [
894
+ "namespace",
895
+ "claim_name"
896
+ ]
897
+ },
898
+ "DcqlFilter": {
899
+ "type": "object",
900
+ "properties": {
901
+ "type": {
902
+ "type": "string",
903
+ "enum": [
904
+ "string",
905
+ "number",
906
+ "boolean"
907
+ ]
908
+ },
909
+ "pattern": {
910
+ "type": "string"
911
+ },
912
+ "minimum": {
913
+ "type": "number"
914
+ },
915
+ "maximum": {
916
+ "type": "number"
917
+ }
918
+ },
919
+ "required": [
920
+ "type"
921
+ ]
922
+ },
832
923
  "HasDefinitionItemArgs": {
833
924
  "$ref": "#/components/schemas/GetDefinitionItemArgs"
834
925
  },
@@ -872,6 +963,9 @@
872
963
  },
873
964
  "definitionPayload": {
874
965
  "$ref": "#/components/schemas/IPresentationDefinition"
966
+ },
967
+ "dcqlPayload": {
968
+ "$ref": "#/components/schemas/DcqlQueryREST"
875
969
  }
876
970
  },
877
971
  "required": [
@@ -128,11 +128,18 @@ export class PDManager implements IAgentPlugin {
128
128
 
129
129
  const existing = await this.store.getDefinitions({ filter: [{ id, definitionId, tenantId, version }] })
130
130
  const existingItem = existing[0]
131
- let latestVersionItem: PresentationDefinitionItem | undefined = existingItem
132
131
 
132
+ // Always fetch all definitions for the definitionId/tenantId and determine the truly latest version
133
+ const allDefinitions = await this.store.getDefinitions({ filter: [{ definitionId, tenantId }] })
134
+ allDefinitions.sort((a, b) => semver.compare(this.normalizeToSemverVersionFormat(a.version), this.normalizeToSemverVersionFormat(b.version)))
135
+ const trulyLatestVersionItem = allDefinitions[allDefinitions.length - 1]
136
+
137
+ let latestVersionItem: PresentationDefinitionItem | undefined = trulyLatestVersionItem
138
+
139
+ // If a specific version exists and matches existingItem, we keep that as a base.
140
+ // Otherwise we use the trulyLatestVersionItem
133
141
  if (existingItem && version) {
134
- const latest = await this.store.getDefinitions({ filter: [{ id, definitionId, tenantId }] })
135
- latestVersionItem = latest[0] ?? existingItem
142
+ latestVersionItem = trulyLatestVersionItem ?? existingItem
136
143
  }
137
144
 
138
145
  const isPayloadModified = !existingItem || !isPresentationDefinitionEqual(existingItem, definitionItem)