@eudiplo/cli 8.1.0-main.d5dca08 → 8.1.0-main.f1c8fc3

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.
@@ -9,7 +9,7 @@
9
9
  "properties": {
10
10
  "$schema": {
11
11
  "type": "string",
12
- "const": "https://eudiplo.dev/schemas/v2/PresentationConfigFile.schema.json"
12
+ "const": "https://eudiplo.dev/schemas/v3/PresentationConfigFile.schema.json"
13
13
  },
14
14
  "metadata": {
15
15
  "type": "object",
@@ -777,6 +777,725 @@
777
777
  "title": "PresentationConfigCreateDto"
778
778
  }
779
779
  }
780
+ },
781
+ {
782
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
783
+ "$id": "https://eudiplo.dev/schemas/v2/PresentationConfigFile.schema.json",
784
+ "title": "PresentationConfigFile",
785
+ "type": "object",
786
+ "properties": {
787
+ "$schema": {
788
+ "type": "string",
789
+ "const": "https://eudiplo.dev/schemas/v2/PresentationConfigFile.schema.json"
790
+ },
791
+ "metadata": {
792
+ "type": "object",
793
+ "properties": {
794
+ "generation": {
795
+ "type": "integer",
796
+ "minimum": 1,
797
+ "description": "Monotonically increasing configuration generation."
798
+ },
799
+ "ownership": {
800
+ "type": "string",
801
+ "enum": [
802
+ "unmanaged",
803
+ "file-managed"
804
+ ],
805
+ "description": "Requested ownership recorded when the document is applied."
806
+ }
807
+ },
808
+ "additionalProperties": false
809
+ },
810
+ "spec": {
811
+ "allOf": [
812
+ {
813
+ "$ref": "#/$defs/PresentationConfigCreateDto"
814
+ },
815
+ {
816
+ "type": "object",
817
+ "required": [
818
+ "id"
819
+ ],
820
+ "properties": {
821
+ "id": {
822
+ "type": "string",
823
+ "minLength": 1
824
+ }
825
+ }
826
+ }
827
+ ]
828
+ }
829
+ },
830
+ "required": [
831
+ "$schema",
832
+ "spec"
833
+ ],
834
+ "additionalProperties": false,
835
+ "$defs": {
836
+ "PresentationConfigCreateDto": {
837
+ "type": "object",
838
+ "properties": {
839
+ "id": {
840
+ "type": "string",
841
+ "minLength": 1,
842
+ "description": "Presentation configuration identifier."
843
+ },
844
+ "description": {
845
+ "description": "Optional presentation configuration description.",
846
+ "type": [
847
+ "string",
848
+ "null"
849
+ ]
850
+ },
851
+ "lifeTime": {
852
+ "description": "Presentation request lifetime in seconds.",
853
+ "type": "integer",
854
+ "minimum": 1,
855
+ "maximum": 9007199254740991
856
+ },
857
+ "skewSeconds": {
858
+ "description": "Clock skew tolerance in seconds.",
859
+ "type": "integer",
860
+ "minimum": 0,
861
+ "maximum": 9007199254740991
862
+ },
863
+ "statusCheckMode": {
864
+ "description": "Revocation/status check mode.",
865
+ "type": "string",
866
+ "enum": [
867
+ "strict",
868
+ "best_effort",
869
+ "disabled"
870
+ ]
871
+ },
872
+ "dcql_query": {
873
+ "type": "object",
874
+ "properties": {
875
+ "credentials": {
876
+ "minItems": 1,
877
+ "type": "array",
878
+ "items": {
879
+ "oneOf": [
880
+ {
881
+ "type": "object",
882
+ "properties": {
883
+ "id": {
884
+ "type": "string",
885
+ "minLength": 1,
886
+ "pattern": "^[A-Za-z0-9_-]+$",
887
+ "description": "Credential query identifier."
888
+ },
889
+ "multiple": {
890
+ "description": "Allow multiple matching credentials.",
891
+ "type": "boolean"
892
+ },
893
+ "claim_sets": {
894
+ "description": "Optional claim set constraints.",
895
+ "type": "array",
896
+ "items": {
897
+ "type": "array",
898
+ "items": {
899
+ "type": "string"
900
+ }
901
+ }
902
+ },
903
+ "trusted_authorities": {
904
+ "description": "Optional trusted authority constraints.",
905
+ "type": "array",
906
+ "items": {
907
+ "oneOf": [
908
+ {
909
+ "type": "object",
910
+ "properties": {
911
+ "type": {
912
+ "type": "string",
913
+ "const": "etsi_tl",
914
+ "description": "Trusted authority type discriminator for ETSI trust lists."
915
+ },
916
+ "values": {
917
+ "type": "array",
918
+ "items": {
919
+ "type": "object",
920
+ "properties": {
921
+ "trustListId": {
922
+ "description": "Optional trust list id reference.",
923
+ "type": "string"
924
+ },
925
+ "url": {
926
+ "description": "Optional trust list URL reference.",
927
+ "anyOf": [
928
+ {
929
+ "type": "string",
930
+ "format": "uri"
931
+ },
932
+ {
933
+ "type": "string",
934
+ "pattern": "^<TENANT_URL>(?:\\/.*)?$"
935
+ }
936
+ ]
937
+ },
938
+ "verifierKey": {
939
+ "description": "Optional verifier key material.",
940
+ "type": "object",
941
+ "propertyNames": {
942
+ "type": "string"
943
+ },
944
+ "additionalProperties": {}
945
+ },
946
+ "verifierX509Der": {
947
+ "description": "Optional verifier certificate in DER/base64 form.",
948
+ "type": "string"
949
+ }
950
+ },
951
+ "additionalProperties": false
952
+ },
953
+ "description": "Trust list references for ETSI TL verification."
954
+ }
955
+ },
956
+ "required": [
957
+ "type",
958
+ "values"
959
+ ],
960
+ "additionalProperties": false
961
+ },
962
+ {
963
+ "type": "object",
964
+ "properties": {
965
+ "type": {
966
+ "type": "string",
967
+ "const": "openid_federation",
968
+ "description": "Trusted authority type discriminator for OpenID Federation."
969
+ },
970
+ "values": {
971
+ "type": "array",
972
+ "items": {
973
+ "type": "string"
974
+ },
975
+ "description": "OpenID Federation authority identifiers."
976
+ }
977
+ },
978
+ "required": [
979
+ "type",
980
+ "values"
981
+ ],
982
+ "additionalProperties": false
983
+ }
984
+ ]
985
+ }
986
+ },
987
+ "format": {
988
+ "type": "string",
989
+ "const": "dc+sd-jwt",
990
+ "description": "Credential format discriminator."
991
+ },
992
+ "meta": {
993
+ "type": "object",
994
+ "properties": {
995
+ "vct_values": {
996
+ "minItems": 1,
997
+ "type": "array",
998
+ "items": {
999
+ "type": "string"
1000
+ },
1001
+ "description": "Accepted VCT values."
1002
+ }
1003
+ },
1004
+ "required": [
1005
+ "vct_values"
1006
+ ],
1007
+ "additionalProperties": false
1008
+ },
1009
+ "claims": {
1010
+ "description": "Optional claim-level constraints.",
1011
+ "type": "array",
1012
+ "items": {
1013
+ "type": "object",
1014
+ "properties": {
1015
+ "id": {
1016
+ "description": "Optional claim query id.",
1017
+ "type": "string"
1018
+ },
1019
+ "path": {
1020
+ "type": "array",
1021
+ "items": {
1022
+ "type": [
1023
+ "string",
1024
+ "number"
1025
+ ]
1026
+ },
1027
+ "description": "Path to the claim value in presented credentials."
1028
+ },
1029
+ "values": {
1030
+ "description": "Optional allowed values for the claim.",
1031
+ "type": "array",
1032
+ "items": {
1033
+ "type": "string"
1034
+ }
1035
+ }
1036
+ },
1037
+ "required": [
1038
+ "path"
1039
+ ],
1040
+ "additionalProperties": false
1041
+ }
1042
+ }
1043
+ },
1044
+ "required": [
1045
+ "id",
1046
+ "format",
1047
+ "meta"
1048
+ ],
1049
+ "additionalProperties": false
1050
+ },
1051
+ {
1052
+ "type": "object",
1053
+ "properties": {
1054
+ "id": {
1055
+ "type": "string",
1056
+ "minLength": 1,
1057
+ "pattern": "^[A-Za-z0-9_-]+$",
1058
+ "description": "Credential query identifier."
1059
+ },
1060
+ "multiple": {
1061
+ "description": "Allow multiple matching credentials.",
1062
+ "type": "boolean"
1063
+ },
1064
+ "claim_sets": {
1065
+ "description": "Optional claim set constraints.",
1066
+ "type": "array",
1067
+ "items": {
1068
+ "type": "array",
1069
+ "items": {
1070
+ "type": "string"
1071
+ }
1072
+ }
1073
+ },
1074
+ "trusted_authorities": {
1075
+ "description": "Optional trusted authority constraints.",
1076
+ "type": "array",
1077
+ "items": {
1078
+ "oneOf": [
1079
+ {
1080
+ "type": "object",
1081
+ "properties": {
1082
+ "type": {
1083
+ "type": "string",
1084
+ "const": "etsi_tl",
1085
+ "description": "Trusted authority type discriminator for ETSI trust lists."
1086
+ },
1087
+ "values": {
1088
+ "type": "array",
1089
+ "items": {
1090
+ "type": "object",
1091
+ "properties": {
1092
+ "trustListId": {
1093
+ "description": "Optional trust list id reference.",
1094
+ "type": "string"
1095
+ },
1096
+ "url": {
1097
+ "description": "Optional trust list URL reference.",
1098
+ "anyOf": [
1099
+ {
1100
+ "type": "string",
1101
+ "format": "uri"
1102
+ },
1103
+ {
1104
+ "type": "string",
1105
+ "pattern": "^<TENANT_URL>(?:\\/.*)?$"
1106
+ }
1107
+ ]
1108
+ },
1109
+ "verifierKey": {
1110
+ "description": "Optional verifier key material.",
1111
+ "type": "object",
1112
+ "propertyNames": {
1113
+ "type": "string"
1114
+ },
1115
+ "additionalProperties": {}
1116
+ },
1117
+ "verifierX509Der": {
1118
+ "description": "Optional verifier certificate in DER/base64 form.",
1119
+ "type": "string"
1120
+ }
1121
+ },
1122
+ "additionalProperties": false
1123
+ },
1124
+ "description": "Trust list references for ETSI TL verification."
1125
+ }
1126
+ },
1127
+ "required": [
1128
+ "type",
1129
+ "values"
1130
+ ],
1131
+ "additionalProperties": false
1132
+ },
1133
+ {
1134
+ "type": "object",
1135
+ "properties": {
1136
+ "type": {
1137
+ "type": "string",
1138
+ "const": "openid_federation",
1139
+ "description": "Trusted authority type discriminator for OpenID Federation."
1140
+ },
1141
+ "values": {
1142
+ "type": "array",
1143
+ "items": {
1144
+ "type": "string"
1145
+ },
1146
+ "description": "OpenID Federation authority identifiers."
1147
+ }
1148
+ },
1149
+ "required": [
1150
+ "type",
1151
+ "values"
1152
+ ],
1153
+ "additionalProperties": false
1154
+ }
1155
+ ]
1156
+ }
1157
+ },
1158
+ "format": {
1159
+ "type": "string",
1160
+ "const": "mso_mdoc",
1161
+ "description": "Credential format discriminator."
1162
+ },
1163
+ "meta": {
1164
+ "type": "object",
1165
+ "properties": {
1166
+ "doctype_value": {
1167
+ "type": "string",
1168
+ "minLength": 1,
1169
+ "description": "Expected mDoc doctype value."
1170
+ }
1171
+ },
1172
+ "required": [
1173
+ "doctype_value"
1174
+ ],
1175
+ "additionalProperties": false
1176
+ },
1177
+ "claims": {
1178
+ "description": "Optional mDoc claim-level constraints.",
1179
+ "type": "array",
1180
+ "items": {
1181
+ "type": "object",
1182
+ "properties": {
1183
+ "id": {
1184
+ "description": "Optional claim query id.",
1185
+ "type": "string"
1186
+ },
1187
+ "path": {
1188
+ "type": "array",
1189
+ "items": {
1190
+ "type": [
1191
+ "string",
1192
+ "number"
1193
+ ]
1194
+ },
1195
+ "description": "Path to the claim value in presented credentials."
1196
+ },
1197
+ "values": {
1198
+ "description": "Optional allowed values for the claim.",
1199
+ "type": "array",
1200
+ "items": {
1201
+ "type": "string"
1202
+ }
1203
+ },
1204
+ "intent_to_retain": {
1205
+ "description": "Whether relying party intends to retain the claim.",
1206
+ "type": "boolean"
1207
+ }
1208
+ },
1209
+ "required": [
1210
+ "path"
1211
+ ],
1212
+ "additionalProperties": false
1213
+ }
1214
+ }
1215
+ },
1216
+ "required": [
1217
+ "id",
1218
+ "format",
1219
+ "meta"
1220
+ ],
1221
+ "additionalProperties": false
1222
+ }
1223
+ ]
1224
+ },
1225
+ "description": "Credential queries requested by the verifier."
1226
+ },
1227
+ "credential_sets": {
1228
+ "description": "Optional higher-level credential set requirements.",
1229
+ "type": "array",
1230
+ "items": {
1231
+ "type": "object",
1232
+ "properties": {
1233
+ "options": {
1234
+ "minItems": 1,
1235
+ "type": "array",
1236
+ "items": {
1237
+ "minItems": 1,
1238
+ "type": "array",
1239
+ "items": {
1240
+ "type": "string"
1241
+ }
1242
+ },
1243
+ "description": "Alternative credential query id combinations."
1244
+ },
1245
+ "required": {
1246
+ "description": "Whether this credential set is mandatory.",
1247
+ "type": "boolean"
1248
+ }
1249
+ },
1250
+ "required": [
1251
+ "options"
1252
+ ],
1253
+ "additionalProperties": false
1254
+ }
1255
+ }
1256
+ },
1257
+ "required": [
1258
+ "credentials"
1259
+ ],
1260
+ "additionalProperties": false,
1261
+ "description": "DCQL query defining requested credentials and claims."
1262
+ },
1263
+ "transaction_data": {
1264
+ "description": "Optional transaction data descriptors.",
1265
+ "anyOf": [
1266
+ {
1267
+ "type": "array",
1268
+ "items": {
1269
+ "type": "object",
1270
+ "properties": {
1271
+ "type": {
1272
+ "type": "string",
1273
+ "description": "Transaction data type identifier."
1274
+ },
1275
+ "credential_ids": {
1276
+ "type": "array",
1277
+ "items": {
1278
+ "type": "string"
1279
+ },
1280
+ "description": "Credential query ids this transaction data applies to."
1281
+ },
1282
+ "payload": {
1283
+ "description": "Transaction details. Required for TS12 SCA transaction data."
1284
+ }
1285
+ },
1286
+ "required": [
1287
+ "type",
1288
+ "credential_ids"
1289
+ ],
1290
+ "additionalProperties": {}
1291
+ }
1292
+ },
1293
+ {
1294
+ "type": "null"
1295
+ }
1296
+ ]
1297
+ },
1298
+ "registration_cert": {
1299
+ "description": "Optional registration certificate request settings.",
1300
+ "anyOf": [
1301
+ {
1302
+ "type": "object",
1303
+ "properties": {
1304
+ "id": {
1305
+ "type": "string"
1306
+ },
1307
+ "body": {
1308
+ "type": "object",
1309
+ "properties": {
1310
+ "privacy_policy": {
1311
+ "type": "string"
1312
+ },
1313
+ "support_uri": {
1314
+ "type": "string"
1315
+ },
1316
+ "intermediary": {
1317
+ "type": "string"
1318
+ },
1319
+ "purpose": {
1320
+ "type": "array",
1321
+ "items": {
1322
+ "type": "object",
1323
+ "properties": {
1324
+ "lang": {
1325
+ "type": "string"
1326
+ },
1327
+ "content": {
1328
+ "type": "string"
1329
+ }
1330
+ },
1331
+ "required": [
1332
+ "lang",
1333
+ "content"
1334
+ ],
1335
+ "additionalProperties": false
1336
+ }
1337
+ },
1338
+ "credentials": {
1339
+ "type": "array",
1340
+ "items": {
1341
+ "type": "object",
1342
+ "propertyNames": {
1343
+ "type": "string"
1344
+ },
1345
+ "additionalProperties": {}
1346
+ }
1347
+ },
1348
+ "provides_attestations": {
1349
+ "type": "array",
1350
+ "items": {
1351
+ "type": "string",
1352
+ "minLength": 1
1353
+ }
1354
+ }
1355
+ },
1356
+ "additionalProperties": false
1357
+ },
1358
+ "jwt": {
1359
+ "type": "string"
1360
+ }
1361
+ },
1362
+ "additionalProperties": false
1363
+ },
1364
+ {
1365
+ "type": "null"
1366
+ }
1367
+ ]
1368
+ },
1369
+ "registrationCertImportJwt": {
1370
+ "description": "Optional imported registration certificate JWT.",
1371
+ "type": [
1372
+ "string",
1373
+ "null"
1374
+ ]
1375
+ },
1376
+ "registrationCertImportId": {
1377
+ "description": "Optional registrar-side registration certificate id.",
1378
+ "type": [
1379
+ "string",
1380
+ "null"
1381
+ ]
1382
+ },
1383
+ "registrationCertBodyPrivacyPolicy": {
1384
+ "description": "Optional registration certificate privacy policy URI.",
1385
+ "type": [
1386
+ "string",
1387
+ "null"
1388
+ ]
1389
+ },
1390
+ "registrationCertBodySupportUri": {
1391
+ "description": "Optional registration certificate support URI.",
1392
+ "type": [
1393
+ "string",
1394
+ "null"
1395
+ ]
1396
+ },
1397
+ "registrationCertBodyIntermediary": {
1398
+ "description": "Optional registration certificate intermediary.",
1399
+ "type": [
1400
+ "string",
1401
+ "null"
1402
+ ]
1403
+ },
1404
+ "registrationCertBodyPurpose": {
1405
+ "description": "Optional registration certificate purpose entries.",
1406
+ "anyOf": [
1407
+ {
1408
+ "type": "array",
1409
+ "items": {
1410
+ "type": "object",
1411
+ "properties": {
1412
+ "lang": {
1413
+ "type": "string"
1414
+ },
1415
+ "content": {
1416
+ "type": "string"
1417
+ }
1418
+ },
1419
+ "additionalProperties": false
1420
+ }
1421
+ },
1422
+ {
1423
+ "type": "null"
1424
+ }
1425
+ ]
1426
+ },
1427
+ "webhookEndpointId": {
1428
+ "description": "Optional webhook endpoint id for presentation callbacks.",
1429
+ "type": [
1430
+ "string",
1431
+ "null"
1432
+ ]
1433
+ },
1434
+ "attached": {
1435
+ "description": "Optional attachments included with presentation requests.",
1436
+ "anyOf": [
1437
+ {
1438
+ "type": "array",
1439
+ "items": {
1440
+ "type": "object",
1441
+ "properties": {
1442
+ "format": {
1443
+ "type": "string",
1444
+ "description": "Attachment format identifier."
1445
+ },
1446
+ "data": {
1447
+ "description": "Attachment payload."
1448
+ },
1449
+ "credential_ids": {
1450
+ "description": "Optional credential query ids bound to this attachment.",
1451
+ "type": "array",
1452
+ "items": {
1453
+ "type": "string"
1454
+ }
1455
+ }
1456
+ },
1457
+ "required": [
1458
+ "format",
1459
+ "data"
1460
+ ],
1461
+ "additionalProperties": false
1462
+ }
1463
+ },
1464
+ {
1465
+ "type": "null"
1466
+ }
1467
+ ]
1468
+ },
1469
+ "redirectUri": {
1470
+ "description": "Optional redirect URI after presentation completion.",
1471
+ "type": [
1472
+ "string",
1473
+ "null"
1474
+ ]
1475
+ },
1476
+ "accessKeyChainId": {
1477
+ "description": "Optional key chain id for access token/auth operations.",
1478
+ "type": [
1479
+ "string",
1480
+ "null"
1481
+ ]
1482
+ },
1483
+ "readerAuth": {
1484
+ "description": "Whether reader authentication is required for mDoc requests.",
1485
+ "type": [
1486
+ "boolean",
1487
+ "null"
1488
+ ]
1489
+ }
1490
+ },
1491
+ "required": [
1492
+ "id",
1493
+ "dcql_query"
1494
+ ],
1495
+ "additionalProperties": false,
1496
+ "title": "PresentationConfigCreateDto"
1497
+ }
1498
+ }
780
1499
  }
781
1500
  ]
782
1501
  }